[Koha-patches] [PATCH 09/28] Replace dependencies on koha-dev-env with list of packages.

Lars Wirzenius lars at catalyst.net.nz
Tue May 25 03:44:08 CEST 2010


The dependencies are needed both at build time and at run time. Build
time needs them for running tests. To avoid duplicating the (long!)
list of dependencies, we do a little bit of trickery, and generate
a koha:Depends substvar, from all build dependencies (except debhelper),
and use ${koha:Depends} in the koha-common (not koha) Depends header.
A little bit tricky, but works.
---
 debian/bd-to-depends |   21 ++++++++++++++++
 debian/control       |   65 +++++++++++++++++++++++++++++++++++++++++++++++--
 debian/rules         |    6 ++++-
 3 files changed, 88 insertions(+), 4 deletions(-)
 create mode 100755 debian/bd-to-depends

diff --git a/debian/bd-to-depends b/debian/bd-to-depends
new file mode 100755
index 0000000..747a7d1
--- /dev/null
+++ b/debian/bd-to-depends
@@ -0,0 +1,21 @@
+#!/usr/bin/python
+
+import re
+import debian.deb822
+
+exclusions = [
+    'debhelper',
+]
+
+exclusions = [re.compile(s) for s in exclusions]
+
+depstring = debian.deb822.Deb822(file('debian/control')).get('Build-Depends')
+deps = [s.strip() for s in depstring.split(',')]
+result = []
+for dep in deps:
+    for ex in exclusions:
+        if ex.match(dep):
+            break
+    else:
+        result.append(dep)
+print 'koha:Depends=%s' % ', '.join(result)
diff --git a/debian/control b/debian/control
index 7050d7d..999dbfa 100644
--- a/debian/control
+++ b/debian/control
@@ -3,12 +3,71 @@ Maintainer: Lars Wirzenius <lars at catalyst.net.nz>
 Section: web
 Priority: optional
 Standards-Version: 3.8.4
-Build-Depends: koha-dev-env, debhelper (>= 7.0.50), gettext
+# NOTA BENE: Build dependencies end up as runtime dependencies as well.
+# See debian/rules, the override_dh_gencontrol rules. 
+# There are some exceptions.
+Build-Depends: debhelper (>= 7.0.50), gettext,
+    perl,
+    libalgorithm-checkdigits-perl,
+    libauthen-cas-client-perl,
+    libbiblio-endnotestyle-perl,
+    libcgi-session-perl,
+    libcgi-session-serialize-yaml-perl,
+    libclass-accessor-perl,
+    libclass-factory-util-perl,
+    libdbd-sqlite2-perl,
+    libdbd-mysql-perl,
+    libdbi-perl,
+    libdata-ical-perl,
+    libdate-calc-perl,
+    libdate-ical-perl,
+    libdate-manip-perl,
+    libemail-date-perl,
+    libgd-gd2-perl,
+    libgraphics-magick-perl,
+    libhtml-scrubber-perl,
+    libhtml-template-pro-perl,
+    libjson-perl,
+    liblingua-stem-perl,
+    liblingua-stem-snowball-perl,
+    liblist-moreutils-perl,
+    liblocale-po-perl,
+    libmarc-charset-perl,
+    libmarc-crosswalk-dublincore-perl,
+    libmarc-record-perl,
+    libmarc-xml-perl,
+    libmime-lite-perl,
+    libmail-sendmail-perl,
+    libnet-ldap-perl,
+    libnet-z3950-zoom-perl,
+    libnumber-format-perl,
+    libpdf-api2-perl,
+    libpdf-reuse-perl,
+    libpdf-reuse-barcode-perl,
+    libpdf-table-perl,
+    libpoe-perl,
+    libsms-send-perl,
+    libschedule-at-perl,
+    libstorable-perl,
+    libtext-csv-perl,
+    libxml-dumper-perl,
+    libxml-libxml-perl,
+    libxml-libxslt-perl,
+    libxml-rss-perl,
+    libxml-sax-writer-perl,
+    libxml-simple-perl,
+    libyaml-syck-perl,
+    libyaml-perl,
+    libmodule-install-perl,
+    libhttp-oai-perl,
+    libtext-csv-encoded-perl,
+    libpdf-api2-simple-perl,
+    libmemoize-memcached-perl,
+    liblocale-currency-format-perl
 
 Package: koha-common
 Architecture: all
-Depends: ${shlib:Depends}, ${misc:Depends},
- koha-dev-env,
+Depends: ${shlib:Depends}, ${misc:Depends}, ${koha:Depends},
  apache2,
  at,
  daemon,
diff --git a/debian/rules b/debian/rules
index f573a9c..2a8aa0d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -7,7 +7,11 @@ export PERL_MM_USE_DEFAULT=1
 
 %:
 	dh $@ --fail-missing
-	
+
+override_dh_gencontrol:
+	debian/bd-to-depends >> debian/koha-common.substvars
+	dh_gencontrol
+
 override_dh_auto_install:
 	dh_auto_install
 	rm $(TMP)/etc/koha/README.txt
-- 
1.7.1




More information about the Koha-patches mailing list