From: Mark Wooding Date: Tue, 10 Jul 2018 10:38:33 +0000 (+0100) Subject: configure.ac, debian/: Set up correct dependencies for GStreamer. X-Git-Tag: 5.2~29 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/commitdiff_plain/05fd0aa117566503026dbedfe4d9b0485da2d5ed configure.ac, debian/: Set up correct dependencies for GStreamer. This involves an unpleasant back-channel from the configure script to the Debian packaging machinery to explain which GStreamer version it chose, so that we can set the proper package names. --- diff --git a/configure.ac b/configure.ac index 306b338..1ba7144 100644 --- a/configure.ac +++ b/configure.ac @@ -455,6 +455,7 @@ AH_TEMPLATE([HAVE_GSTREAMER_0_10], AH_TEMPLATE([HAVE_GSTREAMER_1_0], [Define if building against GStreamer 1.0]) +mdw_gstreamer_version=nil for i in $want_gstreamer; do case $i in 0.10) v=0.10 V=0_10 ;; @@ -466,6 +467,7 @@ for i in $want_gstreamer; do [have_gstreamer=$v], [have_gstreamer=no]) case $have_gstreamer in no) continue ;; esac AC_DEFINE_UNQUOTED([HAVE_GSTREAMER_$V], [1]) + mdw_gstreamer_version=$v break done @@ -952,6 +954,16 @@ AC_CONFIG_FILES([Makefile tests/Makefile]) AC_OUTPUT +# A hack: communicate our selection of GStreamer version back to the +# Debian packaging machinery so that it can build the right dependencies. +echo '### extra control substitutions for Debian' >debian/substvars.auto.new +case $mdw_gstreamer_version in + nil) ;; + *) echo >>debian/substvars.auto.new \ + "disorder:GstVersion=gstreamer$mdw_gstreamer_version" ;; +esac +mv debian/substvars.auto.new debian/substvars.auto + if test $GCC = yes && test "$gcc_werror" = ''; then AC_MSG_WARN([building without -Werror]) fi diff --git a/debian/Makefile.am b/debian/Makefile.am index 3a3bb6a..7c1ccf8 100644 --- a/debian/Makefile.am +++ b/debian/Makefile.am @@ -43,3 +43,5 @@ EXTRA_DIST += \ EXTRA_DIST += \ disobedience.doc-base disobedience.install disobedience.menu + +DISTCLEANFILES = substvars.auto substvars.auto.new diff --git a/debian/control b/debian/control index cc37cac..fd78ad0 100644 --- a/debian/control +++ b/debian/control @@ -57,7 +57,8 @@ Package: disorder-gstreamer Architecture: any Section: sound Priority: extra -Depends: ${shlibs:Depends} +Depends: ${shlibs:Depends}, ${disorder:GstVersion}-plugins-base, ${disorder:GstVersion}-plugins-good +Recommends: ${disorder:GstVersion}-plugins-ugly Enhances: disorder-server Description: GStreamer-based audio decoder for DisOrder DisOrder is a software jukebox. It can play OGG, MP3, WAV and FLAC files, diff --git a/debian/rules b/debian/rules index cdb6991..435f6e2 100755 --- a/debian/rules +++ b/debian/rules @@ -40,6 +40,12 @@ override_dh_installdocs: dh_installdocs $(addprefix -p, $(DOCLINK_PKGS)) --link-doc=disorder dh_installdocs $(addprefix -N, $(DOCLINK_PKGS)) +###-------------------------------------------------------------------------- +### Set up the proper dependencies for `disorder-gstreamer'. + +override_dh_gencontrol: + dh_gencontrol -- -Tdebian/build/debian/substvars.auto + ###-------------------------------------------------------------------------- ### And just let Debhelper do the rest of the work.