From: Raphael Hertzog Date: Tue, 8 Jan 2008 08:04:39 +0000 (+0100) Subject: Merge branch 'controllib-removal' X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b5580ade0807f1a873773222ea0a7e85f5b23ca;p=dpkg Merge branch 'controllib-removal' Conflicts: ChangeLog scripts/dpkg-buildpackage.pl scripts/dpkg-checkbuilddeps.pl --- 1b5580ade0807f1a873773222ea0a7e85f5b23ca diff --cc ChangeLog index 87744f7d,6205b84c..91590f0a --- a/ChangeLog +++ b/ChangeLog @@@ -1,185 -1,80 +1,237 @@@ -2008-01-01 Frank Lichtenheld ++2008-01-08 Frank Lichtenheld + + * scripts/dpkg-parsechangelog.pl: Make the + -L option actually work (it's only been eleven + years...) - ++ + * scripts/Dpkg/ErrorHandling.pm (report): export. + -2008-01-01 Samuel Thibault - - * utils/start-stop-daemon.c (do_stop): Do not print 'failed to kill' - warning when doing pid polling. - -2008-01-01 Guillem Jover - - * src/archives.c (archivefiles): Remove pointless strdup for execvp - arguments. - -2008-01-01 Ian Zimmerman - - * scripts/install-info.pl: Ignore wrapped lines when matching - section titles. - -2008-01-01 John Zaitseff - - * dselect/baselist.cc (baselist::wordwrapinfo): Stop processing when - exceeding infopad line limit, and add a warning message. - -2008-01-01 Sven Rudolph - - * dselect/baselist.cc (baselist::startdisplay): Set helpscreen_attr - on monochrome terminals. - -2007-12-28 Raphael Hertzog ++2007-01-08 Raphael Hertzog + + * scripts/Dpkg/Cdata.pm, scripts/Dpkg/Control.pm: Add two new + module to parse and manipulate files like debian/control. + * scripts/t/600_Dpkg_Control.t, + scripts/t/600_Dpkg_Control/control-1: Add non-regression tests for + Dpkg::Control and Dpkg::Cdata. + * scripts/dpkg-checkbuilddeps.pl, scripts/dpkg-genchanges.pl, + scripts/dpkg-gencontrol.pl, scripts/dpkg-gensymbols.pl, + scripts/dpkg-shlibdeps.pl, scripts/dpkg-source.pl: Update scripts + to use the new modules Dpkg::Cdata, Dpkg::Control, + Dpkg::Fields::Object and Dpkg::Substvars. + + * scripts/Dpkg/Version.pm (check_version): New function replacing + checkversion of controllib.pl. + * scripts/dpkg-source.pl, scripts/dpkg-buildpackage.pl: Use the + new check_version. + + * scripts/Dpkg/Vars.pm (set_source_package): New function to set + and check the global variable $sourcepackage (replacing + controllib's setsourcepackage). + * scripts/dpkg-genchanges.pl, scripts/dpkg-gencontrol.pl, + scripts/dpkg-source.pl: Use the new set_source_package. + + * scripts/dpkg-distaddfile.pl, scripts/dpkg-gencontrol.pl: Delete + the chown(getfowner(), ...) on new files. It doesn't seem to do + anything useful anymore as it got dropped from several other + scripts over the years without problems. + + * scripts/dpkg-source.pl: Integrate readmd5sum from controllib here + as it's the only user of that function. + + * scripts/controllib.pl: Get rid of everything except + parsechangelog and its dependencies (parsecdata, syntax) that are + still needed. + + * scripts/Makefile.am: Include all the new files in the + distributed tarball. + -2007-12-28 Raphael Hertzog ++2007-01-08 Raphael Hertzog + + * scripts/Dpkg/ErrorHandling.pm (syntaxerr): New function to + replace the syntax() function in controllib.pl. + +2008-01-07 Guillem Jover + + * scripts/dpkg-genchanges.pl: Ignore Homepage field in binary package + stanzas. + * scripts/dpkg-source.pl: Likewise. + +2008-01-07 Guillem Jover + + * scripts/dpkg-checkbuilddeps.pl: Remove unused $dep_regex. + +2008-01-07 Guillem Jover + + * scripts/dpkg-checkbuilddeps.pl: Add build-essential as an implicit + Build-Depends. + +2008-01-07 Guillem Jover + + * configure.ac: Bump version to 1.14.16~. + +2008-01-07 Guillem Jover + + * configure.ac: Release 1.14.15. + +2008-01-07 Guillem Jover + + * src/archives.c (archivefiles): Use arglist instead of narglist. + +2008-01-07 Guillem Jover + + * lib/nfmalloc.c (nfmalloc): Remove inline keyword as extern inline + changes semantics from GNU C to C99. + * lib/varbuf.c (varbufaddc): Likewise. + +2008-01-07 Guillem Jover + + * dpkg-deb/extract.c (extracthalf): Move negative member length check + to ... + (parseheaderlength): ... here. Change return type to size_t. Change + variable r to ssize_t. Use strtol instead of strtoul to easily catch + negative values. + * dpkg-deb/info.c (info_spew): Use %zu in a format string instead of + %lu to print pathlen, a size_t variable. + * dpkg-split/queue.c (do_auto): Change j from unsinged int to int. + Cast j to unsigned int when comparing it to i. + * lib/varbuf.c (varbufprintf): Change ou from unsigned int to size_t. + Change r from unsigned int to int. Cast value compared to r to int. + (varbufprintf): Likewise. + * src/archives.c (tarobject): Change r from size_t to ssize_t. + Cast r to size_t when comparing it to symlinkfn.size. + * src/main.c (setforce): Cast string difference to size_t instead of + int. + * utils/start-stop-daemon.c (parse_schedule): Change str_len from + ptrdiff_t to size_t. Cast string difference to size_t instead of + ptrdiff_t. Remove ptrdiff_t cast to sizeof. + +2008-01-07 Guillem Jover + + * scripts/Dpkg/BuildOptions.pm (set): Parse all options separated + by spaces or comma, do not lowercase the option names, do not match + on name substrings, and on recognized options with invalid values + discard the value or the entire option. + * scripts/t/300_Dpkg_BuildOptions.t: Adjust test suite. + +2008-01-06 Raphael Hertzog + + * scripts/Dpkg/Shlibs/Objdump.pm: Also retrieve dynamic relocation + records from objdump by adding the -R option. Use this information + to mark symbols affected by R_*_COPY relocations as undefined. + They are initialized by the loader with values searched in the + needed libraries. + + * scripts/Dpkg/BuildOptions.pm (set): Change the default value of + the overwrite parameter to 1. The only use of this function in + dpkg-buildpackage is missing the parameter and actually wants to + overwrite the whole variable. + * scripts/t/300_Dpkg_BuildOptions.t: Adjust the test suite for this + change. + +2008-01-04 Raphael Hertzog + + * scripts/Dpkg/Shlibs/SymbolFile.pm: Replace #DEPRECATED by + #MISSING in the output and recognize both while parsing. People + understand better that way. + +2008-01-03 Raphael Hertzog + + * scripts/dpkg-shlibdeps.pl (find_symbols_file): When libraries + are found in non-packaged files, first try to find the + corresponding symbols file in the build tree containing that + library. On the opposite, don't look up symbols files in debian/* + build directories for libraries found in installed packages (build + trees are scanned first and thus if they contain a needed library + dpkg-shlibdeps will find the library there and not in an installed + package). + * scripts/dpkg-shlibdeps.pl (my_find_library): When defining the + list of package build trees to scan, also consider those that + contain symbols files (instead of only considering those that have + a shlibs file). + * man/dpkg-shlibdeps.1: Document the change listed above. + + * scripts/dpkg-shlibdeps.pl: Add a new -S option to + indicate a package build tree that should be scanned first when + trying to find a library. + * man/dpkg-shlibdeps.1: Document the new -S option. + + * scripts/dpkg-shlibdeps.pl (add_shlibs_dep): Use the same logic + as find_symbols_files to find shlibs files. Check + debian/*/DEBIAN/shlibs only when the library has not been found in + an installed package, and give precedence to the shlibs provided + by the binary package where the library has been found. Replaces + the previous work-around that gave precedence to the package + that contained the binary. + * man/dpkg-shlibdeps.1: Document the above change in the shlibs + search order. + +2008-01-03 Guillem Jover + + * scripts/dpkg-buildpackage.pl: Do not automatically enable '-j' + if DEB_BUILD_OPTIONS contains parallel=n, and allow overriding + its value from the environment. + +2008-01-02 Guillem Jover + + * utils/start-stop-daemon.c [!__GNUC__] (fatal, badusage): Remove + redundant function declarations. + +2008-01-02 Guillem Jover + + * src/main.h (struct stat): New forward declaration. + +2008-01-02 Guillem Jover + + * lib/dpkg.h (warningf): Add PRINTFFORMAT attribute. + (buffer_copy_setup_PtrInt): Likewise. + (buffer_copy_setup_PtrPtr): Likewise. + (buffer_copy_setup_IntPtr): Likewise. + (buffer_copy_setup_IntInt): Likewise. + (decompress_cat): Likewise. + (compress_cat): Likewise. + * lib/dpkg-db.h (log_message): Likewise. + +2008-01-02 Guillem Jover + + * lib/dpkg.h (NONRETURNPRINTFFORMAT): Remove macro. + (ohshit): Use NONRETURNING and PRINTFFORMAT instead of + NONRETURNPRINTFFORMAT. + (ohshite): Likewise. + (badusage): Likewise. + * utils/start-stop-daemon.c (NONRETURNPRINTFFORMAT): Remove macro. + (fatal): Use NONRETURNING and PRINTFFORMAT instead of + NONRETURNPRINTFFORMAT. + +2008-01-01 Guillem Jover + + * scripts/dpkg-buildpackage.pl: Use Dpkg::Compression. Use $comp_regex + to match compressed diffs and tarballs. + +2008-01-01 Samuel Thibault + + * utils/start-stop-daemon.c (do_stop): Do not print 'failed to kill' + warning when doing pid polling. + +2008-01-01 Guillem Jover + + * src/archives.c (archivefiles): Remove pointless strdup for execvp + arguments. + +2008-01-01 Ian Zimmerman + + * scripts/install-info.pl: Ignore wrapped lines when matching + section titles. + +2008-01-01 John Zaitseff + + * dselect/baselist.cc (baselist::wordwrapinfo): Stop processing when + exceeding infopad line limit, and add a warning message. + +2008-01-01 Sven Rudolph + + * dselect/baselist.cc (baselist::startdisplay): Set helpscreen_attr + on monochrome terminals. + 2007-12-28 Raphael Hertzog * scripts/Dpkg.pm: Add a warning to avoid adding unnecessary stuff diff --cc debian/changelog index 00ac28b2,df07f3e9..00912d3a --- a/debian/changelog +++ b/debian/changelog @@@ -1,18 -1,4 +1,29 @@@ -dpkg (1.14.15) UNRELEASED; urgency=low +dpkg (1.14.16) UNRELEASED; urgency=low + + [ Guillem Jover ] + * Add build-essential as an implicit Build-Depends in dpkg-checkbuilddeps. + Closes: #402901 + * Do not warn about unrecognized Homepage field in binary package stanzas + in dpkg-genchanges and dpkg-source. + ++ [ Frank Lichtenheld ] ++ * Make the -L option of dpkg-parsechangelog actually work (it's ++ only been eleven years...) ++ * Import the code from my external Parse::DebianChangelog as ++ Dpkg::Changelog and Dpkg::Changelog::Debian. Using this ++ from parsechangelog/debian adds the following requested ++ features: ++ - Option to use a non-lossy format. Closes: #95579 ++ - Various options to better control how many entries ++ should be displayed. Closes: #226932 ++ + [ Updated dpkg translations ] + * Basque (Piarres Beobide). Closes: #459565 + * French (Christian Perrier). + + -- Guillem Jover Mon, 07 Jan 2008 12:39:36 +0200 + +dpkg (1.14.15) unstable; urgency=low [ Raphael Hertzog ] * Make sure {dpkg-dev,dselect}.preinst are included in the source tarball. diff --cc scripts/dpkg-buildpackage.pl index 84b984b5,7e373685..9ff387cf --- a/scripts/dpkg-buildpackage.pl +++ b/scripts/dpkg-buildpackage.pl @@@ -11,10 -11,7 +11,8 @@@ use Dpkg::Gettext use Dpkg::ErrorHandling qw(warning error failure syserr subprocerr usageerr $warnable_error); use Dpkg::BuildOptions; +use Dpkg::Compression; - - push (@INC, $dpkglibdir); - require 'controllib.pl'; + use Dpkg::Version qw(check_version); textdomain("dpkg-dev"); diff --cc scripts/dpkg-checkbuilddeps.pl index 68ace33f,b89fd21b..1a82dbca --- a/scripts/dpkg-checkbuilddeps.pl +++ b/scripts/dpkg-checkbuilddeps.pl @@@ -51,27 -48,25 +48,27 @@@ my $fields = $control->get_source() my $facts = parse_status("$admindir/status"); my (@unmet, @conflicts); -my $dep_regex=qr/[ \t]*(([^\n]+|\n[ \t])*)\s/; # allow multi-line +push @unmet, build_depends('Implicit-Build-Depends', + Dpkg::Deps::parse('build-essential'), $facts); + - if (defined($fi{"C Build-Depends"})) { + if (defined($fields->{"Build-Depends"})) { push @unmet, build_depends('Build-Depends', - Dpkg::Deps::parse($fi{"C Build-Depends"}, + Dpkg::Deps::parse($fields->{"Build-Depends"}, reduce_arch => 1), $facts); } - if (defined($fi{"C Build-Conflicts"})) { + if (defined($fields->{"C Build-Conflicts"})) { push @conflicts, build_conflicts('Build-Conflicts', - Dpkg::Deps::parse($fi{"C Build-Conflicts"}, + Dpkg::Deps::parse($fields->{"Build-Conflicts"}, reduce_arch => 1, union => 1), $facts); } - if (! $binary_only && defined($fi{"C Build-Depends-Indep"})) { + if (! $binary_only && defined($fields->{"Build-Depends-Indep"})) { push @unmet, build_depends('Build-Depends-Indep', - Dpkg::Deps::parse($fi{"C Build-Depends-Indep"}, + Dpkg::Deps::parse($fields->{"Build-Depends-Indep"}, reduce_arch => 1), $facts); } - if (! $binary_only && defined($fi{"C Build-Conflicts-Indep"})) { + if (! $binary_only && defined($fields->{"Build-Conflicts-Indep"})) { push @conflicts, build_conflicts('Build-Conflicts-Indep', - Dpkg::Deps::parse($fi{"C Build-Conflicts-Indep"}, + Dpkg::Deps::parse($fields->{"Build-Conflicts-Indep"}, reduce_arch => 1, union => 1), $facts); } diff --cc scripts/dpkg-source.pl index e74feb69,6458007e..f8445a1e --- a/scripts/dpkg-source.pl +++ b/scripts/dpkg-source.pl @@@ -355,11 -359,11 +359,11 @@@ if ($opmode eq 'build') } } } - $f{'Architecture'}= join(' ',@sourcearch); + $fields->{'Architecture'}= join(' ',@sourcearch); } elsif (s/^X[BC]*S[BC]*-//i) { - $f{$_}= $v; + $fields->{$_} = $v; } elsif (m/^(Package|Package-Type|Essential|Kernel-Version)$/ || - m/^(Subarchitecture|Installer-Menu-Item)$/i || + m/^(Homepage|Subarchitecture|Installer-Menu-Item)$/i || m/^(Pre-Depends|Depends|Provides)$/i || m/^(Recommends|Suggests|Conflicts|Replaces)$/i || m/^(Breaks|Enhances|Description|Tag|Section|Priority)$/i ||