Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
package-helpers
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
trisquel
package-helpers
Commits
91bbe816
Commit
91bbe816
authored
2 years ago
by
Ruben Rodriguez
Browse files
Options
Downloads
Patches
Plain Diff
dpkg: improved Trisquel.pm vendor file
parent
c36017de
No related branches found
No related tags found
No related merge requests found
Pipeline
#598
failed
2 years ago
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
helpers/DATA/dpkg/Trisquel.pm
+14
-77
14 additions, 77 deletions
helpers/DATA/dpkg/Trisquel.pm
helpers/make-dpkg
+2
-1
2 additions, 1 deletion
helpers/make-dpkg
with
16 additions
and
78 deletions
helpers/DATA/dpkg/Trisquel.pm
+
14
−
77
View file @
91bbe816
...
...
@@ -3,6 +3,7 @@
# written by Colin Watson <cjwatson@ubuntu.com>
# Copyright © 2008 James Westby <jw+debian@jameswestby.net>
# Copyright © 2009 Raphaël Hertzog <hertzog@debian.org>
# Copyright © 2022 Ruben Rodriguez <ruben@trisquel.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
...
...
@@ -34,11 +35,11 @@ use parent qw(Dpkg::Vendor::Debian);
=head1 NAME
Dpkg::Vendor::Trisquel - Trisquel vendor
object
Dpkg::Vendor::Trisquel - Trisquel vendor
class
=head1 DESCRIPTION
This vendor
object
customizes the behaviour of dpkg scripts for Trisquel
This vendor
class
customizes the behaviour of dpkg scripts for Trisquel
specific behavior and policies.
=cut
...
...
@@ -46,29 +47,7 @@ specific behavior and policies.
sub
run_hook
{
my
(
$self
,
$hook
,
@params
)
=
@_
;
if
(
$hook
eq
'
before-source-build
')
{
my
$src
=
shift
@params
;
my
$fields
=
$src
->
{
fields
};
# check that Maintainer/XSBC-Original-Maintainer comply to
# https://wiki.ubuntu.com/DebianMaintainerField
if
(
defined
(
$fields
->
{'
Version
'})
and
defined
(
$fields
->
{'
Maintainer
'})
and
$fields
->
{'
Version
'}
=~
/ubuntu/
)
{
if
(
$fields
->
{'
Maintainer
'}
!~
/ubuntu/i
)
{
if
(
length
$ENV
{
DEBEMAIL
}
and
$ENV
{
DEBEMAIL
}
=~
/\@ubuntu\.com/
)
{
error
(
g_
('
Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address
'));
}
else
{
warning
(
g_
('
Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address
'));
}
}
unless
(
$fields
->
{'
Original-Maintainer
'})
{
warning
(
g_
('
Version number suggests Ubuntu changes, but there is no XSBC-Original-Maintainer field
'));
}
}
}
elsif
(
$hook
eq
'
keyrings
')
{
return
$self
->
run_hook
('
package-keyrings
',
@params
);
}
elsif
(
$hook
eq
'
package-keyrings
')
{
if
(
$hook
eq
'
package-keyrings
')
{
return
(
$self
->
SUPER::
run_hook
(
$hook
),
'
/usr/share/keyrings/trisquel-archive-keyring.gpg
');
}
elsif
(
$hook
eq
'
archive-keyrings
')
{
...
...
@@ -77,27 +56,12 @@ sub run_hook {
}
elsif
(
$hook
eq
'
archive-keyrings-historic
')
{
return
(
$self
->
SUPER::
run_hook
(
$hook
),
'
/usr/share/keyrings/trisquel-archive-removed-keys.gpg
');
}
elsif
(
$hook
eq
'
register-custom-fields
')
{
my
@field_ops
=
$self
->
SUPER::
run_hook
(
$hook
);
push
@field_ops
,
[
'
register
',
'
Launchpad-Bugs-Fixed
',
CTRL_FILE_CHANGES
|
CTRL_CHANGELOG
],
[
'
insert_after
',
CTRL_FILE_CHANGES
,
'
Closes
',
'
Launchpad-Bugs-Fixed
'
],
[
'
insert_after
',
CTRL_CHANGELOG
,
'
Closes
',
'
Launchpad-Bugs-Fixed
'
];
return
@field_ops
;
}
elsif
(
$hook
eq
'
post-process-changelog-entry
')
{
my
$fields
=
shift
@params
;
# Add Launchpad-Bugs-Fixed field
my
$bugs
=
find_launchpad_closes
(
$fields
->
{'
Changes
'}
//
'');
if
(
scalar
(
@$bugs
))
{
$fields
->
{'
Launchpad-Bugs-Fixed
'}
=
join
('
',
@$bugs
);
}
}
elsif
(
$hook
eq
'
update-buildflags
')
{
my
$flags
=
shift
@params
;
# Run the Debian hook to add hardening flags
$self
->
SUPER::
run_hook
(
$hook
,
$flags
);
require
Dpkg::
BuildOptions
;
my
$build_opts
=
Dpkg::
BuildOptions
->
new
();
...
...
@@ -109,54 +73,27 @@ sub run_hook {
if
(
Dpkg::Arch::
debarch_eq
(
$arch
,
'
ppc64el
'))
{
for
my
$flag
(
qw(CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS GCJFLAGS
FFLAGS FCFLAGS)
)
{
$flags
->
set
(
$flag
,
'
-g -O3
',
'
vendor
');
my
$value
=
$flags
->
get
(
$flag
);
$value
=~
s/-O[0-9]/-O3/
;
$flags
->
set
(
$flag
,
$value
);
}
}
}
# Per https://wiki.ubuntu.com/DistCompilerFlags
$flags
->
set
('
LDFLAGS
',
'
-Wl,-Bsymbolic-functions
',
'
vendor
');
# Run the Debian hook to add hardening flags
$self
->
SUPER::
run_hook
(
$hook
,
$flags
);
$flags
->
prepend
('
LDFLAGS
',
'
-Wl,-Bsymbolic-functions
');
}
else
{
return
$self
->
SUPER::
run_hook
(
$hook
,
@params
);
}
# Default return value for unknown/unimplemented hooks
return
;
}
=head1 PUBLIC FUNCTIONS
=over
=item $bugs = Dpkg::Vendor::Ubuntu::find_launchpad_closes($changes)
Takes one string as argument and finds "LP: #123456, #654321" statements,
which are references to bugs on Launchpad. Returns all closed bug
numbers in an array reference.
=cut
sub
find_launchpad_closes
{
my
$changes
=
shift
;
my
%closes
;
while
(
$changes
&&
(
$changes
=~
/lp:\s+\#\d+(?:,\s*\#\d+)*/pig
))
{
$closes
{
$_
}
=
1
foreach
(
$
{
^
MATCH
}
=~
/\#?\s?(\d+)/g
);
}
my
@closes
=
sort
{
$a
<=>
$b
}
keys
%closes
;
return
\
@closes
;
}
=back
=head1 CHANGES
=head2 Version 0.xx
This is a
semi-
private module.
Only documented functions are public.
This is a private module.
=cut
...
...
This diff is collapsed.
Click to expand it.
helpers/make-dpkg
+
2
−
1
View file @
91bbe816
...
...
@@ -17,10 +17,11 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
VERSION
=
2
VERSION
=
3
COMPONENT
=
main
.
./config
exit
cat
<<
EOF
> scripts/t/origins/trisquel
Vendor: Trisquel
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment