[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

dpkg 0.93.67 BETA: the new C dpkg is hereby released !



For the last several months I have been touting this as the answer to
many of dpkg's problems.  Well, here it is at last, suitable (I hope)
for being let loose on your systems.

IMPORTANT: Please read the warning about configuration files, found
below, before installing this upgrade.

Changes in this version, which contains a complete rewrite in C of
the main `dpkg' tool, include:
 * Full support for virtual packages.
 * Much faster.
 * Not vulnerable to bugs in `tar' (better symlinks handling, etc).
 * Better conffiles handling - tends to prompt less about files the
   user has never heard of, and also doesn't routinely displace the
   users' files while unpacking the archive.
 * Better handling of files that always need to be present -
   no more need to use `ln' and `mv' in the maintainer scripts.
 * Better handling of files from one package which overwrite some from
   another.
 * More maintainable.
 * No more stale locks when using dselect.
 * `Status enquiry' options (--status, --search, &c) work, and do so
   for ordinary users as well as root.
 * New dpkg --audit option for putting in login scripts &c, so that
   users can be reminded about or check for badly-installed packages.
 * Support for the new `Essential' field for marking packages that are
   not to be removed (essentially, base packages), and better handling
   of Class and Section from package control files.
 * dselect has moved to /usr/bin, and has had a number of minor user
   interface improvements. (more work here is planned)
 * dpkg --skip-same-version implemented.
 * several options renamed to be more sensible (more of this is coming).

Most users should upgrade their dpkg, following the instructions
below, before doing any other system upgrades.

Alpha-testers of the new dpkg need not upgrade to this version - there
are no significant changes since 0.93.66.

Package maintainers may now make full use of virtual packages and
other features of the new dpkg (though they are not required to do so
yet).

Below you will find a complete copy of the Changelog entries for
0.93.50 and onwards, which gives details of all the changes made since
then.  This is likely to be very boring.

** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING **

There is a problem with conffiles, relating to this upgrade:

The naming convention for configuration files belonging to unpacked
but not configured packages has changed since 0.93.42.3 and earlier.

If you use the new dpkg to configure a package unpacked with an
earlier version, _but not yet configured_, you WILL LOSE ITS
CONFIGURATION INFORMATION.

You should be aware of this, and use your existing dpkg to get
packages into an appropriate state (ie, properly installed, not
installed, or in any state at all if you don't particularly care about
their configuration) before installing dpkg 0.93.67.

YOU SHOULD INSTALL DPKG 0.93.67 IN A DPKG RUN ALL ON ITS OWN.  This is
for the same reason - if anything goes wrong, you may find yourself
with dpkg 0.93.67 on the system and some unconfigured packages that
you can't fix.

The system will notice that you're upgrading from pre-0.93.50 and
check for any packages in `bad' states.  If there are any it will
offer to abort the installation, and offer advice about how to resolve
the problem if you choose to do so.

It will also warn you about the restriction that you must do the
upgrade in a dpkg run all on its own, and again it will give you the
option to back out of the installation.  It will not notice if you get
this wrong and tell it `yes' when you should say `no'.


Here are the MD5 checksums and file sizes.  The new dpkg will be
available in binary/base/dpkg-0.93.67.deb when it has been uploaded
and moved out of Incoming.

8b05ac75bf803716235ec7889c10333d  dpkg-0.93.67.deb
b5eed8652c67a22d1aa1417ccb595651  dpkg-0.93.67.nondebbin.tar.gz
f158b96605a78ca9519a9c40566d6fe9  dpkg-0.93.67.tar.gz
-rw-r--r--   1 root     root       166959 Aug  4 01:50 dpkg-0.93.67.deb
-rw-rw-r--   1 root     ian        164534 Aug  4 01:50 dpkg-0.93.67.nondebbin.tar.gz
-rw-rw-r--   1 ian      ian        220195 Aug  4 01:40 dpkg-0.93.67.tar.gz

(For alpha testers: when 0.93.67 has been successfully uploaded I'll
remove 0.93.66 from the private ALPHA directory.  Please check the
file sizes before downloading and the MD5 checksums afterwards.)


dpkg (0.93.67) BETA; priority=LOW for C dpkg alpha testers, HIGH for others

  * dpkg no longer statically linked and -g.
  * calls to abort() changed to print string, file and line number first.
  * removed unused variable from dpkg source.

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Fri, 4 Aug 1995 01:39:52 +0100

dpkg (0.93.66) ALPHA; priority=MEDIUM

  * dpkg will correctly remove overwritten files from the lists of
    the package(s) that used to contain them.

  * dpkg --purge is now an action, rather than a modifier for --remove,
    and the -P alias for it is withdrawn.

  * dpkg --unpack/--install filenames in messages are now more sensible
    about when to use .../ (show as many trailing components as possible
    in 40 characters, or the whole path if that the last component is
    longer than that).

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Thu, 3 Aug 1995 02:11:03 +0100

dpkg (0.93.65) ALPHA; priority=MEDIUM

  * dpkg --remove should, when a package being removed is depended-on
    by another that is also queued for removal, defer the depended-on
    package rather than aborting it.  (Bug#1188.)

  * dpkg will not attempt to configure or remove a package more than
    once in the same run.  (Bug#1169.)

  * dpkg cosmetic fix to dependency problems message (this bug
    hasn't been triggered to my knowledge).

  * perl-dpkg no longer installed in /usr/bin.

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Wed, 2 Aug 1995 13:02:58 +0100

dpkg (0.93.64) ALPHA; priority=MEDIUM

  * dpkg marks a package as no longer `to be configured in this run'
    when an error occurs, so that other packages which depend on it
    will fail (rather than causing a loop and an assertion failure,
     packages.c:166: failed assertion `dependtry <= 4').

  * dselect initial selection granularity is single-package.
  * dpkg --no-also-select option renamed to --selected-only (old option
    still accepted, but no longer in --help).  Changed -N to -O.

  * dselect `update' option changed to `install' (and other options
    renamed too).  NB: old access methods will not work, because
    the `update' script should now be an `install' script.

  * dselect `installation methods' renamed to `access methods'.
  * dpkg --skip-same-version and --refuse-downgrade produce friendlier
    messages when they skip packages.
  * --licence option now properly mentioned in all programs' --version
    messages.

  * bad fix for ELF compile problem involving myopt.h removed (compile
    problem turned out to be a GCC bug.)

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Tue, 1 Aug 1995 03:03:58 +0100

dpkg (0.93.63) ALPHA; priority=LOW

  * preinst works around shell bug/misfeature involving `trap'.

  * dpkg --skip-same-version doesn't skip packages which have
    an error flag set or which aren't in a standard `installed' state.

  * dpkg --search now does a substring search if the string doesn't
    start with a wildcard character (*, [ or ?) or slash.

  * problem with C/C++ linkage of stuff in "myopt.h" fixed, to help
    with compiling with GCC 2.7.0.

  * dselect Makefile.in `clean' deletes curkeys.inc &c, so that they are
    not shipped in the distribution source and will be rebuilt on the
    target system.

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Thu, 27 Jul 1995 13:38:47 +0100

dpkg (0.93.62) ALPHA; priority=HIGH

  * dpkg purges leftover control scripts from /var/lib/dpkg/tmp.ci,
    rather than associating them with the wrong package.  (Bug#1101.)

  * dpkg won't `disappear' packages containing no files or directories,
    nor a package required for depends/recommended.  (Bug#1128.)

  * dpkg follows directory symlinks.  (Bug#1125.)

  * dselect fixups for ELF/GCC2.7.0 compilation.

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Fri, 21 Jul 1995 21:43:41 +0100

dpkg (0.93.61) ALPHA; priority=LOW

  * dselect keybindings and status characters and descriptions changed
    (in pursuance of Bug#1037, user interface problems, still open.)

  * Some cleanups to fix mistakes discovered by ELF-GCC 2.7.0, and fixup
    for newer C++ draft standard (`for' variable declaration scope change).

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Tue, 18 Jul 1995 01:42:51 +0100

dpkg (0.93.60) ALPHA; priority=HIGH

  * dpkg doesn't think packages have `disappeared' if you install
    several packages at once.  (later reported as Bug#1132.)

  * usage error messages tidied up.

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Sun, 16 Jul 1995 17:56:56 +0100

dpkg (0.93.59) ALPHA; priority=HIGH

  * dpkg doesn't break maintainer scripts &c if package `foo' exists
    when processing package `foobar'.  (Related to Bug#1101.)

  * dpkg implements `disappear' functionality.
  * dpkg/dselect remove dead entries from /var/lib/dpkg/status.

  * dpkg --list now sorted correctly and output somewhat improved.
  * some debugging messages moved from dbg_stupidlyverbose to dbg_scripts.
  * dpkg prints `Removing foo' message even if foo is not configured.
  * dpkg only prints `serious warning: files list file ... missing'
    once for each package.

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Sun, 16 Jul 1995 02:32:11 +0100

dpkg (0.93.58) ALPHA; priority=HIGH

  * dpkg should write out status even for packages which it has only
    encountered in the `available' file so far.

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Fri, 14 Jul 1995 20:19:21 +0100

dpkg (0.93.57) ALPHA; priority=LOW

  * dpkg does chroot when running maintainer scripts (--instdir
    should work right now, though I haven't been able to test it).

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Fri, 14 Jul 1995 01:32:30 +0100

dpkg (0.93.56) ALPHA; priority=HIGH

  * dpkg can now overwrite symlinks to directories, and will
    do correct handling of symlinks to plain files.
  * dpkg should not replace any directory with a symlink.

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Thu, 13 Jul 1995 02:43:36 +0100

dpkg (0.93.55) ALPHA; priority=MEDIUM

  * dpkg can now extract hardlinks.
  * dpkg configuration/removal works in the presence of dependency cycles.
  * dpkg should no longer fail an assertion at processarc.c:193.

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Wed, 12 Jul 1995 01:34:44 +0100

dpkg (0.93.54) ALPHA; priority=MEDIUM

  * dpkg and dselect no longer throw away all Class and Section
    information in /var/lib/dpkg/available.  (Oops.)
  * dpkg --refuse-<something> now works (this broke some dselect
    method scripts' attempts to use --refuse-downgrade).
  * dpkg --audit and --list implemented.

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Mon, 10 Jul 1995 00:35:13 +0100

dpkg (0.93.53) ALPHA; priority=LOW

  * dpkg --install/--unpack only skips on-hold packages with --auto.
  * dpkg doesn't fclose() the --fsys-tarfile pipe twice.
  * dpkg error handling and reporting cleaned up.
  * dpkg now lists any failed packages/files just before exiting.

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Sun, 9 Jul 1995 16:31:36 +0100

dpkg (0.93.52) ALPHA; priority=MEDIUM

  * dpkg won't segfault due to missing (Package_)Revision fields.
  * dpkg --search works.
  * dpkg will set execute permissions on scripts if necessary.
  * dpkg prints filenames in --unpack and --install.

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Sat, 8 Jul 1995 12:41:39 +0100

dpkg (0.93.51) ALPHA; priority=HIGH

  * dpkg --status and --listfiles now work.

  * dpkg --remove --auto won't try to remove everything (!)
  * dpkg --unpack doesn't coredump after unpacking the first package.
  * dpkg won't fail an assertion if it bombs out of --configure
    or --remove because of too many errors.

  * Support for `Essential' in dpkg (not yet in dselect).
  * `available' (Packages) file class and section override those
    from package control files.
  * `Essential: yes' added to control file.

  * Locking strategy changed, now uses flock (no more stale locks).
  * preinst now more helpful about conffiles upgrade problem.

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Sat, 8 Jul 1995 01:15:26 +0100

dpkg (0.93.50) ALPHA

  * C dpkg now in service.

  * dselect now installs in /usr/bin instead of /usr/sbin.
  * Improved `explanation of display' help and changed HSOC to EIOW.
  * dselect goes back to top of info display when you move the
    highlight.

  * Added <sys/types.h> to md5sum/md5.c, for the benefit of FreeBSD.
  * --admindir doesn't append `var/lib/dpkg' to its argument.

 -- Ian Jackson <iwj10@cus.cam.ac.uk>  Fri, 19 May 1995 21:03:08 +0100


Reply to: