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

Re: Not depending on shlibs because of plugins?



Re: Russ Allbery 2007-01-06 <873b6o3m0y.fsf@windlord.stanford.edu>
> This is what I'd do.  Yes, it's a bunch of extra packages, but it clearly
> expresses the actual dependency structure, rather than an approximation of
> it, and that's usually a good thing in the long run.

As a very late follow up, here's what the rules file would have looked
like, paired with ${db-*:Depends} fields in control:

[...]
binary binary-arch: install
	dh_installchangelogs -a ChangeLog
	dh_installdocs -a
	dh_movefiles -a
	# compute shlib deps for libyada
	dh_shlibdeps -a
	# move plugins in place and compute deps for them
	mv debian/tmp/usr/lib/libyada_*.so* debian/libyada4/usr/lib
	dpkg-shlibdeps -T"debian/libyada4.substvars" -pdb-postgres -edebian/libyada4/usr/lib/libyada_pgsql.so.4
	dpkg-shlibdeps -T"debian/libyada4.substvars" -pdb-mysql -edebian/libyada4/usr/lib/libyada_mysql.so.4
	dpkg-shlibdeps -T"debian/libyada4.substvars" -pdb-sqlite -edebian/libyada4/usr/lib/libyada_sqlite3.so.4
	# remove the libc dependency (already covered by dh_shlibdeps)
	perl -i -pe 's/libc\d \(>= [0-9.-]+\), // if /^db-/' debian/libyada4.substvars
	# make sure there's only one dep per plugin (otherwise A | B | C won't work)
	if egrep '^db-.*,' debian/libyada4.substvars ; then exit 1 ; fi
	dh_strip -a
	dh_compress -a
	dh_fixperms -a
	dh_makeshlibs -a
	dh_installdeb -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a
[...]

I went the other way though, there's now separate packages for the sql
backend wrappers. (Which promptly triggered a "circular dependency
hell" bug report - #414691.)

Christoph
-- 
cb@df7cb.de | http://www.df7cb.de/

Attachment: signature.asc
Description: Digital signature


Reply to: