2007-09-29 Frank Lichtenheld * scripts/dpkg-buildpackage.pl: Call checkversion() on version extracted from changelog. Since other program we call later will do the same there is really no reason not to fail early. * scripts/dpkg-buildpackage.pl (testcommand): Make the check more sensible. Instead of testing /usr/bin/$cmd, test `which $cmd`. * scripts/dpkg-buildpackage.pl (signfile): Call gpg with --utf8-strings since otherwise the key lookup fails with non-ASCII UTF8-encoded names. Since Debian changelogs should be UTF8 encoded, this is probably the more sane default. This will probably break if one uses a non-UTF8 locale and tries to give a uid on the commandline that contains non-ASCII chars. I think we can live with that. 2007-09-28 Frank Lichtenheld * scripts/dpkg-buildpackage.pl (withecho): Remove empty strings at the begin of the command array. These can be caused by e.g. an emtpy $rootcommando. It is easiest to filter them out here. 2007-09-24 Guillem Jover * scripts/dpkg-buildpackage.pl (signfile): Do not use absolute path for 'rm'. 2007-09-24 Guillem Jover * scripts/dpkg-buildpackage.pl (usage): Fix typo s/dpkg-genchangs/dpkg-genchanges/. 2007-09-24 Guillem Jover * scripts/dpkg-buildpackage.pl ($warnable_errors): Rename to ... ($warnable_error): ... this, and declare as 'our'. 2007-09-24 Jari Aalto Frank Lichtenheld * scripts/dpkg-source.pl: Allow use of -I without filename pattern and load a list of default patterns which is in effect as similar as possible to the default regexp of -i. 2007-09-23 Frank Lichtenheld * scripts/dpkg-buildpackage.pl: Add new option -j[] that works like the make option of the same name. It will be passed to debian/rules in the MAKEFLAGS environment variable. Also the parallel= DEB_BUILD_OPTIONS option will be honored and set correctly. The finally used value is determined by the following order: -j > DEB_BUILD_OPTIONS > MAKEFLAGS. Based on an idea by Robert Millan . * scripts/Dpkg/BuildOptions.pm: Added. Support code for DEB_BUILD_OPTIONS handling by dpkg-buildpackage. * scripts/Makefile.am: Adapt. 2007-09-23 Jari Aalto * scripts/dpkg-source.pl ($diff_ignore_default_regexp): Add _MTN for monotone. 2007-09-20 Frank Lichtenheld * scripts/dpkg-sources.pl (version): Don't use printf if we don't need it, use print instead. * scripts/dpkg-buildpackage.sh (usage): Fix typo s/dpkg-genchangs/dpkg-genchanges/ * scripts/Dpkg.pm: Make the regex for determining $progname more robust. * scripts/dpkg-buildpackage.sh: Move to... * scripts/dpkg-buildpackage.pl: Convert from Shell to Perl. * scripts/Makefile.am: Adapt to move. * scripts/po/POTFILES.in: Add dpkg-buildpackage.pl. 2007-09-18 Guillem Jover * lib/mlib.c (checksubprocerr): Warn instead of erroring out in case of receiving a signal and having been asked to only warn. 2007-09-18 Guillem Jover * src/remove.c (deferred_remove): Remove duplicate nested conditional, and move its contents to the outer one. 2007-09-14 Brian M. Carlson * src/remove.c (deferred_remove): Store the previous package status when calling ' remove' and pass it to push_cleanup. * src/cleanup.c (cu_prermremove): Restore previous stored status if the ' abort-remove' call succeeds. 2007-09-08 Guillem Jover * scripts/dpkg-buildpackage.sh: Use fakeroot, if present, as default value for the '-r' option. 2007-09-06 Guillem Jover * scripts/dpkg-genchanges.pl: Stop recognizing the obsolete Optional field. * scripts/dpkg-gencontrol.pl: Likewise. * scripts/dpkg-source.pl: Likewise. 2007-09-06 Guillem Jover * scripts/dpkg-name.sh: Avoid escaped quotes messing with syntax highlighting by using $() instead of backticks. * scripts/dpkg-buildpackage.sh: Likewise. 2007-09-06 Guillem Jover * scripts/dpkg-genchanges.pl ($host_arch): Do not declare as 'our'. * scripts/dpkg-gencontrol.pl ($host_arch): Likewise. 2007-09-06 Guillem Jover * scripts/dpkg-genchanges.pl (%fieldimps): Remove unused variable. * scripts/dpkg-gencontrol.pl (%fieldimps): Likewise. * scripts/dpkg-source.pl (%fieldimps): Likewise. * scripts/controllib.pl (%fieldimps): Switch from 'our' to 'my'. 2007-09-06 Guillem Jover * scripts/822-date.pl: Add $dpkglib into @INC, needed by the controllib.pl require. 2007-09-06 Guillem Jover * configure.ac: Bump version to 1.14.7~. 2007-09-05 Guillem Jover * configure.ac: Release 1.14.6. 2007-09-05 Guillem Jover * scripts/dpkg-gencontrol.pl: Properly override Homepage field from binary package stanzas. 2007-08-31 Guillem Jover * dpkg-deb/build.c (arbitrary_fields): Add Tag. * scripts/dpkg-genchanges.pl: Ignore Tag field. * scripts/dpkg-gencontrol.pl: Parse Tag from binary package stanza. (@control_fields): Add Tag. * scripts/dpkg-scanpackages.pl (@fieldpri): Add Tag. * scripts/dpkg-source.pl: Ignore Tag field from binary package stanza. 2007-08-31 Guillem Jover * scripts/dpkg-genchanges.pl: Ignore Vcs-Browser, Vcs-Arch, Vcs-Bzr, Vcs-Cvs, Vcs-Darcs, Vcs-Git, Vcs-Hg, Vcs-Mtn and Vcs-Svn fields from control file source stanza. * scripts/dpkg-gencontrol.pl: Likewise. * scripts/dpkg-source.pl: Parse them instead. (@dsc_fields): Add them here. 2007-08-31 Guillem Jover * scripts/dpkg-genchanges.pl: Do not leave unknown fields unwarned and explicitely ignore all known ones from control file source package stanza. 2007-08-30 Guillem Jover * scripts/dpkg-genchanges.pl: Ignore XB- fields instead of XC- fields from control file binary package stanzas. 2007-08-28 Guillem Jover * scripts/update-alternatives.pl: Fix regression introduced on commit from 2007-08-08, which was producing a warning due to usage of uninitialized variables. 2007-08-28 Guillem Jover * scripts/dpkg-gencontrol.pl: Add comments about the second pass parsing for dependency fields. Remove handling of uninteresting fields in the second pass parsing. 2007-08-24 Guillem Jover * scripts/dpkg-gencontrol.pl: Allow a package stanza to override the Homepage field from the source stanza. 2007-08-20 Guillem Jover * dpkg-deb/build.c (arbitrary_fields): New variable. (known_arbitrary_field): New function. (do_build): Call known_arbitrary_field to not warn on known arbitrary fields. * scripts/dpkg-genchanges.pl: Ignore Homepage field. * scripts/dpkg-gencontrol.pl: Parse Homepage from source package stanza. (@control_fields): Add Homepage. * scripts/dpkg-scanpackages.pl (@fieldpri): Add Homepage. * scripts/dpkg-source.pl: Parse Homepage from source package stanza. (@dsc_fields): Add Homepage. 2007-08-18 Guillem Jover * scripts/dpkg-divert.pl (infol): Check if parameters are defined before using them. Use defined instead of length to check for undef variables. 2007-08-14 Guillem Jover * lib/parsehelp.c (parseerr): Switch from ternary operator to compose a string to a conditional call to the function with two different strings, making life easier for translators. * src/archives.c (tarobject): Likewise. * src/query.c (searchoutput): Switch from a loop with two iterations and ternary operators to compose strings to a conditional with two sequential calls with different strings, making life easier for translators. 2007-08-14 Guillem Jover * dpkg-split/main.c (rerr): Adjust string so that it gets merged by gettext with a similar one. 2007-08-14 Guillem Jover * src/archives.c (linktosameexistingdir): Mark strings for translation. 2007-08-11 Ian Jackson * src/archives.c (linktosameexistingdir): New function. (tarobject): Call linktosameexistingdir if the tarball and the on-disk files are symlinks and ignore the symlink if it returns true. 2007-08-08 Ian Jackson * scripts/update-alternatives.pl: In the case where the slave is inapplicable do not attempt to create the slave link before removing it again. 2007-08-08 Guillem Jover * src/configure.c (deferred_configure): Do not print a new line if maintainer_script_installed returned true. 2007-08-08 Guillem Jover * dpkg-deb/build.c (do_build): Use NULL instead of '(char *)0'. * dpkg-deb/extract.c (movecontrolfiles, extracthalf): Likewise. * dpkg-deb/info.c (cu_info_prepare, info_prepare): Likewise. * src/cleanup.c (cu_prermupgrade, cu_prermdeconfigure) (cu_prerminfavour, cu_preinstverynew, cu_preinstnew) (cu_preinstupgrade, cu_postrmupgrade, cu_prermremove): Likewise. * src/configure.c (deferred_configure, suspend): Likewise. * src/help.c (maintainer_script_alternative) (ensure_pathname_nonexisting): Likewise. * src/processarc.c (process_archive): Likewise. * src/remove.c (deferred_remove, removal_bulk_remove_files) (removal_bulk_remove_configfiles): Likewise. 2007-08-08 Guillem Jover * src/cleanup.c (cu_prermdeconfigure): Split call to maintainer_script_installed depending on the conflictor variable. * src/packages.c (dependencies_ok): Remove comment stating that Breaks needs to be implemented. * src/depcon.c (depisok): Likewise. Remove return at the beggining of the function checking for a Breaks dependency, that was efectively making it a no-op in that case. * src/processarc.c (process_archive): Fix indentation. Split calls in deconfigure code to printf and maintainer_script_installed depending on the removing variable. 2007-08-07 Guillem Jover * src/query.c (listpackages): Instead of allocating an additional packages array with room for the the current amount of packages, sort the existing one, and print the packages matching the pattern, which fixes segfaults when the resulting array was bigger than the current amount of packages. (showpackages): For each package show it only once it matches any of the patterns, so we avoid duplicated results. 2007-08-07 Ian Jackson * man/deb-control.5: Document Breaks field. * man/dpkg-query.1: Document Breaks as a recognized field. * man/dpkg.1: Add description of '--force-breaks'. * scripts/controllib.pl (@pkg_dep_fields): Add 'Breaks'. * scripts/dpkg-genchanges.pl: Ignore Breaks field. * scripts/dpkg-source.pl: Likewise. * src/archives.c (try_remove_can): Rename to ... (try_deconfigure_can): ... this. Generalize dependency force check by taking a function as argument. Store the possible package removal which caused the deconfiguration in the xinfo member of the package to be deconfigured. (try_remove_can): New function. (check_breaks): Likewise. * src/archives.h (check_breaks): New prototype. * src/cleanup.c (cu_prermdeconfigure): Handle case when argv[1] might be 0, if deconfigure was due to Breaks. * src/configure.c (deferred_configure): Call breakses_ok. * src/depcon.c (depisok): Add Breaks support. * src/help.c (force_breaks): New function. * src/main.c (fc_breaks): New variable. (forceinfo): Add 'breaks' as a supported option for '--force-...'. * src/main.h (struct perpackagestate): Add xinfo member. (fc_breaks): New variable definition. (breakses_ok): New prototype. (force_depends): Likewise. * src/packages.c (breaks_check_one): New function. (breaks_check_target): Likewise. (breakses_ok): Likewise. * src/processarc.c (process_archive): Check for Breaks dependencies, instead of bailing out if field found. Distinguish between deconfigure due to a removal due to Conflicts or Depends, and deconfigure due to an installation due to Breaks. Run the deconfiguration of each package to be deconfigured once, instead of once per each conflicting package being removed. 2007-07-31 Ian Jackson * src/archives.c (quote_filename): Change formatting to match the rest of the file (tab -> 2 spaces). 2007-07-25 Guillem Jover * scripts/changelog/debian.pl: Switch from 'dpkg-gettext.pl' to Dpkg::Gettext. 2007-07-22 Guillem Jover * scripts/dpkg-gettext.pl: Move ... * scripts/Dpkg/Gettext.pm: ... here. Add a package statement. Fix all users. * scripts/Makefile.am (dist_pkglib_SCRIPTS): Remove 'dpkg-gettext.pl'. (nobase_dist_perllib_DATA): Add 'Dpkg/Gettext.pm'. * scripts/822-date.pl: Do not push $dpkglibdir into @INC anymore. * scripts/cleanup-info.pl: Likewise. * scripts/controllib.pl: Likewise. * scripts/dpkg-divert.pl: Likewise. * scripts/dpkg-scansources.pl: Likewise. * scripts/dpkg-statoverride.pl: Likewise. * scripts/install-info.pl: Likewise. * scripts/update-alternatives.pl: Likewise. 2007-07-22 Guillem Jover * scripts/cleanup-info.pl: Use new Dpkg module, and remove variable declarations already present in the module. * scripts/controllib.pl: Likewise. * scripts/dpkg-architecture.pl: Likewise. * scripts/dpkg-checkbuilddeps.pl: Likewise. * scripts/dpkg-distaddfile.pl: Likewise. * scripts/dpkg-divert.pl: Likewise. * scripts/dpkg-genchanges.pl: Likewise. * scripts/dpkg-gencontrol.pl: Likewise. * scripts/dpkg-parsechangelog.pl: Likewise. * scripts/dpkg-scanpackages.pl: Likewise. * scripts/dpkg-scansources.pl: Likewise. * scripts/dpkg-shlibdeps.pl: Likewise. * scripts/dpkg-source.pl: Likewise. * scripts/dpkg-statoverride.pl: Likewise. * scripts/install-info.pl: Likewise. * scripts/update-alternatives.pl: Likewise. * scripts/822-date.pl: Likewise. * changelog/debian.pl: Likewise. * scripts/controllib.pl (init_substvars): Remove comment about $version needing to be a global variable set elsewhere. * scripts/dpkg-scanpackages.pl: Remove $0 mangling. (version, usage): Use $progname instead of $0. * scripts/dpkg-statoverride.pl: Likewise. * scripts/install-info.pl: Likewise. * scripts/dpkg-divert.pl: Likewise. (quit, badusage): Use $progname instead of $0. * scripts/update-alternatives.pl: Likewise. * scripts/dpkg-scansources.pl ($Me): Remove declaration. (xwarndie_mess, version, usage): Use $progname instead of $Me. 2007-07-21 Guillem Jover * m4/perl.m4 (DPKG_PROG_PERL): Add support for user overridable PERL_LIBDIR variable, autodetected from the system installation. * scripts/Makefile.am (perllibdir): New variable. (nobase_dist_perllib_DATA): Likewise. (install-data-hook): New target. * scripts/Dpkg.pm: New file. 2007-07-03 Frank Lichtenheld * configure.ac: Bump version to 1.14.6~. * configure.ac: Release 1.14.5. 2007-07-02 Frank Lichtenheld * COPYING: Update to current version of GPL v2 text. Updates FSF address and LGPL name. 2007-07-01 Frank Lichtenheld * scripts/dpkg-source.pl: Warn that newly created empty files are not currently represented in the diff. 2007-07-01 Ian Jackson * scripts/dpkg-source.pl: Don't remove setgid bits on directories when extracting the .orig tarball since the user might prefer to have them. Also don't manually override user and group for extracted directories. Instead we will take tar take of most of that. (extracttar): Explicetly specify --no-same-owner and --no-same-permissions. They are default anyway for non-root users, but no need to handle the source differently (i.e. more carelessly) if working as root. Since tar still insists on honoring the file permissions in the tar ball, fix them up so that they match what the user would expect according to his umask. 2007-06-12 Jiří Paleček * dpkg-shlibdeps.pl: Support colon separated list of paths in the ELF RPATH field. 2007-06-12 Guillem Jover * scripts/dpkg-scanpackages.pl: Move check for existence of $override outside load_override. Move load_override after having filled the %packages information. (load_override): Assume $override is always defined. 2007-06-06 Guillem Jover * scripts/dpkg-source.pl ($diff_ignore_default_regexp): Add '.shelf'. 2007-06-06 Guillem Jover * scripts/dpkg-source.pl (%archadded): Move to an outer scope to avoid duped entries in the output Architecture field. 2007-05-24 Guillem Jover * ostable: Add gnulp-linux. * triplettable: Add gnulp-linux-i386 to lpia mapping. 2007-05-24 Guillem Jover * configure.ac: Bump version to 1.14.5~. 2007-05-24 Guillem Jover * configure.ac: Release 1.14.4. 2007-05-24 Guillem Jover * scripts/controllib.pl (debarch_to_debtriplet): Match exactly 'any' or 'all', recognize again 'linux-', and do not accept unknown debtriplets. (debwildcard_to_debtriplet): New function. (debarch_is): Use debwildcard_to_debtriplet for the wildcard parameter. 2007-05-23 Guillem Jover Revert commit on 2007-04-28 by Aaron M. Ucko . * scripts/dpkg-shlibdeps.pl: Trim down duplicated files from @libfiles only when passing it to dpkg-query instead. 2007-05-23 Kylan Robinson * scripts/dpkg-source.pl: Fix regex (/\.debian.tar/ -> /\.debian\.tar/). 2007-05-23 Guillem Jover * scripts/dpkg-source.pl ($copy_required): New variable. ($dumptardev, $dumptarino): Move declaration inside the block issues the stat call, and only compare them against $dsctardev and $dsctarino if the stat succeeded. 2007-05-21 Guillem Jover * scripts/dpkg-statoverride.pl ($pat): Rename to ... ($pattern): ... this. Fixes $pattern being an unused variable. ($file): Move the declaration to its first usage in the for loop. 2007-05-15 Guillem Jover * configure.ac: Bump version to 1.14.4~. 2007-05-15 Guillem Jover * configure.ac: Release 1.14.3. 2007-05-15 Guillem Jover * scripts/dpkg-divert.pl (checkmanymodes): Change the error message to say 'commands' instead of 'modes'. * scripts/dpkg-statoverride.pl (CheckModeConflict): Likewise. Use gettext for the string. 2007-05-15 Guillem Jover * utils/start-stop-daemon.c (daemonize): Use _exit instead of exit, to avoid side effects while the parents terminate. 2007-05-15 Guillem Jover * utils/start-stop-daemon.c (main): Move daemonizing code to ... (daemonize): ... here. New function. Fork twice. 2007-05-15 Guillem Jover * scripts/update-alternatives.pl: Call fill_missing_slavepaths at the end of the 'install' conditional. (fill_missing_slavepaths): New function. 2007-05-14 Guillem Jover * scripts/dpkg-divert.pl ($divertto, $package): Initialize to undef instead of an empty string. 2007-05-13 Guillem Jover * scripts/controllib.pl (debarch_eq): Return 0 if debarch_to_debtriplet returns any undef value. (debarch_is): Likewise. As a side effect of changing to use arrays for the real and alias architectures, all parts of the triplet are now compared against 'any' as well. * scripts/dpkg-genchanges.pl: Remove redundant debarch_is being handled already in the grep. * scripts/dpkg-gencontrol.pl: Likewise. 2007-05-12 Guillem Jover * scripts/controllib.pl (debian_arch_eq): Rename to ... (debarch_eq): ... this. Add prototype. Fix all callers. (debian_arch_is): Rename to ... (debarch_is): ... this. Add prototype. Fix all callers. 2007-05-11 Guillem Jover * scripts/update-alternatives.pl ($manual): Rename to ... ($mode): ... this. Fix all users. (read_link_group): Change gl() name from 'manflag' to 'update_mode', and badfmt() string from 'manflag' to 'invalid update mode'. 2007-05-11 Guillem Jover * scripts/update-alternatives.pl ($mode): Rename to ... ($action): ... this. Fix all users. (checkmanymodes): Rename to ... (check_many_actions): ... this. Fix all callers. Add prototype. Change the error message to say 'commands' instead of 'modes'. 2007-05-10 Guillem Jover * scripts/dpkg-genchanges.pl: Only use the %p2f values if defined. 2007-05-09 Guillem Jover * configure.ac: Bump version to 1.14.3~. 2007-05-09 Guillem Jover * configure.ac: Release 1.14.2. 2007-05-09 Guillem Jover * man/Makefile.am (install-data-local): Install the translated man pages from the srcdir. 2007-05-09 Guillem Jover * Makefile.am (EXTRA_DIST): Add 'debian/dpkg-dev.lintian-overrides', 'debian/dpkg.lintian-overrides', 'debian/dselect.lintian-overrides' and 'debian/source.lintian-overrides'. 2007-05-09 Guillem Jover * scripts/update-alternatives.pl: Create the generic name symlinks when there's none, or when it differs to the current one. 2007-05-09 Guillem Jover * scripts/update-alternatives.pl (config_message): Handle the case when @versions is empty. Return a negative value if there's nothing to do, 0 on success. (config_alternatives): Check for config_message exit value to decide to return instead of @versions being empty. 2007-05-09 Guillem Jover * scripts/dpkg-buildpackage.sh: Remove check for variable being empty, as the path check quoted, thus removing the bashisms. 2007-05-08 Guillem Jover * configure.ac: Bump version to 1.14.2~. 2007-05-08 Guillem Jover * configure.ac: Release 1.14.1. 2007-05-08 Guillem Jover * configure.ac: Bump version to 1.14.1~. 2007-05-08 Guillem Jover * configure.ac: Release 1.14.0. 2007-05-08 Guillem Jover * scripts/controllib.pl (read_cputable): Localize $_. (read_ostable): Likewise. (read_triplettable): Likewise. (parsedep): Check first for the negated architectures. * scripts/dpkg-checkbuilddeps.pl: Do not enable slurp mode globally. Use get_host_arch instead of directly dpkg-architecture. 2007-05-08 Guillem Jover * scripts/dpkg-genchanges.pl ($pkgdatadir): New variable. * scripts/dpkg-gencontrol.pl: Likewise. * scripts/dpkg-source.pl: Likewise. * scripts/dpkg-checkbuilddeps.pl: Likewise. ($dpkglibdir): Change to '..'. 2007-05-08 Guillem Jover * scripts/update-alternatives.pl: Do not exit with an error on '--remove' with a non-existing link group file for now, to be consistent with the case when trying to remove an non-existing path. 2007-05-08 Guillem Jover * scripts/update-alternatives.pl: Fix warning when executed w/o any option. 2007-05-08 Guillem Jover * Makefile.am (EXTRA_DIST): Rename debian/pseudo-tags to debian/usertags. 2007-05-07 Guillem Jover * ostable: Add gnueabi-linux. * triplettable: Add gnueabi-linux-arm to armel mapping. 2007-05-07 Guillem Jover * scripts/controllib.pl (%debtriplet_to_debarch): New variable. (%debarch_to_debtriplet): Likewise. (split_gnu, split_debian): Remove functions. (debian_arch_fix, debian_arch_split): Likewise. (debian_to_gnu, gnu_to_debian): Likewise. (read_triplettable): New function. (gnutriplet_to_debtriplet, debtriplet_to_gnutriplet): Likewise. (debtriplet_to_debarch, debarch_to_debtriplet): Likewise. (get_valid_arches): Call read_cputable and read_ostable if @cpu or @os are empty. Use debtriplet_to_debarch instead of debian_arch_fix. (debian_arch_eq): Use debarch_to_debtriplet instead of debian_arch_split. Compare the whole Debian triplet. (debian_arch_is): Likewise. * scripts/dpkg-architecture.pl: Do not call the now internal functions read_cputable and read_ostable. Use debtriplet_to_gnutriplet, gnutriplet_to_debtriplet, debarch_to_debtriplet and debtriplet_to_debarch instead of debian_to_gnu, gnu_to_debian. * debian/archtable: Update comment to reflect the new Debian triplet. * cputable: Likewise. * ostable: Likewise. Include the ABI information in the Debian name. * triplettable: New file. * Makefile.am (dist_pkgdata_DATA): Add triplettable. 2007-05-04 Guillem Jover * scripts/dpkg-architecture.pl: Use get_valid_arches instead of directly using @os and @cpu variables. ($pkgdatadir): Change from a 'my' to an 'our' variable. (@cpu, @os, %cputable, %ostable, %cputable_re, %ostable_re, read_cputable, read_ostable, split_debian, debian_to_gnu, split_gnu, gnu_to_debian): Move to ... * scripts/controllib.pl: ... here. ($pkgdatadir): Declare as 'our'. (get_valid_arches): New function. 2007-05-04 Guillem Jover * scripts/update-alternatives.pl: Call read_link_group also in 'install' mode, but do not exit nor print an error if the link goup file does not exist. 2007-05-02 Guillem Jover * scripts/update-alternatives.pl: Move the ENOENT errno check from the if conditionals to the block body to avoid comparing against an undef value on the next elsif conditional. 2007-04-28 Aaron M. Ucko * scripts/dpkg-shlibdeps.pl (unique_libfiles): New variable. Do not track duped libraries already on it. 2007-04-11 Guillem Jover * scripts/dpkg-parsechangelog.pl: Use static and warnings. Declare variables with 'my'. * scripts/dpkg-scansources.pl: Likewise. * scripts/controllib.pl: Likewise. Globals with 'our'. * scripts/822-date.pl: Likewise. * scripts/dpkg-architecture.pl: Likewise. * scripts/dpkg-checkbuilddeps.pl: Likewise. * scripts/dpkg-distaddfile.pl: Likewise. * scripts/dpkg-genchanges.pl: Likewise. * scripts/dpkg-gencontrol.pl: Likewise. * scripts/dpkg-shlibdeps.pl: Likewise. * scripts/dpkg-source.pl: Likewise. * scripts/controllib.pl (parsecdata): Use 'my' instead of 'local'. (subprocerr): Likewise. (debian_arch_fix): Likewise. * scripts/dpkg-architecture.pl (debian_to_gnu): Likewise. (gnu_to_debian): Likewise. * scripts/controllib.pl (getfowner): Remove redundant closures of STDIN. 2007-04-11 Guillem Jover * scripts/controllib.pl (@pkg_dep_fields): Reorder fields by importance. (set_field_importance): New function. (sort_field_by_importance): Likewise. (outputclose): Use sort_field_by_importance instead of direct sorting. * scripts/changelog/debian.pl (%fieldimps): Do not set directly, use set_field_importance instead. * scripts/dpkg-genchanges.pl: Likewise. * scripts/dpkg-gencontrol.pl: Likewise. * scripts/dpkg-source.pl: Likewise. * scripts/changelog/debian.pl (@changelog_fields): New variable. * scripts/dpkg-genchanges.pl (@changes_fields): New variable. * scripts/dpkg-gencontrol.pl (@control_fields): New variable. * scripts/dpkg-source.pl (@dsc_fields): New variable. * scripts/dpkg-scanpackages.pl: Require 'controllib.pl'. (@pkg_dep_fields): Declare as 'our'. (@fieldpri): Reorder fields, use '@pkg_dep_fields' instead of hardcoded list. 2007-04-05 Guillem Jover * scripts/controllib.pl (get_host_arch): New function. (findarch): Rename to ... (init_substvar_arch): ... this. Use get_host_arch to set the substvar. Fix all callers. (parsedep): Use get_host_arch instead of directly calling dpkg-architecture. * scripts/dpkg-genchanges.pl: Use '$host_arch' instead of '$arch'. (init_substvar_arch): Delay call until after init_substvars. * scripts/dpkg-gencontrol.pl: Likewise. 2007-04-03 Guillem Jover * dpkg-genchanges.pl: Mark string for translation. 2007-04-03 Guillem Jover * scripts/controllib.pl (warn): Rename to ... (warning): ... this, to avoid collisions with the perl builtin. Fix all users. 2007-04-03 Guillem Jover * scripts/controllib.pl: Use defined instead of length, when variables might be undefined. * scripts/update-alternatives.pl: Likewise. * scripts/dpkg-source.pl: Likewise. * scripts/dpkg-genchanges.pl: Likewise. * scripts/dpkg-gencontrol.pl: Likewise. * scripts/dpkg-shlibdeps.pl: Likewise. 2007-04-03 Guillem Jover * scripts/dpkg-checkbuilddeps.pl ($control): Remove redundant variable. 2007-04-03 Guillem Jover * scripts/dpkg-source.pl (fieldimps): Add 'Uploaders'. 2007-03-25 Nicolas François * m4/libs.m4: Fix typo (supoprt->support). 2007-03-23 Guillem Jover * debian/pseudo-tags: Renamed to ... * debian/usertags: ... this. Updated with the usertags information. * debian/dpkg.docs: Install usertags instead of pseudo-tags. 2007-03-21 Jeffrey W. Baker Guillem Jover * src/archives.c (wanttoinstall): Use vdew_nonambig instead of vdew_never on versiondescribe. * src/configure.c (deferred_configure): Likewise. * src/query.c (list1package): Likewise. * dselect/pkgsublist.cc (packagelist::add): Likewise. * dselect/pkgtop.cc (packagelist::redraw1itemsel): Likewise. 2007-03-21 Guillem Jover * dselect/main.cc: Remove duplicated included files and . Move to the system block. 2007-03-21 Guillem Jover * dselect/method.h: Fix typo in copyright year ('20001'-> '2001'). 2007-03-21 Guillem Jover * configure.ac (AM_GNU_GETTEXT_VERSION): Quote the argument. (AC_CHECK_HEADERS): Check for 'locale.h'. * lib/gettext.h: Updated file from gettext 0.16.1. 2007-03-21 Guillem Jover * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.16.1. 2007-03-20 Guillem Jover * scripts/dpkg-source.pl ($diff_ignore_default_regexp): Add '.hg'. 2007-03-13 Guillem Jover * scripts/controllib.pl (parsechangelog): Only binmode CDATA from the parent side of the opened pipe, on the child side binmode STDOUT. 2007-03-13 Guillem Jover * scripts/dpkg-shlibdeps.pl: Use new style file handler references. 2007-03-13 Guillem Jover * lib/compression.c (compress_cat): Support compress_type_lzma. * dpkg-deb/build.c (do_build): Likewise. * dpkg-deb/main.c (usage): Document that '-Z' now accepts lzma as well. (setcompresstype): Parse 'lzma' as compress_type_lzma. 2007-03-12 Guillem Jover * scripts/changelog/debian.pl: Fix call to outputclose by not passing anything to it. ($varlistfile): Remove unused variable. 2007-03-12 Guillem Jover * lib/dpkg.h (compression_type): Rename to ... (compress_type): ... this. Fix all users. (CAT): Rename to ... (compress_type_cat): ... this. Fix all users. (GZ): Rename to ... (compress_type_gzip): ... this. Fix all users. (BZ2): Rename to ... (compress_type_bzip2): ... this. Fix all users. 2007-03-06 Guillem Jover * lib/compression.c (fd_fd_filter): New function, refactored. As a side effect the 'failed to exec' string gets unified, and all commands use oshite now. (decompress_cat): Use fd_fd_filter instead of the duped code. (compress_cat): Likewise. 2007-03-06 Guillem Jover * scripts/dpkg-scanpackages.pl (usage): Documemt that the override file is now optional. (load_override): New function, refactored. Handle the case where '$override' is undefined. 2007-02-28 Guillem Jover * scripts/dpkg-checkbuilddeps.pl: Make getopt parse '--admindir'. ($admindir): New variable. (usage): Document '--admindir'. (parse_status): The status argument is not optional anymore. * scripts/dpkg-shlibdeps.pl: Parse '--admindir'. ($admindir): New variable. ($shlibsppdir): Initialize it after parsing the arguments. (usage): Document '--admindir'. * scripts/dpkg-buildpackage.sh: Parse '--admindir', and document it in usage output. Pass it to dpkg-checkbuilddeps. 2007-02-28 Guillem Jover * scripts/update-alternatives.pl (usage): Use '$altdir' instead of hardcoding its value. 2007-02-28 Colin Watson * scripts/dpkg-gencontrol.pl: Add missing parenthesis in regular expression handling Origin, Bugs and Maintainer for control file fields. 2007-02-17 Guillem Jover * scripts/dpkg-source.pl (checkstats): Take '$dscdir' as an explicit argument. Fix all callers. (checktype): Take '$dir', '$fn' and '$type' as explicit arguments. Fix all callers. 2007-02-17 Guillem Jover * scripts/update-alternatives.pl: Check if '$alink' is defined before using '$aslavelinkcount{$alink}'. Only read_link_group if '$mode' is not 'install'. ($dataread): Remove now unused variable. (read_link_group): New function (refactored). (find_best_version): Likewise. (display_link_group): Likewise. (list_link_group): Likewise. (config_all): Move exit to outside the function. 2007-02-17 Guillem Jover * scripts/controllib.pl (parsecdata): Change CDATA to a reference taken from the arguments. Fix all callers. 2007-02-13 Guillem Jover * src/archives.c (MAXCONFLICTORS): New macro. (conflictor): Use MAXCONFLICTORS instad of hardcoded value '20', and remove non-matching comments. (check_conflict): Exit with an error instead of an assert. Move part of the comment to the error message, remove the rest as non-matching. 2007-02-13 Guillem Jover * dpkg-deb/build.c (getfi): Exit with an error instead of an assert. 2007-02-13 Guillem Jover * dpkg-deb/dpkg-deb.h (MAXFILENAME): New macro. * dpkg-deb/build.c (getfi): Use MAXFILENAME instead of the hardcoded value '2048'. 2007-02-13 Guillem Jover * lib/compression.c (decompress_cat): Use BZ_IO_ERROR instead of Z_ERRNO for the error value returned by BZ2_bzerror. 2007-02-12 Guillem Jover * scripts/dpkg-shlibdeps.pl: Move syserr:s to be or'ed after exec:s. 2007-02-12 Guillem Jover * scripts/controllib.pl (outputclose): Change argument from a boolean to an optional filename argument. Fix all callers. (parsecontrolfile): Take '$controlfile' as an explicit argument. Fix all callers. (parsesubstvars): Take '$varlistfile' as an explicit argument. Fix all callers. (parsechangelog): Take '$changelogfile' as an explicit argument, '$changelogformat' and '$since' as optional arguments. Fix all callers. (setsourcepackage): Take '$v' as an explicit argument. 2007-02-11 Guillem Jover * dselect/pkglist.h (packagelist::severalinfoblurb): Do not take a string argument. Fix all callers. * dselect/pkginfo.cc (packagelist::severalinfoblurb): Likewise. (packagelist::itd_relations): Capitalize and make whatinfo setting common and move it outside of the if block, and do not add the package name. (packagelist::itd_description): Likewise. (packagelist::itd_statuscontrol): Likewise. (packagelist::itd_availablecontrol): Likewise. * dselect/baselist.cc (baselist::itd_keys): Capitalize whatinfo string. * dselect/methlist.cc (methodlist::itd_description): Likewise and do not print the method name. 2007-02-11 Ian Jackson Guillem Jover * src/depcon.c (describedepcon): Use format arguments to make the strings l10n-friendlier. 2007-02-04 Julien Cristau * scripts/dpkg-source.pl ($diff_ignore_default_regexp): Add '.gitignore'. 2007-01-24 Guillem Jover * scripts/controllib.pl: Move substvar initializations to ... (init_substvars): ... here. 2007-01-24 Frank Lichtenheld * scripts/822-date.pl: Convert the script to be a simple wrapper around 'date -R'. 2007-01-23 Sven Joachim Guillem Jover * dselect/helpmsgs.cc (hlp_listkeys): Fix up and down keystrokes. (hlp_methkeys): Reorder up and down keystrokes. 2007-01-23 Guillem Jover * scripts/dpkg-source.pl: Fix typo in variable name from $dirc to $dircreate, and append a "/" on each loop. 2007-01-16 Nicolas François * configure.ac: There are no more Makefiles to generate in the man/ subdirectories. 2007-01-15 Ian Jackson * src/processarc.c (process_archive): Add a missing newline to a warning message. 2007-01-15 Guillem Jover * scripts/dpkg-gettext.pl: Remove duplicate 'use static'. * scripts/cleanup-info.pl: Use static and warnings. * scripts/dpkg-divert.pl: Likewise. Declare variables with 'my'. * scripts/dpkg-statoverride.pl: Likewise. * scripts/update-alternatives.pl: Likewise. 2007-01-12 Mark Rosenstand * src/help.c (checkpath): Check for the value of the macro WITH_START_STOP_DAEMON instead of it being defined. 2007-01-11 Riku Voipio Guillem Jover * scripts/controllib.pl: Move the getlogin and fowner initialization to ... (getfowner): ...here. New function. * scripts/dpkg-source.pl: Use getfowner() instead of @fowner. * scripts/dpkg-gencontrol.pl: Likewise. * scripts/dpkg-distaddfile.pl: Likewise. * scripts/dpkg-shlibdeps.pl: Likewise. 2007-01-10 Julian Gilbey * scripts/dpkg-buildpackage.sh: Allow '-b' to properly override a previously passed '-B'. 2007-01-09 Guillem Jover * configure.ac: Bump version to 1.14.0~. 2007-01-02 Guillem Jover * configure.ac: Release 1.13.25. 2007-01-01 Guillem Jover * scripts/dpkg-shlibdeps.pl (@librarypaths): Add '/emul/ia32-linux/lib' and '/emul/ia32-linux/usr/lib'. 2006-11-24 Guillem Jover * scripts/dpkg-source.pl: Add lzma extracting support. (checkdiff): Likewise. (forkgzipread): Likewise. * lib/dpkg.h (LZMA): New macro. (compression_type): Add compress_type_lzma. * lib/compression.c (decompress_cat): Handle compress_type_lzma decompression. * dpkg-deb/dpkg-deb.h (DATAMEMBER_LZMA): New macro. (DATAMEMBER_COMPAT_LZMA): Likewise. * dpkg-deb/extract.c (extracthalf): Handle DATAMEMBER_LZMA and DATAMEMBER_COMPAT_LZMA members. 2006-11-24 Brendan O'Dea * scripts/controllib.pl (subprocerr): Require POSIX for WIFEXITED, WEXITSTATUS, WIFSIGNALED and WTERMSIG. 2006-10-13 Guillem Jover * configure.ac: Bump version to 1.13.25~. 2006-10-13 Guillem Jover * configure.ac: Release 1.13.24. 2006-10-13 Guillem Jover * dselect/pkgdisplay.cc (relatestrings): Add a string for the Breaks field as it should match the enum debtype in 'lib/dpkg-db.h'. 2006-10-12 Guillem Jover * configure.ac: Bump version to 1.13.24~. 2006-10-12 Guillem Jover * configure.ac: Release 1.13.23. 2006-10-06 Guillem Jover * README.translators: Add references to the new scripts/po/ChangeLog file. State that the languages should be listed alphabetically in debian/changelog. 2006-09-27 Guillem Jover * m4/compiler.m4: Add a new line at the end of the file, to cope with an autoreconf failure due to the new m4 1.4.7. 2006-09-27 Ian Jackson * dselect/pkgdepcon.cc (packagelist::resolvedepcon): Recognise the dep_breaks dependency type in the dependency and conflict resolution. 2006-08-10 Guillem Jover * dselect/helpmsgs.cc: Replace the comment header about the file being autogenerated with a proper copyright and license one. Reindented. * dselect/helpmsgs.h: Likewise. 2006-08-08 Guillem Jover * scripts/dpkg-architecture.pl (dpkglibdir): Set to '.' where controllib.pl is located. (pkgdatadir): Set to '..' where cputable and ostable are located. * m4/arch.m4 (_DPKG_ARCHITECTURE): New macro. (DPKG_CPU_TYPE): Use _DPKG_ARCHITECTURE instead of parsing cputable. (DPKG_OS_TYPE): Use _DPKG_ARCHITECTURE instead of parsing ostable. (DPKG_ARCHITECTURE): Use _DPKG_ARCHITECTURE instead of constructing the value from cpu_type and os_type. 2006-08-08 Ian Jackson * lib/dpkg-db.h (deptype): Add dep_breaks. * lib/fields.c (f_dependency): Bail out if the Breaks field has an alternative through a '|'. * lib/parse.c (fieldinfos): Add support for the Breaks field when parsing them as a depedency field. * src/depcon.c (describedepcon): Support displaying the Breaks relationship. (depisok): Ignore the Breaks field by adding dep_breaks to the assert and returning as succeeded. * src/processarc.c (process_archive): Print a message stating that current dpkg does not support the Breaks field. Do not bail out in case the Breaks references packages to ignore for dependency handling. * src/packages.c (dependencies_ok): Add a place holder comment to be replaced by the code to prevent configuration of Broken packages. 2006-07-07 Nicolas François * dpkg-deb/build.c: Specify --null before the -T option to avoid the "tar: -: file name read contains nul character" warning. 2006-06-21 Guillem Jover * configure.ac: Bump version to 1.13.23~. 2006-06-21 Guillem Jover * configure.ac: Release 1.13.22. 2006-06-21 Guillem Jover * utils/start-stop-daemon.c (signal_str, schedule_str): Move variables inside ... (parse_options): ... here. 2006-06-21 Guillem Jover * utils/start-stop-daemon.c (umask_value): New variable. (do_help): Print information about the new '--umask' option. (parse_umask): New function. (parse_options): Parse the new option using parse_umask. (main): Set umask, and do not set for the background case if we set it previously. 2006-06-21 Guillem Jover * scripts/controllib.pl (usageerr): Do not mark "%s: %s" for translation. * scripts/changelog/debian.pl: Remove "or argument" from the "unkown option" string to merge it with other similar ones. * scripts/dpkg-distaddfile.pl: Quote '%s' in the "unknown option" string. * scripts/dpkg-source.pl: Likewise. * scripts/cleanup-info.pl (ulquit): Print the program name. Change all callers to not print the program name, and modify the strings to merge them with similar ones. * scripts/dpkg-divert.pl: Change strings referring to command line argument to use '%s' instead of such argument, thus merging them. (quit): Do not mark the string for translation. Do not hardcode the program name and use '$0' instead. (badusage): Likewise. Make it call usage. * scripts/dpkg-statoverride.pl: Likewise. * scripts/update-alternatives.pl: Likewise. * scripts/install-info.pl: Call quit instead of die and do not print the program name. Prepend "unable to" to most of those strings to merge them with similar ones. Fix other strings to merge them. (ulquit): Make it call quit instead of die and do not print the program name. (checkpipe): Likewise. (quit): New function. * lib/fields.c (f_dependency): Make strings use '%s' instead of hardcoded character, to merge both. * lib/dbmodify.c (createimptmp): Quote and increase to 255 the parameter '%.250s' to merge the string with the other ones. 2006-06-18 Frank Lichtenheld * scripts/dpkg-buildpackage.sh: Fix testing the content of $signinterface by moving the test to a place where it can actually fail. Give the user a correct warning message about what we do (i.e. defaulting to pgp style). 2006-06-17 Frank Lichtenheld * scripts/dpkg-source.pl: Fix typo in regex that caused spurious warnings for user defined fields even though they used the correct XB- syntax. 2006-06-16 Guillem Jover * scripts/controllib.pl (parsechangelog): Move substvar initialization to ... (init_substvars): ... here. New function. Move the dpkg substvars initialization to this function. * scripts/dpkg-source.pl: Call init_substvars after parsechangelog. * scripts/dpkg-genchanges.pl: Replace setting dpkg substvars with init_substvars. If the version field or the one forced from command line differs from the substvar, add the later to the output Source field inside parenthesis. * scripts/dpkg-gencontrol.pl: Likewise. 2006-06-16 Andrew Ferrier Guillem Jover * scripts/update-alternatives.pl (usage): Clarify the legend for the help text. 2006-06-16 Guillem Jover * scripts/update-alternatives.pl (config_message): Print '--config' listing layout evenly spaced. 2006-06-07 Guillem Jover * scripts/dpkg-scansources.pl: Remove invalid comment mentioning documentation being after __END__. 2006-06-07 Guillem Jover * scripts/dpkg-source.pl ($diff_ignore_default_regexp): Add '.bzrtags'. 2006-06-04 Guillem Jover * configure.ac: Bump version to 1.13.22~. 2006-06-04 Guillem Jover * configure.ac: Release 1.13.21. 2006-06-04 Ian Jackson * src/depcon.c (foundcyclebroken): Replace possi->ed argument to findbreakcyclerecursive call with dependedon. (findbreakcyclerecursive): Remove the last foundcyclebroken call which was wrongly using the unrelated provider->installed.depended linked list. Remove findbreakcyclerecursive call which may lead to infinite recursion. 2006-06-04 Guillem Jover * scripts/dpkg-parsechangelog.pl: Pass forward the '-l' option to the format parser. * scripts/changelog/debian.pl: Add '-l' option and set $changelogfile. (usage): Document the new '-l' option. (clerror): Print $changelogfile instead of 'changelog'. (clwarn): Likewise. 2006-06-02 Guillem Jover * scripts/install-info.pl: Do not use English non-essential module. 2006-06-02 Guillem Jover * scripts/dpkg-shlibdeps.pl (@librarypaths): Add '/lib32' and '/usr/lib32/'. 2006-06-02 Guillem Jover * src/query.c (setaction): Print also the short command line action. * src/main.c (setaction): Likewise. * dpkg-deb/main.c (setaction): Likewise. * dpkg-split/main.c (setaction): Likewise. 2006-05-31 Guillem Jover * configure.ac: Bump version to 1.13.21~. 2006-05-31 Guillem Jover * configure.ac: Release 1.13.20. 2006-05-31 Koblinger Egmont * src/processarc.c (process_archive): Do not pass to parsedb pdb_weakclassification, so that the Section and Priority fields gets updated with new packages. 2006-05-31 Julian Gilbey * scripts/changelog/debian.pl: Remove duped string ' , at changelog '. 2006-05-31 Guillem Jover * src/enquiry.c (cmpversions): Prefix the bad syntax error with a 'dpkg: ' and print the bogus version string. 2006-05-25 Guillem Jover * scripts/install-info.pl: Exit if the lock file already exists. This change was lost when doing the i18n of the scripts. 2006-05-25 Ben Pfaff * scripts/install-info.pl: Use %! instead if $! to check for EEXIST. 2006-05-23 Guillem Jover * scripts/controllib.pl (parsechangelog): Do not strip the epoch from the source:Upstream-Version substvar. 2006-05-23 Guillem Jover * scripts/controllib.pl (usageerr): Use usage instead of usageversion. * scripts/dpkg-statoverride.pl (UsageVersion): Rename to ... (usageversion): ... this. * scripts/dpkg-parsechangelog.pl (usageversion): Split into usage and version functions. Print to stdout. Standarize output format. Add '--help' and '--version'. * scripts/dpkg-shlibdeps.pl: Likewise. * scripts/dpkg-distaddfile.pl: Likewise. * scripts/dpkg-gencontrol.pl: Likewise. * scripts/dpkg-genchanges.pl: Likewise. * scripts/dpkg-source.pl: Likewise. * scripts/changelog/debian.pl: Likewise. * scripts/dpkg-statoverride.pl: Likewise. Basename $0. * scripts/dpkg-architecture.pl: Likewise. Do not basename $0, use $progname instead. * scripts/dpkg-checkbuilddeps.pl: Use $progname instead of $me. (me): Remove variable. (usage): Standarize output format. Print to stdout. Add '-h' option. * scripts/dpkg-buildpackage.sh (usageversion): Split into showversion and usage functions. Print to stdout. Standarize output format. Add '--help' and '--version'. (version): Rename variable to ... (changesversion): ... this, otherwise there was no program version shown on output. * scripts/dpkg-scanpackages.pl: Basename $0. (options): Pass a sub to the help option calling usage and exit. Add '--version'. (usage): Switch variable to a function. Print to stdout. Standarize output. (version): New function. * scripts/dpkg-scansources.pl (Version): Rename variable to ... (version): ... this (so it will be automaitcally updated by the Makefile). (Option_spec): Pass \&usage to help option and \&version to version. (Usage): Remove variable. (version): New function. (usage): Move xwarn call to where the actual check is made. Replace the die call with a printf and an exit. * scripts/dpkg-name.sh: Standarize output format. * scripts/dpkg-divert.pl: Basename $0. (showversion): Rename to ... (version): ... this. Print to stdout. Standarize output format. * scripts/update-alternatives.pl: Basename $0. (usageversion): Split into usage and version functions. Print to stdout. Standarize output format. * scripts/cleanup-info.pl: Basename $0. (version): Print to stdout. Standarize output format. (usage): Likewise. Print option descriptions. * scripts/install-info.pl: Basename $0. Add '--version'. On argument error print only usage. (version): Print to stdout. Standarize output format. (usage): Likewise. Print option descriptions. 2006-05-19 David Lopez Moreno * dpkg-deb/build.c (do_build): If failing to stat a conffile check for trailing whitespace in the conffiles file to give a more useful error message. 2006-05-19 Piotr Engelking * lib/database.c (informative): Don't regard architecture information alone as informative. * src/processarc.c (process_archive): Also delete origin, bugs and architecture information for disappearing packages. * src/remove.c (removal_bulk): Likewise for removed packages. 2006-05-19 Frank Lichtenheld * src/help.c (hasdirectoryconffiles): New function to test wether a directory contains conffiles of a given package. * src/main.h: Add declaration of hasdirectoryconffiles. * src/remove.c (removal_bulk_remove_files): Don't drop directories from our file list that hold our conffiles. (removal_bulk_remove_leftover_dirs) Likewise. * utils/enoent.c: Add a comment at the top of the file explaining why we use this odd program at all. 2006-05-18 Frank Lichtenheld * lib/showpkg.c (show1package): Test the correct pointer against NULL so that arbitrary fields get be printed. 2006-05-15 Nicolas François * src/packages.c: Use fc_dependsversion (set by --force-depends-version) when only the version of a dependency is not satisfied. fc_dependsversion is never used otherwise. 2006-05-15 Nicolas François * src/configure.c: Flush the terminal's input before prompting the user. 2006-05-15 Frank Lichtenheld * debian/archtable: Update to reflect current archive: Add amd64 and remove sh. * src/depcon.c (findbreakcyclerecursive): Try to find cycles also by moving up Provides links. 2006-05-15 Ian Jackson * debian/control (dpkg[Depends]): Move coreutils dependency to Pre-Depends and depend on >= 5.93-1 to ensure that md5sum is present. * debian/dpkg.postinst: Don't create a diversion from coreutil's md5sum. * debian/dpkg.prerm: Delete the code that removed the diversion generated in the postinst. We rely on coreutils to clean up the mess we created. 2006-05-12 Frank Lichtenheld * src/main.c (ignoredepends): Fix parsing of the --ignore-depends argument value. * dpkg-deb/info.c (info_spew): Prepend the name of the directory we're in to the control component name. This way we don't spew out garbage if we get an absolute path as component name. * scripts/dpkg-scanpackages.pl: Print usage information on stderr instead of stdout in case of error. Only print it on stdout if requested via -h. * scripts/dpkg-architecture.pl: Convert encoding of the file from iso-8859-1 to utf-8. 2006-05-12 Nicolas François , Frank Lichtenheld * scripts/dpkg-gettext.pl: New module. Acts like a wrapper around Locale::gettext so that the scripts are usable without it, too. * debian/dpkg.install: Install dpkg-gettext.pl. * scripts/Makefile.am (dist_pkglib_SCRIPTS): Add dpkg-gettext.pl. * po/POTFILES.in: Add scripts installed with dpkg to the list. * po/Makevars (XGETTEXT_OPTIONS): Add _g to list of keywords. * debian/dpkg-dev.install: Install .mo files. * debian/control (dpkg-dev[Depends]): Bump dependency on dpkg to 1.13.20 since it needs dpkg-gettext.pl. * scripts/cleanup-info.pl: Add gettext support. * scripts/controllib.pl: Likewise. * scripts/dpkg-architecture.pl: Likewise. * scripts/dpkg-checkbuilddeps.pl: Likewise. * scripts/dpkg-distaddfile.pl: Likewise. * scripts/dpkg-divert.pl: Likewise. * scripts/dpkg-genchanges.pl: Likewise. * scripts/dpkg-gencontrol.pl: Likewise. * scripts/dpkg-parsechangelog.pl: Likewise. * scripts/debian/changelog.pl: Likewise. * scripts/dpkg-scanpackages.pl: Likewise. * scripts/dpkg-scansources.pl: Likewise. * scripts/dpkg-shlibdeps.pl: Likewise. * scripts/dpkg-source.pl: Likewise. * scripts/dpkg-statoverride.pl: Likewise. * scripts/install-info.pl: Likewise. * scripts/update-alternatives.pl: Likewise. 2006-05-10 Frank Lichtenheld * scripts/dpkg-buildpackage.sh: Pass all remotely sensible -sX option through to dpkg-source (-s[nsAkurKUR]). * scripts/changelog/debian.pl: Use same regex for distribution names as for packages. Since the policy doesn't define these names very strict, we should give the user more freedom here though all official names are matched by a way stricter regex. (Characters now allowed are '+' and '.'). 2006-05-10 Robert Millan , Frank Lichtenheld * scripts/dpkg-source.pl: When checking the signature of a .dsc file, use the Debian keyring if available. 2006-05-10 Nicolas François * lib/showpkg.c (show1package): Honour the requested tabbing of fields even if they are empty. 2006-05-04 Guillem Jover * configure.ac: Bump version to 1.13.20~. 2006-05-04 Guillem Jover * configure.ac: Release 1.13.19. 2006-05-04 Guillem Jover * scripts/dpkg-genchanges.pl: Do not use $version to refer to the source package version, as it denotes the dpkg version. 2006-05-04 Nicolas François , Guillem Jover * scripts/install-info.pl: Use the numerical value of $! instead of the string when checking if the locking error was due to an already existing file, which is locale dependent, and die accordingly. 2006-05-04 Nicolas François * scripts/install-info.pl: Add a new line after adding the last entry at the end of the dir file, which makes the info readers able to see those last entries. 2006-05-04 Wayne Davison , Guillem Jover * scripts/install-info.pl: Make '--dir-file' option compatible with GNU install-info by renaming the infodir variable to dirfile and not appending the '/dir' string except when initializing from '--info-dir' or '--infodir'. 2006-05-04 Guillem Jover * scripts/dpkg-gencontrol.pl: Use the source:Version substvar when setting the Source field version, in case the binary package has a different one from the source package. 2006-05-02 Guillem Jover * utils/start-stop-daemon.c (do_help): Standarize output format. 2006-05-02 Guillem Jover * dselect/main.cc (usage): Split string and align so duped strings get merged. * dpkg-deb/main.c (usage): Likewise. * dpkg-split/main.c (usage): Likewise. * src/query.c (usage): Likewise. * src/main.c (usage): Likewise. 2006-05-02 Guillem Jover * scripts/dpkg-genchanges.pl: Rename dpkg:UpstreamVersion to dpkg:Upstream-Version. Make dpkg:Version and dpkg:Upstream-Version get the current dpkg versions instead of the package being built. * scripts/dpkg-gencontrol.pl: Likewise. 2006-05-02 Ken Bloom , Jeroen van Wolffelaar , Guillem Jover * scripts/controllib.pl (parsechangelog): Add new source:Version, source:Upstream-Version and binary:Version substvars. 2006-04-29 Justin Pryzby * src/filesdb.c: Fix a typo (unexecpted -> unexpected). 2006-04-21 Guillem Jover * src/query.c (enqperpackage): Change dynamically constructed grammar to proper sentences. * src/packages.c (deppossi_ok_found): Likewise. * src/main.c (commandfd): Do not use digits, use textual numbers. * lib/dbmodify.c (createimptmp): Use proper verb forms. * lib/showcright.c (showcopyright): Remove trailing space from string. * lib/parsehelp.c (illegal_packagename): Clarify what is the last '%s'. * dpkg-deb/extract.c (movecontrolfiles): Likewise. (extracthalf): Do not use abbreviations in the strings. 2006-04-21 Guillem Jover * src/main.c (printforhelp, setdebug, setforce): Quote each string line instead of escaping its new line at the end. 2006-04-11 Frank Lichtenheld * src/archives.c (quote_filename): Fix typo in variable name. If hit, this could lead to a infinite loop and OOM in varbufvprintf. (A good way to hit it is installing files with long non-ASCII filenames in UTF-8 locales). Fixed also some typos in the comment for this function. * scripts/dpkg-scanpackages.pl: Add -follow to @find_args. This was lost in a previous patch apparently. 2006-04-10 Guillem Jover * configure.ac: Bump version to 1.13.19~. 2006-04-10 Guillem Jover * configure.ac: Release 1.13.18. 2006-04-10 Andrew Suffield * src/main.h (clearselections): New prototype. * src/main.c (usage): Print '--clear-selections' option description. (cmdinfos): Add clear-selectons action. * src/select.c (clearselections): New function. 2006-04-10 Guillem Jover * src/main.h (fc_autoselect): Remove. * src/main.c (fc_autoselect): Likewise. (forceinfos): Mark 'auto-select' as obsolete. (setforce): Remove mention of 'auto-select' from the help text. Handle obsolete options, and display a warning. 2006-04-09 Guillem Jover * scripts/dpkg-shlibdeps.pl: Support system library directories symlinked from '/lib/ldconfig/'. 2006-04-09 Branden Robinson , Guillem Jover * src/main.c (execbackend): Pass '--admindir' over to dpkg-query when passing '--admindir' or '--root' to dpkg. 2006-04-04 Andrew Suffield * dpkg-buildpackage.sh: Use mustsetvar to set sversion variable. 2006-04-04 Jared Spiegel * utils/start-stop-daemon.c (do_help): Add '-r' option to the help output. 2006-04-04 Guillem Jover * utils/start-stop-daemon.c (main): Prefix the chroot path, if any, when stating the exec file. 2006-03-30 Guillem Jover * src/main.c (setforce): Add a '[!]' next to 'all' to denote that '--force-all' is dangerous. 2006-03-20 Guillem Jover * configure.ac: Bump version to 1.13.18~. 2006-03-20 Guillem Jover * configure.ac: Release 1.13.17. 2006-03-20 Guillem Jover * utils/start-stop-daemon.c [OSLinux] (pid_is_exec): Revert back to take a struct stat instead of an execname. Get the filename pointed by the '/proc//exe' symlink, strip any ' (deleted)' string, and stat that filename comparing the result with the new argument. 2006-03-15 Guillem Jover * scripts/controllib.pl.in: Rename to ... * scripts/controllib.pl: ... this. (debian_arch_expand): Remove function. Fix all callers. (pkgdatadir, read_cputable, read_ostable): Move to ... * scripts/dpkg-architecture.pl: ... here. * scripts/Makefile.am (%.pl): Remove rule. 2006-03-05 Guillem Jover * scripts/controllib.pl.in (quiet_warnings): New variable. (warn): Do not print if quiet_warnings. * dpkg-source.pl (usageversion): Document new option `-q'. 2006-03-05 Guillem Jover * debian/control (Build-Depends): Do not depend on libselinux1-dev in GNU/kFreeBSD amd64. 2006-02-28 Matt Kraai * scripts/dpkg-gencontrol.pl: Fix typo (occoured -> occurred). * scripts/dpkg-source.pl: Likewise. 2006-02-19 Guillem Jover * po/README.translators: Move to ... * README.translators: ... here. Formatting fixes. Update to refer to latest new ChangeLog files, and rules. 2006-02-19 Frank Lichtenheld * scripts/dpkg-scanpackages.pl: Fix option parsing of arch option. Also fix a mistake in constructing @find_args. 2006-02-18 Frank Lichtenheld * scripts/dpkg-gencontrol.pl: Call parsedep with use_arch and reduce_arch parameters to allow using architectures in dependency fields of binary packages in debian/control. * scripts/dpkg-gencontrol.pl: Fix handling of debian/files when architecture is set via -D command line option. The value override was applied too late. * configure.ac: Bump version to 1.13.17~. * configure.ac: Release 1.13.16. 2006-02-17 Frank Lichtenheld * man/ChangeLog: Start an own changelog for the manpages. * scripts/dpkg-scanpackages.pl: Fix override handling which was broken by the latest changes. * scripts/dpkg-gencontrol.pl: Make -isp the default behaviour. * man/C/dpkg-source.1: Document the behaviour change in dpkg-gencontrol. 2006-02-17 Guillem Jover * debian/dselect.install: Install only dselect domain. * debian/dpkg.install: Install only dpkg domain. * dselect/po: New directory. * dselect/main.cc (main): Use DSELECT domain. * dselect/Makefile.am (SUBDIRS): Add po. * configure.ac (AC_CONFIG_FILES): Add dselect/po/Makefile.in. 2006-02-17 Guillem Jover * methods/: Move directory to dselect/methods/. * Makefile.am (SUBDIRS): Move methods to ... * dselect/Makefile.am (SUBDIRS): ... here. New variable. * configure.ac (AC_CONFIG_FILES): Rename methods/Makefile to dselect/methods/Makefile. 2006-02-17 Guillem Jover * configure.ac: Require gettext 0.14.5. 2006-02-17 Guillem Jover * configure.ac: Use AC_CONFIG_AUX_DIR to move auxiliary scripts to config/. 2006-02-16 Frank Lichtenheld * configure.ac: Bump version to 1.13.16~. 2006-02-15 Frank Lichtenheld * configure.ac: Release 1.13.15. 2006-02-15 SZERVÁC Attila * man/hu/dpkg.cfg.5.hu.po: Added. * man/hu/dpkg.cfg.5.hu.po.addendum: Likewise. * man/hu/dselect.cfg.5.hu.po: Likewise. * man/hu/dselect.cfg.5.hu.po.addendum: Likewise. 2006-02-13 Jordi Mallach * src/processarc.c (process_archive): Add missing closing parenthesis in a string. 2006-02-12 Frank Lichtenheld * configure.ac: Bump version to 1.13.15~. * configure.ac: Release 1.13.14. 2006-02-11 Denis Barbier * man/C/dpkg.1: Escape ` and ', otherwise they are converted to quotation marks, which makes cut and paste useless. * man/C/dpkg-query.1: Likewise. * man/C/dpkg-name.1: Likewise. * man/C/dpkg-architecture.1: Likewise. 2006-02-11 Philippe Batailler * man/fr/dpkg.1.fr.po: Updated. * man/fr/dpkg-query.1.fr.po: Likewise. * man/fr/dpkg-source.1.fr.po: Likewise. * man/fr/dpkg-split.1.fr.po: Likewise. 2006-02-11 Nicolas François * man/*/*.addendum: Use a generic position to insert the addenda, which should always exist in a valid man page. Translators are free to use another position. * man/*/*.addenum: Renamed man/*/*.addendum. 2006-02-11 Frank Lichtenheld * scripts/dpkg-source.pl: Add .git to $diff_ignore_default_regexp. * scripts/dpkg-source.pl: Remove any newlines from Uploaders field to allow people to make it multi-line in the source package. 2006-02-10 Denis Barbier * scripts/dpkg-source.pl: Touch all patched files to have the same timestamp. This should mitigate time-skew problems until we can finally add proper timestamps to the diffs. 2006-02-10 Ian Jackson * src/configure.c: Differentiate between modified and deleted configuration files. Gives and more accurate description to the user and eliminates a warning that was produced when trying to backup a non-existant file. * lib/dpkg-db.h (conffile): Add `obsolete' field. * lib/dump.c (w_conffiles): Write "obsolete" at the end of conffile entry if obsolete is set. * lib/fields.c (f_conffiles): Parse entries for obsolete conffiles correctly. * src/filesdb.h (filenamenode.flags): Add new flag for obsolete conffiles. * src/remove.c (removal_bulk_remove_configfiles): Handle obsolete conffiles. * src/archives.c (newconff_append): New function to append a filenamenode to a fileinlist. (addfiletolist): New function to add a filenamenode to a tarcontext. (tarobject): Use new addfiletolist function. Handle case where a new package takes over an obsolete conffile from another package. * src/archives.h: Add declaration of the addfiletolist function. * src/processarc.c (process_archive): Use new newconff_append function from archives.c. Detect obsoleted conffiles and mark them as such. * src/help.c (chmodsafe_unlink): Make it possible to differentiate between failed chmod and failed unlink by adding a new `failed' argument which will be set to the name of the failed command. (chmodsafe_unlink_statted): New function that can be called if we already have a stat result for the file/directory to be removed. (ensure_pathname_nonexisting): Give better error messages by utilizing the changes to chmodsafe_unlink. * src/main.h: Reflect changes in archives.c and help.c (add declarations for newconff_append and chmodsafe_unlink_statted and change the one of chmodsafe_unlink). (conffopt): Add new isold flag. 2006-02-10 James R. Van Zandt * man/C/dpkg.1: Document the default log file. The behaviour in case of multiple --log options. And add a reference to dpkg.cfg manpage. 2006-02-10 Philippe Batailler , Guillem Jover * man/C/dpkg-query.1: Use dots instead of blank lines to logically separate sections. (SYNOPSIS): Add command descriptions. (COMMANDS): Use package-name instead of package. (OPTIONS): Give an example for --showformat. (SEE ALSO): Add a final dot to reference. 2006-02-08 Philippe Batailler * man/fr/update-alternatives.8.fr.po: Updated translation. * man/fr/update-alternatives.8.fr.po.addendum: New file. 2006-02-08 Guillem Jover * man/po4a.mk (%): Replace % with $@ as the former is not substituted in the rule's command. 2006-02-08 Guillem Jover * debian/contrl (Build-Depends): Depend on version >= 1.28-4 of libselinux1-dev as it has pkg-config support. Remove libsepol1-dev, now dragged by libselinux1-dev. Add pkg-config. * m4/libs.m4 (DPKG_LIB_SELINUX): Use pkg-config to get the static and dynamic linker flags, thus no more hardcoding the transitional libraries. 2006-02-07 Nicolas François * man/C/dselect.1: Fix a typo: replace '.sh' by '.sp'. * man/C/dpkg-scansources.1: Fix a typo: replace '.Sp' by '.sp'. 2006-02-07 Guillem Jover * man/C/update-alternatives.8: Remove trailing 'C'. 2006-02-06 Changwoo Ryu , Guillem Jover * lib/dump.c (writerecord): Mark strings as translatable. * lib/fields.c (f_priority): Likewise. * lib/mlib.c (checksubprocerr): Likewise. 2006-02-06 Guillem Jover * src/main.c (printversion): Do not split strings with a macro in the middle, use C format arguments. Use printf instead of fputs. * src/query.c (printversion): Likewise. * dpkg-deb/main.c (printversion): Likewise. * dpkg-split/main.c (printversion): Likewise. * src/main.c (usage): Use printf instead of fprintf. Uppercase initial letter for commands descriptions. Quote strings per line. Standarize indentation. Split globally common strings. Remove program name prefix from command descriptions. Standarize 'Usage:' and 'Commands:' headings. Split independent commands into different lines. * src/query.c (usage): Likewise. * dpkg-deb/main.c (usage): Likewise. * dpkg-split/main.c (usage): Likewise. * src/main.c (printforhelp): Use 'license' instead of 'licence'. * src/query.c (printforhelp): Likewise. * dselect/main.cc (programdesc): Add version string from ... (copyrightstring): ... here. Move GPL license notice to ... (licensestring): ... here. New variable. (printversion): Use printf instead of fprintf. Give proper arguments to the new formated strings. Print 'licensestring'. (usage): Use printf instead of fprintf. Standarize indentation. Add options descriptions. Add a new line after each section. (curseson): Do not split strings with a macro in the middle, use C format arguments. (refreshmenu): Fix arguments given to 'programdesc' and 'copyrightstring' variables. Print 'licensestring' variable. 2006-02-06 Guillem Jover * utils/start-stop-daemon.c (main): When using --chuid set the HOME environment variable. 2006-02-05 Christian Perrier * man/*: Switch all translations to po4a. Work contributed by Nicolas François. 2006-01-30 Frank Lichtenheld * scripts/dpkg-shlibdeps.pl: Fix some variable name typos that lead to semantic errors. Also change the names of the variables to prevent such errors in the future. 2006-01-29 Frank Lichtenheld * man/C/dpkg-scanpackages.1: Document new dpkg-scanpackages -m option added by Don Armstrong. * scripts/dpkg-scanpackages.pl: Fix some bugs introduced by the rewrite. * man/C/dpkg-source.1: Document that the -sX switches for dpkg-source are mutually exclusive and only one can be in effect. * scripts/dpkg-source.pl: Warn if more than one -sX switch is specified on the command line. * scripts/dpkg-source.pl: Make dpkg-source -b more robust regarding to existing symlinks by creating all files in secure temporary files and renaming them afterwards. This fixes problems with packages retrieved with apt-get source from local repositories. 2006-01-29 Don Armstrong * scripts/dpkg-scanpackages.pl: Rewrite the script to support multiple versions of packages in a single Packages file; use Getopt::Long instead of attempting to parse the command line ourselves and doing it badly; get rid of unecessary hashes and arrays that aren't used at all; output help when given the --help/-h/-? options 2006-01-29 maximilian attems * scripts/dpkg-source.pl: Add files and dirs used by bzr to $diff_ignore_default_regexp. 2006-01-29 Julian Gilbey * scripts/dpkg-buildpackage.sh: Create .changes file even if signing .dsc file fails to make it easier to just sign the package later. * scripts/dpkg-buildpackage.sh: Change heuristics of gpg check so that it allows for more complex setups. 2006-01-29 Anand Kumria * scripts/dpkg-source.pl (checkdiff): Ignore comments hunk header line as used by diff -p. 2006-01-29 Guillem Jover * utils/start-stop-daemon.c (do_help): Print the proper version giving it as an argument to printf, instead of printing 'VERSION'. 2006-01-29 Guillem Jover * configure.ac: Bump version to 1.13.14~. 2006-01-28 Frank Lichtenheld * configure.ac: Release 1.13.13. 2006-01-28 Guillem Jover * scripts/dpkg-architecture.pl: Do not print the warning about a missmatch between gcc target machine type and GNU target system type if the actions are '-e' or '-i'. 2006-01-27 Frank Lichtenheld * scripts/dpkg-shlibdeps.pl: Honor LD_LIBRARY_PATH when searching for shared libraries. * scripts/dpkg-shlibdeps.pl: Don't recurse into package directories when searching for local shlibs files. 2006-01-26 Zefram , Guillem Jover * man/C/dpkg-query.1: Document the correct format string for the '--showformat' option. Update '-l' example. Lower case program name in title header. 2006-01-26 Christoph Maser * utils/start-stop-daemon.c (do_help): Fix typo ('-C' -> '-d'). 2006-01-26 A Costa * man/C/dselect.1: Fix typos. 2006-01-26 Bastian Kleineidam * man/C/dpkg.1: Document the --no-debsig option. 2006-01-26 Marc Haber * man/C/dpkg-statoverride.8: Fix typo. 2006-01-24 Frank Lichtenheld * debian/control (Section): dpkg and dselect are now in section admin, not section base. Correct info in the control file. (Standards-Version): Bump Standards-Version to 3.6.2 (no changes). * man/C/dpkg-architecture.1: Fix typo. 2006-01-23 Vasilis Vasaitis * utils/start-stop-daemon.c (pid_is_exec) [OSLinux]: Change function prototype to take a constant string instead of a struct stat. Compare the filename pointed by the '/proc//exe' symlink, instead of the stat device and inode numbers. Fix all callers. 2006-01-23 Frank Lichtenheld * scripts/dpkg-shlibdeps.pl: Rewrite of the script to not use the path information from ldd anymore (which is unreliable in the case of symlinked directories and not necessarily available for biarch builds). Instead build an own representation of the search patch. * scripts/dpkg-source.pl: Don't use \b to match the end of the version in filenames, use (?=[.-]) and (?=\.) instead. \b doesn't work in case the version ends with ~. * AUTHORS: Updated for new maintainance team * debian/copyright: Add myself as copyright holder since I also added a note to that effect with my dpkg-shlibdeps patch. 2006-01-23 Guillem Jover Support for architecture wildcards. * scripts/controllib.pl: Rename to ... * scripts/controllib.pl.in: ... this. * scripts/dpkg-architecture.pl: Add new actions '-e' and '-i' that call debian_arch_eq and debian_arch_is, to check for architecture equality and identity respectively. Use debian_arch_fix instead of the duplicated code. (pkgdatadir, read_cputable, read_ostable): Move to ... * scripts/controllib.pl.in: ... here. (debian_arch_fix): New function. Fix normalized kernel-cpu input to legacy Debian architecture output. (debian_arch_split): New function. Normalize and split input into kernel and cpu components. (debian_arch_eq): New function. Compare two tuples for equality after having normalized them with debian_arch_split. (debian_arch_is): New function. Check two tuples for identity after having normalized them with debian_arch_split. (debian_arch_expand): New function. Expand the normalized input into all possible legacy Debian architectures matching the wildcard. (parsedep): Use debian_arch_is to check if the host architecture is part of the architecture listed in the dependency relationship. (showdep): Use debian_arch_expand to normalize the architectures for binary and source packages, so generated packages will be backward compatible in regard to architecture format. * scripts/dpkg-genchanges.pl: Use new dpkg_arch_is and dpkg_arch_eq instead of the hardcoded checks. * scripts/dpkg-gencontrol.pl: Likewise. * scripts/dpkg-source.pl: Likewise. Use dpkg_arch_expand to fill the Architecture field with the legacy Debian architecures. * scripts/Makefile.am: New rule to generate .pl from .pl.in files. * man/C/dpkg-architecture.1: Update. Add new options, and few words about the format of the wildcards. 2006-01-23 Guillem Jover * scripts/dpkg-source.pl: Add a missing '+' in the architecture validator regex. 2006-01-23 Bart Martens , Guillem Jover * debian/contrl (Build-Depends): Add libsepol1-dev as a temporary workaround until libselinux1-dev has pkg-config support. * m4/libs.m4 (DPKG_LIB_SELINUX): Explicitly statically link against libsepol. 2006-01-20 Aurelien Jarno * debian/control (Build-Depends): Do not depend on libselinux1-dev in GNU/kFreeBSD. 2006-01-20 Lennert Buytenhek * cputable: Add armeb. 2006-01-18 Joey Hess * scripts/dpkg-shlibdeps.pl: Add possibility to specify a package type in the shlibs file and add a -t switch to dpkg-shlibdeps to specify the wanted type. Entries without package type will have type 'deb' and will serve as fallback if no entry with the correct type is found. * man/C/dpkg-source.1: Document new -t switch for dpkg-shlibdeps. 2005-10-11 Frank Lichtenheld * man/C/*.[158]: Update references to dpkg and dselect man pages with correct section (8->1). * man/C/dselect.1: Update reference to debconf man page with correct section (8->1). * scripts/dpkg-source.pl: Warn on -b if we add a file with special (i.e. exectuable or set{u,g}id) permission in the diff since this mode will get lost. 2005-10-07 Frank Lichtenheld * scripts/controllib.pl (checkversion): Add generic check for valid version numbers. (checkpackagename): Add generic check for valid package names. (readmd5sum): Add generic function to extract md5sum from md5sum program output. This also fixes the handling of md5sum -b output in dpkg-source. (setsourcepackage): Call checkpackagename on new value. * scripts/dpkg-source.pl: Use the new checks added to controllib to ensure validity of version and packagename on build, too. Previously this was only done on unpack. * scripts/dpkg-source.pl: Test on build if directories added by diff already exist with other type in the original source since we already tested that on unpack. * scripts/dpkg-source.pl (addfile): Test if files are added twice. Should not happen but as we error out on unpack better make sure it doesn't. 2005-10-04 Frank Lichtenheld * scripts/dpkg-source.pl: Check build relation fields for correctness before putting them into the .dsc when building. This also normalizes the fields. 2005-10-03 Matt Zimmerman , Frank Lichtenheld * scripts/dpkg-source.pl: If gpg is installed, check the signature of the .dsc file before unpacking. Allow the unpacking to suceed if the .dsc is unsigned but error out if the signature is bad. If gpg exits with a code >2 (e.g. missing key), show the user the gpg output but continue. 2005-10-03 Frank Lichtenheld * scripts/dpkg-source.pl: Try to chown files extracted from a tar file to the uid and gid of the user. This should make dpkg-source -x safer to use as root. Also create the temporary directory mode 0700 to not allow anyone exploiting races between the extraction and the chown. * scripts/dpkg-gencontrol.pl: Warn about illegal architecture strings. This will warn e.g. about comma-separated architecture lists. * scripts/dpkg-source.pl: Also check architecture strings and error out if we find illegal ones. 2005-08-27 Frank Lichtenheld * scripts/dpkg-gencontrol.pl: Bail out with an error if parsedep found an error while parsing a dependency field. 2005-08-17 Scott James Remnant * configure.ac: Bump version to 1.13.12~. * configure.ac: Release 1.13.11. * scripts/dpkg-source.pl: Re-work the logic that handles the Files field when unpacking source packages; always remove the revision component and thereby allow -$rev.orig.tar.gz as well as native diff.gz or debian.tar.gz; improve the "unrecognised file" error to give the full filename, not the mangled suffix; check whether the revision has length, rather than is non-zero ("0" is false in Perl). 2005-08-17 Frank Lichtenheld * scripts/controllib.pl (parsedep): Correct a bug that caused wrong architecture requirements in some cases, due to only "my"ing the @arches list in some circumstances. 2005-08-17 Colin Watson * src/processarc.c (process_archive): When copying the forward dependency tree, blank the version field of unversioned dependencies rather than leaving them uninitialised. 2005-08-17 Scott James Remnant * scripts/dpkg-source.pl: Fix a few problems found with the $diff_ignore_default_regexp value; it'd match any path with DEADJOE in it somewhere (or .cvsignore, etc.), wouldn't match an initial CVS or {arch}, etc. Took the opportunity to reformat the string and add some comments, which get stripped out before it's used. Added tla/baz junk ",,.*" to the list of filters. * lib/dbmodify.c (log_message): Call setcloexec() on the log file descriptor, otherwise we leak it to our children. 2005-08-17 Ludovic Rousseau * src/filesdb.c: Replace all references to "statusoverride" file with "statoverride". 2005-08-17 Scott James Remnant * src/query.c (enqperpackage): Only output a newline between different packages and not after the last one. * man/C/dpkg-deb.1: Document -W/--show and --showformat. 2005-08-14 Bastian Kleineidam * man/C/dpkg-architecture.1: Fix typo. 2005-08-14 Frank Lichtenheld * scripts/dpkg-genchanges.pl: Give a warning when one tries to use -sd on a native Debian package. * scripts/dpkg-source.pl: Handle absolute paths in the argument given for -b. * scripts/dpkg-source.pl: Give more meaningful error message if first argument to dpkg-source -x is a directory * scripts/controllib.pl (parsecdata): Ignore trailing newlines in single paragraph control files. * scripts/controllib.pl (parsedep): Give a warning explaining the problem when failing to parse the dependency. * scripts/dpkg-checkbuilddeps.pl: Pass the dependency field name to all calls to &build_depends() and &build_conflicts(), which both call &check_line(). (check_line): Take an argument specifying the field name, and use it to output an error if the dependency list is not defined (caused by a failure of &parsedep()). * scripts/controllib.pl: Remove the %capit map, it's no longer used and everything uses the &capit() function instead. (capit): Uppercase all letters that come after a minus ('-'), 2005-08-14 Moritz Muehlenhoff , Frank Lichtenheld * scripts/controllib.pl (parsedep): Allow whitespace before version operators in dependencies. 2005-08-14 Goswin Brederlow * scripts/dpkg-name.sh (stderr): Use shell redirect rather than /dev/stderr. 2005-08-14 Scott James Remnant * debian/control ([dselect]Description): Remove "a" from the start of the description synopsis line. ([dpkg]Description): De-capitalise description synopsis line. ([dpkg-dev]Description): Likewise. 2005-08-14 Guillem Jover * scripts/dpkg-architecture.pl (usageversion): Correct punctuation in copyright message and escape the @ so Perl doesn't treat it as an array reference. Same for initial comment. 2005-07-17 Scott James Remnant * src/remove.c (removal_bulk_remove_files): Call lstat() rather than stat() when removing a character, block or setuid file so we change the thing itself and not what the symlink points to. * src/processarc.c (process_archive): Likewise. * src/processarc.c (process_archive): Call ohshit() after finding out we don't have an errno, not ohshite(). * src/cleanup.c (cu_preinstverynew): Blank the status information of a newly installed package that we aborted the install of, to avoid having packages in a not-installed state but with a version. 2005-07-16 Scott James Remnant * src/filesdb.h (filenamenode.flags): Add fnnf_placed_on_disk flag to indicate that the file is now on the disk, and thus needs to be removed in cleanup if that happens. * src/cleanup.c (cu_installnew): If .dpkg-tmp did not exist, and the fnnf_placed_on_disk flag is set, we now remove the newly created file. * src/archives.c (tarobject): Set the fnnf_placed_on_disk flag once the rename to the final destination succeeds. Add additional comments to the source so we know what's on the disk at each point. Fix up the #ifdef syntax to not confuse emacs. * src/archives.c (filesavespackage): Check whether the file we're going to install is going to be diverted, before whether it's in the new archive. * src/processarc.c (process_archive): When removing files that were in the old version of the package only, don't just call isdirectoryinuse(), actually check whether it's a directory first; otherwise we won't remove diverted things. 2005-07-15 Scott James Remnant * lib/ehandle.c (run_cleanups): Modify the value of flagset according to the checkpoint mask and value after processing, otherwise we'll run handlers we didn't mean to. (pop_cleanup): Remove the flagset setting, we don't mix checkpoints and calls anywhere. 2005-06-28 Scott James Remnant * configure.ac: Bump version to 1.13.11~. * configure.ac: Release 1.13.10. * debian/dpkg.preinst (create_logfile): Remove from preinst. * debian/dpkg.postinst (create_logfile): To postinst; I can't think of any particular reason it needs to happen before configuration. In addition, use numeric ids for the chown call to avoid requirement that base-passwd be configured first. 2005-06-28 Manoj Srivastava * src/archives.c: Look at the security context of the final destination, not the temporary file. 2005-06-24 Scott James Remnant * po/POTFILES.in: Remove lib/star.c. 2005-06-24 Manoj Srivastava * src/archives.c: Restore selinux code incorrectly placed in lib/star.c, modified to fit in with tarobject. 2005-06-17 Scott James Remnant * debian/dpkg.preinst (confirm_dselect_split): When set -e, following a command with "|| return" doesn't eat the exit status. * lib/dbmodify.c (log_message): Set the log to be line-buffered. 2005-06-16 Scott James Remnant * lib/star.c: Remove, it's unused code and causes confusion. * lib/Makefile.am (libdpkg_a_SOURCES): Don't compile star.c. 2005-06-15 Bastian Kleineidam * man/C/dpkg.cfg.5: Correct reference to dpkg(8) to dpkg(1). 2005-06-14 Scott James Remnant * man/C/dpkg-architecture.1: Add missing "recent" from paragraph on backward compatibility. 2005-06-13 Scott James Remnant * debian/rules: Check DEB_HOST_ARCH_OS and only add the option to enable SELinux if we're on Linux. * debian/control (Build-Depends): Don't build-depend on libselinux1-dev on hurd-i386. The complete list is too long to maintain, so wait until we can put "[linux-any]" in here. * scripts/dpkg-source.pl: Handle native tarballs with a Debian revision. * lib/dbmodify.c (log_message): Use the local time, not UTC; this is more consistent with syslog. 2005-06-13 Johannes Veser * debian/dpkg.prerm (undivert_md5sum): dpkg-divert takes the diverted filename, not the destination. 2005-06-13 Scott James Remnant * debian/dpkg.install: Remove start-stop-daemon rule, as that copies it rather than moves it. * debian/rules (binary-arch): Move start-stop-daemon into sbin my hand. 2005-06-12 Scott James Remnant * configure.ac: Bump version to 1.13.10~. * configure.ac: Release 1.13.9. 2005-06-11 Scott James Remnant * scripts/dpkg-source.pl: Add .arch-inventory to default diff ignore regexp. * scripts/dpkg-source.pl: If two arguments are given to dpkg-source, use the second to set $newdirectory rather than creating it ourselves. It's an error to specify an output directory that exists. (usageversion): Document optional second argument to dpkg-source -x. * man/C/dpkg-source.1: Document optional second argument. 2005-06-11 Matt Kraai , Scott James Remnant * scripts/dpkg-source.pl: Move the .orig directory out of the way during the duration of the script, moving it back again afterwards. 2005-06-11 Brendan O'Dea Support unpacking of "Wig And Pen" (Format: 2.0) source packages. * scripts/dpkg-source.pl: When unpacking a source package with a 2.x format, allow multiple orig tarballs and allow the diff to be replaced by a debian.tar. Additional orig tarballs are named "*.orig-xxx.tar" where the "xxx" is the name of the sub-directory of the source where they should be unpacked. The debian.tar is unpacked as the debian sub-directory of the source and may contain binaries (which the diff can't) and patches (in a patches sub-directory) which are automatically applied during unpacking. (checkdiff): Move diff checking code into sub-routine as we call it multiple times now. Allow uncompressed patches, cruft at the start of a patcha and be less strict about patched directory name (including allowing /dev/null). Skip "Index:" header generated by CVS. (forkgzipread): Run either gunzip or bunzip2 depending on the filename, allowing us to support .tar.bz2, and .diff.bz2. (handleformat): Compare a range of major versions, as we now support both 1.0 and 2.0 formats. (def_dscformat): Generate 1.0 format packages by default. (setfile): Removed unused function. * debian/control ([dpkg-dev]Recommends): Recommend bzip2, it's not an absolute dependency until bz2 packages are supported by katie and policy. 2005-06-11 Scott James Remnant * m4/libs.m4 (DPKG_LIB_ZLIB, DPKG_LIB_BZ2): Rewrite to match the way --with-selinux works. Actually check whether the library and header files we need are available, using the configure option to determine whether the tests should be skipped (=no) or cause a hard failure if not present (=yes or =static). * lib/Makefile.am (INCLUDES): Remove ZLIB_CFLAGS and BZ2_CFLAGS as we don't set these to anything in configure anymore (WITH_ZLIB and WITH_BZ2 are set in config.h) and users would set CFLAGS itself to supply missing -I arguments. * dpkg-deb/Makefile.am (INCLUDES): Remove ZLIB_CFLAGS and BZ2_CLFAGS. * src/Makefile.am (dpkg_query_LDADD): Remove ZLIB_LIBS and CFLAGS_LIBS as dpkg-query doesn't use them. * m4/libs.m4 (DPKG_LIB_SELINUX): Add new test for the selinux library and header. This works a little differently from the current --with-{zlib,bz2} tests in that if no option is given it still tries to enable it if possible. If "yes" or "static" is given, that forces the requirement (configure fails if not present), if "no" is given the tests are skipped. * configure.ac: Include selinux test. 2005-06-11 Manoj Srivastava * lib/star.c (ExtractFile, SetModes): If dpkg is compiled with SELinux, test once whether SELinux is enabled on the system. If it is enabled, find out the security context of the file from its path and either set what we think it should be or let the default security context for the process be applied. * debian/control (Build-Depends): Add libselinux1-dev as a build dependency. * debian/rules: Compile-in support for selinux and link statically. * dpkg-deb/Makefile.am (dpkg_deb_LDADD): Link dpkg-deb with SELINUX_LIBS. * src/Makefile.am (dpkg_LDADD): Link dpkg with SELINUX_LIBS. 2005-06-10 Scott James Remnant * lib/dbmodify.c (log_message): New function that writes a formatted string to the log file, opening it if it hasn't been yet. In case of error, we print it and don't try to open the file again. (modstatdb_note): Replace log writing code with call to new log_message function. * src/configure.c (promptconfaction): Replace log writing code with call to log_message function. * src/help.c (log_action): Simplify to just a log_message call. * lib/dpkg-db.h: Remove extern definition of log_pipes, replace with log_message function. * src/main.c (cmdinfos): Change --log argument action to just storing the string in the log_file variable. (setfile): Remove function. * lib/myopt.c (myfileopt): strdup the string option argument before storing it, otherwise it just gets overwritten by the next line. * configure.ac: Bump version to 1.13.9~. * configure.ac: Release 1.13.8. * lib/parse.c (parsedb): Check whether the file size is greater than zero bytes in size before trying to mmap or malloc it, if it isn't don't process the file. 2005-06-09 Scott James Remnant * configure.ac: Bump version to 1.13.8~. * configure.ac: Release 1.13.7. * src/main.c (setfile): Make inability to open the log file a warning only, rather than bailing out; and if not running as root, don't even show the warning. 2005-06-09 Colin Watson * man/C/dpkg-architecture.1: Include example debian/rules snippet to support older versions of dpkg-dev after updating to use new variables. 2005-06-09 Scott James Remnant * man/C/dpkg-architecture.1: Clean up examples using .nf and .fi to produce a pre-like effect. Indent the examples a little. 2005-06-06 Scott James Remnant * configure.ac: Bump version to 1.13.7~. * debian/dpkg.install: Don't use dh_install to copy the logrotate file because it can't rename things. * debian/rules (binary-arch): Install and rename manually instead. * configure.ac: Release 1.13.6 (Brown Paper Bag). * configure.ac: Bump version to 1.13.6~. * configure.ac: Release 1.13.5. 2005-06-06 Philippe Batailler * man/fr/*: All french man pages updated 2005-06-06 Christian Perrier * man/pt_BR/update-alternatives.8: Syntax error corrected. 2005-06-06 Kevin Ryde * man/sv/dpkg-deb.1: Syntax error corrected. * man/es/dpkg-scanpackages.1: Syntax error corrected. 2005-06-06 Scott James Remnant * src/configure.c (promptconfaction): Record user's decision about a conffile in the log file as either "install" or "keep". * man/C/dpkg.1: Document the conffile output that'll appear in the log file. * debian/dpkg.cfg: Create a log-file by default. * debian/dpkg.logrotate: Include a logrotate file for the log. * debian/dpkg.install: Install the debian/dpkg.logrotate file as /etc/logrotate.d/dpkg * Makefile.am (EXTRA_DIST): Ship the debian/dpkg.logrotate file. * debian/dpkg.preinst (create_logfile): Create a log file with the default permissions. * debian/dpkg.postrm (remove_logfile): Remove log files when dpkg is purged (not that it will happen, but it pays to be compliant). * debian/dpkg.preinst (confirm_dselect_split): Only check process list for dselect if ps is installed; this should be the case during upgrades anyway. * debian/dpkg.prerm (undivert_md5sum): Remove md5sum diversion when the package is removed or downgraded to a version where we supplied our own md5sum. * debian/dpkg.postinst (divert_md5sum): Divert md5sum as long as there isn't one, don't explicitly check for the textutils file being there as it may be installed afterwards. 2005-05-26 Scott James Remnant * debian/control (Maintainer): I'm going to officially take blame for this package Ian-style, we'll keep bugs going to the list using the PTS instead. 2005-05-25 Scott James Remnant * scripts/dpkg-source.pl: Recognise Enhances in the package's section of control files. 2005-05-23 Scott James Remnant * cputable: Change GNU name of the i386 CPU to i486, to reflect reality. * debian/archtable: Update first field of i386 and hurd-i386 to use i486 as the CPU name. 2005-04-03 Scott James Remnant * scripts/dpkg-architecture.pl (gnu_to_debian): Check cputable and ostable in file order. * ostable: Place hurd at the bottom so it's checked last. 2005-03-29 Scott James Remnant * configure.ac: Bump version to 1.13.5~. * configure.ac: Release 1.13.4. 2005-03-28 Scott James Remnant * scripts/dpkg-architecture.pl: Catch -L and list every possible os and cpu combination. (usageversion): Add -L option to description. (read_cputable): Add in-order list of cpu values to @cpu array. (read_ostable): Add in-order list of os values to @os array. * man/C/dpkg-architecture.1: Document -L option. 2005-03-27 Scott James Remnant * m4/arch.m4 (DPKG_OS_TYPE): Allow a vendor to appear at the start of $os_type. * scripts/dpkg-architecture.pl (gnu_to_debian): Don't strip the vendor out, just allow it to appear at the start of the string. 2005-03-21 Scott James Remnant * configure.ac: Bump version to 1.13.4~. * configure.ac: Release 1.13.3. * scripts/controllib.pl (unknown): Output field name we have in hand, rather than trying to look it up in a dictionary in which it doesn't exist yet. * scripts/changelog/debian.pl: Revert accidental half-patch that turned the Maintainer field into a Changed-By field. 2005-03-21 Marc Dequènes * scripts/dpkg-gencontrol.pl: Fix filename regexp to allow '-' in architecture names. 2005-03-20 Scott James Remnant * scripts/dpkg-buildpackage.sh: Output "source changed by" rather than "source maintainer is". * man/C/dpkg.1: Document that --get-selections takes a package name pattern. Document format of file --set-selections takes. * man/C/dpkg-source.1: Remove unnecessary references to policy and non-existant packaging manual. Refer to dpkg-shlibdeps(1) for shlibs file format. Will need to document changelog format at some point. * man/C/dselect.1: Remove unnecessary reference to policy, refer other reference to the package by name. * man/C/deb-old.5: Remove reference to non-existant packaging manual. * man/C/deb.5: Remove reference to non-existant packaging manual, will have to document control contents better here later. * man/C/dpkg.1: Fix typo (fileis -> file is). * origins/debian: Remove trailing line. 2005-03-20 Mathias Weidner * scripts/dpkg-scansources.pl (getopt): Add (@) to prototype. 2005-03-20 Scott James Remnant * man/C/update-alternatives.8: Document what the '+' and '*' marked choices in --config output mean. * src/main.c (usage): Make aptitude quoting consistent. * man/C/dpkg-divert.8: Mention --truename alongside the comment about what it does. * src/main.c (printforhelp): Mention aptitude alongside dselect. * dpkg-deb/main.c (usage): Mention aptitude alongside dselect. * lib/ehandle.c (warningf): Add missing newline to end of format string. * man/C/update-alternatives.8: Harmonise names for arguments to --install option. * man/C/dpkg.1: Remove "medium-level" from dpkg's description, it's somewhere between medium and low. The fact it's a package manager is sufficient description. * src/query.c (listpackages): Create a second filtered list of packages, sort that (rather than the complete list) and use that when calling list1package. This means we only expand to the longest field in the result, not the database. Hopefully the speed gain of only sorting a filtered list outweights the slighty extra computation time. 2005-03-18 Scott James Remnant * configure.ac: Bump version to 1.13.3~. * configure.ac: Release 1.13.2. * src/query.c (getwidth): Return -1 if we're not on a tty. (list1package): Take a package list as well, and if getwidth() returns -1 determine the longest name, version and description and use those for output. (listpackages): Pass the package list and length to both calls to list1package to allow them to go wide. * lib/dbmodify.c (modstatdb_note): Every time we'd output a status change to the status-fd, also output a log message to the log-fd if we have one. * lib/dpkg-db.h: Add definition of log_pipes. * src/help.c (log_action): Write an action line to the log-fd. * src/processarc.c (process_archive): Log installation and upgrade actions. * src/remove.c (removal_bulk_remove_configfiles): Log purge action. (deferred_remove) Log remove action. * src/main.c (setfile): Take a filename, open it and add the file descriptor to a list of pipes. (cmdinfos): Add log command-line option that takes a filename and adds it to log_pipes. (usage): Add --log= usage. * man/C/dpkg.1: Document --log=filename. * debian/dpkg.cfg: Include a commented-out log option. 2005-03-18 Peter van Dijk * lib/tarfn.c (TarExtractor): Only remove the last character from directory names if it's a trailing slash. 2005-03-18 Scott James Remnant * man/C/dpkg-divert.8: Add an EXAMPLES section giving the two most common uses of dpkg-divert, for both add and remove. * man/C/dpkg-architecture.1: Update (should have done this with the changes below, really). * src/help.c (preexecscript): The first member of argv is always NULL because it's filled in by the return value of this function, so increment argv first when debug-outputting maintainer script arguments. * utils/md5sum.c: Remove file. * lib/dpkg.h (MD5SUM): Remove definition of md5sum program name. * utils/Makefile.am (bin_PROGRAMS): Remove md5sum. * man/C/md5sum.1: Remove manual page. * man/C/Makefile.am (dist_man_MANS): Remove md5sum.1. * man/de/md5sum.1: Remove manual page. * man/de/Makefile.am (dist_man_MANS): Remove md5sum.1. * man/es/md5sum.1: Remove manual page. * man/es/Makefile.am (dist_man_MANS): Remove md5sum.1. * man/ja/md5sum.1: Remove manual page. * man/ja/Makefile.am (dist_man_MANS): Remove md5sum.1. * man/sv/md5sum.1: Remove manual page. * man/sv/Makefile.am (dist_man_MANS): Remove md5sum.1. * debian/dpkg.postinst (divert_md5sum): Divert the version of md5sum installed by textutils or coreutils to the place where we used to put our copy, include its manual page. * debian/control ([dpkg]Depends): Depend on coreutils, which has always included md5sum, or the version of textutils that has. * debian/dpkg.install: Remove md5sum-related files. * debian/copyright: Remove mentions of utils/md5sum.c. * debian/pseudo-tags: Remove md5sum tag; no point filing bugs on a non-existant program. * ostable (netbsd): Restore missing "*" on the end of the regex. Take a further step towards having separate CPU and system names instead of just a joined architecture name; in particular add support to dpkg-architecture. * cputable: Create new table of cpu names with canonical GNU names and a regex to match against config.guess output. * ostable: Create new table of operating system names with canonical GNU names and a regex to match against config.guess output. * archtable: Move to debian directory. * debian/archtable: Reduce to a simple set of architecture names in Debian's sid distribution. * scripts/dpkg-architecture.pl: Add support for split cputable and ostable, including new DEB_*_ARCH_OS and DEB_*_ARCH_CPU variables containing the Debian system and cpu names appropriately. (usageversion): Remove list of known architectures, as we can't easily compute this anymore (cputable * ostable). (read_archtable): Removed function, we no longer touch archtable. (read_cputable): Add function to parse cputable. (read_ostable): Add function to parse ostable. (split_debian): Add function to split a Debian "os-cpu" name. (debian_to_gnu): Add function to split and look up the GNU names for the Debian os and cpu, and return the joined GNU name. (split_gnu): Add function to split a GNU triplet/quartet. (gnu_to_debian): Add function to split and look up the Debian names for the GNU os and cpu (by regex), and return the joined Debian name. (rewrite_gnu): Removed, replaced by regexes in the tables. * m4/arch.m4 (DPKG_CPU_TYPE): Use awk to parse the new cputable and define an ARCHITECTURE_CPU macro with the result. (DPKG_OS_TYPE): Use awk to parse the new ostable and define an ARCHITECTURE_OS macro with the result. (DPKG_ARCHITECTURE): Simply join the os and cpu names together, or omit the os name if "linux". * Makefile.am (dist_pkgdata_DATA): Remove archtable, add cputable and ostable instead. (EXTRA_DIST): Add debian/archtable. * debian/dpkg.install: Install debian/archtable in /usr/share/dpkg for packages that still want it. * debian/pseudo-tags: Replace mention of archtable. * archtable: Add ppc64 for powerpc-linux. * scripts/dpkg-architecture.pl (rewrite_gnu): Rewrite powerpc64 and ppc64 into powerpc64 for archtable. 2005-03-17 Scott James Remnant * debian/dpkg.preinst (confirm_dselect_split): Check that dselect is running before bitching; it's easy to do and will stop this question more often than not. 2005-03-17 Scott James Remnant , Anthony Towns * src/archives.c (tarobject): Detect when installing a file that exists in a package that replaces the one being installed. Leave that on the disk and remove the file from the list for the package being installed. 2005-03-16 Scott James Remnant * lib/parsedump.h: Move definitions of fieldinfos and nicknames arrays to the bottom of the file, to ensure we know the size of the arrays we're declaring. * lib/mlib.c (buffer_write): Cast unsigned char * to plain old char * when calling sprintf. 2005-03-12 Frank S. Thomas * man/C/dpkg-architecture.1: Correct typo (variales -> variables). 2005-03-08 Scott James Remnant * Makefile.am (package): Remove rule, as it is only really required outside of arch (otherwise you have a tarball). * Makefile.maint: New file holding the package rule. 2005-03-03 Scott James Remnant * archtable: Describe column 2 as the value returned by dpkg --print-architecture not --print-installation-architecture which we deprecated in the last release. * configure.ac: Bump version to 1.13.2~. * configure.ac: Release 1.13.1. 2005-03-03 Michael Vogt * src/configure.c (promptconfaction): Output conffile-prompt status onto status-fd to let front-ends capture conflicts. * src/errors.c (print_error_perpackage): Output package errors onto status-fd to let front-ends capture them. * man/C/dpkg.1: Document how errors and configuration file conflicts are reported on the status-fd. 2005-01-22 Scott James Remnant * man/C/dpkg.1: Remove --print-gnu-build-architecture and --print-installation-architecture from documentation, correct --print-architecture. * man/C/dpkg-architecture.1: Give --print-architecture in examples, instead of --print-installation-architecture. * scripts/dpkg-name.sh (getname): Call 'dpkg --print-architecture' instead of 'dpkg --print-installation-architecture'. * scripts/dpkg-architecture.pl: Set the default $pkgdatadir to point at an installed copy. Call 'dpkg --print-architecture' instead of 'dpkg --print-installation-architecture'. * methods/disk/setup (iarch): Call dpkg --print-architecture. * debian/control ([dpkg-dev]Depends, [dselect]Depends): Depend on dpkg (>= 1.13.1) so we get a dpkg with the right print options. * src/enquiry.c (printarch): Completely nuke this function, we'll no longer parse the compiler output and look up things in archtable. (printinstarch): Rename to printarch, and change the output message to refer to --print-architecture. (badlgccfn): Remove unused function. * src/main.c (cmdinfos): Remove --print-gnu-build-architecture option, make --print-installation-architecture call printarch. (usage): Remove both --print-gnu-build-architecture and --print-installation-architecture and describe --print-architecture as doing what --p-i-a used to do. Use dpkg-architecture for host information. * src/main.h (action): Remove act_printgnuarch from enum, leave act_printinstarch so we can later deprecate use of the longer command. * src/Makefile.am (archtable.h): No need to generate archtable.h seeing as we don't parse it within dpkg, remove rule to generate it. (CLEANFILES): We don't generate archtable.h, so no need to clean it. * src/.arch-inventory: Don't treat archtable.h specially. * archtable: Remove unused third field, entirely inaccurate too. Correct typo 'she3eb' -> 'sh3eb'. * scripts/dpkg-architecture.pl (read_archtable): Parse only two fields from archtable. * scripts/dpkg-architecture.pl: Remove out-of-date history from the top, ChangeLog serves better now and is less confusing. Reset $gcc if we get less than, or more than one archtable result. Remove extra newline from mismatched -a/-t warning. (usageversion): Pedant the usage message while we scroll past. (read_archtable): New function to read /usr/share/dpkg/archtable rather than hard-coding some values in the script. (rewrite_gnu): Rewrite along the lines of the code in m4/arch.m4 so they should actually be vaguely consistent now. * scripts/Makefile.am (do_perl_subst): Replace occurances of $pkgdatadir in scripts with the right value. 2005-01-22 Robert Millan * configure.ac: Check for kvm.h. * utils/start-stop-daemon.c: Remove includes for , and for the BSDs unless configure found . (fatal): Output the message associated with errno. 2005-01-22 Rakesh 'arky' Ambati * scripts/dpkg-architecture.pl: Correct typo, 'filed' to 'failed'. 2005-01-22 Robert Millan , Scott James Remnant * m4/arch.m4 (DPKG_CPU_TYPE): Add a new macro to turn common groups of CPU names into a single type (e.g. i*86 to i386). (DPKG_OS_TYPE): Match linux*-gnu* for Linux (in case we get a non-GNU Linux at some point) and produce a 'linux' type. Remove the initial '*' from the rest of the entries. Restore gnu* as gnu (for the Hurd). Add support for darwin* as darwin. Sort into almost-alphabetical order with i386/linux at the top. (DPKG_ARCHITECTURE): Call DPKG_CPU_TYPE and use $cpu_type instead of $target_cpu. * archtable: Rewrite the top comment to be a little clearer and correct the lie that the third column is 'dpkg --print-architecture' when it is, in fact, 'dpkg --print-gnu-build-architecture'. Correct third columns of the non-Linux architecture to actually return a GNU name. Sort the file into i386/linux-first alphabetical order. 2005-01-22 Robert Millan * archtable: Add x86_64-kfreebsd to archtable as 'kfreebsd-amd64'. * scripts/dpkg-architecture.pl: Add 'kfreebsd-amd64' to archtable. 2005-01-22 NIIBE Yutaka * archtable: Add m32r-linux-gnu to archtable as 'm32r'. * scripts/dpkg-architecture.pl: Add 'm32r' to archtable. 2005-01-22 Scott James Remnant * src/query.c (cmdinfos): Make -f alternative for --showformat. * src/query.c (usage): Document that -f is alternative for --showformat. * man/C/dpkg-query.1: Update documentation to match. 2005-01-22 Stephane Bortzmeyer * scripts/dpkg-source.pl (diff_ignore_default_regexp): Add the darcs _darcs directory to the ignore list. 2005-01-22 Scott James Remnant * utils/md5sum.c (main): Correct md5sum according to the wishes of the Debian technical committee; when given a file on standard input, it now simply outputs the md5sum and does not append " -" or " *-" on the end. 2005-01-22 Adam Heath * lib/tarfn.c (TarExtractor): Fix handling of GNU longname and longlink support when there is both types for the same file entry in a tarball. 2005-01-19 Dafydd Harries * man/C/dpkg-source.1: Make the summary for dpkg-source -b invocation in the manpage match that output by dpkg-source --help. (I.e. indicate the possibility of specifying the upstream tarball rather than the upstream source directory as a second parameter.) 2005-01-17 Scott James Remnant * debian/dpkg.preinst (confirm_dselect_split): Support pre-sarge upgrades by checking that they've upgraded dselect first, and prompting if they haven't. 2005-01-14 Scott James Remnant * .arch-inventory: Ignore the upload result file as well. * configure.ac: Bump version to 1.13.1~. * configure.ac: Release 1.13.0. * dpkg-deb/main.c (main): Remove NONRETURNING declaration as this function does actually call return sometimes. * dpkg-split/main.c (main): Remove NONRETURNING declaration as this function does actually call return sometimes. * utils/start-stop-daemon.c (main): Remove NONRETURNING declaration as this function does actually call return sometimes. * m4/compiler.m4 (SJR_COMPILER_WARNINGS): Enable warnings for CXX too, my original macro doesn't do this. * configure.ac: Use AC_GNU_SOURCE to get some of the extra goodies in the GNU C library, use DPKG_C_C99 to test for C99 features. * m4/compiler.m4 (DPKG_C_C99): New macro to determine whether compiler supports C99 features. (SJR_COMPILER_WARNINGS): Don't use -pedantic yet, dpkg isn't ready for it. * lib/dpkg.h: Provide C99-conformant variadic macros if the compiler supports them in place of gnu-style ones. * lib/tarfn.c: Add missing include of config.h to get some useful information (and prototype of strnlen). * src/help.c: Cast arguments to (char * const *) explicitly. * dpkg-deb/main.c: Include dpkg-db.h to get nffreeall prototype. * .arch-inventory: Ignore config.cache if the user uses it. * scripts/controllib.pl: Add #!/usr/bin/perl to satisfy lintian. * debian/control ([dpkg]Pre-Depends): Needs to pre-depend on shlibs dependencies like libc6, accidentally dropped earlier. ([dpkg-dev]Recommends): Added gcc as first choice for c-compiler. * debian/rules: Generate shlibdeps for all arch packages, not just dselect (so we get them for dselect too). * debian/.arch-inventory: Ignore dpkg.substvars. * debian/dpkg.conffiles: Removed, debhelper does the right thing. * debian/dpkg-dev.conffiles: Removed, debhelper does the right thing. * debian/dselect.conffiles: Removed, debhelper does the right thing. * Makefile.am (EXTRA_DIST): Updated for debian directory changes. (package): Add missing distdir dependency, also don't treat lintian problems as errors, just report them. * man/C/dpkg.8: Moved to section 1 where it belongs. * man/C/dpkg-query.8: Moved to section 1 where it belongs. * man/C/dpkg-split.8: Moved to section 1 where it belongs. * man/C/dselect.8: Moved to section 1 where it belongs. * man/C/Makefile.am: Install dpkg.1, dpkg-query.1, dselect.1 * man/es/dpkg.8: Moved to section 1 where it belongs. * man/es/dpkg-split.8: Moved to section 1 where it belongs. * man/es/dselect.8: Moved to section 1 where it belongs. * man/es/Makefile.am: Install dpkg.1, dpkg-split.1, dselect.1 * man/fr/dpkg.8: Moved to section 1 where it belongs. * man/fr/dpkg-query.8: Moved to section 1 where it belongs. * man/fr/dpkg-split.8: Moved to section 1 where it belongs. * man/fr/Makefile.am: Install dpkg.1, dpkg-query.1, dpkg-split.1 * man/ja/dpkg.8: Moved to section 1 where it belongs. * man/ja/dpkg-query.8: Moved to section 1 where it belongs. * man/ja/dselect.8: Moved to section 1 where it belongs. * man/ja/Makefile.am: Install dpkg.1, dpkg-query.1, dselect.1 * man/pt_BR/dpkg.8: Moved to section 1 where it belongs. * man/pt_BR/dselect.8: Moved to section 1 where it belongs. * man/pt_BR/Makefile.am: Install dselect.1, dpkg.1 * man/ru/dpkg.8: Moved to section 1 where it belongs. * man/ru/Makefile.am: Install dpkg.1 * man/sv/dpkg.8: Moved to section 1 where it belongs. * man/sv/dpkg-query.8: Moved to section 1 where it belongs. * man/sv/dpkg-split.8: Moved to section 1 where it belongs. * man/sv/dselect.8: Moved to section 1 where it belongs. * man/sv/Makefile.am: Install dpkg.1, dpkg-query.1, dpkg-split.1, dselect.1 * debian/dpkg.install: Install dpkg.1, dpkg-query.1, dpkg-split.1 * debian/dselect.install: Install dselect.1 * Makefile.am (EXTRA_DIST): Distribute files in the debian directory in the source tarball. (package): Create source and binary packages using dpkg-buildpackage and some magic to give us a directory containing only 'dist' files. Check the resulting changes file with lintian if we have it. * .arch-inventory: Apply l33t regex skills to ignore source tarballs, packages and the dist directory. * utils/Makefile.am (rootsbin_PROGRAMS): Install start-stop-daemon into the ordinary sbindir by default. * debian/dpkg.install: Install usr/sbin/start-stop-daemon into /sbin. * debian/control (Build-Depends): The source tarball now includes the generated gmo files, so there's no reason for the package to build-depend on gettext. * getopt/getdate.c: Remove unused file. * methods/disk/update: Remove {...} glob, as it's a bashism. * debian/control (Build-Depends): Fix dependency on virtual package `libncurses-dev'. * m4/funcs.m4 (DPKG_FUNC_VA_COPY): Wrap TRY_RUN and TRY_COMPILE calls in AC_CACHE_CHECK, missed when I copied it over and updated. * debian/dpkg.prerm: Give the script a bit of a spring clean, add a comment block at the top to serve as documentation of how prerm is called for anyone wanting a quick reference; this seems a reasonable place to do it as any. Don't remove the historic info scripts anymore (dating back to 1.3.3) as we haven't shipped them in ages and 1.3.3's upgrade script did it anyway. * debian/dpkg.postrm: Equal spring clean and documentation comment added to the top. Removed code to purge dpkg.cfg now we include it in the package as a conffile again anyway. * debian/dpkg.preinst: Equal spring clean and documentation comment added to the top. Separated each discreet piece of upgrade behaviour for the 0.93.50 jump into different functions. * debian/dpkg.postinst: Equal spring clean and documentation comment added to the top. Separated each bit of behaviour into a separate function. (move_info_directory): No longer create symlinks to the new location. (remove_info_symlink): Remove /usr/info or /usr/info/dir symlinks. 2005-01-13 Scott James Remnant * debian/control (Build-Depends): Add forgotten build-depend on debhelper, I picked 4.1.81 after reading the changelog as it has the first feature we need (upstream and debian changelogs in a native package). * man/C/Makefile.am (dpkg_source_aliases): I missed a whole bunch of manpages created as aliases to dpkg-source, put the rules in to do that. * man/C/.arch-inventory: Ignore generated aliased pages. * debian/rules: Rewrite from scratch to use debhelper, this breaks being able to bootstrap dpkg from its own source directory; but that didn't really work anyway. You can always just 'make install' first. * debian/compat: Set debhelper compatibility to v4. * debian/dpkg.docs: List documentation to ship with dpkg. * debian/dpkg.install: List files that belong to dpkg. * debian/dselect.install: List files that belong to dselect. * debian/dpkg-dev.install: List files that belong to dpkg-dev. * .arch-inventory: Ignore build-tree, created by debian/rules. * debian/.arch-inventory: Ignore files and directories created by debian/rules. * lib/Makefile.am (INCLUDES): Correct sharedstatedir to datadir, common-licenses isn't in /usr/com (whatever that is). * dpkg-split/Makefile.am (install-data-local): Use $(mkdir_p) instead of $(MKINSTALLDIRS), better style. * methods/Makefile.am (install-data-local): Use $(mkdir_p) instead of $(MKINSTALLDIRS) here too. * origins/Makefile.am (install-data-local): And here. * scripts/Makefile.am (install-exec-local): Here as well. (install-data-local): Likewise. * src/Makefile.am (install-data-local): And finally, here too. * scripts/Makefile.am: Automake doesn't create out-of-tree output directories for us, so do so if it they don't exist (but quiet, like). (do_perl_subst): Remove space in #! line. * dpkg-split/Makefile.am: Create out-of-tree directories. (do_perl_subst): Remove space in #! line. * lib/dpkg.h: Include locale.h, for LC_ALL which is expanded in a macro here. This is needed if we build without optimisations as libintl.h won't include it for us. 2005-01-12 Scott James Remnant * debian/pseudo-tags: Rewrite and clear up, put tags into a decent order and add a new [DEPENDS] tag to track dependency handling issues. * debian/shlibs.default: Clean up. * debian/shlibs.override: Clean up. * debian/dselect.cfg: Clean up atrocious English spelling. * debian/dpkg.cfg: Clean up atrocious English spelling; remove old configuration values as this file would be useful to be installed to describe its use. * debian/dpkg.conffiles: Add dpkg.cfg. * debian/copyright: Clean up, utf-8ify and add missing copyright declarations. * debian/control (Build-Depends): Remove SGML-related tools now we no longer have docs in that format; increase gettext build-dependency to 0.14.1; remove build-dependency on autotools-dev. (Standards-Version): Bump to keep lintian happy, we're conformant. ([dpkg]Pre-Depends): Remove pre-dependency on dselect put in place to ease transition between woody and sarge where dselect was split into a separate binary package. ([dpkg]Suggests): It's about time we suggested apt. ([dpkg]Description): The dselect program is no longer included in the dpkg package, so don't mention it in the description. ([dselect]Description): Rewrite as dselect is no longer the primary interface for package management, and that users may prefer apt-based interfaces. * debian/control (dpkg-static): The dpkg (and dpkg-deb) binaries have been linked statically to zlib for some time, and the dpkg-static package hasn't actually been created either. Remove from the control file. * debian/control (dpkg-doc): The documentation shipped in the dpkg-doc package was rather incomplete and out-of-date, so was removed from the distribution. Remove package from control file. * debian/dpkg-doc.doc-base: Remove dpkg-doc file. * debian/dpkg-doc.postinst: Remove dpkg-doc maintainer script. * debian/dpkg-doc.prerm: Remove dpkg-doc maintainer script. * debian/README.compile: Removed this file as it's both out of date, and entirely replaced by Build-Depends anyway for those that care about such things. * Makefile.am: Remove rules to install common documentation and licence under /usr/share/doc/dpkg, leave that up to the package. * lib/Makefile.am (INCLUDES): Define COPYINGFILE to point to /usr/share/common-licenses/GPL-2. 2005-01-11 Colin Watson * dselect/basecmds.cc (baselist::displayhelp): Revert to former Space/Enter/'Q' behaviour, so that Space leaves the help screen and Enter and 'Q' do nothing. It's dangerous to encourage users to press Enter or 'Q', since they commit changes in the package selection screen. * dselect/helpmsgs.cc (hlp_readonlyintro, hlp_recurintro): Update help text to match. (hlp_mainintro): 'Q' quits and overrides dependency problems; 'X' quits without saving changes. 2005-01-10 Scott James Remnant * configure.ac: Fix --without-dselect and --without-start-stop-daemon so they actually work, Autoconf was preserving the old value of the variable. Always call AC_PROG_CXX otherwise things aren't happy as it gets partially expanded. * dpkg-split/Makefile.am (EXTRA_DIST): Distribute mksplit.pl. * dselect/Makefile.am (EXTRA_DIST): Distribute mkcurkeys.pl. * lib/Makefile.am (libdpkg_a_SOURCES): Distribute gettext.h. * scripts/Makefile.am (EXTRA_DIST): Distribute the scripts and README.alternatives, oops. (all-local): Build install-info from install-info.pl manually. (install-exec-local): Install install-info manually. (uninstall-local): Remove install-info manually. * scripts/.arch-inventory: Ignore install-info-stamp file we need. * src/Makefile.am (dpkg_query_SOURCES): There is no errors.h. * Makefile.conf.in: Remove file used by old build system. * lib/mlib.c (buffer_write): Remove cast from lvalue, deprecated in recent versions of gcc. * m4/compiler.m4 (SJR_COMPILER_OPTIMISATIONS): Explicitly set -O0 when disabling compiler optimisations, as recent versions of gcc have some on by default. Now we're not using CVS at all, replace the old .cvsignore files with .arch-inventory files Arch can use to ignore generated files. * .cvsignore: Remove old file. * .arch-inventory: Replace with more complete regex rules. * dpkg-deb/.cvsignore: Remove old file. * dpkg-deb/.arch-inventory: Replace with more complete regex rules. * dpkg-split/.cvsignore: Remove old file. * dpkg-split/.arch-inventory: Replace with more complete regex rules. * dselect/.cvsignore: Remove old file. * dselect/.arch-inventory: Replace with more complete regex rules. * getopt/.cvsignore: Remove old file. * getopt/.arch-inventory: Replace with more complete regex rules. * lib/.cvsignore: Remove old file. * lib/.arch-inventory: Replace with more complete regex rules. * m4/.arch-inventory: Ignore files copied in by 'autopoint'. * man/.cvsignore: Remove old file. * man/.arch-inventory: Replace with more complete regex rules. * man/C/.cvsignore: Remove old file. * man/C/.arch-inventory: Replace with more complete regex rules. * man/de/.cvsignore: Remove old file. * man/de/.arch-inventory: Replace with more complete regex rules. * man/es/.arch-inventory: Ignore generated 'Makefile' and 'Makefile.in'. * man/fr/.cvsignore: Remove old file. * man/fr/.arch-inventory: Replace with more complete regex rules. * man/ja/.cvsignore: Remove old file. * man/ja/.arch-inventory: Replace with more complete regex rules. * man/pt_BR/.cvsignore: Remove old file. * man/pt_BR/.arch-inventory: Replace with more complete regex rules. * man/ru/.cvsignore: Remove old file. * man/ru/.arch-inventory: Replace with more complete regex rules. * man/sv/.cvsignore: Remove old file. * man/sv/.arch-inventory: Replace with more complete regex rules. * methods/.cvsignore: Remove old file. * methods/.arch-inventory: Replace with more complete regex rules. * origins/.arch-inventory: Ignore generated 'Makefile' and 'Makefile.in'. * po/.cvsignore: Remove old file. * po/.arch-inventory: Replace with more complete regex rules. * scripts/.cvsignore: Remove old file. * scripts/.arch-inventory: Replace with more complete regex rules. * scripts/changelog/.arch-inventory: Ignore generated file. * src/.cvsignore: Remove old file. * src/.arch-inventory: Replace with more complete regex rules. * utils/.cvsignore: Remove old file. * utils/.arch-inventory: Replace with more complete regex rules. * man/sv/.check.pl: Remove as it uses CVS to check whether the translations are up to date, and we don't use that anymore. * dselect/checkunimp.pl: Remove unused file. * dselect/keys.c: Remove unused file. For at least the second time in dpkg's history, convert the build system to use GNU Automake. I'm sure some future maintainer will come along and get rid of it again, but for now, Automake is the way forward. * Makefile.in: Remove old file. * Makefile.am: Replace with shiny Automake goodness, don't distribute TODO anymore; it's only useful for developers. * dpkg-deb/Makefile.in: Remove old file. * dpkg-deb/Makefile.am: Replace with shiny Automake goodness, don't include rules to build dpkg-deb-static. * dpkg-split/Makefile.in: Remove old file. * dpkg-split/Makefile.am: Replace with shiny Automake goodness. * dselect/Makefile.in: Remove old fil