My package is a rather unusual change, so it wouldn't surprise me if I've uncovered a few bugs in apt-get. I know for certain I've found at least one.
I'm repackaging wine, as the old package is rather out of date. The old package was also needlessly split into multiple packages, and recommended some obsolete packages which now actually break wine if installed. Here are the old packages: winesetuptk, wine-doc, wine-utils, libwine, libwine0.0.971116, wine-doc, libwine-alsa, libwine-arts, libwine-capi, libwine-jack, libwine-nas, libwine-print, libwine-twain, libwine-dev And here are the new packages: wine, wine-dev What I'd like is for all the old stuff to be automagically removed, and wine installed in place (wine-dev will replace libwine-dev if they have it.) Here is my control file: Source: wine Section: otherosfs Priority: optional Maintainer: Scott Ritchie <[EMAIL PROTECTED]> Build-Depends: debhelper (>= 4.0.0), flex, bison, libx11-dev, libxt-dev, libicu28-dev, libncurses5-dev, libcupsys2-dev, libfontconfig-dev, libfreetype6-dev, mesa-common-dev | nvidia-glx-dev | fglrx-driver-dev, libungif4-dev | giflib3g-dev, libjack0.80.0-dev, libarts1-dev, libaudio-dev, libasound2-dev, linux-kernel-headers, libssl-dev, libcapi20-dev, docbook-utils, docbook-xsl, docbook-to-man, libjpeg-mmx-dev | libjpeg62-dev Standards-Version: 3.6.1 Package: wine Architecture: any Suggests: msttcorefonts Conflicts: binfmt-support (<< 1.1.2), winesetuptk, wine-doc, wine-utils, libwine, libwine0.0.971116, wine-doc, libwine-alsa, libwine-arts, libwine-capi, libwine-jack, libwine-nas, libwine-print, libwine-twain Replaces: winesetuptk, wine-doc, wine-utils, libwine, libwine0.0.971116, wine-doc, libwine-alsa, libwine-arts, libwine-capi, libwine-jack, libwine-nas, libwine-print, libwine-twain Description: Microsoft Windows Compatibility Layer (Binary Emulator and Library) While Wine is usually thought of as a Microsoft Windows emulator, the Wine developers would prefer that users thought of Wine as a Windows compatibility layer for Linux. Wine does not require MS Windows, but it can use native system dll files in place of its own if they are available. . This package includes a program loader, which allows unmodified Windows binaries to run under compatible hardware. This package also includes the library that implements the Wine project's free version of the Windows API, allowing successful running of programs ported directly from Windows. Package: wine-dev Architecture: any Section: libdevel Depends: wine (= ${Source-Version}), libc6-dev Conflicts: libwine-dev Replaces: libwine-dev Description: Microsoft Windows Compatibility Layer (Development files) While Wine is usually thought of as a Microsoft Windows emulator, the Wine developers would prefer that users thought of Wine as a Windows compatibility layer for Linux. Wine does not require MS Windows, but it can use native system dll files in place of its own if they are available. . This package consists of the development files needed to compile programs using wine's free version of the Microsoft Windows API. So far, I've encountered two problems. First, apt-get dist-upgrade keeps wine back, and I can't figure out why. Here's what happens when I try to dpkg -i the wine deb file: dpkg: considering removing winesetuptk in favour of wine ... dpkg: yes, will remove winesetuptk in favour of wine. dpkg: considering removing wine-doc in favour of wine ... dpkg: yes, will remove wine-doc in favour of wine. dpkg: considering removing libwine in favour of wine ... dpkg: no, cannot remove libwine (--auto-deconfigure will help): libwine-twain depends on libwine libwine is to be removed. dpkg: regarding wine_0.0.20041019-1_i386.deb containing wine: wine conflicts with libwine libwine (version 0.0.20040615-1ubuntu1) is installed. dpkg: error processing wine_0.0.20041019-1_i386.deb (--install): conflicting packages - not installing wine Errors were encountered while processing: wine_0.0.20041019-1_i386.deb This doesn't make any sense, since the package replaces libwine-twain as well. dpkg should be removing them both. The second thing to notice is that when I run apt-get install wine I get the following: Reading Package Lists... Done Building Dependency Tree... Done Suggested packages: wine-utils winesetup binfmt-support The following packages will be REMOVED: libwine libwine-alsa libwine-arts libwine-dev libwine-jack libwine-nas libwine-print libwine-twain wine-doc winesetuptk The following packages will be upgraded: wine 1 upgraded, 0 newly installed, 10 to remove and 0 not upgraded. Need to get 13.5MB of archives. After unpacking 3855kB disk space will be freed. Do you want to continue? [Y/n] Two things are wrong here. For starters, the suggested packages being displayed are wrong - those were only suggested in the old version of the package, and are now obsolete (and even conflicted) by the new version. The second is that, although apt is removing libwine-dev, it is not replacing it with wine-dev. So, what's the verdict: Bug in my package control file, bug in apt, bug in dpkg, or combination of all three? Thanks, Scott Ritchie
signature.asc
Description: This is a digitally signed message part