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

Re: cdebconf state



Tollef Fog Heen <tollef@add.no> immo vero scripsit:

Hi,

> Also, cdebconf has been split into a library and a non-library part,
> which is good and seems to be working fine.  It also has something
> which may some day begin to resemble a proper shlibs file; somebody
> who knows the shared library stuff better than I do -- please take a
> look at it and commit fixes.

I've looked at it. It's getting a little bit more hairy than
what I would have liked it to be, but I tried to make it
comply with policy, and get it working.

Quite a few quirks.
I'll commit it to CVS:

Index: debian/changelog
===================================================================
RCS file: /org/cvs.debian.org/cvs/debian-boot/debian-installer/tools/cdebconf/debian/changelog,v
retrieving revision 1.16
diff -u -r1.16 changelog
--- debian/changelog	2002/08/07 16:41:47	1.16
+++ debian/changelog	2002/08/08 01:54:36
@@ -6,8 +6,17 @@
   * tfheen: fix rfc822db to use a hash table.  Fix reference counting as
     well
   * tfheen: fix various possible segfaults and off-by-one errors.
+  * Junichi Uekawa: use d-shlibs for shlibs moving.
+    change package names to match d-shlibs desires from libcdebconf-dev to
+    libdebconf0.2-dev, and libdebconf0.2.
+    Add shlibs:Depends to library package
+    Add devlibs:Depends to dev package
+    src/Makefile.in: Build static library as per policy requirement.
+    debian/rules: add rule to remove static library in udeb
+    debian/control: retail provides: libcdebconf-dev for other packages to
+    depend on for the time being.
 
- -- Colin Walters <walters@debian.org>  Tue, 30 Jul 2002 00:39:49 -0400
+ -- Junichi Uekawa <dancer@debian.org>  Thu,  8 Aug 2002 10:39:16 +0900
 
 cdebconf (0.20) unstable; urgency=low
 
Index: debian/control
===================================================================
RCS file: /org/cvs.debian.org/cvs/debian-boot/debian-installer/tools/cdebconf/debian/control,v
retrieving revision 1.10
diff -u -r1.10 control
--- debian/control	2002/07/22 22:57:11	1.10
+++ debian/control	2002/08/08 01:54:36
@@ -1,6 +1,6 @@
 Source: cdebconf
 Section: utils
-Build-Depends: dpkg-dev (>= 1.7.0), debhelper (>= 2.1.18), slang1-dev, libbogl-dev [!hurd-i386], libperl-dev
+Build-Depends: dpkg-dev (>= 1.7.0), debhelper (>= 2.1.18), slang1-dev, libbogl-dev [!hurd-i386], libperl-dev, d-shlibs (>= 0.2)
 Priority: optional
 Maintainer: Randolph Chung <tausq@debian.org>
 Standards-Version: 3.5.6.1
@@ -19,13 +19,13 @@
  Installing this package is rather dangerous now. It will break debconf.
  You have been warned!
 
-Package: libcdebconf-dev
-Architecture: all
+Package: libdebconf0.2-dev
+Architecture: any
 Section: devel
-Depends: libcdebconf0 (= ${Source-Version})
-Conflicts: cdebconf-dev
-Provides: cdebconf-dev
-Replaces: cdebconf-dev
+Depends: libdebconf0.2 (= ${Source-Version}), ${shlibs:Depends}, ${devlibs:Depends}
+Conflicts: libdebconf-dev
+Provides: libdebconf-dev, libcdebconf-dev
+Replaces: libdebconf-dev
 Description: Development files for cdebconf
  Debconf is a configuration management system for Debian packages. It is
  used by some packages to prompt you for information before they are
@@ -48,7 +48,7 @@
  cdebconf-udeb is a minimal cdebconf package used by the 
  debian-installer
 
-Package: libcdebconf0
+Package: libdebconf0.2
 Architecture: any
 Section: libs
 Depends: ${shlibs:Depends}
@@ -58,4 +58,4 @@
  installed. This is a reimplementation of the original debconf version
  in C.
  .
- This is the libraries needed by cdebconf-dev and cdebconf.
+ This is the libraries needed by libdebconf-dev and cdebconf.
Index: debian/rules
===================================================================
RCS file: /org/cvs.debian.org/cvs/debian-boot/debian-installer/tools/cdebconf/debian/rules,v
retrieving revision 1.19
diff -u -r1.19 rules
--- debian/rules	2002/07/30 04:38:58	1.19
+++ debian/rules	2002/08/08 01:54:41
@@ -19,6 +19,10 @@
 PRIORITY=$(shell grep '^Package: cdebconf-udeb' debian/control -A 10 | grep ^Priority: | cut -d ' ' -f 2)
 CONFFILE=/etc/cdebconf.conf
 
+#package names
+LIBDEBCONFDEV=libdebconf0.2-dev
+LIBDEBCONF=libdebconf0.2
+
 FRONTENDS=text slang
 ifeq (,$(findstring hurd-,$(DEB_HOST_ARCH)))
 FRONTENDS += bogl
@@ -78,6 +82,7 @@
 		etcdir=$(shell pwd)/debian/cdebconf-udeb/etc )
 	rm -rf $(shell pwd)/debian/cdebconf-udeb/usr/include
 	rm -rf $(shell pwd)/debian/cdebconf-udeb/usr/share/man
+	rm -rf $(shell pwd)/debian/cdebconf-udeb/usr/lib/lib*.a
 
 install: build
 	dh_testdir
@@ -88,10 +93,8 @@
 		$(MAKE) install prefix=$(shell pwd)/debian/cdebconf/usr \
 		etcdir=$(shell pwd)/debian/cdebconf/etc )
 
-	dh_movefiles -plibcdebconf-dev --sourcedir=debian/cdebconf \
-		usr/lib/*.so usr/include/cdebconf
-	dh_movefiles -plibcdebconf0 --sourcedir=debian/cdebconf \
-		usr/lib/*.so*
+	d-shlibmove --commit --movedev debian/cdebconf/usr/include/cdebconf usr/include \
+	  debian/cdebconf/usr/lib/lib*.so
 
 	rm -rf debian/cdebconf/usr/include
 
@@ -104,23 +107,44 @@
 # Note that this builds a .udeb, which is not policy compliant or anything.
 binary-arch: cdebconf cdebconf-udeb
 
-cdebconf: install
-	@echo "Building $@"
+$(LIBDEBCONF): install
 	dh_testdir
 	dh_testroot
 	dh_installdirs
+
+	dh_installdocs		-p$@
+	dh_installchangelogs	-p$@
+	dh_makeshlibs		-p$@
+	#dh_strip		-p$@
+	dh_compress		-p$@
+	dh_fixperms		-p$@
+	dh_installdeb		-p$@
+	#dh_shlibdeps		-p$@
+	dh_gencontrol		-p$@
+	dh_md5sums		-p$@
+	dh_builddeb		-p$@
 
-	dh_installdocs		-plib$@0
-	dh_installchangelogs	-plib$@0
-	dh_makeshlibs		-plib$@0
-	#dh_strip		-plib$@0
-	dh_compress		-plib$@0
-	dh_fixperms		-plib$@0
-	dh_installdeb		-plib$@0
-	#dh_shlibdeps		-plib$@0
-	dh_gencontrol		-plib$@0
-	dh_md5sums		-plib$@0
-	dh_builddeb		-plib$@0
+$(LIBDEBCONFDEV): install
+	dh_testdir
+	dh_testroot
+	dh_installdirs
+
+	dh_installdocs		-p$@
+	dh_installchangelogs	-p$@
+	#dh_strip		-p$@
+	dh_compress		-p$@
+	dh_fixperms		-p$@
+	dh_installdeb		-p$@
+	#dh_shlibdeps		-p$@
+	dh_gencontrol		-p$@
+	dh_md5sums		-p$@
+	dh_builddeb		-p$@
+
+cdebconf: $(LIBDEBCONFDEV) $(LIBDEBCONF)
+	@echo "Building $@"
+	dh_testdir
+	dh_testroot
+	dh_installdirs
 
 	dh_installdocs		-p$@ doc/*
 	dh_installchangelogs	-p$@
@@ -129,21 +153,11 @@
 	dh_fixperms		-p$@
 	dh_makeshlibs		-p$@
 	dh_installdeb		-p$@
-	dh_shlibdeps -p$@ -ldebian/lib$@0/usr/lib
+	dh_shlibdeps -p$@ -ldebian/$(LIBDEBCONF)/usr/lib
 	dh_gencontrol		-p$@
 	dh_md5sums		-p$@
 	dh_builddeb		-p$@
 
-	dh_installdocs		-plib$@-dev
-	dh_installchangelogs	-plib$@-dev
-	#dh_strip		-plib$@-dev
-	dh_compress		-plib$@-dev
-	dh_fixperms		-plib$@-dev
-	dh_installdeb		-plib$@-dev
-	#dh_shlibdeps		-plib$@-dev
-	dh_gencontrol		-plib$@-dev
-	dh_md5sums		-plib$@-dev
-	dh_builddeb		-plib$@-dev
 
 
 cdebconf-udeb: install-udeb
Index: debian/shlibs.local
===================================================================
RCS file: /org/cvs.debian.org/cvs/debian-boot/debian-installer/tools/cdebconf/debian/shlibs.local,v
retrieving revision 1.1
diff -u -r1.1 shlibs.local
--- debian/shlibs.local	2002/07/22 22:57:11	1.1
+++ debian/shlibs.local	2002/08/08 01:54:41
@@ -1 +1 @@
-libdebconf 0.2 libdeconf0 (>= 0.2)
+libdebconf 0.2 libdeconf0.2 
Index: src/Makefile.in
===================================================================
RCS file: /org/cvs.debian.org/cvs/debian-boot/debian-installer/tools/cdebconf/src/Makefile.in,v
retrieving revision 1.4
diff -u -r1.4 Makefile.in
--- src/Makefile.in	2002/07/22 22:52:40	1.4
+++ src/Makefile.in	2002/08/08 01:54:41
@@ -7,6 +7,7 @@
 MICRO=0
 LDFLAGS=-L. -ldebconf @RPATH@
 LIB=libdebconf.so
+LIBNAME_A=libdebconf.a
 LIBNAME=libdebconf.so.$(MAJOR).$(MINOR).$(MICRO)
 SONAME=libdebconf.so.$(MAJOR).$(MINOR)
 DEBCONF=debconf
@@ -17,10 +18,12 @@
 	database.opic debconfclient.opic frontend.opic priority.opic \
 	strutl.opic question.opic template.opic
 
+LIBOBJS_A=$(LIBOBJS:.opic=.o)
+
 all: $(BIN) $(LIB) $(SONAME) modules/Makefile
 	@$(MAKE) -C modules $@
 
-$(BIN): $(LIB) $(addsuffix .o,$(BIN))
+$(BIN): $(LIB) $(LIBNAME_A) $(addsuffix .o,$(BIN))
 	@for bin in $(BIN); do \
 		echo Compiling tool $$bin; \
 		$(CC) $(CFLAGS) -o $$bin $$bin.o $(LDFLAGS); \
@@ -30,6 +33,10 @@
 	@echo Creating shared library $@
 	@$(CC) $(CFLAGS) -shared -Wl,-soname,$(SONAME) -o $@ $^ -ldl
 
+$(LIBNAME_A): $(LIBOBJS_A)
+	$(AR) cr $@ $^
+	ranlib $@
+
 $(SONAME) $(LIB): $(LIBNAME)
 	-@ln -sf $^ $@
 
@@ -42,9 +49,10 @@
 	install -d -m 755 ${sharedir}
 	install -m 755 debconf debconf-loadtemplate ${bindir}
 	install -m 755 dpkg-reconfigure ${sbindir}
-	install -m 755 $(LIBNAME) ${libdir}
+	install -m 644 $(LIBNAME) ${libdir}
 	ln -sf $(LIBNAME) ${libdir}/$(SONAME)
 	ln -sf $(LIBNAME) ${libdir}/$(LIB)
+	install -m 644 $(LIBNAME_A) ${libdir}
 	install -m 644 ${srcdir}/src/cdebconf.conf-dist ${etcdir}/cdebconf.conf
 	install -m 644 ${srcdir}/src/client/confmodule ${sharedir}
 	ln -sf ../../bin/$(DEBCONF) ${sharedir}/frontend




regards,
	junichi


-- 
dancer@debian.org : Junichi Uekawa   http://www.netfort.gr.jp/~dancer
GPG Fingerprint : 17D6 120E 4455 1832 9423  7447 3059 BF92 CD37 56F4
Libpkg-guide: http://www.netfort.gr.jp/~dancer/column/libpkg-guide/



Reply to: