]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - rules
Update the debian build for smarter tinyos-source package handling.
[tinyos-2.x.git] / rules
diff --git a/rules b/rules
index 6c0179ee10419704490d20a99848ef66bd92254e..aaf038406dc7efd555b0c25f152a7cef848e4bf7 100755 (executable)
--- a/rules
+++ b/rules
@@ -9,9 +9,14 @@
 # paternity under the Copyright, Designs and Patents Act 1988.)
 # This file may have to be extensively modified
 
+version := $(shell head -1 debian/changelog | sed -e s'|^.*(\(.*\)-.*).*$$|\1|')
+tosver := $(shell echo $(version) | sed -e s'|-.*||')
+tmiver := $(shell echo $(version) | sed -e s'|^.*-||')
+
 package = tinyos
 toolspkg = $(package)-tools
-srcpkg = $(package)-source
+srcmetapkg = $(package)-source
+srcpkg = $(srcmetapkg)-$(version)
 msppkg = tinyos-msp430
 avrpkg = tinyos-avr
 
@@ -32,12 +37,9 @@ dtmp := debian/tmp
 # For now, the solution is quite hackish: copy the source directory to the
 # build directory before running configure.
 tempdir := $(shell tempfile $(PACKAGE))
-version := $(shell head -1 debian/changelog | sed -e s'|^.*(\(.*\)-.*).*$$|\1|')
-tosver := $(shell echo $(version) | sed -e s'|-.*||')
-tmiver := $(shell echo $(version) | sed -e s'|^.*-||')
 
-debian-control: debian/control.in
-       sed -e 's/RELEASE-VERSION/$(version)/g' < $^ | \
+debian/control: debian/control.in debian/changelog
+       sed -e 's/RELEASE-VERSION/$(version)/g' < $< | \
                sed -e 's/TOS-VERSION/$(tosver)/g' | \
                sed -e 's/TMI-VERSION/$(tmiver)/g' > debian/control
 
@@ -76,9 +78,27 @@ binary-indep: checkroot build install
 
 binary-arch: checkroot build install
        $(checkdir)
-       : # install maintainer scripts
+
+       : # Build the tinyos package too
+       rm -rf $(dtmp)/$(package)
+       $(install_dir) $(dtmp)/$(package)/DEBIAN
+       $(install_dir) $(dtmp)/$(package)/opt/tinyos
+       $(install_file) tinyos.sh $(dtmp)/$(package)/opt/tinyos
+       $(install_dir) $(dtmp)/$(package)/usr/share/lintian/overrides
+       $(install_file) debian/$(package).lintian-overrides \
+               $(dtmp)/$(package)/usr/share/lintian/overrides/$(package)
+       $(install_dir) $(dtmp)/$(package)/usr/share/doc/$(package)/
+       $(install_file) debian/copyright \
+               $(dtmp)/$(package)/usr/share/doc/$(package)/
+       $(install_file) tools/README debian/README.Debian \
+               $(dtmp)/$(package)/usr/share/doc/$(package)/
+       dpkg-gencontrol -isp -P$(dtmp)/$(package) -p$(package)
+       chown -R root:root $(dtmp)/$(package)
+       chmod -R go=rX  $(dtmp)/$(package)
+       dpkg --build $(dtmp)/$(package) ..
+
+       : # Build the tinyos-tools package
        $(install_dir) $(dtmp)/$(toolspkg)/DEBIAN
-       : # install docs
        $(install_dir) $(dtmp)/$(toolspkg)/usr/share/doc/$(toolspkg)/
        $(install_file) debian/changelog \
                $(dtmp)/$(toolspkg)/usr/share/doc/$(toolspkg)/changelog.Debian
@@ -86,17 +106,12 @@ binary-arch: checkroot build install
                $(dtmp)/$(toolspkg)/usr/share/doc/$(toolspkg)/
        $(install_file) tools/README debian/README.Debian \
                $(dtmp)/$(toolspkg)/usr/share/doc/$(toolspkg)/
-       : # Remove unnecessary files installed
-       : # Create links
-       : # Compress stuff that needs it
        gzip -9 $(dtmp)/$(toolspkg)/usr/share/man/man1/*
        find $(dtmp)/$(toolspkg)/usr/share/doc/$(toolspkg) -type f \
                ! -name copyright | xargs gzip -9
-       : # Set overrides
        $(install_dir) $(dtmp)/$(toolspkg)/usr/share/lintian/overrides
        $(install_file) debian/$(toolspkg).lintian-overrides \
                $(dtmp)/$(toolspkg)/usr/share/lintian/overrides/$(toolspkg)
-       : # Finish it all up
        find $(dtmp)/$(toolspkg) -type f | xargs file | grep ELF | \
                cut -d: -f 1 | xargs dpkg-shlibdeps
        dpkg-gencontrol -isp -P$(dtmp)/$(toolspkg) -p$(toolspkg)
@@ -104,7 +119,21 @@ binary-arch: checkroot build install
        chmod -R go=rX  $(dtmp)/$(toolspkg)
        dpkg --build $(dtmp)/$(toolspkg) ..
 
-       : # Build the tinyos-source package
+       : # Build the tinyos-source meta package
+       rm -rf $(dtmp)/$(srcmetapkg)
+       $(install_dir) $(dtmp)/$(srcmetapkg)/DEBIAN
+       $(install_dir) $(dtmp)/$(srcmetapkg)/usr/share/lintian/overrides
+       $(install_file) debian/$(srcmetapkg).lintian-overrides \
+               $(dtmp)/$(srcmetapkg)/usr/share/lintian/overrides/$(srcmetapkg)
+       $(install_dir) $(dtmp)/$(srcmetapkg)/usr/share/doc/$(srcmetapkg)/
+       $(install_file) debian/copyright \
+               $(dtmp)/$(srcmetapkg)/usr/share/doc/$(srcmetapkg)/
+       dpkg-gencontrol -isp -P$(dtmp)/$(srcmetapkg) -p$(srcmetapkg)
+       chown -R root:root $(dtmp)/$(srcmetapkg)
+       chmod -R go=rX  $(dtmp)/$(srcmetapkg)
+       dpkg --build $(dtmp)/$(srcmetapkg) ..
+
+       : # Build the tinyos-source-VERSION package
        rm -rf $(dtmp)/$(srcpkg)
        $(install_dir) $(dtmp)/$(srcpkg)/DEBIAN
        $(install_dir) $(dtmp)/$(srcpkg)/opt/tinyos
@@ -112,41 +141,22 @@ binary-arch: checkroot build install
        tools/release/extractor $(dtmp)/$(srcpkg)/opt/tinyos/$(version) < \
                tools/release/tinyos.files >/dev/null
        $(install_dir) $(dtmp)/$(srcpkg)/usr/share/lintian/overrides
-       sed -e 's/RELEASE-VERSION/$(version)/g' \
-               < debian/$(srcpkg).lintian-overrides \
-               > $(dtmp)/$(srcpkg)/usr/share/lintian/overrides/$(srcpkg)-$(version)
-       $(install_dir) $(dtmp)/$(srcpkg)/usr/share/doc/$(srcpkg)-$(version)/
+       $(install_file) debian/$(srcmetapkg).lintian-overrides \
+               $(dtmp)/$(srcpkg)/usr/share/lintian/overrides/$(srcpkg)
+       $(install_dir) $(dtmp)/$(srcpkg)/usr/share/doc/$(srcpkg)/
        $(install_file) debian/changelog \
-               $(dtmp)/$(srcpkg)/usr/share/doc/$(srcpkg)-$(version)/changelog.Debian
+               $(dtmp)/$(srcpkg)/usr/share/doc/$(srcpkg)/changelog.Debian
        $(install_file) debian/copyright \
-               $(dtmp)/$(srcpkg)/usr/share/doc/$(srcpkg)-$(version)/
+               $(dtmp)/$(srcpkg)/usr/share/doc/$(srcpkg)/
        $(install_file) tools/README debian/README.Debian \
-               $(dtmp)/$(srcpkg)/usr/share/doc/$(srcpkg)-$(version)/
-       find $(dtmp)/$(srcpkg)/usr/share/doc/$(srcpkg)-$(version) -type f \
+               $(dtmp)/$(srcpkg)/usr/share/doc/$(srcpkg)/
+       find $(dtmp)/$(srcpkg)/usr/share/doc/$(srcpkg) -type f \
                ! -name copyright | xargs gzip -9
-       dpkg-gencontrol -isp -P$(dtmp)/$(srcpkg) -p$(srcpkg)-$(version)
+       dpkg-gencontrol -isp -P$(dtmp)/$(srcpkg) -p$(srcpkg)
        chown -R root:root $(dtmp)/$(srcpkg)
        chmod -R go=rX  $(dtmp)/$(srcpkg)
        dpkg --build $(dtmp)/$(srcpkg) ..
 
-       : # Build the tinyos package too
-       rm -rf $(dtmp)/$(package)
-       $(install_dir) $(dtmp)/$(package)/DEBIAN
-       $(install_dir) $(dtmp)/$(package)/opt/tinyos
-       $(install_file) tinyos.sh $(dtmp)/$(package)/opt/tinyos
-       $(install_dir) $(dtmp)/$(package)/usr/share/lintian/overrides
-       $(install_file) debian/$(package).lintian-overrides \
-               $(dtmp)/$(package)/usr/share/lintian/overrides/$(package)
-       $(install_dir) $(dtmp)/$(package)/usr/share/doc/$(package)/
-       $(install_file) debian/copyright \
-               $(dtmp)/$(package)/usr/share/doc/$(package)/
-       $(install_file) tools/README debian/README.Debian \
-               $(dtmp)/$(package)/usr/share/doc/$(package)/
-       dpkg-gencontrol -isp -P$(dtmp)/$(package) -p$(package)
-       chown -R root:root $(dtmp)/$(package)
-       chmod -R go=rX  $(dtmp)/$(package)
-       dpkg --build $(dtmp)/$(package) ..
-
        : # Build tinyos-msp430 dummy package
        rm -rf $(dtmp)/$(msppkg)
        $(install_dir) $(dtmp)/$(msppkg)/DEBIAN
@@ -183,7 +193,7 @@ binary-arch: checkroot build install
 binary: binary-indep binary-arch
 
 
-clean: debian-control
+clean: debian/control
        $(checkdir)
        -rm -rf $(dtmp)
        -rm -fr debian/files* debian/substvars
@@ -200,4 +210,4 @@ checkroot:
        test root = "`whoami`"
 
 
-.PHONY: binary clean checkroot debian-control
+.PHONY: binary clean checkroot