blob: a20e9acf8fa988779208a8f5b66b854d6da07a2e [file] [log] [blame]
2009-03-02 Guillem Jover <>
* Release 1.15.0.
2009-03-02 Guillem Jover <>
* scripts/t/900_update_alternatives.t: Do not use $srcdir for t.tmp,
it's actually located in builddir.
2009-03-02 Guillem Jover <>
* scripts/ (load): Print an actual error on open
instead of an empty string.
2009-03-02 Guillem Jover <>
* scripts/ Do not use non-ASCII strings on C
(version): Likewise.
2009-03-02 Guillem Jover <>
* po/ Remove reference to
* scripts/.gitignore: Likewise.
2009-02-27 Raphaël Hertzog <>
* scripts/ Avoid logging too many
useless messages about status change.
2009-02-27 Raphaël Hertzog <>
* scripts/Dpkg/Shlibs/ (save, dump): Add new
parameter asking that #PACKAGE# be replaced on the fly.
* scripts/ Replace #PACKAGE# while outputting
symbols files.
* man/dpkg-gensymbols.1: Document the new feature.
* scripts/t/200_Dpkg_Shlibs.t,
scripts/t/200_Dpkg_Shlibs/symbols.fake-2: Add test-case for
replacement of #PACKAGE# on the fly (together with test of dump).
2009-02-27 Raphaël Hertzog <>
* scripts/ Add one more sanity check
verifying that <link> and <path> are different (cf #509667 for a
2009-02-27 Raphaël Hertzog <>
* scripts/ Improve output messages
by identifying their origin and by being more consistent.
* scripts/t/900_update_alternatives.t: Adjust test suite
for one error message that's now on standard error instead
of standard output.
2009-02-27 Guillem Jover <>
* lib/tarfn.c (get_prefix_name): New function.
(DecodeTarHeader): On tar_format_ustar and if Prefix is not empty
call get_prefix_name instead of aborting.
* man/deb.5: Document that ustar format is now properly supported.
2009-02-27 Guillem Jover <>
* lib/tarfn.h (enum tar_format): New type.
(struct TarInfo): Add new format member.
* lib/tarfn.c (TAR_MAGIC_USTAR, TAR_MAGIC_GNU): New macros.
(struct TarHeader): Add new Prefix member.
(DecodeTarHeader): Detect tar formats based on the magic values.
Abort on tar_format_ustar and an non-empty Prefix.
2009-02-27 Guillem Jover <>
* lib/fields.c (f_boolean): Use PKGPFIELD to assign to the correct
member instead of hardcoding to the essential member.
2009-02-27 Guillem Jover <>
* lib/fields.c (f_boolean): Return if value is an empty string.
2009-02-26 Chris Coulson <>,
Guillem Jover <>
* (AC_CHECK_HEADERS): Add 'sys/syscall.h'.
* man/start-stop-daemon.8: Document new option --iosched.
* utils/start-stop-daemon.c [HAVE_SYS_SYSCALL_H]: Include
(HAVE_IOPRIO_SET) [SYS_ioprio_set, linux]: New macro.
(IO_SCHED_PRIO_MAX): New macros.
(io_sched): New variable.
(do_help): Document --iosched.
(ioprio_set) [HAVE_IOPRIO_SET]: New function.
(parse_io_schedule, set_io_schedule): Likewise.
(parse_options): Add 'iosched' to longopts. Add 'I:' to getopt_long
call. Handle 'I' as getopt_long return value. Call parse_io_schedule
if io_schedule_str is not NULL.
(main): Print io_sched values if --test is used. Call set_io_schedule
if io_sched is not NULL.
2009-02-26 Romain Francoise <>,
Guillem Jover <>
* src/filesdb.c: Include 'progress.h'.
(ensure_allinstfiles_available): Call progress_init instead of
directly printing. Call progress_step if needing to print on each
package iteration. And call progress_done if needing to print when
2009-02-26 Romain Francoise <>,
Guillem Jover <>
* lib/ (libdpkg_a_SOURCES): Add 'progress.h' and
* lib/progress.h: New file.
* lib/progress.c: Likewise.
2009-02-22 Raphaël Hertzog <>
* scripts/ Add new option --log to
log to another file than /var/log/dpkg.log.
* man/update-alternatives.8: Document the new option.
* scripts/t/900_update_alternatives.t: Call update-alternatives
with --log /dev/null since the test suite can be run with fakeroot
and it would try to write to /var/log/dpkg.log because fakeroot
makes it believe that it is writable.
2009-02-22 Raphaël Hertzog <>
* scripts/ update-alternatives should not
replace real files by symlinks. When --install is called, the
alternative link should either not exist or already be a link. It
that's not the case, it will simply skip installing that link and
display a warning. However if --force is given, it will (try to)
replace the file.
* man/update-alternatives.8: Document this behaviour.
* scripts/t/900_update_alternatives.t: Add corresponding tests in
the test suite.
2009-02-22 Raphaël Hertzog <>
* man/update-alternatives.8: Document how --all can be used to
repair all alternatives on the system in a single command.
* scripts/ Ensure the above explanation
is true by ensuring that --config does something sensible when
no alternative is currently selected and when the user input is
empty: it will auto-select the best alternative.
2009-02-22 Raphaël Hertzog <>
* scripts/ Implement --set-selections.
It's the the counterpart of --get-selections, it reads
configuration on standard input and reconfigures alternatives
* man/update-alternatives.8: Document this option.
* scripts/t/900_update_alternatives.t: Add corresponding tests in
the test suite.
2009-02-22 Raphaël Hertzog <>
* scripts/ Implement --get-selections.
The new option lists all master alternatives and their status in a
format simple to parse.
* man/update-alternatives.8: Document this option.
2009-02-22 Raphaël Hertzog <>
* scripts/ Installation of a slave
alternative link is only done if the corresponding slave file is
* man/update-alternatives.8: Document this behaviour.
* scripts/t/900_update_alternatives.t: Add corresponding tests in
the test suite.
2009-02-22 Raphaël Hertzog <>
* scripts/ Add more sanity check for
--install: ensure alternative path and links are absolute, ensure
master alternative path exists, forbid / and spaces in alternative
* scripts/t/900_update_alternatives.t: Add corresponding tests in
the test suite.
2009-02-22 Raphaël Hertzog <>
* scripts/ Checks that --install does not
reuse alternatives or links in a way that is not compatible with
the current setup.
* scripts/t/900_update_alternatives.t: Add corresponding tests in
the test suite.
2009-02-22 Raphaël Hertzog <>
* scripts/ Add logging to
2009-02-22 Raphaël Hertzog <>
* man/update-alternatives.8: The vocabulary used was misleading
and not really uniform. Try to standardize and make it match with
the vocabulary used in the source code too.
Includes minor fixes to make it match the behaviour of the current
2009-02-22 Raphaël Hertzog <>
* scripts/ Rewrite it entirely in a more
object-oriented way. The only behaviour changes concern --config:
the output is nicer and sorted, it accets a path as well as the
index of the choice.
* scripts/t/900_update_alternatives.t: Test suite adjusted to the
--config change.
2009-02-22 Raphaël Hertzog <>
* scripts/, scripts/ Reset
umask to 0022 to ensure that files created in the DEBIAN directory
have sane permissions.
2009-02-13 Guillem Jover <>
* src/query.c: Remove bogus comment about '--yet-to-unpack'.
2009-02-11 Raphaël Hertzog <>
* scripts/ Drop script.
* man/, man/po/po4a.cfg: Drop cleanup-info(8) manual page.
* README.feature-removal-schedule: Update information accordingly.
2009-02-11 Raphaël Hertzog <>
* scripts/ Move update-alternatives, dpkg-divert and
dpkg-statoverride to /usr/bin as they can be useful to users since
they have --display or --list options that do not require
administrative rights.
* (EXTRA_DIST): Add debian/dpkg.links.
2009-02-11 Raphaël Hertzog <>
* scripts/ Add new option --target/-T to
allow a specific debian/rules target to be run. The new --as-root
option forces the target to be run with root rights.
Add support for the two common syntaxes for long
options ("--admindir=…" and "--admindir …").
* man/dpkg-buildpackage.1: Update documentation accordingly.
2009-02-11 Raphaël Hertzog <>
* man/dpkg-buildpackage.1: Fix name of binary target in default
2009-02-10 Guillem Jover <>
* src/enquiry.c (assert_version_support): Rename verrev_buf argument
to version.
2009-02-10 Guillem Jover <>
* src/enquiry.c (assert_version_support): Add new feature_name
argument, and use it when printing the output messages. Fix all
2009-02-10 Guillem Jover <>
* src/enquiry.c (assert_version_support): Remove reqversion argument.
Do not initialize verrev_buf from reqversion, when the epoch is ~0UL.
(assertpredep): Pass a fully constructed versionrevision to
assert_version_support, rename versionrevision variable to version
and remove static keyword.
(assertepoch): Likewise.
(assertlongfilenames): Likewise.
(assertmulticonrep): Likewise.
2009-02-10 Guillem Jover <>
* src/enquiry.c (assertversion): Rename to ...
(assert_version_support): ... this.
2009-02-08 Guillem Jover <>
* lib/dpkg.h (ohshitvb): Remove function prototype.
* lib/ehandle.c (ohshitvb): Remove function definition.
2009-02-06 Raphaël Hertzog <>
* scripts/t/900_update_alternatives.t: New test-suite for
* scripts/ Add the previous file.
2009-02-06 Raphaël Hertzog <>
* scripts/ Deal with empty
files in the administrative directory by ignoring them.
2009-02-06 Raphaël Hertzog <>
* scripts/ Ensure that a non-existent
alternative result in automatic mode configuration.
2009-02-06 Raphaël Hertzog <>
* scripts/ Change set_links() to
also reset the main alternative link. Add a parameter to
make it quiet.
When --install reinstalls the current and manually selected entry,
let it recreate the symlinks in case something has gone wrong.
2009-02-06 Raphaël Hertzog <>
* scripts/ Remove the alternative when
the last choice is removed, even if we are in manual mode.
* man/update-alternatives.8: Update the documentation
accordingly to not be as strong about not touching links in manual
2009-02-06 Raphaël Hertzog <>
* scripts/ (set_links): Remove slavelinks
if needed as well. We create slave links automatically, we should
remove them in the same way. Otherwise --config or --set will let
dangling symlinks on the system.
2009-02-06 Guillem Jover <>
* man/deb.5: Add detailed information of the currently supported
2009-02-06 Guillem Jover <>
* ostable: Add gnu-kopensolaris.
* triplettable: Add gnu-kopensolaris to kopensolaris mapping.
2009-02-06 Guillem Jover <>
* ostable: Reindent to make room for longer os names.
2009-02-05 Raphaël Hertzog <>
* scripts/ (rename_mv): Integrate logic to
not fail if ENOENT is the reason why the rename failed.
2009-02-05 Raphaël Hertzog <>
* scripts/ Ensure that a broken link
in automatic mode doesn't lead to the alternative being set
on manual mode. Also displays by default (and not only
when --verbose is given) the message that indicates that
an alternative is switched to manual mode.
2009-02-05 Raphaël Hertzog <>
Osamu Aoki <>
* scripts/ Allow --config to continue when
the currently selected alternative doesn't match the only existing
one. Useful to be able to recover from a broken configuration.
Also offer the choice in --config mode to go back the automatic
mode. Add a new --skip-auto option to combine with --all and
easily review manual and broken alternatives.
* man/update-alternatives.8: Update the documentation accordingly.
2009-02-04 Raphaël Hertzog <>
* scripts/Dpkg/Vendor/ Ubuntu vendor object implementing
lookup of launchpad bugs in changelogs and a safety-check for
Maintainer fields of forked packages (launched during source
* scripts/ (EXTRA_DIST): Add
* scripts/po/ Add 'scripts/Dpkg/Vendor/'.
2009-02-04 Raphaël Hertzog <>
* scripts/Dpkg/Vendor/ Generic vendor object that will
be used to hook vendor-specific behaviour in multiple places.
* scripts/Dpkg/Vendor/ Debian variant of that object.
* scripts/Dpkg/ (get_vendor_object, run_vendor_hook):
New functions to retrieve the current vendor object and run
vendor-specific code.
* scripts/, scripts/ Add first
vendor hooks to be used by Ubuntu.
* scripts/ (EXTRA_DIST): Add
'scripts/Dpkg/Vendor/' and
2009-01-29 Guillem Jover <>
* lib/ (libdpkg_a_SOURCES): Add 'dpkg-test.h'.
* libcompat/ (libcompat_a_SOURCES): Add 'compat.h'.
* man/ (EXTRA_DIST): Add 'po/ChangeLog'.
2009-01-27 Raphaël Hertzog <>
* scripts/t/900_Dpkg_Version.t: Renamed into...
* scripts/t/100_Dpkg_Version.t: and merged test cases previously
provided by this file so that there's no loss of tests. Also
adjusted test cases to match the change below.
* scripts/Dpkg/ (compare_versions): Handle "<" like "<="
and ">" like ">=" in order to be consistent with dpkg
--compare-versions. Emit warnings when they are used as they are
* scripts/ Drop scripts/t/900_Dpkg_Version.t from the
set of extra files to distribute.
* scripts/ Use "<<" instead of ambiguous "<" in
version comparison.
2009-01-22 Guillem Jover <>
* lib/log.c (statusfd_send): Use varbufsubstc to replace new lines
with spaces.
2009-01-22 Guillem Jover <>
* lib/dpkg-db.h (varbufsubstc): New function prototype.
* lib/varbuf.c (varbufsubstc): New function definition.
* lib/test/t-varbuf.c (test_varbuf_substc): New function.
(test): Call test_varbuf_substc.
2009-01-22 Guillem Jover <>
* (AC_CONFIG_FILES): Add 'lib/test/Makefile'.
* lib/ (SUBDIRS): New variable.
* lib/dpkg-test.h: New file.
* lib/test/ Likewise.
* lib/test/t-macros.c: Likewise.
* lib/test/t-path.c: Likewise.
* lib/test/t-pkginfo.c: Likewise.
* lib/test/t-string.c: Likewise.
* lib/test/t-test.c: Likewise.
* lib/test/t-varbuf.c: Likewise.
* lib/test/t-version.c: Likewise.
2009-01-20 Guillem Jover <>
* lib/dpkg-db.h (varbufaddbuf): Rename argument l to size.
* lib/nfmalloc.c (nfstrnsave): Likewise.
* lib/varbuf.c (varbufaddbuf): Likewise.
2009-01-20 Guillem Jover <>
* lib/dpkg-db.h (varbufdupc): Use size_t instead of ssize_t.
(varbufaddbuf): Use size_t instead of const int.
(nfstrnsave): Use size_t instead of int.
2009-01-14 Guillem Jover <>
* man/start-stop-daemon.8: Document new option --procsched.
* utils/start-stop-daemon.c [_POSIX_PRIORITY_SCHEDULING]: Include
SCHED_RR with dummy values.
(struct res_schedule): New type.
(proc_sched): New variable.
(do_help): Document --procsched.
(parse_proc_schedule, set_proc_schedule): New functions.
(parse_options): Add 'procsched' to longopts. Add 'P:' to getopt_long
call. Handle 'P' as getopt_long return value. Call parse_proc_schedule
if proc_schedule_str is not NULL.
(main): Print proc_sched values if --test is used. Call
set_proc_schedule if proc_sched is not NULL.
2009-01-14 Guillem Jover <>
* utils/start-stop-daemon.c (xstrdup): New function.
(parse_options): Use xstrdup instead of strdup.
2009-01-10 Guillem Jover <>
* utils/start-stop-daemon.c (main): If changeuser is a uid, call
getpwuid to get the passwd entry and do the same setup as if it is
a username.
2009-01-07 Guillem Jover <>
* man/dpkg-deb.1: Document that -x will modify the extraction
directory permissions.
2009-01-05 Guillem Jover <>
* src/main.c (setobsolete): Use warning instead of fprintf call.
(setforce): Likewise.
2009-01-05 Guillem Jover <>
* man/start-stop-daemon.8: Clarify that the signal sent by default
is TERM not KILL.
2009-01-04 Guillem Jover <>
* utils/start-stop-daemon.c (signal_nr): Initialize with SIGTERM
instead of literal 15.
* man/start-stop-daemon.8: Refer to signal as TERM instead of
literal 15.
2009-01-04 Guillem Jover <>
* lib/dpkg.h (LOCALLIBDIR): Move macro to ...
* dselect/ (INCLUDES): ... here, as a -D argument.
* lib/dpkg.h (DSELECT): Move macro to ...
* dselect/dselect.h: ... here.
* lib/dpkg.h (SPLITVERSION, SPLITPARTDEFMAX): Move macros to ...
* dpkg-split/dpkg-split.h: ... here.
* dpkg-deb/dpkg-deb.h: ... here.
2009-01-04 Guillem Jover <>
* lib/dpkg.h (printforhelp): Move declaration to ...
* lib/myopt.h: ... here.
2009-01-04 Guillem Jover <>
* lib/dpkg-db.h (trig_note_pend_core, trig_note_pend): Make trig
argument const.
* lib/triglib.c (trig_record_activation): Likewise.
(trig_file_activate): Remove now unneeded cast in
trig_record_activation call.
2009-01-04 Guillem Jover <>
* lib/myopt.h (MAX_CONFIG_LINE): New macro.
* lib/myopt.c (myfileopt): Use MAX_CONFIG_LINE instead of
2009-01-04 Guillem Jover <>
* lib/dpkg.h (SHELL, SHELLENVIR): Remove unused macros.
* src/main.h (check_libver): Remove unused prototype.
2009-01-04 Guillem Jover <>
* dselect/ (findintable, dme, refreshmenu): Make static.
* dselect/ (sthfailed): Likewise.
* dselect/ (pkgprioritystring): Likewise.
2008-12-30 Guillem Jover <>
* lib/ehandle.c (badusage): Move function to ...
* lib/myopt.c: ... here. Include <stdarg.h>.
* lib/dpkg.h (badusage): Move declaration to ...
* lib/myopt.h: ... here.
* dpkg-split/split.c: Include <myopt.h>.
2008-12-30 Colin Watson <>
* src/help.c (preexecscript): Call chdir after chroot.
2008-12-23 Guillem Jover <>
* lib/log.c (statusfd_send): Pass to write the remaining data, not
the same initial buffer.
2008-12-08 Raphaël Hertzog <>
* scripts/Dpkg/, scripts/,
scripts/, scripts/,
scripts/ Also import the default exported functions
of Dpkg::ErrorHandling and not only the unusual ones.
2008-12-08 Guillem Jover <>
* dpkg-deb/build.c (do_build): Mark strings for translation.
* dpkg-deb/extract.c (extracthalf): Likewise.
* dpkg-split/info.c (read_info): Likewise.
* dpkg-split/join.c (reassemble): Likewise.
* dpkg-split/queue.c (do_queue): Likewise.
* dselect/ (packagelist::packagelist): Likewise.
(packagelist::display): Likewise.
* lib/log.c (statusfd_send): Likewise.
* scripts/Dpkg/Source/Package/ (do_build): Likewise.
* src/filesdb.c (ensure_packagefiles_available): Likewise.
(ensure_statoverrides): Likewise.
2008-12-08 Guillem Jover <>
* dpkg-deb/extract.c (extracthalf): Improve internerr strings, and add
the invalid value provoking the call.
* dpkg-split/queue.c (discardsome): Likewise.
* lib/dbmodify.c (modstatdb_init): Likewise.
* lib/dump.c (varbufdependency): Likewise.
* lib/parsehelp.c (varbufversion): Likewise.
* lib/vercmp.c (versionsatisfied3): Likewise.
* scripts/Dpkg/Source/ (_add_entry): Likewise.
* src/archives.c (tarobject, archivefiles): Likewise.
* src/configure.c (deferred_configure, promptconfaction): Likewise.
* src/depcon.c (describedepcon, depisok): Likewise.
* src/enquiry.c (yettobeunpacked): Likewise.
* src/packages.c (packages, process_queue, dependencies_ok): Likewise.
* src/query.c (enqperpackage): Likewise.
* src/update.c (updateavailable): Likewise.
2008-12-08 Guillem Jover <>
* scripts/Dpkg/ (implies): Do not mark internerr strings for
* scripts/Dpkg/ (output): Likewise.
* scripts/Dpkg/Source/ (add_file): Likewise.
2008-12-08 Guillem Jover <>
* scripts/Dpkg/ (parse): Do not use sprintf for warning.
(implies): Do not use sprintf for internerr.
2008-12-08 Guillem Jover <>
* dpkg-deb/build.c (do_build): Use internerr instead of ohshit. Do not
mark the string for translation.
* src/trigcmd.c (do_check): Use internerr instead of abort.
* lib/dump.c (w_status): Likewise.
* lib/triglib.c (trig_incorporate): Likewise. Remove <stdlib.h>
* scripts/Dpkg/ (_sanity_check_opts): Use internerr instead of
(fork_and_exec): Likewise. Do not mark the string for translation.
(wait_child): Likewise.
* scripts/Dpkg/Source/ Use internerr instead of error from
(_add_entry, add_file, add_directory): Likewise.
* scripts/Dpkg/Source/ Likewise.
(get_filename): Likewise.
* scripts/Dpkg/Source/ Likewise.
(_sanity_check): Likewise.
* scripts/Dpkg/Source/Package.p (do_extract, do_build): Likewise.
* scripts/Dpkg/Source/ (add_diff_file): Use error instead of
2008-12-08 Guillem Jover <>
* lib/dpkg.h (do_internerr): Reorder arguments. Support format
(internerr): Likewise.
* lib/ehandle.c (do_internerr): Likewise.
2008-12-08 Guillem Jover <>
* scripts/Dpkg/ (@EXPORT): Remove 'failure'.
(failure): Remove function.
(syserr): Rename 'failure' string to 'error'.
(subprocerr): Use error instead of failure.
* scripts/Dpkg/ (extractchecksum): Likewise.
* scripts/Dpkg/Source/ (erasedir): Likewise.
* scripts/changelog/ Likewise.
* scripts/ Likewise.
* scripts/ Likewise.
* scripts/ Use syserr instead of failure.
2008-12-08 Guillem Jover <>
* scripts/Dpkg/ (@EXPORT_OK): Move info, warning,
warnerror, error, errormsg, failure, syserr, internerr, subprocerr,
usageerr and syntaxerr to ...
(@EXPORT): ... here. Fix all users.
2008-12-08 Modestas Vainius <>
Raphaël Hertzog <>
* scripts/Dpkg/Shlibs/ (parse): Split into add_object()
and parse().
* scripts/Dpkg/Shlibs/ (merge_object_from_symfile):
New function to reintegrate symbols from previous symfiles.
* scripts/ Optimizes it by caching parsed
symbols files and objdump objects. This way neither of the
libraries or symbols files are parsed more than once.
2008-12-05 Guillem Jover <>
* lib/mlib.c: Remove <sys/wait.h> include.
(checksubprocerr, waitsubproc): Move to ...
* lib/subproc.c (checksubprocerr, waitsubproc): ... here.
Include <sys/types.h> and <sys/wait.h>.
2008-12-05 Guillem Jover <>
* lib/mlib.c (checksubprocerr): Split unrelated conditionals for n
2008-12-05 Guillem Jover <>
* lib/mlib.c (checksubprocerr): Return an explicit 0 instead of n.
2008-12-05 Guillem Jover <>
* lib/ehandle.c (warning): Print the current program name and a
'warning' string.
* lib/mlib.c (checksubprocerr): Use warning() instead of a print
* src/archives.c (try_deconfigure_can): Likewise.
(check_breaks): Likewise.
(check_conflict): Likewise.
(wanttoinstall): Likewise.
* src/configure.c (deferred_configure): Likewise.
(conffderef): Likewise.
(md5hash): Likewise.
* src/errors.c (forcibleerr): Likewise.
* src/filesdb.c (ensure_packagefiles_available): Likewise.
* src/help.c (maintainer_script_alternative): Likewise.
* src/processarc.c (process_archive): Likewise.
* src/remove.c (deferred_remove): Likewise.
(removal_bulk_remove_leftover_dirs): Likewise.
* dpkg-deb/build.c (do_build): Likewise.
2008-12-05 Guillem Jover <>
* lib/ehandle.c (warning): Do not implicitly print the errno string.
* lib/myopt.c (myfileopt): Print the errno string in the warning.
2008-12-05 Guillem Jover <>
* lib/dpkg.h (warningf): Rename to ...
(warning): ... this. Fix all callers.
2008-11-19 Raphaël Hertzog <>
* scripts/Dpkg/Source/ (fixperms): Fix chmod call to
also work when POSIXLY_CORRECT is set.
2008-11-11 Guillem Jover <>
* scripts/ Use new style functions calls.
* scripts/ Likewise.
* scripts/ Likewise.
* scripts/ Likewise.
* scripts/ Likewise.
* scripts/ Likewise.
* scripts/ Likewise.
* scripts/ Likewise.
* scripts/ Likewise.
2008-11-08 Raphaël Hertzog <>
* scripts/Dpkg/Shlibs/ (_parse): Support RUNPATH exactly
like RPATH but taking precedence over it.
2008-10-22 Guillem Jover <>
* lib/ehandle.c (error_unwind): Remove unused cleanupentry code.
2008-10-15 Guillem Jover <>
* lib/dbmodify.c (modstatdb_shutdown): Use importanttmpfile on unlink
instead of constructing the file name again.
2008-10-15 Guillem Jover <>
* src/ (dpkg_query_SOURCES): Remove 'errors.c'.
* src/main.h (nerrs): Remove declaration.
* src/errors.c (nerrs): Change from extern to static.
* src/query.c (failures): New variable.
(errabort): Remove variable.
(listpackages): Use failures instead of nerrs.
(searchfiles): Likewise.
(showpackages): Likewise.
(enqperpackage): Likewise. Do not define nor initialize failures.
(main): Use failures variable instead of reportbroken_retexitstatus.
2008-09-14 Guillem Jover <>
* libcompat/scandir.c (scandir): Handle case when filter and cmp
function arguments are NULL.
2008-09-14 Guillem Jover <>
* libcompat/compat.h (scandir): Rename arguments from select to
filter and compar to cmp.
* libcompat/scandir.c (scandir): Likewise.
2008-09-14 Guillem Jover <>
* libcompat/compat.h (alphasort): Change argument types to match
modern system ones (the current ones were missing one indirection
* libcompat/alphasort.c (alphasort): Likewise. Properly dereference
* libcompat/scandir.c (scandir_comparfn): Remove static function
(scandir_compar): Remove function.
(scandir): Pass compar function directly to qsort.
2008-09-14 Guillem Jover <>
* libcompat/strerror.c (strerror): Change string for unknown value.
* libcompat/strsignal.c (strsignal): Likewise.
2008-09-14 Guillem Jover <>
* libcompat/strsignal.c (strsignal): Do not return a string for
signal 0.
2008-09-14 Guillem Jover <>
* libcompat/strsignal.c (sys_siglist): Insert a NULL entry at the
2008-09-14 Guillem Jover <>
* libcompat/strsignal.c (sys_siglist): Remove array size from
declaration. Remove unknown signal names.
(strsignal): Use sizeof to compute the array size instead of NSIG.
2008-09-14 Guillem Jover <>
* libcompat/vsnprintf.c (vsnprintf): Use SEEK_SET instead of a 0
literal on fseek.
2008-09-14 Guillem Jover <>
* libcompat/vsnprintf.c (vsnprintf): Change size and nr types from
unsigled long to size_t. Always return the amount that would be
written regardless of any truncation. Do not read one byte less from
the temporary file.
2008-09-14 Guillem Jover <>
* libcompat/vsnprintf.c (vsnprintf): Use the return value from
vfprintf as the formatted string size instead of using fstat to get
the file size.
2008-09-14 Guillem Jover <>
* libcompat/vsnprintf.c (vsnprintf): Check for negative return error
values instead of just EOF.
2008-09-14 Guillem Jover <>
* libcompat/snprintf.c (snprintf): Use vsnprintf instead of vsprintf.
2008-09-14 Guillem Jover <>
* libcompat/vsnprintf.c (vsnprintf): Use '\0' instead of NULL to
terminate the string.
2008-09-14 Guillem Jover <>
* libcompat/compat.h (unsetenv): Change return type from void to int.
* libcompat/unsetenv.c (unsetenv): Likewise. Return -1 on error, or
pass through the status code from putenv.
2008-09-14 Guillem Jover <>
* dselect/ Remove unused headers <stdio.h>, <string.h>,
<assert.h> and <dpkg.h>.
* dselect/ Likewise.
* dselect/ Likewise. Remove unused header <ctype.h>.
* dselect/ Remove unused header <dpkg.h>.
* dselect/helpmsgs.h: Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* lib/compression.c: Likewise.
* lib/dpkg-db.h: Remove unused header <string.h>. Include
* lib/md5.c: Remove unused header <netinet/in.h>.
2008-09-14 Guillem Jover <>
* src/main.c (commandfd): Remove left over debug printf.
2008-09-14 Guillem Jover <>
* lib/dpkg.h (IMPORTANTFMT): Remove out of sync comment.
2008-09-14 Guillem Jover <>
* lib/dpkg.h (standard_startup): Do not take prog, loadcfg and
cmdinfos as arguments, and do not call loadcfgfile. Fix all callers.
* src/main.c: Call loadcfgfile directly.
2008-09-14 Guillem Jover <>
* lib/dpkg.h: Do not include <myopt.h>.
(standard_startup): Do not take argc and argv as arguments, and do
not call myopt. Fix all callers.
* lib/myopt-util.c: Include <myopt.h>.
* dpkg-deb/build.c: Likewise.
* dpkg-split/info.c: Likewise.
* dpkg-split/join.c: Likewise.
* dpkg-split/queue.c: Likewise.
* src/select.c: Likewise.
* dpkg-deb/main.c (main): Call myopt directly.
* dpkg-split/main.c: Likewise.
* src/main.c: Likewise.
* src/query.c: Likewise.
* src/trigcmd.c: Likewise.
2008-09-14 Guillem Jover <>
* lib/dpkg.h (standard_shutdown): Remove unused freemem argument,
and do not call nffreeall. Fix all callers.
2008-09-14 Guillem Jover <>
* lib/dpkg-db.h: Move <stdlib.h> inclusion to ...
* dselect/ ... here.
* lib/database.c: Likewise.
* lib/dump.c: Likewise.
* lib/parse.c: Likewise.
* lib/parsehelp.c: Likewise.
* lib/triglib.c: Likewise.
* src/filesdb.c: Likewise.
* src/help.c: Likewise.
* src/select.c: Likewise.
* src/trigproc.c: Likewise.
2008-09-14 Guillem Jover <>
* (AC_CHECK_FUNCS): Move 'vsnprintf', 'snprintf',
'strerror', 'strsignal', 'scandir', 'alphasort' and 'unsetenv' to ...
* lib/ (libdpkg_a_SOURCES): Remove 'compat.c'.
* lib/dpkg.h (strerror, strsignal, scandir, alphasort, unsetenv)
(offsetof, strtoul, va_copy, WCOREDUMP): Move declarations to ...
* libcompat/compat.h: ... here.
* libcompat/ (libcompat_a_SOURCES): Add 'strerror.c',
'strsignal.c', 'snprintf.c', 'vsnprintf.c', 'alphasort.c',
'scandir.c' and 'unsetenv.c'.
* po/ Remove 'lib/compat.c'.
* lib/compat.c: Split into ...
* libcompat/alphasort.c: ... here. New file.
* libcompat/scandir.c: Likewise.
* libcompat/snprintf.c: Likewise.
* libcompat/strerror.c: Likewise.
* libcompat/strsignal.c: Likewise.
* libcompat/unsetenv.c: Likewise.
* libcompat/vsnprintf.c: Likewise.
2008-09-14 Guillem Jover <>
* lib/compat.c: Do not include <dpkg.h> anymore.
(vsnprintf): Return negative on error instead of ohshite.
2008-09-14 Guillem Jover <>
* libcompat/compat.h: New file.
* dpkg-deb/build.c: Include <compat.h>.
* dpkg-deb/extract.c: Likewise.
* dpkg-deb/info.c: Likewise.
* dpkg-deb/main.c: Likewise.
* dpkg-split/info.c: Likewise.
* dpkg-split/join.c: Likewise.
* dpkg-split/main.c: Likewise.
* dpkg-split/queue.c: Likewise.
* dpkg-split/split.c: Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* lib/cleanup.c: Likewise.
* lib/compression.c: Likewise.
* lib/database.c: Likewise.
* lib/dbmodify.c: Likewise.
* lib/dump.c: Likewise.
* lib/ehandle.c: Likewise.
* lib/lock.c: Likewise.
* lib/log.c: Likewise.
* lib/md5.c: Likewise.
* lib/mlib.c: Likewise.
* lib/myopt-util.c: Likewise.
* lib/myopt.c: Likewise.
* lib/nfmalloc.c: Likewise.
* lib/parse.c: Likewise.
* lib/parsehelp.c: Likewise.
* lib/path.c: Likewise.
* lib/showpkg.c: Likewise.
* lib/string.c: Likewise.
* lib/subproc.c: Likewise.
* lib/triglib.c: Likewise.
* lib/utils.c: Likewise.
* lib/varbuf.c: Likewise.
* lib/vercmp.c: Likewise.
* src/archives.c: Likewise.
* src/cleanup.c: Likewise.
* src/configure.c: Likewise.
* src/depcon.c: Likewise.
* src/enquiry.c: Likewise.
* src/errors.c: Likewise.
* src/filesdb.c: Likewise.
* src/help.c: Likewise.
* src/main.c: Likewise.
* src/packages.c: Likewise.
* src/pkg-list.c: Likewise.
* src/pkg-show.c: Likewise.
* src/processarc.c: Likewise.
* src/query.c: Likewise.
* src/remove.c: Likewise.
* src/select.c: Likewise.
* src/trigcmd.c: Likewise.
* src/trigproc.c: Likewise.
* src/update.c: Likewise.
* lib/fields.c: Likewise. Do not include "strnlen.h", now implicitly
included by <compat.h>.
* lib/tarfn.c: Likewise.
2008-09-14 Guillem Jover <>
* lib/dpkg.h: Move <locale.h> inclusion and standard_startup locale
setup to ...
* dpkg-deb/main.c (main): ... here.
* dpkg-split/main.c (main): Likewise.
* dselect/ (main): Likewise.
* src/main.c (main): Likewise.
* src/query.c (main): Likewise.
* src/trigcmd.c (main): Likewise.
2008-09-14 Guillem Jover <>
* lib/ (libdpkg_a_SOURCES): Add 'dpkg-i18n.h'.
* lib/dpkg.h: Move <gettext.h> inclusion and ...
(_, N_): ... macros to ...
* lib/dpkg-i18n.h: ... here. New file.
* dpkg-deb/build.c: Include <dpkg-i18n.h>.
* dpkg-deb/extract.c: Likewise.
* dpkg-deb/info.c: Likewise.
* dpkg-deb/main.c: Likewise.
* dpkg-split/info.c: Likewise.
* dpkg-split/join.c: Likewise.
* dpkg-split/main.c: Likewise.
* dpkg-split/queue.c: Likewise.
* dpkg-split/split.c: Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* lib/compression.c: Likewise.
* lib/database.c: Likewise.
* lib/dbmodify.c: Likewise.
* lib/dump.c: Likewise.
* lib/ehandle.c: Likewise.
* lib/fields.c: Likewise.
* lib/lock.c: Likewise.
* lib/log.c: Likewise.
* lib/mlib.c: Likewise.
* lib/myopt-util.c: Likewise.
* lib/myopt.c: Likewise.
* lib/nfmalloc.c: Likewise.
* lib/parse.c: Likewise.
* lib/parsehelp.c: Likewise.
* lib/showpkg.c: Likewise.
* lib/subproc.c: Likewise.
* lib/trigdeferred.l: Likewise.
* lib/triglib.c: Likewise.
* lib/utils.c: Likewise.
* src/archives.c: Likewise.
* src/cleanup.c: Likewise.
* src/configure.c: Likewise.
* src/depcon.c: Likewise.
* src/enquiry.c: Likewise.
* src/errors.c: Likewise.
* src/filesdb.c: Likewise.
* src/help.c: Likewise.
* src/main.c: Likewise.
* src/packages.c: Likewise.
* src/pkg-show.c: Likewise.
* src/processarc.c: Likewise.
* src/query.c: Likewise.
* src/remove.c: Likewise.
* src/select.c: Likewise.
* src/trigcmd.c: Likewise.
* src/trigproc.c: Likewise.
* src/update.c: Likewise
2008-09-14 Guillem Jover <>
* dselect/ (baselist::startdisplay): Unmark debug message
for translation.
* dselect/ (methodlist::display): Likewise.
* dselect/ (packagelist::resolvedepcon): Likewise.
* dselect/ (packagelist::addheading): Likewise.
* dselect/ (packagelist::add): Likewise.
2009-02-03 Guillem Jover <>
* Release 1.14.25.
2009-02-02 Guillem Jover <>
* src/archives.c (tarobject): Do not call ensure_pathname_nonexisting
for .dpkg-tmp and .dpkg-new if we are going to return due to already
existing directory or a file to be skept.
2008-02-02 Raphaël Hertzog <>
* dpkg-deb/build.c: Ensure that data.tar and control.tar
archives created inside a .deb use the GNU format that is compatible
with dpkg itself. And remove TAR_OPTIONS from environment to
avoid unexpected user customizations of the resulting archives.
2008-12-29 Guillem Jover <>
* Bump version to 1.14.25~.
2008-12-29 Guillem Jover <>
* Release 1.14.24.
2008-12-20 Guillem Jover <>
* src/archives.c (tarobject): Move a 'continue' inside a conditional
checking if the conffile to take over was obsolete on the other
package by adding missing bracese.
2008-12-01 Raphaël Hertzog <>
* scripts/Dpkg/Source/ (extract): Do not create the temp
directory in the current directory but in the parent directory of
the target directory. Otherwise the code would fail when called
from a non-writable dir and rename could fail due to filesystem
boundaries beetwen the current dir and the target one.
2008-12-01 Modestas Vainius <>
* scripts/ Don't merge all dependency templates
into the generated dependency when Build-Depends-Package is
used in the symbols file. Instead simply modify the minimal
version on any pre-existing dependency.
2008-11-19 Raphaël Hertzog <>
* scripts/Dpkg/Shlibs/ (parse_dynamic_symbol): Fix the
regular expression to not require two space between alignment and
symbol name.
* scripts/t/200_Dpkg_Shlibs.t,
scripts/t/200_Dpkg_Shlibs/ Add a non-regression test
corresponding to the above case.
2008-11-18 Guillem Jover <>
* Bump version to 1.14.24~.
2008-11-18 Guillem Jover <>
* Release 1.14.23.
2008-11-14 Guillem Jover <>
* lib/ehandle.c (run_error_handler): In case of onerr_abort print an
error message and exit, otherwise longjmp.
2008-11-14 Guillem Jover <>
* src/main.h (abort_processing): New variable declaration.
* src/errors.c (abort_processing): New variable definition.
* src/archives.c (print_error_perpackage): Use abort_processing
instead of onerr_abort for non fatal errors.
(reportbroken_retexitstatus): Likewise. Do not check onerr_abort
for the exit value as it should not have reached this function.
* src/packages.c (process_queue): Likewise. Return on entering if
it should abort processing.
2008-11-14 Guillem Jover <>
* lib/ehandle.c (run_error_handler): New function.
(push_error_handler): Use run_error_handler instead of directly
calling longjmp.
(ohshit): Likewise.
(ohshitvb): Likewise.
(ohshitv): Likewise.
(ohshite): Likewise.
2008-11-07 Raphaël Hertzog <>
* scripts/Dpkg/ Synchronize code with version used by
debbugs (add some bugfixes).
* scripts/t/900_Dpkg_Version.t: Add non-regression tests for
version comparison code.
* scripts/ Add new file in the dist tarball.
2008-10-20 Raphaël Hertzog <>
* scripts/Dpkg/Shlibs/ (load): Let the recursively
nested calls to load() modify the name of the current object so
that the header can be set in an included file (like it's already
2008-09-26 Thiemo Seufer <>
* scripts/Dpkg/Shlibs/ add "__gnu_local_gp" symbol
to the blacklist (mips/mipsel specific symbol that appeared with
GCC 4.3).
2008-09-05 Raphaël Hertzog <>
* Bump version to 1.14.23~.
2008-09-05 Raphaël Hertzog <>
* Release 1.14.22.
2008-08-29 Raphaël Hertzog <>
* scripts/ It was already skipping symlinks
within the package build tree. Now it also skips real
directories accessed through a symlink contained in the package
build tree. Package like libc6-386 had symlinks usr/lib32
pointing to some directories outside of the build tree and
the LD_LIBRARY_PATH set by fakeroot led contained
/usr/lib32/libfakeroot which made dpkg-gensymbols scan this
directory and add libfakeroot to the libc6-386 symbols file!
2008-08-29 Raphaël Hertzog <>
* scripts/Dpkg/Source/Package/V3/ run_quilt() can be run
when no quilt series file exist yet. In that case we have to
provide the name of the series file that we want to create (as the
quilt command might create it). Up to now
File::Spec->rel2abs(undef) returned the name of the current
directory and we improperly used that as value of QUILT_SERIES.
* scripts/Dpkg/Source/Package/ (do_build): Change permissions
of the automatically generated patch which is initially created
0600 with tempfile().
2008-08-26 Guillem Jover <>
* Bump version to 1.14.22~.
2008-08-26 Guillem Jover <>
* lib/gettext.h: Move to ..
* libcompat/gettext.h: ... here.
* lib/ (libdpkg_a_SOURCES): Remove 'gettext.h'.
* libcompat/ (libcompat_a_SOURCES): Add 'gettext.h'
2008-08-24 Guillem Jover <>
* lib/dpkg-priv.h [HAVE_STDDEF_H]: Conditionalize <stddef.h> inclusion.
2008-08-24 Guillem Jover <>
* lib/dpkg-def.h (DPKG_BEGIN_DECLS, DPKG_END_DECLS): New macros.
* lib/dpkg.h: Surround declarations with DPKG_BEGIN_DECLS and
* lib/myopt.h: Likewise.
* lib/dpkg-db.h: Likewise. Include <dpkg-def.h>.
* lib/dpkg-priv.h: Include <dpkg-def.h>. Replace extern "C" context
* dselect/ Remove surrounding extern "C" context from
header files.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/helpmsgs.h: Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
* dselect/ Likewise.
2008-08-24 Guillem Jover <>
* lib/dpkg-def.h: Do not include <config.h>.
* dselect/helpmsgs.h: Likewise.
* dselect/ Include <config.h>.
* lib/cleanup.c: Likewise.
* lib/md5.c: Include <config.h> instead of "config.h".
* lib/mlib.c: Likewise.
* utils/start-stop-daemon.c: Likewise.
2008-08-22 Raphaël Hertzog <>
* man/dpkg-source.1: Clarify two points concerning the behaviour
of the new 3.0 (quilt) source format.
2008-08-18 Guillem Jover <>
* lib/dpkg.h (ARCHBINFMT): Remove unused macro.
2008-08-18 Guillem Jover <>
* src/query.c: Remove left-over description from header comment.
* src/remove.c: Remove partial change log from header comment.
2008-08-18 Guillem Jover <>
* dselect/method.h: ... here.
* dselect/ Include "method.h".
2008-08-18 Guillem Jover <>
* man/dpkg-trigger.1: Mark program names in bold.
2008-08-18 Guillem Jover <>
* man/cleanup-info.8: Use a troff special character for the copyright
* man/deb-substvars.5: Likewise.
* man/deb-version.5: Likewise.
* man/dpkg-buildpackage.1: Likewise.
* man/dpkg-checkbuilddeps.1: Likewise.
* man/dpkg-deb.1: Likewise.
* man/dpkg-distaddfile.1: Likewise.
* man/dpkg-divert.8: Likewise.
* man/dpkg-genchanges.1: Likewise.
* man/dpkg-gencontrol.1: Likewise.
* man/dpkg-gensymbols.1: Likewise.
* man/dpkg-name.1: Likewise.
* man/dpkg-parsechangelog.1: Likewise.
* man/dpkg-query.1: Likewise.
* man/dpkg-shlibdeps.1: Likewise.
* man/dpkg-source.1: Likewise.
* man/dpkg-split.1: Likewise.
* man/dpkg-statoverride.8: Likewise.
* man/install-info.8: Likewise.
* man/update-alternatives.8: Likewise.
2008-08-15 Guillem Jover <>
* man/dpkg-deb.1 (BUGS): Improve comment about missing authentication
and checksum support in .deb files.
2008-08-05 Guillem Jover <>
* lib/ehandle.c: Include <dpkg-priv.h>.
(push_cleanup): Use sizeof_array instead of ad-hoc calculation.
2008-08-05 Guillem Jover <>
* scripts/ Use usageerr instead of embedded code.
2008-08-05 Guillem Jover <>
* scripts/ Use _g() instead of wrong and typoed
2008-08-03 Guillem Jover <>
* src/processarc.c (process_archive): Use blankpackageperfile instead
of manually blanking the members.
* src/remove.c (removal_bulk): Likewise.
2008-08-03 Guillem Jover <>
* utils/start-stop-daemon.c (pid_is_running) [!OSHURD]: Reimplement
using kill instead of less-portable /proc.
2008-08-03 Guillem Jover <>
* utils/start-stop-daemon.c (check) [HAVE_KVM_H]: Call pid_is_exec.
2008-08-03 Guillem Jover <>
* src/pkg-show.c (limiteddescription): Assign directly to l_r instead
of a temporary variable.
2008-08-03 Guillem Jover <>
* utils/start-stop-daemon.c: Move the different implementations
of the same function for different operating systems together.
2008-08-03 Guillem Jover <>
* utils/start-stop-daemon.c (MIN_POLL_INTERVAL): Use proper UTF-8 mu
symbol for the unit in the comment.
2008-07-26 Guillem Jover <>
* src/ (dpkg_SOURCES): Add 'pkg-show.c'.
(dpkg_query_SOURCES): Likewise.
* src/main.h (limiteddescription): New function prototype.
* src/enquiry.c (limiteddescription): Move function to ...
* src/pkg-show.c: ... here. New file.
* src/query.c (limiteddescription): Remove duplicate function.
2008-07-26 Guillem Jover <>
* lib/showpkg.c (parseformat): Do not set cur->type to field, as
that's set in parsefield.
2008-07-22 Guillem Jover <>
* src/ (dpkg_SOURCES): Add 'pkg-list.c'.
(dpkg_query_SOURCES): Likewise.
* src/enquiry.c (pkglistqsortcmp): Move function to ...
* src/pkg-list.c: ... here. New file.
* src/query.c (pkglistqsortcmp): Remove duplicate function.
2008-07-22 Guillem Jover <>
* src/main.h (struct pkg_deconf_list): Move declaration ...
* src/archives.h: ... here.
2008-07-22 Guillem Jover <>
* src/main.h (struct packageinlist): Rename to ...
(struct pkg_deconf_list): ... this. Fix all users.
2008-07-22 Guillem Jover <>
* src/main.h (struct packageinlist): Change 'void *xinfo' member to
'struct pkginfo *pkg_removal'. Fix all users.
2008-07-22 Guillem Jover <>
* src/main.h (ignoredependss): Change type to 'struct pkginqueue'.
* src/main.c (ignoredependss): Likewise.
(ignoredepends): Change type for variable 'ni' to 'struct pkginqueue'.
* src/help.c (ignore_depends): Likewise.
2008-07-22 Guillem Jover <>
* src/query.c (ignoredependss): Remove unused variable.
2008-07-10 Raphaël Hertzog <>
* man/dpkg-buildpackage.1: Give a detailed explanation of what the
command does. Drop any duplicate information contained in the
dpkg-genchanges/dpkg-source manual pages.
* man/dpkg-genchanges.1: Document the -A option (was missing).
2008-07-10 Guillem Jover <>
* lib/dpkg-priv.h (min, max): New macros.
* lib/tarfn.c: Include <dpkg-priv.h>.
* src/configure.c: Likewise.
* src/enquiry.c: Likewise.
* src/configure.c (conffderef): Use max instead of hardcoded test.
* lib/tarfn.c (TarExtractor): Use min instead of hardcoded test.
* lib/fields.c (conffvalue_lastword): Likewise.
* src/enquiry.c (limiteddescription): Likewise.
* src/main.c (setforce): Likewise.
* src/query.c (limiteddescription): Likewise.
2008-07-10 Guillem Jover <>,
Timothy G Abbott <>
* src/configure.c (deferred_configure): Call namenodetouse to handle
diverted conffiles. Use trig_file_activate on usenode, instead of
trig_file_activate_byname, to activate the correct file trigger for
the diverted conffile.
2008-07-06 Guillem Jover <>
* src/main.h: Remove comment about side effect in namenodetouse.
* src/help.c (namenodetouse): Move call to trig_file_activate to ...
* src/archives.c (tarobject): ... here.
* src/processarc.c (process_archive): Likewise.
* src/remove.c (removal_bulk_remove_files): Likewise.
(removal_bulk_remove_leftover_dirs): Likewise.
2008-07-06 Michel Lespinasse <>
* dselect/ (baselist::startdisplay): Create the
pad with the list of the size of the display and not of the
size of the list content itself.
* dselect/ (baselist::refreshlist): The part to
display is always at the top of the pad.
(baselist::redrawitemsrange): Simplified to redraw the real
range only.
* dselect/ (packagelist::sortmakeheads): No need to reallocate
the pad when the list changes.
* dselect/ (packagelist::redraw1itemsel): The line
of the item in the infopad doesn't correspond to its index in
the list any more. Adjust accordingly.
2008-07-05 Guillem Jover <>
* src/archives.c (filesavespackage): Do not mark debug message for
2008-07-04 Raphaël Hertzog <>
Bruce Sass <>
* dselect/ (packagelist::itd_description), dselect/
(packagelist::redraw1itemsel): Use description of installed
package as a fallback if the package is not more listed in the
available list.
2008-07-02 Guillem Jover <>
* lib/fields.c (convert_string): Remove unneeded variable assignments.
Get rid this way of an int variable.
2008-07-02 Guillem Jover <>
* lib/fields.c (convert_string): Change nvip to be const and use a
proper assignment instead of a sneaky cast through memcpy. Remove
unneeded length caching as all current namevalue arrays have it
2008-07-02 Guillem Jover <>
* lib/fields.c (convert_string): Use a capped string length instead
of using last namevalue length member when printing the disallowed
2008-07-02 Guillem Jover <>
* src/query.c (limiteddescription): Use NULL instead of 0.
(list1package, searchfiles, enqperpackage, main): Likewise.
(cipaction, ignoredependss, cmdinfos): Likewise.
* src/select.c (setselections): Likewise.
* src/trigcmd.c (cmdinfos): Likewise.
2008-07-02 Guillem Jover <>
* src/remove.c (removal_bulk_remove_configfiles): Remove wrong comment
not matching the code.
2008-07-02 Guillem Jover <>
* src/archives.c (tarfile_skip_one_forward): Make static.
2008-07-02 Guillem Jover <>
* lib/dpkg-priv.h: Include <stddef.h>.
* lib/string.c: Include <config.h> and <dpkg-priv.h>.
2008-07-02 Guillem Jover <>
* dselect/ (curkeys.h): Use '$(CPP)' instead of '$(CC) -E'.
2008-07-01 Guillem Jover <>
* src/depcon.c (findbreakcyclerecursive): Use the debug function
instead of reimplementing its logic.
* src/help.c (preexecscript): Likewise.
2008-07-01 Egmont Koblinger <>
* src/processarc.c (process_archive): Properly lstat the correct
file on upgrade when using --root.
2008-07-01 Guillem Jover <>
* src/processarc.c (process_archive): Do not allocate a struct stat
when lstat fails, instead assign a pointer to a static empty stat
variable that will mark it as such.
2008-06-30 Guillem Jover <>
* lib/showpkg.c (parsefield): Remove unneeded 'const char *' cast.
2008-06-30 Guillem Jover <>
* lib/dpkg-db.h (struct arbitraryfield): Make all 'char *' members
(struct filedetails): Likewise.
(struct pkginfoperfile): Likewise.
(struct trigpend): Likewise.
* lib/parse.c (parsedb): Remove now unneeded 'const char **' casts.
* src/processarc.c (process_archive): Change size variable before
assigning the pointer.
2008-06-30 Guillem Jover <>
* dselect/ (baselist::wordwrapinfo): Surround expression
with parenthesis.
* dselect/ (packagelist::affectedmatches): Likewise.
(packagelist::affectedrange): Switch a for with an empty body into a
* dselect/ (baselist::displayhelp): Likewise.
* dselect/ (keybindings::bind, keybindings::find)
(keybindings::operator(), keybindings::key2name)
(keybindings::name2key): Likewise.
* dselect/ (urq_menu, main): Likewise.
* dselect/ (readmethods, getcurrentopt): Likewise.
* dselect/ (packagelist::resolvedepcon): Likewise.
* dselect/ (packagelist::alreadydone): Likewise.
2008-06-30 Guillem Jover <>
* lib/trigdeferred.l: Define YY_NO_INPUT to make flex not include
the unused input() in the resulting object.
2008-06-29 Guillem Jover <>
* lib/parsedump.h (parseerr, parsemustfield): Remove prototypes.
(parse_error, parse_warn): New prototypes.
(parse_must_have_field, parse_ensure_have_field): Likewise.
* lib/parsehelp.c (parseerr): Split into ...
(parse_error_msg, parse_error, parse_warn): ... these. New functions.
Fix all callers.
(parsemustfield): Split into ...
(parse_must_have_field, parse_ensure_have_field): ... there. New
functions. Fix all callers.
* lib/fields.c (convert_string): Remove now unused warning related
arguments. Fix all callers.
(conffvalue_lastword): Likewise.
2008-06-29 Guillem Jover <>
* lib/ (libdpkg_a_SOURCES): Add 'string.c'.
* lib/dpkg-priv.h (str_escape_fmt): New prototype.
* lib/parsehelp.c: Include <dpkg-priv.h>.
(parseerr): Refactor string format escaping to ,,,
* lib/string.c (str_escape_fmt): ... here. New file.
2008-06-28 Guillem Jover <>
* lib/parsedump.h (parseerr, parsemustfield): Remove unused 'file'
argument. Fix all callers.
* lib/parsehelp.c (parseerr): Remove checks on 'file'.
2008-06-28 Tollef Fog Heen <>
* src/archives.c (tarobject): Refactor tarfile object skipping to ...
(tarfile_skip_one_forward): ... here. New function.
2008-06-28 Guillem Jover <>
* lib/dpkg-db.h (skip_slash_dotslash): Move declaration ...
* lib/dpkg-priv.h: ... here.
* lib/parsehelp.c (skip_slash_dotslash): Move definition ...
* lib/path.c: ... here.
* lib/fields.c: Include <dpkg-priv.h>.
* src/filesdb.c: Likewise.
2008-06-28 Guillem Jover <>
* lib/dpkg.h (onerr_abort): Move declaration to the ehandle.c section.
* lib/mlib.c (onerr_abort): Move definition ...
* lib/ehandle.c: ... here.
2008-06-28 Guillem Jover <>
* lib/mlib.c (checksubprocerr): Move the PROCNOERR check before
the reporting, and exit directly instead in case of error.
2008-06-28 Guillem Jover <>
* lib/ehandle.c (badusage): Use ohshit instead of its own error
2008-06-28 Guillem Jover <>
* src/query.c (printforhelp): Remove trailing newlines.
2008-06-27 Guillem Jover <>
* dpkg-deb/build.c (do_build): Move string translation markers outside
of the string.
* src/help.c (ensure_pathname_nonexisting): Localize the 'failed'
variable instead of expecting gettext to magically infer the formatted
* src/processarc.c (process_archive): Likewise.
2008-06-27 Raphaël Hertzog <>
* scripts/ Improve error message when the
info file doesn't exist.
2008-06-27 Raphaël Hertzog <>
* man/dpkg-query.1: Document the origin of the various fields and
warn that they are not always available.
2008-06-23 Raphaël Hertzog <>
* scripts/ New option --require-valid-signature.
* scripts/Dpkg/Source/ (check_signature): Updated to use
Dpkg::IPC and to implement the checks related to
* man/dpkg-source.1: Document the new option.
2008-06-23 Raphaël Hertzog <>
* scripts/Dpkg/ (fork_and_exec): New nocheck option that is
forwarded to wait_child().
2008-06-23 Timothy G Abbott <tabbott@MIT.EDU>
* scripts/ Add new option --listpackage to
* man/dpkg-divert.1: Document new option.
2008-06-22 Raphaël Hertzog <>
* man/dpkg.1, man/dpkg-query.1: Document the fact that the available
file is mostly useful for dselect users and that the related commands
are useless for APT users.
2008-06-22 Raphaël Hertzog <>
* man/dpkg-buildpackage.1: Document -A option.
2008-06-22 Raphaël Hertzog <>
* man/dpkg.1, man/dpkg-query.1: Clarify lisf of packages displayed
in dpkg --get-selections and dpkg-query -l.
2008-06-21 Raphaël Hertzog <>
* scripts/ If the binary analyzed is a library on a
non-public path, assume it's likely a plugin and reduce the number of
warnings displayed about symbols not found. Also use a different,
hopefully less confusing message.
* man/dpkg-shlibdeps.1: Document the above changes.
2008-06-21 Raphaël Hertzog <>
* scripts/Dpkg/ Provide simple parser for vendor-specific
information stored in /etc/dpkg/origins/. The current vendor can
be identified through get_current_vendor() and get_vendor_info()
retrieves the information stores within those files.
* scripts/ Setup the DEB_VENDOR environment
variable if possible.
* man/dpkg-buildpackage.1: Document the above changes.
* scripts/Dpkg/Source/Package/V3/ (get_series_file): Use
get_current_vendor() to decide the name of the vendor-specific
series file that should be used.
* scripts/, scripts/po/ Include the new
module in the dist tarball and in the list of files containing
translatable strings.
2008-06-19 Guillem Jover <>
* lib/varbuf.c (varbufdupc): Store the old used size instead of the
precomputed address, as varbufextend might change the buffer from
under us.
2008-06-17 Guillem Jover <>
* scripts/ Do not silently force --rename on --remove.
2008-06-17 Juergen Kreileder <>,
Guillem Jover <>
* scripts/ (rename_mv): New function.
(dorename): Use rename_mv instead of rename.
2008-06-10 Guillem Jover <>
* lib/varbuf.c (varbufvprintf): Call va_end when done with the va_list
variable from va_copy.
2008-06-10 Guillem Jover <>
* lib/varbuf.c (varbufprintf): Use varbufvprintf instead of
reimplementing it.
2008-06-09 Raphaël Hertzog <>
* scripts/Dpkg/ (parse, set): Use space as the
official separator in DEB_BUILD_OPTIONS. Check for validity of
flags and print a warning if a bad option is detected. Rewrote
the logic of set() to avoid adding options twice in non-overwrite
* scripts/t/300_Dpkg_BuildOptions.t: Adjust the test suite
2008-06-09 Guillem Jover <>
* scripts/Dpkg/Source/ ($diff_ignore_default_regexp): Add
(@tar_ignore_default_pattern): Likewise.
2008-06-09 Guillem Jover <>
* src/query.c (searchfiles): Use VARBUF_INIT to initialize path
instead of vb.
2008-06-04 Guillem Jover <>
* src/main.c (setpipe): Set file descriptors to close on exec.
2008-06-04 Guillem Jover <>
* dpkg-deb/build.c (getfi): Use m_realloc instead of realloc.
* dpkg-deb/info.c (info_spew): Likewise.
* lib/fields.c (f_dependency): Likewise.
* lib/parse.c (parsedb): Likewise.
* lib/varbuf.c (varbufextend): Likewise.
* src/main.c (commandfd): Likewise.
2008-06-04 Guillem Jover <>
* lib/dpkg-db.h (varbufinit): Add a size argument, fix all callers.
(varbuf::init): Add an optional size argument.
(varbuf::varbuf): Likewise.
* lib/varbuf.c (varbufinit): Allocate a buffer if size is not zero.
* lib/dbmodify.c (modstatdb_init): Use varbufinit instead of its
own initialization.
2008-06-04 Guillem Jover <>
* lib/dpkg-db.h (VARBUF_INIT): New macro.
* lib/compression.c (decompress_cat, compress_cat): Use VARBUF_INIT
instead of varbufinit to initialize the variables.
* lib/dump.c (writerecord, writedb): Likewise.
* lib/mlib.c (buffer_copy_setup_dual): Likewise.
* lib/showpkg.c (show1package): Likewise.
* src/archives.c (check_breaks, check_conflict): Likewise.
* src/configure.c (deferred_configure): Likewise.
* src/depcon.c (describedepcon): Likewise.
* src/main.c (commandfd): Likewise.
* src/packages.c (breaks_check_one, dependencies_ok): Likewise.
* src/query.c (searchfiles): Likewise.
* src/remove.c (deferred_remove): Likewise.
* src/select.c (setselections): Likewise.
2008-06-04 Guillem Jover <>
* src/archives.c (archivefiles): Use varbufreset instead of varbufinit
to avoid possible leaks if this function is called more than once.
2008-06-04 Guillem Jover <>
* lib/log.c (log_message): Switch log from a pointer to struct varbuf
to just struct varbuf.
2008-06-04 Guillem Jover <>
* src/main.c (setpipe): Fix the setting of more than one pipef.
2008-06-04 Guillem Jover <>
* src/select.c (setselections): Free varbuf variables.
2008-06-04 Guillem Jover <>
* lib/subproc.c (catch_signals): Remove array sentinel.
2008-06-01 Guillem Jover <>
* lib/varbuf.c (varbufdupc): Use memset instead of ad-hoc operation.
2008-06-01 Guillem Jover <>
* lib/subproc.c (setup_subproc_signals): Use size_t intead of int
for the index, to fix a warning.
(cu_subproc_signals): Likewise.
2008-06-01 Guillem Jover <>
* src/query.c (searchfiles): Use strpbrk instead of strcspn and
2008-06-01 Guillem Jover <>
* src/query.c: Include <dpkg-priv.h>.
(searchfiles): Trim trailing '/' and '/.' from file searches only
on path names, but not patterns.
2008-06-01 Guillem Jover <>
* lib/dpkg-priv.h (rtrim_slash_slashdot): Return the string size.
2008-06-01 Raphaël Hertzog <>
* scripts/Dpkg/ (parse, parse_fh, new): Add a new function
parse_fh() to be able to parse the control file from an arbitrary
file handle. Change parse() to use it and modify new() to parse
STDIN instead of a real file if the parameter is "-".
2008-06-01 Daniel Hahler <>
* src/archives.c (tarobject): Improve error message stating that
dpkg is unable to create a file so that it also refers to the real
filename instead of the non-diverted name only.
2008-05-31 Raphaël Hertzog <>
* man/dpkg.1: Use the term conffile for a configuration file handled
by dpkg. Drop reference to hamm. Updated description of values
supported by -D to include those which are trigger related.
2008-05-29 Colin Watson <>
* lib/dbmodify.c (modstatdb_note): Add a comment around obscure bits
of trigger handling code.
* src/trigproc.c (trigproc): Likewise.
2008-05-29 Colin Watson <>
* lib/triglib.c (trig_incorporate): Fix typo in comment.
2008-05-24 Guillem Jover <>
* dpkg-deb/build.c (do_build): Move argument name into a parameter to
coalesce similar strings for translation.
* dpkg-split/info.c (do_info): Likewise.
* dpkg-split/join.c (do_join): Likewise.
* dpkg-split/queue.c (do_queue): Likewise.
* src/enquiry.c (audit, unpackchk, assertversion, predeppackage)
(printarch): Likewise.
* src/select.c (setselections, clearselections): Likewise.
2008-05-24 Guillem Jover <>
* dpkg-deb/main.c: Include <dpkg-priv.h>.
(setaction): Use sizeof_array instead of ad-hoc calculation.
* dpkg-split/main.c: Include <dpkg-priv.h>.
(setaction): Use sizeof_array instead of ad-hoc calculation.
2008-05-24 Guillem Jover <>
* src/trigcmd.c (main): Remove duplicate program name from badusage.
2008-05-19 Martin Koeppe <>,
Guillem Jover <>
* dpkg-deb/ (dpkg_deb_LDADD): Move 'libcompat.a' and
'$(LIBINTL)' after 'libdpkg.a'.
* dpkg-split/ (dpkg_split_LDADD): Likewise.
* dselect/ (dselect_LDADD): Likewise.
* /src/ (dpkg_LDADD): Likewise.
(dpkg_query_LDADD): Likewise.
(dpkg_trigger_LDADD): Likewise.
2008-05-19 Guillem Jover <>
* scripts/Dpkg/Source/ ($diff_ignore_default_regexp): Add
(@tar_ignore_default_pattern): Likewise.
2008-05-12 Guillem Jover <>
* scripts/ ($package_type): Rename to ...
($pkg_type): ... this, for uniformity.
2008-05-12 Guillem Jover <>
* src/help.c (do_script): Expand 'maint' to 'maintainer' in string.
(vmaintainer_script_installed): Mark string for translation. Change
strings so that they get merged by gettext with similar ones.
(maintainer_script_new): Likewise.
2008-05-12 Guillem Jover <>
* lib/dpkg-priv.h (sizeof_array): New macro.
* lib/parse.c: Include <dpkg-priv.h>.
(NFIELDS): Remove macro.
(nfields): Use sizeof_array instead of NFIELDS.
(parsedb): Likewise.
* lib/subproc.c (NCATCHSIGNALS): Remove macro.
(uncatch_signals): Use sizeof_array instead of NCATCHSIGNALS.
(setup_subproc_signals): Likewise.
(cu_subproc_signals): Likewise.
2008-05-12 Guillem Jover <>
* dselect/ Include <dpkg-priv.h>. Use setup_subproc_signals
and cu_subproc_signals instead of cu_restoresignals and duped code
in falliblesubprocess.
* lib/ (libdpkg_a_SOURCES): Add 'subproc.c'.
* ib/dpkg-priv.h (setup_subproc_signals): New prototype.
(cu_subproc_signals): Likewise.
* src/help.c: Include <dpkg-priv.h> and stop including <signal.h>.
(cu_restorescriptsignals, script_catchsignals): Move to ...
* lib/subproc.c (cu_subproc_signals, setup_subproc_signals): ... here.
New file.
2008-05-12 Guillem Jover <>
* lib/ (libdpkg_a_SOURCES): Add 'dpkg-priv.h' and 'path.c'.
* lib/dpkg-priv.h: New file.
* lib/path.c: Likewise.
2008-05-11 Raphaël Hertzog <>
* man/dpkg-source.1: Properly escape hyphen in -i option.
2008-05-11 Pierre Habouzit <>
* lib/showpkg.c (show1package): Use %zd instead of %d in sprintf()
call with a size_t parameter.
2008-05-11 Pierre Habouzit <>
* scripts/ Add a --query option that works
like --display but outputs a machine parseable rfc822-like output.
* man/update-alternatives.8: Document that new option, and the
associated format.
2008-05-05 Raphaël Hertzog <>
* man/dpkg-source.1: Improve explanation of -i when used with
VCS-based source packages.
2008-05-05 Raphaël Hertzog <>
* scripts/ Do not accept empty parameters for
-v, -P and -e.
2008-05-05 Raphaël Hertzog <>
* scripts/ Include the format of the desired
library in the "library not found" error message.
2008-05-02 Guillem Jover <>
* scripts/ Do not suggest manually changing
the alternative symlinks on verbose mode.
2008-04-29 Guillem Jover <>
* Bump version to 1.15.0~.
2008-08-26 Guillem Jover <>
* Release 1.14.21.
2008-08-26 Guillem Jover <>
* man/dpkg.1: Escape hyphen in apt-get command.
2008-08-17 Guillem Jover <>
* man/dpkg.1: Change reference to dselect as being the preferred
fron-end to aptitude. And 'apt-get dselect-upgrade' to be used to
act on the current package selections. Add references to aptitude
and apt man pages in 'SEE ALSO'.
2008-08-16 Guillem Jover <>
* src/main.c (setpipe): Set file descriptors to close on exec.
2008-08-15 Guillem Jover <>
* scripts/ (usage): Fix description of -si option.
* man/dpkg-buildpackage.1: Match description of -si option with the
one from dpkg-genchanges.1.
2008-08-15 Raphaël Hertzog <>
* Dpkg/Source/ (new): Call init_options() only if
initialize() has been called as it's supposed to be called
only after the object has been upgraded to its target type.
(init_options): add a comment that explains that this function is
not called by Dpkg::Source::Package::V1::init_options() and
render the function more robust.
2008-08-15 Ian Jackson <>
* src/packages.c (process_queue): When onerr_abort is bigger than 0
return instead of breaking out of the loop, to avoid wrongly
asserting that !queue.length.
2008-08-15 Guillem Jover <>
* lib/dbmodify.c (modstatdb_note): Do not call modstatdb_note_core if
cstatus does not allow writting. Move the core functionallity to ...
(modstatdb_note_core): ... here. New function.
* src/help.c (post_postinst_tasks_core): Do not call trig_incorporate
if running under --no-act.
* src/trigproc.c (trigproc): Do not call maintainer_script_postinst
if running under --no-act.
(trig_transitional_activate): Do not call trig_file_interests_save
if cstatus does not allow writting.
2008-08-15 Guillem Jover <>
* lib/dpkg-db.h (trig_enqueue_awaited_pend): New function prototype.
(trig_fixup_awaiters): Likewise.
* lib/dbmodify.c (modstatdb_init): Call trig_fixup_awaiters.
* lib/fields.c (f_trigaw): Call trig_enqueue_awaited_pend.
* lib/triglib.c (struct pkg_list): New type.
(trig_awaited_pend_head): New variable.
(trig_enqueue_awaited_pend): New function definition.
(trig_fixup_awaiters): Likewise.
2008-06-24 Raphaël Hertzog <>
* debian/archtable: Add armel.
2008-06-21 Raphaël Hertzog <>
* scripts/, scripts/ Treat
debian.tar.gz files (used by 3.0 (quilt) source packages) like
diff.gz files when it comes to detection of the kind of upload.
2008-06-21 Raphaël Hertzog <>
* scripts/Dpkg/Source/Package/V3/ Define QUILT_SERIES
when running quilt in order to be able to use quilt series with
non-standard names (like debian.series or ubuntu.series).
2008-06-18 Raphaël Hertzog <>
* Bump version to 1.14.21~.
2008-06-18 Raphaël Hertzog <>
* Release 1.14.20.
2008-06-16 Guillem Jover <>
* lib/triglib.c (trig_file_interests_ensure): Pass the proper mask
to push_cleanup to make sure pop_cleanup closes the file.
2008-06-15 Guillem Jover <>
* scripts/ (checkrename): Do not check the target file
if the source does not exist and dorename was thus disabled.
2008-06-09 Raphaël Hertzog <>
* scripts/, scripts/,
scripts/, scripts/ Set
PERL_DL_NONLAZY to 1 so that the usage of Locale::Gettext doesn't
cause run-time failures when this perl binary module is not
compiled for the corresponding perl version (and this happens in
configuration scripts, in particular preinst, during upgrades).
2008-06-08 Raphaël Hertzog <>
* scripts/Dpkg/Source/ (analyze): Be less strict in
filenames accepted on ---/+++ lines. Don't blow up on absolute
filenames if the other one is fine. Make sure to use the one that
is relative and that corresponds to a real file when possible.
2008-06-08 Raphaël Hertzog <>
* scripts/Dpkg/Source/Package/V3/ Use absolute path names
when giving directories and filenames to quilt to avoid any
problems due to quilt's feature of trying relative paths in parent
directories too.
2008-06-07 Raphaël Hertzog <>
* scripts/Dpkg/Source/ (analyze): Accept unexpected
end-of-file in patches if we're missing no more than 2 lines
of context. Output a warning instead.
2008-06-07 Raphaël Hertzog <>
* scripts/Dpkg/Source/Package/V3/ (register_autopatch):
Register the newly created patch with quilt only if quilt has
already been used to apply the existing patches (or if we don't
have any patch yet), otherwise register it manually at the end of
the series.
2008-06-05 Raphaël Hertzog <>
* scripts/Dpkg/Source/ (add_diff_directory): If option
use_dev_null is set, then the label of the "old" file will be
'/dev/null' if we're creating a new file (instead of using the
name of the created file, like it's currently done in .diff
of version "1.0" source packages).
* scripts/Dpkg/Source/Package/ (prepare_build): Use the new
option "use_dev_null" when creating the automatic patch.
2008-06-05 Raphaël Hertzog <>
* scripts/Dpkg/Source/Package/V3/ (get_patches): Really
skip all comments in the series files.
2008-06-04 Raphaël Hertzog <>
* scripts/Dpkg/Source/ (analyze): Enhance function to
parse correctly many more patches that are accepted by the patch
utility itself:
- ignore/strip carriage return of patches with Windows end of lines
- accept empty lines as contextual lines (instead of the expected " ")
- accept spaces as separator between filename and timestamp if
there's no tab
- accept a name that differs on the +++ line if the name in --- is
correct, and use the name in +++ if this one exists while the one
on --- doesn't.
2008-05-28 Raphaël Hertzog <>
* scripts/Dpkg/Source/ (extract): If we extract a
source package that uses a non-standard (!= 1.0) source package
then we create debian/source/format to remember it.
* scripts/ Use debian/source/format as a new source
of format to try when building the package. Prioritize it lower than
command line and debian/control but higher than the default build
* man/dpkg-source.1: Document the above changes.
2008-05-28 Raphaël Hertzog <>
* scripts/Dpkg/Source/Package/V3/ Factorize calls to
quilt in a new run_quilt() function. And check only once
if quilt is available while setting the default value of
without_quilt option. Last but not least, register properly the
automatically generated patch with quilt import.
2008-05-28 Raphaël Hertzog <>
* scripts/Dpkg/Source/ (check_apply): New function to
verify if a patch will successfully apply on top of a given
* scripts/Dpkg/Source/Package/V3/ (check_patches_applied):
Don't trust debian/patches/.dpkg-source-applied blindly. Get a
list of (supposedly unapplied) patches and verify if the first
patch applies or not. If yes, then apply the patch series,
otherwise do not (and assume that the patch series is already
2008-05-26 Helge Kreutzmann <>
* man/dselect.1: Fixed a typo and regenerated all po(t) files,
including updating the German one.
2008-05-23 Raphaël Hertzog <>
* scripts/Dpkg/Source/Package/ (do_build): Display a
message when local modifications are stored in a new
automatic patch. This messages includes a list of
modified files.
2008-05-23 Raphaël Hertzog <>
* scripts/Dpkg/Source/Package/V3/ Remove the .diff
from the name of the automatically generated patch. It will
facilitate the switch to this format: packages using
patch system that apply debian/patches/*.{patch,diff}
will not be bothered by the presence of the quilt serie
created by dpkg-source itself.
* man/dpkg-source.1: Update the documentation accordingly.
2008-05-22 Raphaël Hertzog <>
* scripts/Dpkg/Source/Package/V3/ Add missing "use
File::Path" for mkpath().
2008-05-13 Guillem Jover <>
* src/main.c (setforce): Add help output for '--force-breaks'.
2008-05-13 Sven Joachim <>
* man/dpkg.1: Document triggers --debug values.
2008-05-13 Guillem Jover <>
* man/deb-version.5: Change '©' to '(C)'.
2008-05-12 Guillem Jover <>
* Bump version to 1.14.20~.
2008-05-12 Guillem Jover <>
* Release 1.14.19.
2008-05-12 Guillem Jover <>
* scripts/ Get Package-Type field value also from
custom field.
2008-05-11 Raphaël Hertzog <>
* src/processarc.c (process_archive): While removing files that
disappeared, move the call to namenodetouse before the test
that skips directory shared with other packages. This is required
because namenodetouse() handles trigger activation and we really
want directories containing (only) removed files to activate the
corresponding triggers.
2008-05-08 Raphaël Hertzog <>
* scripts/Dpkg/Source/Package/,
scripts/Dpkg/Source/Package/V3/ Ensure the
.dpkg-source-applied stamp file is created when an automatic patch
is created so that a second build doesn't try to mistakenly
reapply it.
2008-05-08 Raphaël Hertzog <>
* scripts/Dpkg/Source/ (is_binary): New function
to check if a file is binary by using diff against it.
* scripts/Dpkg/Source/Package/ Check that all files from the
debian sub-directory are non-binary and only allow whitelisted
binary files.
* man/dpkg-source.1: Document this behaviour.
2008-05-08 Raphaël Hertzog <>
* scripts/Dpkg/Changelog/ (parse): Bugfix in creation of
an unexpected new changelog entry that lacks an header line.
2008-05-04 Marco d'Itri <>
* scripts/Dpkg/Source/ Add missing import of internerr.
2008-04-26 Raphaël Hertzog <>
* scripts/Dpkg/Source/ (upgrade_object_type): Instead
of using the full Format: version to deduce the perl object name
use only the major part of the version. The minor part is under
control of the corresponding object, that way they can evolve
and indicate that the source package has changed in a backwards
compatible way. See
Also add a new parameter to disable update of the minor version in
the Format field.
(initialize): Don't let the Format field be updated by
upgrade_object_type() as this function only loads information from
the .dsc into the object.
* scripts/Dpkg/Source/Package/**: Rename into, into and V3_0/ into V3/. Fix perl package names
accordingly. Integrated a $CURRENT_MINOR_VERSION set to "0"
in all packages.
* scripts/, scripts/po/ Update the lists
according to above file renames.
2008-04-25 Raphaël Hertzog <>
* scripts/Dpkg/Source/Package/V3_0/ Parse correctly
series files with patch options and warn if something else than
-p1 is used.
* man/dpkg-source.1: Document how dpkg-source handles those patch
options in series files.
2008-04-25 Raphaël Hertzog <>
* scripts/Dpkg/Source/Package/V3_0/ Fix permissions of
generated tarball to "666 & ~umask()".
2008-04-21 Helge Kreutzmann <>
* man/dpkg-shlibdeps.1: Fix a typo.
* man/dpkg-source.1: Improve a sentence (with agreement from Raphäel).
2008-04-14 Raphaël Hertzog <>
* scripts/Dpkg/ (find_custom_field, get_custom_field):
New function to handle custom fields (X[SBC]*-*).
* scripts/ Use Package-Type control field to
decide if a package is an udeb instead of relying on the file
extension of a generated package since that doesn't work when
generating source-only uploads for example.
2008-04-14 Raphaël Hertzog <>
* scripts/Dpkg/Source/ (_fail_not_same_type): Fix
inversion between new/old filetype.
2008-04-12 Raphaël Hertzog <>
* scripts/Dpkg/ (check_files_are_the_same): Add a new
parameter so that we can use stat() instead of lstat() and
compare if pointed files are the same.
* scripts/Dpkg/Source/ Resolve symlinks before deciding
if both original tarballs are the same or not. Use the new
parameter of check_files_are_the_same() for this.
* scripts/Dpkg/Source/Package/ Remove useless import of
2008-04-12 Sven Joachim <>
* scripts/Dpkg/Source/ Add missing import of
2008-04-12 Russell Coker <>,
Guillem Jover <>
* src/archives.c (tarobject): Set scontext to NULL after freecon.
2008-04-10 Sven Joachim <>
* src/trigcmd.c: Fix typo.
2008-04-09 Sven Joachim <>
* THANKS: Update my e-mail address.
2008-04-09 Helge Kreutzmann <>
* man/deb-triggers.5: Fix typos.
* man/dpkg-trigger.1: Likewise.
2008-04-08 Guillem Jover <>
* Bump version to 1.14.19~.
2008-04-08 Guillem Jover <>
* Release 1.14.18.
2008-04-08 Guillem Jover <>
* doc/triggers.txt: Fix wrong dpkg trigger related option names.
2008-04-08 Guillem Jover <>
* doc/triggers.txt: Move parts of the document into proper man pages.
Add references to those.
2008-04-08 Guillem Jover <>
* man/dpkg.1: Document new trigger statuses, and new --triggers-only,
--no-triggers and --triggers options.
* man/deb-triggers.5: New file.
* man/dpkg-trigger.1: Likewise.
* man/ (dist_man_MANS): Likewise.
2008-04-08 Guillem Jover <>
* man/dpkg.1: Sort package states.
2008-04-05 Raphaël Hertzog <>
* scripts/Dpkg/Source/Package/ Do not use
diff -p to generate patches as dpkg-source of sarge doesn't accept
data after the @@.
2008-04-04 Raphaël Hertzog <>
* scripts/Dpkg/Shlibs/ (get_smallest_version): New
function to retrieve the smallest "minver" of all symbols of a
given library.
* scripts/ Do not initialize dependencies of
libraries with symbols files as unversioned, instead use the
smallest minimal version returned by the function above. This
is required because the library might not have always been
available in the package and the unversioned dependency thus
doesn't ensure his presence.
* scripts/t/800_Dpkg_IPC.t: Remove temporary files used by the
2008-04-03 Peter Karlsson <>
* man/dpkg-source.1: Corrected English.
2008-04-02 Sven Joachim <>
* lib/triglib.c (trk_unknown_interest_change): Fix typo.
* dselect/ (hlp_displayexplain1): Ditto.
2008-04-02 Raphaël Hertzog <>
* scripts/Dpkg/Source/, scripts/
Explicitly put Checksums-* fields before the Files field so that
the Files field is last. This is a work-around for some braindead
dsc parsers (dupload and sbuild for instance, see #473518 and
2008-04-01 Raphaël Hertzog <>
* scripts/Dpkg/Source/Package/ Add the option
--skip-patches to not apply patches at the end of the source
package extraction. Also works for Format: 3.0 (quilt).
* man/dpkg-source.1: Document the above change.
2008-04-01 Raphaël Hertzog <>
* scripts/Dpkg/Source/Package/ (do_extract): Create
debian/patches/.dpkg-source-applied containing the list of patches
applied during extraction.
(prepare_build): apply patches before trying to build a source package
when it's clear that they have not been applied because
debian/patches/.dpkg-source-applied doesn't exist.
* scripts/Dpkg/Source/Package/V3_0/ Likewise. If a .pc
directory is present, then use "quilt unapplied" to check if all
patches have been applied.
* man/dpkg-source.1: Document the above changes.
2008-04-01 Raphaël Hertzog <>
* scripts/Dpkg/ (fork_and_exec): Handle redirection
of STDERR with new options error_to_{file,pipe,string,handle}.
2008-04-01 Guillem Jover <>
* lib/trigdeferred.l (trigdef_update_start): Use TRIGGERSLOCKFILE
instead of literal string.
2008-04-01 Guillem Jover <>
* src/enquiry.c (badstatinfos): Fix typos (processesing -> processing).
2008-03-30 Raphaël Hertzog <>
* man/dpkg-source.1: Make it clear that Format: 2.0 is not really
meant to be widely used by moving all the explanations in the
section describing the format "3.0 (quilt)".
2008-03-30 Guillem Jover <>
* Bump version to 1.14.18~.
2008-03-30 Guillem Jover <>
* Release 1.14.17.
2008-03-30 Guillem Jover <>
* dselect/ Use <ncursesw/term.h> instead of <term.h>.
* dselect/dselect.h: Use <ncursesw/curses.h> instead of <curses.h>.
* dselect/ (curkeys.h): Likewise.
2008-03-30 Guillem Jover <>
* po/ Add 'lib/cleanup.c', 'lib/log.c', 'lib/myopt-util.c'
and remove 'lib/showcright.c'.
* scripts/ (EXTRA_DIST): Add
2008-03-30 Ian Jackson <>,
Guillem Jover <>
* doc/triggers.txt: New file.
* lib/dlist.h: Likewise.
* lib/trigdeferred.l: Likewise.
* lib/triglib.c: Likewise.
* src/trigcmd.c: Likewise.
* src/trigproc.c: Likewise.
* (EXTRA_DIST): Add 'doc/triggers.txt'.
* po/ Add 'lib/trigdeferred.c', 'lib/triglib.c',
'src/trigcmd.c' and 'src/trigproc.c'.
* dselect/ (hlp_displayexplain1): Document the new trigger
* dselect/ (packagelist::useavailable): Treat the trigger
statuses in the same way as installed status.
(packagelist::deppossatisfied): Likewise.
* dselect/ (statusstrings): Add trigger statuses
(statuschars): Likewise.
* dselect/ (packagelist::ensurestatsortinfo): Mark trigger
status as broken.
* lib/.gitignore: Add 'trigdeferred.c'.
* lib/ (libdpkg_a_SOURCES): Add 'dlist.h', 'triglib.c' and
* lib/database.c (blankpackage): Initialize trigaw.head, trigaw.tail,
othertrigaw_head and trigpend_head members.
* lib/dbmodify.c (triggersdir, triggersfilefile): New variables.
(triggersnewfilefile): Likewise.
(fnis): Add 'TRIGGERSDIR', 'TRIGGERSDIR "/File"' and
'TIGGERSDIR "/"' entries.
(modstatdb_init): Incorporate triggers.
(modstatdb_note): Reset trigpend_head if status is not a trigger one.
Remove awaited triggers if status is <= than configfiles. Clear
* lib/dpkg-db.h (struct trigpend, struct trigaw): New types.
(enum trigdef_updateflags, struct trigdefmeths): Likewise.
(struct trigfileint, struct trig_hooks): Likewise.
(enum pkgstatus): Add stat_triggersawaited and stat_triggerspending.
(struct pkginfo): Add new trigaw, othertrigaw_head and trigpend_head
(triggersdir, triggersfilefile, triggersnewfilefile): New variables.
(trigdef, trig_new_deferred, trigh): Likewise.
(trigdef_update_start, trigdef_yylex, trigdef_process_done): New
functions prototypes.
(trig_note_pend_core, trig_note_pend, trig_note_aw): Likewise.
(trig_clear_awaiters, trig_incorporate): Likewise.
(trig_file_activate_byname, trig_file_activate): Likewise.
(trig_file_interests_ensure, trig_file_interests_save): Likewise.
(trig_cicb_interest_delete, trig_cicb_interest_add): Likewise.
(trig_cicb_statuschange_activate, trig_parse_ci): Likewise.
(illegal_triggername): Likewise.
(trig_parse_cicb): New function typedef.
(MAXUPDATES): Set to 250.
* lib/dump.c (w_configversion): Do not write the field if on trigger
statuses either.
(w_status): Abort on unknown status. Assert the presence or not
of awaited and pending triggers depending on the status.
(w_trigpend, w_trigaw): New functions.
* lib/fields.c (scan_word, f_trigpend, f_trigaw): Likewise.
* lib/parse.c: Include <assert.h>.
(fieldinfos): Add 'Triggers-Pending' and 'Triggers-Awaited' fields.
(parsedb): Add new variable aw. Check for consistency between the
triggers lists and the status. Initialize trigpend_head and trigaw.
* lib/parsedump.h (f_trigpend, f_trigaw, w_trigpend, w_trigaw): New
function prototypes.
* lib/parsehelp.c (statusinfos): Add 'triggers-awaited' and
* src/ (bin_PROGRAMS): Add 'dpkg-trigger'.
(dpkg_SOURCES): Add 'trigproc.c'.
(dpkg_trigger_SOURCES, dpkg_trigger_LDADD): New variables.
* src/archives.c (check_conflict): Treat trigger statuses the same way
as installed.
(archivefiles): Install trigger hooks. Make act_triggers perform
process_queue. Do a deferred triggers process run.
(wanttoinstall): Treat trigger statuses the same way as installed.
Remove duped check about package being installed on forced
* src/configure.c (deferred_configure): Activate file triggers on
conffile changes.
* src/depcon.c (depisok): Treat trigger statuses the same way as
installed for the dependency and for breaks or conflicts. For depends,
predepends, recommends and suggests treat triggerspending as installed
and triggersawaited as halfconfigured.
* src/enquiry.c (badstatinfos): Add stat_triggerspending and
stat_triggersawaited entries.
(yettobeunpacked): Treat trigger statuses as unpacked.
(assertversion): Treat triggerspending the same way as installed,
and triggersawaited as not fully installed.
* src/filesdb.h (enum fnnflags): Add new fnn_nonew item.
(struct filenamenode): Add new trig_interested member.
* src/filesdb.c (ensure_package_clientdata): Initialize
(findnamenode): Return NULL if flags has fnn_nonew and there is no
match before creating a new one. Initialize trig_interested when
creating a newnode.
* src/help.c (statusstrings): Add trigger statuses descriptions.
(namenodetouse): Activate a file trigger before returning.
(post_postinst_tasks): Initialize trigpend_head to NULL. Set status
to stat_triggersawaited if trigaw.head otherwise to new_status.
Call post_postinst_tasks_core. Move call to modstatdb_note to ...
(post_postinst_tasks_core): ... here. New function. Incorporate
(post_script_tasks): Incorportate triggers.
environment variables.
* src/main.h (struct perpackagestate): Add new trigprocdeferred
(enum action): Add new act_triggers item.
(f_triggers): New variable definition.
(namenodetouse): Add a comment about its new side effects.
(post_postinst_tasks_core): Likewise. New prototype.
(enum debugflags): Add dbg_triggers, dbg_triggersdetail and
dbg_triggersstupid items.
(trigproc_install_hooks, trigproc_run_deferred): New protoypes.
(trigproc_reset_cycle, trigproc): Likewise.
(trig_activate_packageprocessing): Likewise.
* src/main.c (usage): Document '--triggers-only' and
(f_triggers): New variable declaration
(setdebug): Document new triggers debug flags.
(cmdinfos): Add triggers-only, triggers and no-triggers entries.
(main): Disable f_triggers when --triggers-only has been specified.
* src/packages.c (progress_bytrigproc): New variable.
(packages): Install trigger hooks. On act_configure skip the package
also if trigpend_head is not valid. Handle act_triggers. Do a
deferred triggers process run.
(process_queue): New action_todo variable. Set the same value for
istobe as on act_triggers as for act_configure. Print the same message
when erasing the queue entry on act_triggers as for act_configure.
Add packages which can be fixed by means of processing their triggers
to the queue and set the action to act_configure. On act_triggers
ohshit if trigpend_head is NULL, otherwise fall through to
act_install. On act_configure call trigproc if there's pending
triggers or call deferred_configure.
(deppossi_ok_found): Add a new fixbytrig argument, fix all callers.
Treat trigger statuses the same way as installed. Handle dependee
trigger statuses.
(dependencies_ok): Handle packages which can be fixed by means of
processing their triggers.
* src/processarc.c (process_archive): Ensure file triggers intersts.
Activate trigger package processsing. Parse package triggers control
file before reading the conffiles. Treat trigger statuses the same
way as installed. Activate trigger package processing for the package
being deconfigured and for conflictors. Parse package control file
to delete the package and parse it again to re-add it and then save
the file triggers interests. Activate trigger package processing for
disappearing packages.
* src/query.c (list1package): Add trigger statuses to the listing
header and to the one letter statuses.
* src/remove.c (checkforremoval): Treat trigger statuses in the same
way as installed.
(deferred_remove): Activate trigger package processing. Operate on
packages with halfconfigured or higher status.
(removal_bulk_remove_configfiles): Activate trigger package processing.
2008-03-28 Ian Jackson <>
* src/packages.c (deppossi_ok_found): Refactor returning code.
2008-03-28 Ian Jackson <>
* src/depcon.c (depisok): Improve whynot message by stating when a
package is installed with 'is present'.
2008-03-28 Ian Jackson <>
* src/help.c (cu_post_script_tasks): New function.
(do_script): Install cu_post_script_tasks as a cleanup handler.
(maintainer_script_alternative): Call post_script_tasks if the
first do_script invokation fails instead of it succeeding.
2008-03-28 Ian Jackson <>,
Guillem Jover <>
* src/main.h (maintainer_script_postinst): New prototype.
* src/help.c (post_script_tasks): New function.
(maintainer_script_installed): Renamed to ...
(vmaintainer_script_installed): ... this. Dot not call
(maintainer_script_installed): New function.
(maintainer_script_postinst): Likewise.
(maintainer_script_new): Call post_script_tasks instead of directly
calling ensure_diversions.
(maintainer_script_alternative): Likewise.
* src/cleanup.c (cu_prermupgrade): Use maintainer_script_postinst
instead of maintainer_script_installed.
(cu_prermdeconfigure): Likewise.
(cu_prerminfavour): Likewise.
(cu_prermremove): Likewise.
(deferred_configure): Likewise.
* src/configure.c (deferred_configure): Likewise.
2008-03-28 Ian Jackson <>,
Guillem Jover <>
* src/main.h (post_postinst_tasks): New prototype.
* src/help.c (post_postinst_tasks): New function.
* src/cleanup.c (cu_prermupgrade): Use post_postinst_tasks instead of
duplicate code.
(cu_prermdeconfigure): Likewise.
(cu_prerminfavour): Likewise.
(cu_prermremove): Likewise.
* src/configure.c (deferred_configure): Likewise.
2008-03-28 Guillem Jover <>
* src/packages.c (process_queue): Fix typo in comment.
2008-03-28 Ian Jackson <>
* src/help.c (statusstrings): Improve Breaks message by saying that
it can be in that status due to a failed installation.
2008-03-29 Raphaël Hertzog <>
* scripts/ If the user request a cross-compilation,
then define PKG_CONFIG_LIBDIR so that it will look in directories
specidic to the target architecture.
* man/dpkg-buildpackage.1: Document this change and also the -t option.
2008-03-28 Raphaël Hertzog <>
* scripts/ LDFLAGS now defaults to an empty
value instead of "-Wl,-Bsymbolic-functions". The latter can break
some libraries at run-time and such a change is best done
at the beginning of a release cycle.
2008-03-28 Raphaël Hertzog <>
* man/dpkg-source.1: Move a paragraph at its right place and some
other presentation fixes.
2008-03-27 Raphaël Hertzog <>
* scripts/Dpkg/ Support cross-compilation by adding
directories containing libraries for the architecture that is
being crossbuilt.
2008-03-27 Raphaël Hertzog <>
Frank Lichtenheld <>
Joey Hess <>
Colin Watson <>
* Merge branch 'sourcev3'. It contains an extensive refactoring of
dpkg-source around many new modules in scripts/Dpkg/Source/.
General purpose changes:
* scripts/Dpkg/ New module offering fork_and_exec() to
conveniently execute any program in a child process. It hides
all the error checking and lets you easily redirect input and
output streams.
* scripts/t/800_Dpkg_IPC.t: Non-regression tests for the module
* scripts/Dpkg/ New module to register functions
that would be called if the process was interrupted by a signal.
Useful to cleanup temporary files if we're interrupted while doing
some heavy I/O operation (as dpkg-source can do).
* scripts/Dpkg/ (info, errormsg): info() reports
informational notices on STDOUT and errormsg() displays an error
message on STDERR without dying. Use it only when you will die
later on but want to display all errors before doing so.
* scripts/ Heavy rewrite/refactoring based on
all the modules listed below.
* man/dpkg-source.1: Update the manual page to document all the
source package formats and the associated options.
Dpkg::Source::* infrastructural modules:
* scripts/Dpkg/Source/ Compress and uncompress a
stream of data.
* scripts/Dpkg/Source/ Base class used to
provide on-the-fly compression and decompression of any file.
Dpkg::Source::Archive and Dpkg::Source::Patch inherit from it.
* scripts/Dpkg/Source/ Create and manipulate tar files.
* scripts/Dpkg/Source/ Create and manipulate patch files.
* scripts/Dpkg/Source/ Misc helper functions.
erasedir() removes recursively a directory in a safe manner.
fixperms() make sure the permissions of all files in a tree
are sane.
Source package formats:
* scripts/Dpkg/Source/ Base class implementing the
functions common to all source package formats.
* scripts/Dpkg/Source/Package/ Implement the actual
"Format: 1.0" source package format.
* scripts/Dpkg/Source/Package/ Implement the wig&pen
format as specified in
* scripts/Dpkg/Source/Package/V3_0/ Native source
packages (single tarball) that supports all compressions
methods. Compatible with "Format: 1.0" if gzip compression is
* scripts/Dpkg/Source/Package/V3_0/ Next generation
source package format based on wig&pen. It supports multiple
.orig.tar files and all compressions schemes (gzip, bzip2, lzma).
It uses quilt to apply patches at unpack time and is able to add
a new patch at the end of the series if changes are present
at build-time.
* scripts/Dpkg/Source/Package/V3_0/ Experimental format
based on a bzr repository. Contributed by Colin Watson.
* scripts/Dpkg/Source/Package/V3_0/ Experimental format
based on a git repository. Contributed by Joey Hess.
* scripts/Dpkg/Source/Package/V3_0/ Special purpose
format that can be used to create source packages with arbitrary
files. Useful for helper tools (like git-buildpackage) which can
generate source files by themselves.
2008-03-25 Raphaël Hertzog <>
* scripts/ Let the user configure the set of
warnings that he wants. Add a new warning for useless libraries
on all binaries analyzed. Disable by default the warning that
does the same but individually, for each binary analyzed.
* man/dpkg-shlibdeps.1: Update manual page accordingly.
2008-03-25 Ian Jackson <>
* lib/dpkg-db.h (modstatdb_note_ifwrite): New prototype.
* ib/dbmodify.c (modstatdb_note_ifwrite): New function.
2008-03-25 Ian Jackson <>
* src/archives.c (archivefiles): Call log_message.
* src/configure.c (deferred_configure): Likewise.
* src/packages.c (packages): Likewise.
* src/processarc.c (process_archive): Call log_action after printing
the action to perform to stdout.
* src/help.c (log_action): Call statusfd_send.
* man/dpkg.1: Document improved status-fd output.
2008-03-25 Ian Jackson <>,
Guillem Jover <>
* lib/dbmodify.c (status_pipes): Move definitions to ...
* lib/log.c: ... here.
* lib/dpkg-db.h (struct pipef, status_pipes): Move declarations to ...
* lib/dpkg.h: ... here.
(statusfd_send): New function protoype.
* lib/log.c: Include <assert.h> and <unistd.h>.
(statusfd_send): New function.
* lib/dbmodify.c: Use statusfd_send instead of duplicate code.
* src/configure.c: Likewise.
* src/errors.c: Likewise.
2008-03-25 Guillem Jover <>
* lib/dbmodify.c (log_file, log_message): Move to ...
* lib/log.c: ... here. New file.
* lib/ (libdpkg_a_SOURCES): Add 'log.c'.
* lib/dpkg-db.h (log_file, log_message): Move declaration to ...
* lib/dpkg.h: ... here.
2008-03-25 Ian Jackson <>,
Guillem Jover <>
* src/packages.c (struct pkginqueue): Move declaration to ...
* src/main.h: ... here.
(queuelen): Remove extern declaration.
(struct pkgqueue): New declaration.
(add_to_some_queue): New function prototype.
(remove_from_some_queue): Likewise.
* src/packages.c (queuehead, queuetail, queuelen): Replace with ...
(queue): ... this. New variable. Fix all users.
(add_to_queue): Refactor into ...
(add_to_some_queue): ... this. Take a struct pkgqueue argument.
(process_queue): Assert that the queue is empty at the end of the
function. Refactor queue entry removal into ...
(remove_from_some_queue): ... this. New function.
(add_to_queue): New function.
2008-03-25 Guillem Jover <>
* src/main.h (ensure_package_clientdata): Move prototype to ...
* src/filesdb.h: ... here.
* src/help.c (ensure_package_clientdata): Move function to ...
* src/filesdb.c: ... here.
* src/query.c: Remove duplicate function.
2008-03-25 Guillem Jover <>
* lib/dpkg-db.h (unlockdatabase): Change prototype to not take any
argument (as it was not being used). Fix all callers.
* lib/lock.c (unlockdatabase): Likewise.
2008-03-25 Ian Jackson <>,
Guillem Jover <>
* lib/dpkg.h (lock_file): New function prototype.
(unlock_file): Likewise.
* lib/lock.c (cu_unlockdb): Rename to ...
(cu_unlock_file): ... here. Rename dblockfd to lockfd, and take it
from argv.
(unlock_file): New function.
(lock_file): Likewise.
(dblockfd): Move variable to ...
(lockdatabase): ... here. Call lock_file instead of doing the
actual file locking.
(unlockdatabase): Call unlock_file, instead if doing the actual
2008-03-24 Ian Jackson <>
* lib/dpkg.h (error_printer): New function pointer type.
(push_error_handler): Use error_printer instead of an explicit
declaration in the argument list.
(set_error_display): Likewise.
* lib/ehandle.c (push_error_handler): Likewise.
(set_error_display): Likewise.
2008-03-23 Guillem Jover <>
* (DPKG_CHECK_COMPAT_FUNCS): Add 'strnlen'.
* libcompat/ [!HAVE_STRNLEN] (libcompat_a_SOURCES): Add
'strnlen.c' and 'strnlen.h'.
* libcompat/strnlen.c: New file (import from Simon Josefsson).
* libcompat/strnlen.h: Likewise.
* lib/tarfn.c: Include "strnlen.h".
2008-03-22 Raphaël Hertzog <>
* scripts/t/200_Dpkg_Shlibs.t: Fix test suite to handle the
recent addition of the "objid" field to symbol hash returned
by Dpkg::Shlibs::Objump::Object->get_symbol().
2008-03-22 Ian Jackson <>
* lib/dpkg-db.h (enum pkgstatus): Sort entries.
* lib/dump.c (w_status): Change 'stat_configfiles' to 'stat_installed'
in assert as that's the new last item.
* src/processarc.c (process_archive): Likewise.
* src/packages.c (process_queue): Likewise.
(deppossi_ok_found): Match sorting of 'enum pkgstatus'.
* dselect/ (statusstrings): Likewise.
(statuschars): Likewise.
* src/help.c (statusstrings): Likewise.
* src/query.c (list1package): Likewise.
* lib/parsehelp.c (statusinfos): Likewise.
2008-03-21 Guillem Jover <>
* lib/parse.c (cu_parsedb): Remove duplicate function.
(parsedb): Use cu_closefd instead of cu_parsedb.
2008-03-21 Ian Jackson <>
* src/archives.c (tarobject): Make 'fd' static.
* lib/parse.c (parsedb): Likewise. Use ehflag_normaltidy on
push_cleanup and pop_cleanup. Move pop_cleanup call just before its
related close call.
* src/processarc.c (process_archive): Do not install two cleanup
handlers to close the fsys-tarfile pipe. Mark pipe descriptors with
invalid values when closed.
2008-03-20 Guillem Jover <>
* dpkg-deb/extract.c (safe_fflush): Change return type from int to
2008-03-20 Ian Jackson <>
* lib/dpkg.h (cisspace): New prototype.
* lib/utils.c (cisspace): New function definition.
2008-03-20 Ian Jackson <>
* src/main.h (pkgadminfile): Move prototype to ...
* lib/dpkg-db.h: ... here.
* src/help.c (pkgadminfile): Move function definition to ...
* lib/dbmodify.c: ... here.
* src/query.c (pkgadminfile): Remove duplicated functions.
2008-03-20 Ian Jackson <>,
Guillem Jover <>
* src/query.c (cu_closepipe, cu_closefile, cu_closefd): Remove
duplicated functions.
* src/help.c (cu_closepipe, cu_closefile, cu_closedir)
(cu_closefd): Move function definitions to ...
* lib/cleanup.c: ... here. New file.
* src/main.h (cu_closefile, cu_closepipe, cu_closedir)
(cu_closefd): Move prototypes to ...
* lib/dpkg.h: ... here.
* lib/ (libdpkg_a_SOURCES): Add 'cleanup.c'.
2008-03-20 Ian Jackson <>
* lib/dpkg-db.h (modstatdb_checkpoint): New prototype.
* lib/dbmodify.c (checkpoint): Remove static keyword. Rename to ...
(modstatdb_checkpoint): ... this. Fix all callers.
2008-03-20 Ian Jackson <>
* lib/tarfn.c (TarExtractor): Initialize h.LinkName and h.Name to
2008-03-16 Raphaël Hertzog <>
* scripts/Dpkg/Shlibs/ Add "objid" property to
symbols and fake "soname" property with the basename of the
object's filename if the object has no official SONAME.
* scripts/ Add some more debugging messages.
* scripts/ Also count usage of alternate sonames
for symbols found in symbols files.
2008-03-16 Guillem Jover <>
* (AC_CHECK_HEADERS): Add 'libintl.h'.
* lib/gettext.h [!ENABLE_NLS]: Use HAVE_LIBINTL_H instead of
'(__GLIBC__ >= 2)'.
2008-03-15 Erast Benson <>
* utils/start-stop-daemon.c (check): Move 'return' inside preprocessor
conditionals, so that it does not just return on non-handled OSes.
2008-03-15 Erast Benson <>
* utils/start-stop-daemon.c: Use __sun instead of __sparc__ to
define OSsunos.
2008-03-15 Raphaël Hertzog <>
* debian/dpkg.prerm: Removed as it's empty.
* Remove debian/dpkg.prerm from EXTRA_DIST.
2008-03-14 Raphaël Hertzog <>
* scripts/Dpkg/Changelog/ Fix regression by re-allowing
capitals (like UNRELEASED!) in the distribution/package name.
* scripts/t/600_Dpkg_Changelog/regressions: Add capitals in the
distribution name as part of the non-regression tests.
2008-03-14 Guillem Jover <>
Fix errors spotted by Helge Kreutzmann.
* man/dpkg-buildpackage.1: Refer to 'Debian' not 'debian'. Remove a
space beofre a comma. Replace FFLAGS with CFLAGS when referring to
usage similar to C for Fortran. Do not make bold a terminating
* man/dpkg-checkbuilddeps.1: Mark 'debian/contorl' file with italics.
2008-03-11 Ian Jackson <>,
Guillem Jover <>
* lib/showcright.c: Rename to ...
* lib/myopt-util.c: ... this.
* lib/ (libdpkg_a_SOURCES): Rename 'showcright.c' to
* lib/dpkg.h (struct cmdinfo): Remove declaration.
(showcopyright): Move prototype to ...
* lib/myopt-util.c: ... here.
(helponly, versiononly): New functions.
* lib/myopt.h: Include <dpkg-def.h>.
(showcopyright, helponly, versiononly, usage, printversion): New
function prototypes.
* dpkg-deb/main.c (printversion, usage): Remove static keyword.
(helponly, versiononly): Remove function declarations and definitions.
* dpkg-split/main.c: Likewise.
* dselect/ Likewise.
* src/main.c: Likewise.
* src/query.c: Likewise.
2008-03-11 Guillem Jover <>
* lib/showcright.c (showcopyright): Move function prototype to ...
* lib/dpkg.h: ... here, and replace existing one.
2008-03-11 Guillem Jover <>
* lib/ (libdpkg_a_SOURCES): Add 'dpkg-def.h'.
* lib/dpkg.h: Include 'dpkg-def.h'.
to ...
* lib/dpkg-def.h: ... here. New file.
* utils/start-stop-daemon.c: Include 'dpkg-def.h'.
2008-03-11 Ian Jackson <>
* lib/dpkg.h (fgets_checked, fgets_must): New function declarations.
* lib/utils.c: Include <string.h>.
(fgets_checked, fgets_must): New function.
* src/filesdb.c (ensure_diversions): Use new fgets_checked and
fgets_must instead of duped code.
2008-03-09 Ian Jackson <>
* dselect/ (relatestrings): Change 'breaks with' to
2008-03-09 Ian Jackson <>
* dselect/ (packagelist::resolvedepcon): Move dep_breaks
case after dep_conflicts so that it falls through.
(packagelist::deppossatisfied): Handle dep_breaks in the same way as
2008-03-09 Ian Jackson <>
* dselect/ (packagelist::deppossatisfied): The new rule
is that a Conflicts is violated if the target package is installed
or to be error-preserved ie would_like_to_install() != 0 - except
that we disregard packages which directly Conflict with themselves.
2008-03-07 Raphaël Hertzog <>
* scripts/Dpkg/ Import Dpkg::Gettext since we use _g().
2008-03-06 Sean Finney <>
* lib/dump.c (writedb): Free newfn and oldfn.
* src/help.c (clear_istobes): Free pkgiterator 'it' by calling
2008-03-02 Raphaël Hertzog <>
* scripts/, scripts/
Do not sort the dependency fields as order matters given
the greedy algorithm that APT uses when trying to resolve
dependencies. See discussion on debian-devel:
* man/dpkg-gencontrol.1: Document the above changes.
* scripts/Dpkg/ (simplify_deps): Tries to respect order put
by the maintainer when simplifying dependencies.
* scripts/t/400_Dpkg_Deps.t: Add a test-case to ensure that
further changes respect this constraint.
* scripts/ Sort generated dependencies to
have a deterministic output.
2008-02-29 Frank Lichtenheld <>
* scripts/Dpkg/Changelog/ (parse):
One patch against the old parser that allowed
chars '+' and '.' in distribution names was
not forward ported into the new parser. Do
this now.
* scripts/t/600_Dpkg_Changelog/regression:
Add testcase for this regression.
2008-02-22 Raphaël Hertzog <>
* man/dpkg-gensymbols.1: Fix some groff errors detected by lintian.
* man/dpkg-query.1: Likewise..
2008-02-22 Raphaël Hertzog <>
* man/deb-symbols.5: Escape some hyphens so that they do not end up
as minus sign.
* man/dpkg-architecture.1: Likewise.
* man/dpkg-shlibdeps.1: Likewise.
* man/start-stop-daemon.8: Likewise.
2008-02-22 Raphaël Hertzog <>
Mike Frysinger <>
* scripts/ Modify PATH during make check to include
build directories containing dpkg and the scripts dpkg-*.
2008-02-20 Raphaël Hertzog <>
* scripts/Dpkg/ (parse_changelog): Fallback
into /usr/lib/dpkg/parsechangelog to find changelog parser
in case $dpkglibdir points to another directory (for example
when DPKG_DATADIR is manually set).
2008-02-19 Frank Lichtenheld <>
* m4/libs.m4 (DPKG_LIB_CURSES): Use libncursesw if
* debian/control: Change build-dependency from
libncurses5-dev to libncursesw5-dev.
2008-02-19 Frank Lichtenheld <>
* man/dpkg-source.1: Fix documentation of -sk and -sp. The directory
with the unpacked original source will be removed, not the tarball.
2008-02-17 Frank Lichtenheld <>
* scripts/ Allow overriding $pkgdatadir
* scripts/ (check): Use DPKG_DATADIR.
* debian/rules: Remove hack to copy data files
to build directory.
2008-02-17 Frank Lichtenheld <>
* man/dpkg-architecture.1: Document the files needed by
2008-02-17 Frank Lichtenheld <>
Matthias Klose <>
* scripts/ Set a set of environment variables
for setting compiler and linker options, unless already set in the
environment. See for
background information.
* man/dpkg-buildpackage.1: Document the new behaviour for build
related environment variables.
2008-02-17 Zack Weinberg <>
* man/deb-shlibs.5: Make this manual page a bit more elaborate and
2008-02-13 Raphaël Hertzog <>
* scripts/Dpkg/ Import Dpkg::Gettext since we use _g().
2008-02-07 Guillem Jover <>
* scripts/ Do not output the Homepage field on udeb.
2008-02-04 Guillem Jover <>
* libcompat/ (localedir): Remove unused variable.
(INCLUDES): Do not pass -DLOCALEDIR nor -I$(top_srcdir)/lib.
2008-02-03 Guillem Jover <>
* m4/funcs.m4 (DPKG_CHECK_COMPAT_FUNCS): New macro.
* (DPKG_CHECK_COMPAT_FUNCS): Check getopt, getopt_long
and obstack_free.
* libcompat/ (libcompat_a_SOURCES): Set empty by default.
Only add 'getopt.c getopt.h' if !HAVE_GETOPT. Only add 'getopt1.c'
if !HAVE_GETOPT_LONG. Only add 'obstack.c obstack.h' if
(INCLUDES): Add '-idirafter $(top_srcdir)/libcompat'.
* dpkg-deb/ (INCLUDES): Likewise.
* dpkg-split/ (INCLUDES): Likewise.
* dselect/ (INCLUDES): Likewise.
* lib/ (INCLUDES): Likewise.
* src/ (INCLUDES): Likewise.
* utils/ (INCLUDES): Use -idirafter instead of -I for
* src/ (dpkg_LDADD): Add '../libcompat/libcompat.a'.
(dpkg_query_LDADD): Likewise.
* dpkg-deb/ (dpkg_deb_LDADD): Likewise.
* dpkg-split/ (dpkg_split_LDADD): Likewise.
* dselect/ (dselect_LDADD): Likewise.
2008-02-03 Guillem Jover <>
* libcompat/ (libcompat_a_SOURCES): Remove closeout.c,
closeout.h, error.h, long-options.c and long-options.h.
* libcompat/closeout.c: Remove unused file.
* libcompat/closeout.h: Likewise.
* libcompat/error.h: Likewise.
* libcompat/long-options.c: Likewise.
* libcompat/long-options.h: Likewise.
2008-02-03 Raphaël Hertzog <>
* scripts/ Handle better the case when the
library found has a different soname than the one used to look up
the library file. Properly affect symbols coming from it to the
soname wanted by the binary, thus avoiding invalid warnings about
unused library.
2008-01-31 Raphaël Hertzog <>
* scripts/ Always list all binary packages in
the Description field of generated .changes files.
2008-01-30 Frank Lichtenheld <>
* scripts/ Warn if build-dependencies
are not satisfied during -S. Also warn that this might become
an error in the future.
2008-01-30 Justin Pryzby <>
* utils/start-stop-daemon.c (do_help): Clarify --name and --user
(parse_options): Reword --make-pidfile badusage.
(pid_is_cmd): Fix typo in comment.
* man/start-stop-daemon.8: Cosmetic fixes. Document that --chuid
will change the group even if it has not been specified. Add EXIT
STATUS and EXAMPLE sections.
2008-01-29 Raphaël Hertzog <>
* scripts/ Add a new -R option to be able to
replace "debian/rules" by something else. The replacement command
can contain parameters (and thus spaces). Fix -r option to also
accept parameters.
* man/dpkg-buildpackage.1: Document the new option and the changed
behaviour of -r.
2008-01-28 Guillem Jover <>
* getopt: Rename to ...
* libcompat: ... this.
* (AC_CONFIG_FILES): Likewise.
* (SUBDIRS): Likewise.
* utils/ (INCLUDES): Likewise.
(start_stop_daemon_LDADD): Use '../libcompat/libcompat.a' instead of
* libcompat/ (noinst_LIBRARIES): Rename 'libopt.a' to
(libopt_a_SOURCES): Rename to ...
(libcompat_a_SOURCES): ... this.
2008-01-27 Raphaël Hertzog <>
* README.feature-removal-schedule: Deprecate support of substvars
in dpkg-source and dpkg-genchanges.
* README.feature-removal-schedule, README.api: Deprecate support
of custom changelog parsers that understand only the -v option.
* README.feature-removal-schedule: Deprecate support of PGP.
2008-01-27 Raphaël Hertzog <>
* scripts/Dpkg/Shlibs/ Replace has_new_libs(),
has_lost_libs(), has_new_symbols() and has_lost_symbols() by
corresponding get_* functions.
* scripts/ Display list of new/lost libs. Also
display list of lost symbols when wildcards symbols have been
* scripts/t/200_Dpkg_Shlibs.t: Adjust test suite to API change.
2008-01-26 Frank Lichtenheld <>
* scripts/Dpkg/ New module for checksum handling
in .changes and .dsc files.
* scripts/, scripts/ Use new
module. Adds new 'Checksums-{Sha1,Sha256}' field
to .changes and .dsc files. Increase changes format to 1.8.
2008-01-25 Andreas Påhlsson <>
* utils/start-stop-daemon.c (tsub): Remove function.
(tmul): Fix normalization.
(run_stop_schedule): Use timersub instead of tsub.
2008-01-24 Raphaël Hertzog <>
* scripts/ Warn if the current version is
smaller than the previous one.
* scripts/ Add support of options -d and -c to
use build dependencies/conflicts given on the command line instead of
those retrieved from debian/control.
* man/dpkg-checkbuilddeps.1: Document the new options.
2008-01-22 Guillem Jover <>
* dpkg-deb/extract.c (extracthalf): Refactor fflush and its buggy
fpos handling to ...
(safe_fflush): ... here. New function.
2008-01-22 Guillem Jover <>
* lib/vercmp.c [0] (verrevcmp): Remove dead code.
2008-01-22 Guillem Jover <>
* lib/dpkg.h [!offsetof] (offsetof): New compatibilty macro.
* lib/parsedump.h (PKGIFPOFF): Use offsetof instead of ad-hoc
(FILEFOFF): Likewise.
(struct fieldinfo): Change integer member type to size_t.
* lib/tarfn.c (TarChecksumOffset): Use offsetof instead of ad-hoc
2008-01-22 Guillem Jover <>
* (AC_CHECK_HEADERS): Check for 'stddef.h'.
2008-01-21 Colin Watson <>
* dselect/ (packagelist_korgbindings): Add 'C'.
(packagelist_kinterps): Add 'revertinstalled'.
* dselect/ (keybindings::descriptions): Likewise.
* dselect/pkglist.h (class packagelist): Add kd_revertinstalled.
* dselect/ (packagelist::kd_revertinstalled): New method.
* man/dselect.1: Document new 'C' keybinding.
2008-01-21 Guillem Jover <>
* dpkg-deb/build.c (getfi): Use m_malloc instead of malloc.
(do_build): Likewise.
* dpkg-deb/extract.c (extracthalf): Likewise.
* lib/mlib.c (buffer_write): Likewise.
(buffer_copy): Likewise.
* lib/myopt.c (loadcfgfile): Likewise.
* lib/parse.c (parsedb): Likewise.
* lib/showpkg.c (alloclstitem): Likewise.
(parsefield): Likewise.
(parsestring): Likewise.
* lib/tarfn.c (StoC): Likewise.
(TarExtractor): Likewise.
* src/archives.c (try_deconfigure_can): Likewise.
* src/main.c (execbackend): Likewise.
2008-01-21 Guillem Jover <>
* lib/mlib.c (m_strdup): New function.
* lib/dpkg.h (m_strdup): New declaration.
* lib/tarfn.c: Include <dpkg.h>.
(TarExtractor): Use m_strdup instead of strdup.
* lib/database.c (findpackage): Likewise.
* lib/myopt.c (myfileopt): Likewise.
* dpkg-deb/build.c (getfi): Likewise.
* src/configure.c (md5hash): Likewise.
* src/help.c (vbuildarglist): Likewis.
* src/main.c (execbackend): Likewise.
(commandfd): Likewise.
2008-01-21 Guillem Jover <>
* Bump version to 1.14.17~.
2008-01-26 Raphaël Hertzog <>
* Release
2008-01-26 Raphaël Hertzog <>
* scripts/dpkg-gensymbols: Don't scan directories which are
symlinks. They might point outside of the package build dir which
results in addition of libraries which are not in the package.
The libc6 package on amd64 is affected with a symlink "lib64" ->
2008-01-24 Raphaël Hertzog <>
* Release
2008-01-24 Raphaël Hertzog <>
* scripts/Dpkg/Shlibs/ (load): Remove the loaded file
from the %$seen hash at the end so that it's possible to include
multiple times the same file (at the same level and not from any
nested file obviously).
* scripts/Dpkg/Shlibs/ Blacklist many armel specific
2008-01-23 Guillem Jover <>
* Release
2008-01-23 Guillem Jover <>
* scripts/Dpkg/ Import capit from Dpkg::Fields.
2008-01-22 Guillem Jover <>
* Release
2008-01-22 Guillem Jover <>
* utils/start-stop-daemon.c (tvselector): Remove typedef.
(tvselector_sec): Remove function.
(tvselector_usec): Likewise.
(TVCALC_ELEM): Remove macro.
(TVCALC): Likewise.
(tsub): New function.
(tmul): Likewise.
(run_stop_schedule): Use tsub and tmul instead of TVCALC. Make sure
the time is not negative.
2008-01-22 Guillem Jover <>
* utils/start-stop-daemon.c (main): Only call initgroups if changeuser
is not NULL.
2008-01-22 Guillem Jover <>
* utils/start-stop-daemon.c (gid_in_current_groups): Remove function.
(main): Call initgroups if the real user or group are different than
the ones we should switch to. Call setgid before initgroups.
2008-01-22 Raphaël Hertzog <>
* man/dpkg-parsechangelog.1: Fix typos reported by Helge Kreutzmann.
2008-01-22 Raphaël Hertzog <>
* scripts/, scripts/,
scripts/ Remove the IO-layer that converts to
UTF-8. It's not as smart as I expected.
* scripts/ Do not substitute variables on
the output.
* man/ Document this change.
2008-01-22 Guillem Jover <>
* Release
2008-01-22 Guillem Jover <>
* utils/start-stop-daemon.c (main): Move setuid code after initgroups
and setgid.
2008-01-21 Frank Lichtenheld <>
* Release
* scripts/ Fix "uninitialized value"
* debian/control: Add libtimedate-perl to
dpkg-dev's Depends and to Build-Depends (for
build-time tests). This introduces our first
run-time dependency on a perl module not shipped
with Perl itself. But to me it seems not worth
trying to replace that code.
2008-01-21 Guillem Jover <>
* Release 1.14.16.
2008-01-21 Guillem Jover <>
* README.api: New file.
* README.feature-removal-schedule: Likewise.
* (EXTRA_DIST): Add README.feature-removal-schedule and
2008-01-21 Guillem Jover <>
* (AC_CHECK_FUNCS): Escape new lines.
2008-01-21 Ian Jackson <>
* src/processarc.c (process_archive): Fix incorrect sizeof in a
memset call.
2008-01-21 Guillem Jover <>
* utils/start-stop-daemon.c (main): Cast runas_uid and runas_gid to
uid_t and gid_t when comparing to getuid() and getgid().
2008-01-21 Guillem Jover <>
* (AC_CHECK_FUNCS): Merge arguments from both macro
2008-01-21 Guillem Jover <>
* (AM_GNU_GETTEXT): Add external.
(AC_CHECK_FUNCS): Add strtoul.
(AC_CONFIG_FILES): Remove 'intl/Makefile'.
* .gitignore: Remove intl.
* (SUBDIRS): Likewise.
* dpkg-deb/ (INCLUDES): Remove '-I$(top_srcdir)/intl'.
* dpkg-split/ (INCLUDES): Likewise.
* dselect/ (INCLUDES): Likewise.
* getopt/ (INCLUDES): Likewise.
* lib/ (INCLUDES): Likewise.
* src/ (INCLUDES): Likewise.
* utils/ (INCLUDES): Likewise.
2008-01-21 Guillem Jover <>
* (AC_CHECK_FUNCS): Add getdtablesize.
* utils/start-stop-daemon.c (get_open_fd_max): New function.
(main) [OShpux]: Remove.
[!OShpux]: Use get_open_fd_max instead of hardcoded getdtablesize.
2008-01-21 Guillem Jover <>
* man/start-stop-daemon.8: Fix quotation to get rid of a spurious
space between -c option and comma.
2008-01-20 Guillem Jover <>
* man/start-stop-daemon.8: Coalesce all matching options into a new
section. List matching options by reference in the description
2008-01-20 Guillem Jover <>
* utils/start-stop-daemon.c (do_version): Change from 'Mandatory' to
'Matching'. Suggested by Justin Pryzby.
2008-01-20 Frank Lichtenheld <>
* scripts/ Move most functions to end of file
to allow better reading of the program flow. This is a remnant of
the shell script past.
2008-01-19 Raphaël Hertzog <>
* scripts/ Use
Dpkg::Changelog::parse_changelog() instead of calling
* scripts/ Fix a bug left-over from the
switch to Dpkg::Control.
2008-01-18 Raphaël Hertzog <>
* scripts/Dpkg/Shlibs/,
scripts/Dpkg/Shlibs/, scripts/Dpkg/ Update and
fix many syserr(), error(), warning() and subprocerr() calls to
the new style where the sprintf call is integrated. Uniformize
some error messages at the same time.
2008-01-18 Raphaël Hertzog <>
* scripts/Dpkg/Shlibs/ (load): Parse *@<version>
symbols names as wildcards and not as regular symbols. They
provide the same dependency information for all symbols that share
the same version.
* scripts/Dpkg/Shlibs/ (merge_symbols): Use
information provided by wildcards entries when new symbols are
* scripts/ Disable some checks which can't be
done when symbols files have been generated with the help of
wildcard entries.
* man/dpkg-gensymbols.1: Update the manual page to explain how to
use wildcard entries.
2008-01-18 Frank Lichtenheld <>
* scripts/changelog/ Don't hide failures inside eval().
* scripts/Dpkg/ (data2rfc822): Don't fail if argument
is undef.
2008-01-18 Raphaël Hertzog <>
* scripts/Dpkg/ (parse_changelog): Rewrite it completely
to not call dpkg-parsechangelog but do the work of this program by
* scripts/ Rewrote it to use the enhanced
parse_changelog() function.
* scripts/, script/ Adapted to use
the modified parse_changelog().
* scripts/, scripts/ Likewise.
* scripts/ Change logic of -si option to
include the original tarball only if the current upstream version
differs from the upstream version of the previous changelog entry.
* scripts/ Some code refactoring. Also fix the
generation of the Description field to not have duplicate description
in case of udeb (a single description per binary package is enough).
Source only uploads will loose their Description: fields since they
have no associated binary packages and Descriptions are only added
for binary packages where we have a corresponding .deb to upload.
2008-01-18 Guillem Jover <>
* m4/arch.m4 (_DPKG_ARCHITECTURE): Do not use backticks inside double
quotes, to support ancient shells.
* m4/libs.m4 (DPKG_LIB_SELINUX): Likewise.
2008-01-18 Guillem Jover <>
* utils/start-stop-daemon.c (do_help): Coalesce mandatory options
into a single paragraph, and state that at least one is required.
2008-01-18 Guillem Jover <>
* (AC_CHECK_SIZEOF): Quote parameters.
2008-01-18 Guillem Jover <>
* THANKS: Add all the people that have contributed until now.
2008-01-18 Guillem Jover <>
* src/remove.c (ensure_pathname_nonexisting): Additionally check if
errno is EEXIST after calling rmdir, per SUSv3 when the directory
is not empty errno can be ENOTEMPTY or EEXIST.
* src/help.c (removal_bulk_remove_files): Likewise.
(removal_bulk_remove_leftover_dirs): Likewise.
2008-01-18 Guillem Jover <>
* scripts/ Stop parsing '--test' as a valid
($testmode): Remove variable.
(usage): Remove '--test' option help.
* man/update-alternatives.8: Remove '--test' documentation.
2008-01-18 Guillem Jover <>
* utils/start-stop-daemon.c (do_help): Add missing semicolon.
2008-01-17 Guillem Jover <>
* THANKS: Convert to UTF-8.
2008-01-17 Guillem Jover <>
* utils/start-stop-daemon.c (do_help): Move version printing to ...
(do_version): ... here. New function.
(main): Call do_version instead of printf.
2008-01-17 Raphaël Hertzog <>
* scripts/ Revert to the old behaviour of not using
any substvars file.
* man/dpkg-source.1: Fix default value of -T parameter.
2008-01-17 Raphaël Hertzog <>
* scripts/ Reinstate support of the ${Format}
2008-01-17 Samuel Thibault <>,
Guillem Jover <>
* utils/start-stop-daemon.c (gid_in_current_groups): New function.
(main): Call setuid only if requested to run as a different user
than the current one. Call setgid only if requested to run as a group
different than the current one, and initgroups only if the groups is
not part of the supplementary groups.
2008-01-16 Frank Lichtenheld <>
* scripts/changelog/ Restore the old default behaviour
to parse STDIN. Also fix the -l option to specify a label for the
parsed input, but the actual file. Still allow --file to be used for
that. Use the new inhandle option of parse() to pass STDIN directly.
This should be faster and removes the implicit dependency on
* scripts/Dpkg/Changelog/ (parse): Accept input in
configuration item 'inhandle'. Allow to override the name of the
file (used for reporting) with configuration item 'reportfile'.
* scripts/Dpkg/ (init): Call parse if 'inhandle' is given.
* scripts/ Remove one superfluous %s from a
formatstring which was used to output $! before syserr() was used
2008-01-16 Guillem Jover <>
* utils/start-stop-daemon.c (do_stop): Do not print messages when
running on quiet and test modes.
(run_stop_schedule): Likewise.
(main): Likewise.
2008-01-16 Guillem Jover <>
* utils/start-stop-daemon.c (do_pidfile): Cache pid value over
multiple calls.
2008-01-16 Guillem Jover <>
* utils/start-stop-daemon.c: Fix indentation.
2008-01-16 Guillem Jover <>
* scripts/ Use :errno_h from POSIX.
($enoent): Remove variable.
(ENOENT): Remove function.
* scripts/ Likewise.
* utils/ (pkglib_PROGRAMS): Remove variable.
(enoent_SOURCES): Likewise.
* utils/enoent.c: Remove file.
2008-01-16 Guillem Jover <>
* dpkg-deb/build.c (do_build): Use NULL instead of 0.
* dpkg-deb/extract.c (extracthalf, do_fsystarfile): Likewise.
* dpkg-deb/info.c (info_prepare, info_spew): Likewise.
(do_contents, do_field): Likewise.
* dpkg-deb/main.c (cipaction, action, cmdinfos, main): Likewise.
* dpkg-split/join.c (do_join): Likewise.
* dpkg-split/queue.c (do_auto): Likewise.
* lib/dpkg.h (standard_startup, standard_shutdown): Likewise.
* src/archives.c (destroyobstack, deconfigure, addfiletolist)
(tarobject, check_breaks, check_conflict, archivefiles)
(newconff_append): Likewise.
* src/configure.c (deferred_configure, conffderef, md5hash): Likewise.
* src/depcon.c (findbreakcyclerecursive, findbreakcycle)
(depisok): Likewise.
* src/enquiry.c (limiteddescription, badstatinfos, unpackchk)
(assertversion, assertpredep, assertepoch, assertlongfilenames)
(assertmulticonrep, predeppackage, cmpversions): Likewise.
* src/errors.c (reports, print_error_perpackage): Likewise.
* src/filesdb.c (diversions, diversionsfile, statoverridefile)
(ensure_packagefiles_available, ensure_allinstfiles_available)
(write_filelist_except, reversefilelist_init, reversefilelist_next)
(ensure_diversions, iterfilestart, iterfilenext, filesdbinit)
(findnamenode): Likewise.
* src/help.c (checkpath, ensure_package_clientdata
(vbuildarglist, cu_restorescriptsignals, script_catchsignals)
(clear_istobes): Likewise.
* src/main.c (cipaction, ignoredepends, forceinfos)
(execbackend, commandfd, main): Likewise.
* src/packages.c (queuehead, add_to_queue, packages, process_queue)
(breakses_ok, dependencies_ok): Likewise.
* src/processarc.c (process_archive): Likewise.
* src/remove.c (deferred_remove, removal_bulk_remove_files)
(removal_bulk_remove_leftover_dirs, removal_bulk_remove_configfiles)
(removal_bulk): Likewise.
* src/update.c (updateavailable): Likewise.
* utils/start-stop-daemon.c (xgettimeofday, run_stop_schedule)
(parse_options): Likewise.
(pid_is_cmd, pid_is_user, pid_is_exec) [HAVE_KVM_H]: Likewise.
2008-01-15 Raphaël Hertzog <>
* scripts/ (filter_deps): Fix filtering of
duplicated dependencies in fields of lesser priority. Dependencies
coming from shlibs files have no associated version and this case
wasn't handled properly.
* scripts/ When the same binary is passed
several times as parameters (associated to different fields),
associate it to the most important field.
2008-01-14 Raphaël Hertzog <>
* scripts/, scripts/,
scripts/ Hint Perl into using UTF-8 for output
on *.dsc, *.changes and DEBIAN/control files. Updated some open() calls
for more consistency and added binmode() calls for filehandles that
handle only binary data.
2008-01-13 Raphaël Hertzog <>
* scripts/Dpkg/ Drop public function
set_fields_importance() in favor of a method on
Dpkg::Fields::Object. Integrate public function
sort_field_by_importance() in the output() method where it was
* scripts/Dpkg/, scripts/,
scripts/, scripts/ Updated to use
the set_field_importance() method instead of the removed function.
* scripts/Dpkg/ Update pod documentation to refer to
Dpkg::Fields::Object instead of the invalid Dpkg::Cdata::Object.
2008-01-13 Frank Lichtenheld <>
* scripts/Dpkg/ (dump): Allow to omit the
filehandle argument. If the function is called in
non-void context, also remove the printed string
to the caller. Together this avoids having to fiddle
with filehandles if the caller doesn't want to.
(output): Likewise.
* scripts/Dpkg/ (data2rfc822): Simplify
using this new behaviour.
* scripts/t/600_Dpkg_Changelog.t: Add a new changelog
'fields' that tests the handling of the different fields
in the dpkg format.
* scripts/Dpkg/ Replace all field hashes
with Dpkg::Changelog::Entry objects.
(Dpkg::Changelog::Entry): Base on Dpkg::Fields::Object.
(data2rfc822): Use Dpkg::Fields::Object->output and fix
handling of user-defined fields.
(data2rfc822_mult): Merge into data2rfc822 (autodetect
whether the argument is an object or an array of object).
* scripts/Dpkg/Changelog/ Adapt for
Dpkg::Changelog::Entry changes.
* scripts/t/600_Dpkg_Changelog.t: Likewise.
2008-01-13 Frank Lichtenheld <>
* man/dpkg-parsechangelog.1: Document the new command line options.
2008-01-12 Raphaël Hertzog <>
* man/dpkg-shlibdeps.1: Fix a typo reported by Helge Kreutzmann.
2008-01-12 Raphael hertzog <>
* scripts/Dpkg/, scripts/ Add support of
Dm-Upload-Allowed field. It automatically ends up in the dsc.
2008-01-12 Raphael hertzog <>
* scripts/Dpkg/ Define variables containing
authoritative list of fields for debian/control (one for source
stanza, one for package stanza).
* scripts/, scripts/,
scripts/ Use the new variables to properly ignore
valid fields. Some related cleanup.
2008-01-11 Raphaël Hertzog <>
* scripts/ Also force version in ${binary:Version}
if dpkg-gencontrol -v<version> is used. That way we're consistent
with the definition of that variable in deb-substvars(5).
2008-01-10 Raphaël Hertzog <>
* man/dpkg-source.1: Explain better the first parameter of the '-b'
2008-01-10 Raphaël Hertzog <>
* debian/control: Add a "Breaks: dpkg-dev (= 1.14.13),
dpkg-dev (= 1.14.14)" on dpkg to force upgrade of those dpkg-dev
versions that would break with the move of the compression related
variables from into Dpkg/
2008-01-08 Raphaël Hertzog <>
* scripts/Dpkg/ Import missing error function from
* scripts/po/ Add many modules containing translatable
* scripts/Dpkg/ (parse_changelog): New function to
replace controllib's parsechangelog.
* scripts/, scripts/,
scripts/, scripts/,
scripts/, scripts/ Update scripts to
use Dpkg::Changelog::parse_changelog instead of the old's
parsechangelog. With this last change is no more used by
any script.
* scripts/ Removed as it's no more used by any
* debian/dpkg-dev.install: Add missing modules.
2008-01-08 Frank Lichtenheld <>
* scripts/ Make the
-L option actually work (it's only been eleven
* scripts/Dpkg/ (report): export.
2008-01-08 Raphaël Hertzog <>
* scripts/Dpkg/, scripts/Dpkg/ Add two new
module to parse and manipulate files like debian/control.
* scripts/t/600_Dpkg_Control.t,
scripts/t/600_Dpkg_Control/control-1: Add non-regression tests for
Dpkg::Control and Dpkg::Cdata.
* scripts/, scripts/,
scripts/, scripts/,
scripts/, scripts/ Update scripts
to use the new modules Dpkg::Cdata, Dpkg::Control,
Dpkg::Fields::Object and Dpkg::Substvars.
* scripts/Dpkg/ (check_version): New function replacing
checkversion of
* scripts/, scripts/ Use the
new check_version.
* scripts/Dpkg/ (set_source_package): New function to set
and check the global variable $sourcepackage (replacing
controllib's setsourcepackage).
* scripts/, scripts/,
scripts/ Use the new set_source_package.
* scripts/, scripts/ Delete
the chown(getfowner(), ...) on new files. It doesn't seem to do
anything useful anymore as it got dropped from several other
scripts over the years without problems.
* scripts/ Integrate readmd5sum from controllib here
as it's the only user of that function.
* scripts/ Get rid of everything except
parsechangelog and its dependencies (parsecdata, syntax) that are
still needed.
* scripts/ Include all the new files in the
distributed tarball.
2008-01-08 Raphaël Hertzog <>
* scripts/Dpkg/ (syntaxerr): New function to
replace the syntax() function in
2008-01-07 Guillem Jover <>
* scripts/ Ignore Homepage field in binary package
* scripts/ Likewise.
2008-01-07 Guillem Jover <>
* scripts/ Remove unused $dep_regex.
2008-01-07 Guillem Jover <>
* scripts/ Add build-essential as an implicit
2008-01-07 Guillem Jover <>
* Bump version to 1.14.16~.
2008-01-07 Guillem Jover <>
* Release 1.14.15.
2008-01-07 Guillem Jover <>
* src/archives.c (archivefiles): Use arglist instead of narglist.
2008-01-07 Guillem Jover <>
* lib/nfmalloc.c (nfmalloc): Remove inline keyword as extern inline
changes semantics from GNU C to C99.
* lib/varbuf.c (varbufaddc): Likewise.
2008-01-07 Guillem Jover <>
* dpkg-deb/extract.c (extracthalf): Move negative member length check
to ...
(parseheaderlength): ... here. Change return type to size_t. Change
variable r to ssize_t. Use strtol instead of strtoul to easily catch
negative values.
* dpkg-deb/info.c (info_spew): Use %zu in a format string instead of
%lu to print pathlen, a size_t variable.
* dpkg-split/queue.c (do_auto): Change j from unsinged int to int.
Cast j to unsigned int when comparing it to i.
* lib/varbuf.c (varbufprintf): Change ou from unsigned int to size_t.
Change r from unsigned int to int. Cast value compared to r to int.
(varbufprintf): Likewise.
* src/archives.c (tarobject): Change r from size_t to ssize_t.
Cast r to size_t when comparing it to symlinkfn.size.
* src/main.c (setforce): Cast string difference to size_t instead of
* utils/start-stop-daemon.c (parse_schedule): Change str_len from
ptrdiff_t to size_t. Cast string difference to size_t instead of
ptrdiff_t. Remove ptrdiff_t cast to sizeof.
2008-01-07 Guillem Jover <>
* scripts/Dpkg/ (set): Parse all options separated
by spaces or comma, do not lowercase the option names, do not match
on name substrings, and on recognized options with invalid values
discard the value or the entire option.
* scripts/t/300_Dpkg_BuildOptions.t: Adjust test suite.
2008-01-06 Raphaël Hertzog <>
* man/deb-control.5: Explain better the ordering of call of
postinst/prerm during installations and removal between a package
and its dependencies.
2008-01-06 Raphaël Hertzog <>
* scripts/Dpkg/Shlibs/ Also retrieve dynamic relocation
records from objdump by adding the -R option. Use this information
to mark symbols affected by R_*_COPY relocations as undefined.
They are initialized by the loader with values searched in the
needed libraries.
* scripts/Dpkg/ (set): Change the default value of
the overwrite parameter to 1. The only use of this function in
dpkg-buildpackage is missing the parameter and actually wants to
overwrite the whole variable.
* scripts/t/300_Dpkg_BuildOptions.t: Adjust the test suite for this
2008-01-04 Raphaël Hertzog <>
* scripts/Dpkg/Shlibs/ Replace #DEPRECATED by
#MISSING in the output and recognize both while parsing. People
understand better that way.
2008-01-03 Raphaël Hertzog <>
* scripts/ (find_symbols_file): When libraries
are found in non-packaged files, first try to find the
corresponding symbols file in the build tree containing that
library. On the opposite, don't look up symbols files in debian/*
build directories for libraries found in installed packages (build
trees are scanned first and thus if they contain a needed library
dpkg-shlibdeps will find the library there and not in an installed
* scripts/ (my_find_library): When defining the
list of package build trees to scan, also consider those that
contain symbols files (instead of only considering those that have
a shlibs file).
* man/dpkg-shlibdeps.1: Document the change listed above.
* scripts/ Add a new -S<pkgbuilddir> option to
indicate a package build tree that should be scanned first when
trying to find a library.
* man/dpkg-shlibdeps.1: Document the new -S option.
* scripts/ (add_shlibs_dep): Use the same logic
as find_symbols_files to find shlibs files. Check
debian/*/DEBIAN/shlibs only when the library has not been found in
an installed package, and give precedence to the shlibs provided
by the binary package where the library has been found. Replaces
the previous work-around that gave precedence to the package
that contained the binary.
* man/dpkg-shlibdeps.1: Document the above change in the shlibs
search order.
2008-01-03 Guillem Jover <>
* scripts/ Do not automatically enable '-j'
if DEB_BUILD_OPTIONS contains parallel=n, and allow overriding
its value from the environment.
* man/dpkg-buildpackage.1: Document new -j behaviour.
2008-01-02 Guillem Jover <>
* utils/start-stop-daemon.c [!__GNUC__] (fatal, badusage): Remove
redundant function declarations.
2008-01-02 Guillem Jover <>
* src/main.h (struct stat): New forward declaration.
2008-01-02 Guillem Jover <>
* lib/dpkg.h (warningf): Add PRINTFFORMAT attribute.
(buffer_copy_setup_PtrInt): Likewise.
(buffer_copy_setup_PtrPtr): Likewise.
(buffer_copy_setup_IntPtr): Likewise.
(buffer_copy_setup_IntInt): Likewise.
(decompress_cat): Likewise.
(compress_cat): Likewise.
* lib/dpkg-db.h (log_message): Likewise.
2008-01-02 Guillem Jover <>
* lib/dpkg.h (NONRETURNPRINTFFORMAT): Remove macro.
(ohshit): Use NONRETURNING and PRINTFFORMAT instead of
(ohshite): Likewise.
(badusage): Likewise.
* utils/start-stop-daemon.c (NONRETURNPRINTFFORMAT): Remove macro.
(fatal): Use NONRETURNING and PRINTFFORMAT instead of
2008-01-01 Guillem Jover <>
* scripts/ Use Dpkg::Compression. Use $comp_regex
to match compressed diffs and tarballs.
2008-01-01 Samuel Thibault <>
* utils/start-stop-daemon.c (do_stop): Do not print 'failed to kill'
warning when doing pid polling.
2008-01-01 Guillem Jover <>
* src/archives.c (archivefiles): Remove pointless strdup for execvp
2008-01-01 Ian Zimmerman <>
* scripts/ Ignore wrapped lines when matching
section titles.
2008-01-01 John Zaitseff <>
* dselect/ (baselist::wordwrapinfo): Stop processing when
exceeding infopad line limit, and add a warning message.
2008-01-01 Sven Rudolph <>
* dselect/ (baselist::startdisplay): Set helpscreen_attr
on monochrome terminals.
2007-12-30 A. Costa <>
* man/dpkg-gensymbols.1, man/dpkg-shlibdeps.1: Fix some typos.
* man/dpkg-source.1, man/deb-symbols.5: Likewise.
2007-12-28 Raphaël Hertzog <>
* scripts/ Add a warning to avoid adding unnecessary stuff
in that module.
2007-12-27 Guillem Jover <>
* scripts/ (%EXPORT_TAGS, @EXPORT_OK): Remove.
(@comp_supported, %comp_supported, %comp_ext, $comp_regex): Move
variables ...
* scripts/Dpkg/ ... here. New file.
* scripts/ Use new module Dpkg::Compression
instead of tag from Dpkg.
* scripts/ Likewise
* scripts/ (nobase_dist_perllib_DATA): Add
2007-12-27 Raphaël Hertzog <>
* scripts/Dpkg/Shlibs/ Blacklist some armel specific
symbols (__exidx_end, __exidx_start).
2007-12-27 Raphaël Hertzog <>
* Add some missing files in EXTRA_DIST. And add a
dist-hook rule to check that all files contained in the git
repository (except .gitignore) are included in the dist tarball.
2007-12-27 Raphaël Hertzog <>
* Bump version to 1.14.15~.
2007-12-27 Raphaël Hertzog <>
* Release 1.14.14.
2007-12-27 Raphaël Hertzog <>
* debian/control: Bump dpkg dependency to >= 1.14.13 in dpkg-dev
as dpkg-source needs the latest
* debian/control: Add libio-string-perl to Build-Depends as it's
needed for a non-regression test (200_Dpkg_Shlibs.t).
* debian/control: Fix priority of dselect to match the priority
set by ftpmasters.
2007-12-27 Guillem Jover <>
* Bump version to 1.14.14~.
2007-12-27 Guillem Jover <>
* Release 1.14.13.
2007-12-27 Flavio Stanchina <>
* scripts/ (checkrename): Do not ignore ENOENT for
2007-12-27 Daniel Leidert <>
Guillem Jover <>
* scripts/ Refactor duplicate code into ...
(checked_alternative): ... here. New function.
(set_links): Call it.
2007-12-27 Guillem Jover <>
* scripts/ (gl): Use defined instead of length.
2007-12-27 Guillem Jover <>
* scripts/ (set_links): New function.
(config_alternatives): Use set_links instead of duped code.
(set_alternatives): Likewise.
2007-12-27 Guillem Jover <>
* scripts/ Refactor all code to use
checked_mv instead of duped code.
2007-12-27 Guillem Jover <>