Import Debian changes 1.8.5-1
[hcoop/debian/openafs.git] / debian / module / rules
diff --git a/debian/module/rules b/debian/module/rules
new file mode 100755 (executable)
index 0000000..1053788
--- /dev/null
@@ -0,0 +1,111 @@
+#!/usr/bin/make -f
+
+# Determine whether we're building with optimization.  This doesn't really
+# work at the moment due to upstream problems.
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+    DEBIAN_OPT_FLAGS = --disable-optimize --disable-optimize-lwp
+    DEBIAN_KERN_FLAGS = --disable-optimize-kernel
+else
+    DEBIAN_OPT_FLAGS =
+    DEBIAN_KERN_FLAGS =
+endif
+
+# Find kernel build information.
+ifndef KSRC
+    KSRC := /lib/modules/$(shell uname -r)/build
+endif
+ifndef KPKG_DEST_DIR
+    KPKG_DEST_DIR = ..
+endif
+KVERS := $(shell perl debian/kernel-version $(KSRC))
+export KSRC 
+export KVERS
+export KPKG_DEST_DIR
+
+SYS_NAME  := $(shell KSRC="$(KSRC)" KVERS="$(KVERS)" ARCH="$(ARCH)" \
+               sh debian/sysname)
+
+package    = openafs
+modulepkg := openafs-modules-$(KVERS)${INT_SUBARCH}
+moduledir := debian/$(modulepkg)/lib/modules/$(KVERS)/fs
+
+# After building the package, m-a calls debian/rules with the target
+# echo-debfile.  Without this dummy rule, this would trigger the setup
+# target (by way of the wildcard rule for dh), which re-creates the setup
+# flag file that we removed during make clean.
+#
+# Then, if module-assistant unpacks a new version of the source, the setup
+# file already exists so the setup rule isn't run again.  But the
+# debian/control file is the template from the new source, which doesn't
+# contain any buildable packages.
+#
+# Add a dummy target for echo-debfile to ensure that setup isn't run again
+# after clean.  If there are further changes to module-assistant, causing it
+# to run other targets after clean, more similar dummy rules may need to be
+# added.
+echo-debfile:
+       @true
+
+# make-kpkg tries to rebuild debian/rules first, so add a dummy target to
+# avoid our dh wildcard rule and a fatal error.
+debian/rules ./debian/rules:
+       @true
+
+# This setup must be done before running any other target if it hasn't
+# already been done.
+setup:
+       @if test x"$(SYS_NAME)" = x"UNKNOWN" ; then exit 1 ; fi
+       @if test x"$(KVERS)" = x ; then \
+           echo 'No version in $(KSRC)/include/linux/version.h' >&2 ; \
+           exit 1 ; \
+       fi
+       sh debian/prep-modules $(KSRC)
+       touch $@
+
+%: setup
+       dh $@
+
+override_dh_auto_configure:
+       sh configure --prefix=$(CURDIR)/debian/tmp \
+           --with-afs-sysname=$(SYS_NAME) \
+           --disable-linux-syscall-probing \
+           --with-linux-kernel-headers=$(KSRC) \
+           --with-linux-kernel-packaging \
+           --enable-debug --enable-debug-lwp --enable-debug-kernel \
+           $(DEBIAN_OPT_FLAGS) $(DEBIAN_KERN_FLAGS)
+
+override_dh_auto_install:
+       cd src/libafs && make install DESTDIR=$(CURDIR)/debian/tmp
+       install -d -g root -o root -m 755 $(moduledir)
+       install -g root -o root -m 644 \
+           debian/tmp/lib/modules/*/extra/openafs/*o $(moduledir)/
+
+override_dh_clean:
+       rm -rf src/libafs/MODLOAD-* *-stamp
+       dh_clean Makefile config.log config.status setup src/libafs/Makefile \
+           src/libafs/Makefile.common src/libafs/asm src/libafs/asm-generic \
+           src/libafs/h src/libafs/linux src/libafs/net src/libafs/netinet \
+           src/libafs/rpc src/libafs/sys
+
+override_dh_gencontrol:
+       dh_gencontrol -- -v`cat debian/VERSION`
+
+override_dh_builddeb:
+       dh_builddeb --destdir="$(KPKG_DEST_DIR)"
+
+kdist_configure: override_dh_auto_configure
+
+kdist_image:
+       $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules binary-arch
+       $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules clean
+
+kdist:
+       $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules binary-arch
+       KSRC="$(KSRC)" KMAINT="$(KMAINT)" KEMAIL="$(KEMAIL)" \
+           sh -v debian/genchanges
+       $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules clean
+
+kdist_clean:
+       $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules clean
+
+.PHONY: kdist kdist_clean kdist_configure kdist_image