Package: apt Version: 0.6.38 Severity: wishlist Hi,
I don't know if this has been discussed before in depth, but anyway I believe that the libapt-pkg .so should be split in its own package. This would have the benefit of making it possible to have two (or more) abi-incompatible versions of the library on one system, which in turn would make it possible to have e.g. apt-utils from one source version of apt and software like aptitude compiled against another version. In the least this would make hacking libapt-pkg a lot easier, as making abi-breaking changes wouldn't either break or force to uninstall everything that depends on the unmodified version. I attached a patch of the modifications I made when hacking libapt-pkg to support this; I'm sure there's still some work to do with them. The library name libapt-pkg0 at least is perhaps not the best choice. Rather I'd think that the soname would be better. Sami
--- apt-0.6.38.sli.0/debian/control +++ apt-0.6.38.sli.0/debian/control @@ -9,10 +9,9 @@ Package: apt Architecture: any -Depends: ${shlibs:Depends} +Depends: ${shlibs:Depends}, ${libapt-pkg:provides} Priority: important Replaces: libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7) -Provides: ${libapt-pkg:provides} Suggests: aptitude | synaptic | gnome-apt | wajig, dpkg-dev, apt-doc, bzip2, gnupg Section: base Description: Advanced front-end for dpkg @@ -32,6 +31,16 @@ This package contains the user guide and offline guide, for APT, an Advanced Package Tool. +Package: libapt-pkg0 +Architecture: any +Depends: ${shlibs:Depends} +Provides: ${libapt-pkg:provides} +Priority: important +Section: base +Description: APT support libraries + This package contains libraries to support the APT package management + system. + Package: libapt-pkg-dev Architecture: any Priority: optional --- apt-0.6.38.sli.0/debian/libapt-pkg0.dirs +++ apt-0.6.38.sli.0/debian/libapt-pkg0.dirs @@ -0,0 +1,1 @@ +usr/lib --- apt-0.6.38.sli.0/debian/rules +++ apt-0.6.38.sli.0/debian/rules @@ -184,7 +184,7 @@ # Build architecture-dependent files here. -binary-arch: apt libapt-pkg-dev apt-utils +binary-arch: apt libapt-pkg0 libapt-pkg-dev apt-utils apt: build debian/shlibs.local dh_testdir -p$@ dh_testroot -p$@ @@ -198,10 +198,6 @@ # Remove the bits that are in apt-utils rm $(addprefix debian/$@/usr/bin/apt-,$(APT_UTILS)) - # install the shared libs - find $(BLD)/bin/ -type f -name "libapt-pkg*.so.*" -exec cp -a "{}" debian/$@/usr/lib/ \; - find $(BLD)/bin/ -type l -name "libapt-pkg*.so.*" -exec cp -a "{}" debian/$@/usr/lib/ \; - cp $(BLD)/bin/methods/* debian/$@/usr/lib/apt/methods/ cp $(BLD)/scripts/dselect/* debian/$@/usr/lib/dpkg/methods/apt/ @@ -223,11 +219,38 @@ dh_fixperms -p$@ dh_makeshlibs -p$@ -m$(LIBAPTPKG_MAJOR) -V '$(LIBAPTPKG_PROVIDE)' dh_installdeb -p$@ - dh_shlibdeps -p$@ -l`pwd`/debian/apt/usr/lib:`pwd`/debian/$@/usr/lib -- -Ldebian/shlibs.local.apt + dh_shlibdeps -p$@ -l`pwd`/debian/libapt-pkg0/usr/lib -l`pwd`/debian/apt/usr/lib:`pwd`/debian/$@/usr/lib -- -Ldebian/shlibs.local.apt dh_gencontrol -p$@ -u -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE) dh_md5sums -p$@ dh_builddeb -p$@ +libapt-pkg0: build debian/shlibs.local + dh_testdir -p$@ + dh_testroot -p$@ + dh_clean -p$@ -k + dh_installdirs -p$@ +# +# libapt-pkg install +# + find $(BLD)/bin/ -type f -name "libapt-pkg*.so.*" -exec cp -a "{}" debian/$@/usr/lib/ \; + find $(BLD)/bin/ -type l -name "libapt-pkg*.so.*" -exec cp -a "{}" debian/$@/usr/lib/ \; + dh_installdocs -plibapt-pkg0 +# dh_installmenu -p$@ +# dh_installinit -p$@ +# dh_installcron -p$@ +# dh_installman -p$@ + + dh_installchangelogs -p$@ + dh_strip -p$@ + dh_compress -p$@ + dh_fixperms -p$@ +# dh_suidregister -p$@ + dh_installdeb -p$@ + dh_gencontrol -p$@ -u -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE) -Vlibapt-inst:provides=$(LIBAPTINST_PROVIDE) + dh_md5sums -p$@ + dh_builddeb -p$@ + + libapt-pkg-dev: build debian/shlibs.local dh_testdir -p$@ dh_testroot -p$@ @@ -279,8 +302,8 @@ dh_fixperms -p$@ dh_makeshlibs -m$(LIBAPTINST_MAJOR) -V '$(LIBAPTINST_PROVIDE)' -p$@ dh_installdeb -p$@ - dh_shlibdeps -p$@ -l`pwd`/debian/apt/usr/lib:`pwd`/debian/$@/usr/lib -- -Ldebian/shlibs.local.apt-utils + dh_shlibdeps -p$@ -l`pwd`/debian/libapt-pkg0/usr/lib -l`pwd`/debian/apt/usr/lib:`pwd`/debian/$@/usr/lib -- -Ldebian/shlibs.local.apt-utils dh_gencontrol -p$@ -u -Vlibapt-inst:provides=$(LIBAPTINST_PROVIDE) dh_md5sums -p$@ dh_builddeb -p$@
signature.asc
Description: Digital signature