]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - rules
Fix debian/master changelog to fit our needs
[tinyos-2.x.git] / rules
diff --git a/rules b/rules
index e46391fec7c76d4cf8bc7bdb32b42ce48b0a2f0d..aaf038406dc7efd555b0c25f152a7cef848e4bf7 100755 (executable)
--- a/rules
+++ b/rules
@@ -9,11 +9,14 @@
 # paternity under the Copyright, Designs and Patents Act 1988.)
 # This file may have to be extensively modified
 
-include /usr/share/dpatch/dpatch.make
+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
 
@@ -25,6 +28,7 @@ install_script = install -m 755
 install_binary = install -m 755 -s
 
 DISTRIBUTION := $(shell lsb_release -is)
+dtmp := debian/tmp
 
 
 # At the current time (20080827) tinyos-tools will not build from a separate
@@ -33,32 +37,38 @@ DISTRIBUTION := $(shell lsb_release -is)
 # 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|')
 
-configure-stamp: patch-stamp
+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
+
+configure-stamp:
        $(checkdir)
-       rm -rf configure-stamp builddir $(tempdir)
+       rm -rf configure-stamp $(dtmp)/builddir $(tempdir)
+       $(install_dir) $(dtmp)
        cp -a . $(tempdir)
-       rm -rf $(tempdir)/debian
-       mv -f $(tempdir) builddir
-       cd builddir/tools && ./Bootstrap && ./configure --prefix=/usr
+       mv $(tempdir) $(dtmp)/builddir
+       rm -rf $(dtmp)/builddir/debian
+       cd $(dtmp)/builddir/tools && ./Bootstrap && ./configure --prefix=/usr
        touch $@
 
 
 build: build-stamp
 build-stamp: configure-stamp
        $(checkdir)
-       $(MAKE) -C builddir/tools
+       $(MAKE) -C $(dtmp)/builddir/tools
        touch $@
 
 
 install: install-stamp
 install-stamp: checkroot build-stamp
        $(checkdir)
-       rm -rf debian/$(toolspkg)
-       $(install_dir) debian/$(toolspkg)
-       $(MAKE) -C builddir/tools prefix=$$(pwd)/debian/$(toolspkg)/usr \
-               mandir=$$(pwd)/debian/$(toolspkg)/usr/share/man install
+       rm -rf $(dtmp)/$(toolspkg)
+       $(install_dir) $(dtmp)/$(toolspkg)
+       $(MAKE) -C $(dtmp)/builddir/tools \
+               prefix=$$(pwd)/$(dtmp)/$(toolspkg)/usr \
+               mandir=$$(pwd)/$(dtmp)/$(toolspkg)/usr/share/man install
        touch $@
 
 
@@ -68,76 +78,125 @@ binary-indep: checkroot build install
 
 binary-arch: checkroot build install
        $(checkdir)
-       : # install maintainer scripts
-       $(install_dir) debian/$(toolspkg)/DEBIAN
-       : # install docs
-       $(install_dir) debian/$(toolspkg)/usr/share/doc/$(toolspkg)/
+
+       : # 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_dir) $(dtmp)/$(toolspkg)/usr/share/doc/$(toolspkg)/
        $(install_file) debian/changelog \
-               debian/$(toolspkg)/usr/share/doc/$(toolspkg)/changelog.Debian
+               $(dtmp)/$(toolspkg)/usr/share/doc/$(toolspkg)/changelog.Debian
        $(install_file) debian/copyright \
-               debian/$(toolspkg)/usr/share/doc/$(toolspkg)/
+               $(dtmp)/$(toolspkg)/usr/share/doc/$(toolspkg)/
        $(install_file) tools/README debian/README.Debian \
-               debian/$(toolspkg)/usr/share/doc/$(toolspkg)/
-       : # Remove unnecessary files installed
-       : # Create links
-       : # Compress stuff that needs it
-       gzip -9 debian/$(toolspkg)/usr/share/man/man1/*
-       find debian/$(toolspkg)/usr/share/doc/$(toolspkg) -type f \
+               $(dtmp)/$(toolspkg)/usr/share/doc/$(toolspkg)/
+       gzip -9 $(dtmp)/$(toolspkg)/usr/share/man/man1/*
+       find $(dtmp)/$(toolspkg)/usr/share/doc/$(toolspkg) -type f \
                ! -name copyright | xargs gzip -9
-       : # Finish it all up
-       find debian/$(toolspkg) -type f | xargs file | grep ELF | \
+       $(install_dir) $(dtmp)/$(toolspkg)/usr/share/lintian/overrides
+       $(install_file) debian/$(toolspkg).lintian-overrides \
+               $(dtmp)/$(toolspkg)/usr/share/lintian/overrides/$(toolspkg)
+       find $(dtmp)/$(toolspkg) -type f | xargs file | grep ELF | \
                cut -d: -f 1 | xargs dpkg-shlibdeps
-       dpkg-gencontrol -isp -Pdebian/$(toolspkg) -p$(toolspkg)
-       chown -R root:root debian/$(toolspkg)
-       chmod -R go=rX  debian/$(toolspkg)
-       dpkg --build debian/$(toolspkg) ..
-
-       : # Build the tinyos-source package
-       rm -rf debian/$(srcpkg)
-       $(install_dir) debian/$(srcpkg)/DEBIAN
-       $(install_dir) debian/$(srcpkg)/opt/tinyos
+       dpkg-gencontrol -isp -P$(dtmp)/$(toolspkg) -p$(toolspkg)
+       chown -R root:root $(dtmp)/$(toolspkg)
+       chmod -R go=rX  $(dtmp)/$(toolspkg)
+       dpkg --build $(dtmp)/$(toolspkg) ..
+
+       : # 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
        chmod u+x tools/release/extractor
-       tools/release/extractor debian/$(srcpkg)/opt/tinyos/$(version) < \
+       tools/release/extractor $(dtmp)/$(srcpkg)/opt/tinyos/$(version) < \
                tools/release/tinyos.files >/dev/null
-       dpkg-gencontrol -isp -Pdebian/$(srcpkg) -p$(srcpkg)
-       chown -R root:root debian/$(srcpkg)
-       chmod -R go=rX  debian/$(srcpkg)
-       dpkg --build debian/$(srcpkg) ..
-
-       : # Build the tinyos package too
-       rm -rf debian/$(package)
-       $(install_dir) debian/$(package)/DEBIAN
-       $(install_dir) debian/$(package)/opt/tinyos
-       $(install_file) tinyos.sh debian/$(package)/opt/tinyos
-       dpkg-gencontrol -isp -Pdebian/$(package) -p$(package)
-       chown -R root:root debian/$(package)
-       chmod -R go=rX  debian/$(package)
-       dpkg --build debian/$(package) ..
+       $(install_dir) $(dtmp)/$(srcpkg)/usr/share/lintian/overrides
+       $(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)/changelog.Debian
+       $(install_file) debian/copyright \
+               $(dtmp)/$(srcpkg)/usr/share/doc/$(srcpkg)/
+       $(install_file) tools/README debian/README.Debian \
+               $(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)
+       chown -R root:root $(dtmp)/$(srcpkg)
+       chmod -R go=rX  $(dtmp)/$(srcpkg)
+       dpkg --build $(dtmp)/$(srcpkg) ..
 
        : # Build tinyos-msp430 dummy package
-       rm -rf debian/tmp
-       $(install_dir) debian/tmp/DEBIAN
-       dpkg-gencontrol -isp -Pdebian/tmp -p$(msppkg)
-       chown -R root:root debian/tmp
-       chmod -R go=rX  debian/tmp
-       dpkg --build debian/tmp ..
+       rm -rf $(dtmp)/$(msppkg)
+       $(install_dir) $(dtmp)/$(msppkg)/DEBIAN
+       $(install_dir) $(dtmp)/$(msppkg)/usr/share/lintian/overrides
+       $(install_file) debian/$(msppkg).lintian-overrides \
+               $(dtmp)/$(msppkg)/usr/share/lintian/overrides/$(msppkg)
+       $(install_dir) $(dtmp)/$(msppkg)/usr/share/doc/$(msppkg)/
+       $(install_file) debian/copyright \
+               $(dtmp)/$(msppkg)/usr/share/doc/$(msppkg)/
+       $(install_file) tools/README debian/README.Debian \
+               $(dtmp)/$(msppkg)/usr/share/doc/$(msppkg)/
+       dpkg-gencontrol -isp -P$(dtmp)/$(msppkg) -p$(msppkg)
+       chown -R root:root $(dtmp)/$(msppkg)
+       chmod -R go=rX  $(dtmp)/$(msppkg)
+       dpkg --build $(dtmp)/$(msppkg) ..
 
        : # Build tinyos-avr dummy package
-       rm -rf debian/tmp
-       $(install_dir) debian/tmp/DEBIAN
-       dpkg-gencontrol -isp -Pdebian/tmp -p$(avrpkg)
-       chown -R root:root debian/tmp
-       chmod -R go=rX  debian/tmp
-       dpkg --build debian/tmp ..
+       rm -rf $(dtmp)/$(avrpkg)
+       $(install_dir) $(dtmp)/$(avrpkg)/DEBIAN
+       $(install_dir) $(dtmp)/$(avrpkg)/usr/share/lintian/overrides
+       $(install_file) debian/$(avrpkg).lintian-overrides \
+               $(dtmp)/$(avrpkg)/usr/share/lintian/overrides/$(avrpkg)
+       $(install_dir) $(dtmp)/$(avrpkg)/usr/share/doc/$(avrpkg)/
+       $(install_file) debian/copyright \
+               $(dtmp)/$(avrpkg)/usr/share/doc/$(avrpkg)/
+       $(install_file) tools/README debian/README.Debian \
+               $(dtmp)/$(avrpkg)/usr/share/doc/$(avrpkg)/
+       dpkg-gencontrol -isp -P$(dtmp)/$(avrpkg) -p$(avrpkg)
+       chown -R root:root $(dtmp)/$(avrpkg)
+       chmod -R go=rX  $(dtmp)/$(avrpkg)
+       dpkg --build $(dtmp)/$(avrpkg) ..
 
 
 binary: binary-indep binary-arch
 
 
-clean: unpatch
+clean: debian/control
        $(checkdir)
-       -rm -rf debian/tmp debian/$(package) debian/$(toolspkg) debian/$(srcpkg) builddir
-       -rm -fr debian/patched debian/files* debian/substvars
+       -rm -rf $(dtmp)
+       -rm -fr debian/files* debian/substvars
        -rm -f *-stamp