summaryrefslogtreecommitdiff
path: root/scripts/Dpkg
AgeCommit message (Collapse)AuthorFilesLines
2015-01-28perl: Switch from legacy File::Path functions to new onesGuillem Jover2-6/+6
Use make_path() instead of mkpath(), and remove_tree() instead of rmtree().
2015-01-28Dpkg::Shlibs: Prefer multiarch paths to multilib onesHelmut Grohne1-3/+3
Match the ld.so path resolution logic, by preferring multiarch paths over multilib or cross paths. [guillem@debian.org: - Adapt to current code. ] Closes: #772184 Signed-off-by: Guillem Jover <guillem@debian.org>
2015-01-28Dpkg::Shlibs: Split multiarch cross-compilation libraries from toolchain onesGuillem Jover1-1/+5
Split them so that we can mark the toolchain cross-compilation libraries as deprecated, and in the future possibly just hide them by default.
2015-01-28Dpkg::Shlibs: Do not use an intermediate library path variableGuillem Jover1-5/+5
Assign directly to @librarypaths when adding the cross-compilation library paths.
2015-01-28Dpkg::Shlibs: Detangle deprecated multilib paths into their own variablesGuillem Jover1-2/+6
This will allow in the future to hide these by default and avoid polluting the default paths.
2015-01-28Dpkg::Shlibs: Remove support for GCC_TARGET environment variableGuillem Jover1-4/+0
This was a temporary workaround for very old gcc toolchains. See: #453267
2015-01-28Dpkg::Shlibs: Move @librarypaths setup into new setup_library_paths() functionGuillem Jover1-42/+55
This avoids inflicting the cost of the setup on any code loading the module. It also makes it easier to unit test the module.
2015-01-28Dpkg::Shlibs: Rename reset_library_paths() to blank_library_paths()Guillem Jover1-5/+5
This will allow to initialize the library paths to be an empty array, instead of just resetting it after the fact, which means the new name will make more sense.
2015-01-28Dpkg: Use shift instead of @_ on single argument unpackingGuillem Jover36-114/+124
2015-01-28Dpkg::Arch: Refactor table loading into a common functionGuillem Jover1-49/+25
The loading is always the same, the difference is just in the parsing logic.
2015-01-28Dpkg::Arch: Assume abitable is always presentGuillem Jover1-12/+6
Switch the conditional loading of the abitable to expect it to always exist, and bump libdpkg-perl depends on dpkg to 1.16.3, the version introducing the file. This will allow some refactoring.
2015-01-28scripts: Rename and deprecate _g function with g_Guillem Jover47-440/+457
The old function name was inconsistent with the other gettext family of short aliases which has already caused some code typos, and functions starting with underscore are considered by convention private in Perl.
2015-01-28dpkg-gensymbols: Add support for arch-bits and arch-endian tagsGuillem Jover1-5/+12
These allow to tag symbols as being only relevant on architectures with specific bits or endianness. The current supported values are 32 and 64 for arch-bits, and little and big for arch-endian. They can also be combined by using multiple tags on the same symbol. Closes: #630342
2015-01-28Dpkg::Shlibs::Symbol: Use new debarch_is_concerned() instead of Dpkg::DepsGuillem Jover1-6/+2
Stop abusing the Dpkg::Deps object just to get the architecture computation from it.
2015-01-28Dpkg::Arch: Add new debarch_is_concerned()Guillem Jover2-23/+31
Factor out from Dpkg::Deps::Simple::arch_is_concerned().
2014-10-26Fixed Dyson multiarchIgor Pashev1-3/+1
2014-10-23Merge tag '1.17.20' of git://anonscm.debian.org/dpkg/dpkgIgor Pashev48-243/+712
Release 1.17.20 Conflicts: debian/changelog scripts/Dpkg/Arch.pm
2014-10-23Dpkg::Source::Package::V2: Allow detached upstream signaturesGuillem Jover1-2/+21
Upstream tarballs usually come with detached signatures, which would be useful to have in the source package, as an additional check that could be performed to verify its integrity and provenance. For now just allow the detached signatures to be listed in the file fields in the source control file (.dsc). Closes: #759478 Suggested-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2014-10-12scripts: Document private modules as such in a CHANGES sectionGuillem Jover5-0/+32
This is to try to make sure, that even if documented, people will not accidentally rely on private modules, that have not API stability guarantees.
2014-10-12scripts: Remove EXPORTED from POD section titlesGuillem Jover2-2/+2
These are clearly exported, otherwise they would not be documented.
2014-10-12scripts: Document all public module versions in a CHANGES sectionGuillem Jover29-0/+142
This makes it clear what is the current version of the module, and that it is a public interface.
2014-10-12Dpkg::BuildProfiles: Mark the module as a public interfaceGuillem Jover1-1/+7
2014-10-12Dpkg::Gettext: Move exporter code close to the topGuillem Jover1-3/+3
2014-10-12Dpkg::Gettext: Document public moduleGuillem Jover1-0/+39
2014-10-12scripts: Do not modify the topic variable values in list functionsGuillem Jover1-1/+2
Fixes ControlStructures::ProhibitMutatingListFunctions. Warned-by: perlcritic
2014-10-12Dpkg::Getopt: New private moduleGuillem Jover1-0/+43
2014-10-12Dpkg::BuildProfiles: Allow multiple whitespace in get_build_profiles()Johannes Schauer1-1/+1
This makes the DEB_BUILD_PROFILES environment variable parsing more lax. Signed-off-by: Guillem Jover <guillem@debian.org>
2014-10-06Dpkg::Source::Patch: Switch remaining topic to named variable in analyze()Guillem Jover1-8/+8
The loop in the function was expecting $line to be filled by its last part, and by working on the topic variable it was not getting updated. Switch all topic variable usages in that funtion so that we can restore working source unpacking. Regression introduced in commmit 0d5e17af7391fb0d3a3c695dac40f8df41f8b11c. Closes: #764206 Addresses BuiltinFunctions::ProhibitUselessTopic. Warned-by: perlcritic
2014-10-06dpkg-buildflags: Do not blacklist pie and stackprotector on mips/mipselAurelien Jarno1-4/+4
pie is blacklisted on mips and mipsel, according to the comments due to #526961. This bug has been fixed more than 4 years ago, it's time to reactivate pie support. Similarly strack-protector support has been added on mips and mipsel in gcc 4.6 so we can now activate it too. Closes: #763672 Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Guillem Jover <guillem@debian.org>
2014-10-06scripts: Unpack arguments just onceGuillem Jover6-19/+17
Addresses Subroutines::RequireArgUnpacking. Warned-by: perlcritic
2014-10-06scripts: Unpack arguments instead of accessing @_ directlyGuillem Jover7-21/+44
Addresses Subroutines::RequireArgUnpacking. Warned-by: perlcritic
2014-10-06scripts: Update restriction formula syntaxJohannes Schauer2-29/+33
- The restriction list parsing now reflects the changes at <https://wiki.debian.org/BuildProfileSpec> which were agreed upon in the bootstrap sprint 2014 in Paris. - Restriction lists are now restriction formulas. - Restriction formulas are given in disjunctive normal form expression: pkg <bar baz> <blub> - Removal of the implicit prefix/namespace mechanic. - Since there can be more than one <> block, the regex in parse_string() in Dpkg::Deps is now greedy. - Construct the profiles entry of the Packages-List field by converting the "<bar baz> <blub>" syntax into "bar,baz+blub". - Include a temporary compatibility mapping for the old way to write the Build-Profiles field in binary packages which can be removed once all affected source packages have moved to the new syntax. - Adjust testcases. Closes: #760158 [guillem@debian.org: - Add a warning when using the old syntax in dpkg-source. - Move comments before the regexes, not besides them in dpkg-source. - Change from an xnor to == in evaluate_restriction_formula(). - Move the Dpkg::Util import close to the other Dpkg imports. - Add test cases for the new parse_build_profiles() behavior. ] Signed-off-by: Guillem Jover <guillem@debian.org>
2014-10-06dpkg-genchanges: Handle omitted packages due to build profilesGuillem Jover2-30/+43
Properly handle the absence of packages in DEBIAN/control depending on build profiles, so that we do not emit bogus warnings anymore. Closes: #758191 Based-on-patch-by: Johannes Schauer <j.schauer@email.de> Signed-off-by: Guillem Jover <guillem@debian.org>
2014-10-06Dpkg::BuildProfiles: Add new parse_build_profile()Guillem Jover2-2/+15
Use it everywhere instead of inline code.
2014-10-06Dpkg::Source::Package: Use a simple string match instead of a regexGuillem Jover3-17/+17
Addresses RegularExpressions::ProhibitFixedStringMatches. Warned-by: perlcritic
2014-10-06perl: Use length instead of /^$/ to test for an empty stringGuillem Jover4-9/+14
Addresses RegularExpressions::ProhibitFixedStringMatches. Warned-by: perlcritic
2014-10-06Dpkg::Arch: Map i786 to i386 for the multiarch pathnameGuillem Jover1-1/+1
Missed in commit 7386defdaebf4746dc074a118bf7430cecf7a57f.
2014-10-06Dpkg::Source::Package::V2: Rename %origtar to %addonfileGuillem Jover1-8/+8
Make it clear that these are the addon tarballs.
2014-10-06Dpkg::Vendor::Debian: Add a timeless feature in the reproducible areaPaul Wise1-0/+6
This will add approproriate options to warn about __TIME__, __DATE__ and __TIMESTAMP__ macros. Closes: #762683 Signed-off-by: Guillem Jover <guillem@debian.org>
2014-10-06Dpkg::Vendor::Debian: Add support for a reproducible feature areaPaul Wise1-0/+17
Signed-off-by: Guillem Jover <guillem@debian.org>
2014-10-06Dpkg::Vendor::Debian: Fix comments wordingGuillem Jover1-3/+3
2014-10-06dpkg-buildflags: Honor feature area settings from DEB_BUILD_OPTIONSGuillem Jover1-7/+15
This allows users to specify build flags from specific area features. These settings will be overridden by any subsequent settings from DEB_BUILD_MAINT_OPTIONS, in the same way other build flags are affected, so that the maintainer can disable specific things that might be broken.
2014-10-06dpkg-buildflags: Add a canary feature to the qa feature areaGuillem Jover1-0/+12
This can be used to test the propagation of build flags by checking the build logs for any omission. Closes: #628516
2014-10-06dpkg-buildflags: Add a bug feature to the qa feature areaGuillem Jover1-0/+10
This feature will enable fatal warnings for code that can pose actual problems. Closes: #682659
2014-10-06dpkg-buildflags: Add a new qa feature areaGuillem Jover1-0/+17
This will allow to add various Quality Assurance features that can be used to avoid common errors.
2014-10-06Dpkg::Vendor::Debian: Prefix add_hardening_flags with _ to mark as privateGuillem Jover1-2/+2
2014-10-06Dpkg::Deps: Add new deps_iterate() functionGuillem Jover1-2/+39
Closes: #759747 Based-on-patch-by: Dima Kogan <dima@secretsauce.net>
2014-10-06Dpkg::Deps::KnownFacts: Add support for versioned ProvidesGuillem Jover1-5/+11
This got missed in commit 5bb02fe80e9f40dcad9703a72f67cf615ff217b5.
2014-10-06Dpkg::Deps: Emit a warning when using the obsolete check_package() functionGuillem Jover1-0/+6
2014-10-06perl: Do not use the topic variable unnecessarilyGuillem Jover8-16/+16
Fixes BuiltinFunctions::ProhibitUselessTopic and RegularExpressions::ProhibitUselessTopic. Warned-by: perlcritic