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

Bug#319503: marked as done (libapt-pkg should be in its own binary package)



Your message dated Thu, 6 Sep 2012 17:15:56 +0800
with message-id <CAN3veReis-ruTiXO22tTiYuXi5xSC0i6-h3-EVdtGKRO315d1A@mail.gmail.com>
and subject line Re: Bug#319503: libapt-pkg should be in its own binary package
has caused the Debian Bug report #319503,
regarding libapt-pkg should be in its own binary package
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
319503: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319503
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
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$@

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
Version: 0.8.15~exp1

apt (0.8.15~exp1) experimental; urgency=low
  […]
  * debian/control:
    - add libapt-pkg4.10 and libapt-inst1.2 library packages

--- End Message ---

Reply to: