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: