1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
#!/usr/bin/make -f
#
# debian/rules for kernel-source.
#
# GNU copyright 1997 to 1999 by Joey Hess.
# Copyright (c) 1999-2002 Herbert Xu <herbert@debian.org>
#
# $Id: rules,v 1.12 2003/06/14 12:24:43 herbert Exp $
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
release := $(shell dpkg-parsechangelog | awk '/^Version: / { print $$2 }')
upstream := $(shell echo "$(release)" | sed 's/:\?\([0-9\.]\+\)-[0-9].*/\1/')
patch_home := debian/kernel-patch-debian-$(upstream)/usr/src/kernel-patches/all/$(upstream)
# Helpful things for developers
patch:
override_version=$(release) home=debian/patches sh debian/apply
unpatch:
override_version=$(release) home=debian/patches sh debian/apply $(upstream)
../orig/kernel-source-$(upstream)-$(upstream):
if [ ! -f "../kernel-source-$(upstream)_$(upstream).orig.tar.gz" ]; then \
echo "Can't find orig tarball." >&2; \
exit 1; \
fi
mkdir -p ../orig
tar -C ../orig -xzf ../kernel-source-$(upstream)_$(upstream).orig.tar.gz
rsync -av --delete --exclude .svn --exclude debian ../orig/kernel-source-$(upstream)-$(upstream)/ .
orig: ../orig/kernel-source-$(upstream)-$(upstream)
rsync -av --delete --exclude .svn --exclude debian ../orig/kernel-source-$(upstream)-$(upstream)/ .
diff: ../orig/kernel-source-$(upstream)-$(upstream)
(cd .. && diff --exclude debian --exclude .svn -ur orig/kernel-source-$(upstream)-$(upstream) kernel-source-$(upstream)-$(upstream))
debian/kernel-tree-$(upstream).substvars: debian/patches debian/make-substvars
sh debian/make-substvars $(upstream) > $@
clean: debian/official
dh_testdir
dh_testroot
rm -f install-stamp
ifneq (,$(wildcard version.Debian))
ifneq ($(shell cat version.Debian),$(upstream))
override_version=$(release) home=debian/patches sh debian/apply $(upstream)
endif
endif
make-kpkg clean
rm -f .config* version.Debian stamp-*
rm -rf Documentation/man
dh_clean
install:
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs -A
binary-kernel-patch:
mkdir -p $(patch_home) $(patch_home)/apply $(patch_home)/debian $(patch_home)/unpatch
cp debian/patches/*.diff $(patch_home)/debian
mkdir -p $(patch_home)/debian/series
cp debian/patches/series/* $(patch_home)/debian/series/
sed 's/@version@/$(release)/' debian/apply > $(patch_home)/apply/debian
sed 's/@upstream@/$(upstream)/' debian/unpatch > $(patch_home)/unpatch/debian
chmod a+x $(patch_home)/apply/debian $(patch_home)/unpatch/debian
bzip2 -9 $(patch_home)/debian/*.diff
dh_fixperms -pkernel-patch-debian-$(upstream)
dh_installdocs -pkernel-patch-debian-$(upstream)
dh_installchangelogs -pkernel-patch-debian-$(upstream)
dh_compress -pkernel-patch-debian-$(upstream)
dh_installdeb -pkernel-patch-debian-$(upstream)
dh_gencontrol -pkernel-patch-debian-$(upstream)
dh_builddeb -pkernel-patch-debian-$(upstream)
# Build architecture-independent files here.
binary-indep: install binary-kernel-patch debian/kernel-tree-$(upstream).substvars
dh_testdir
dh_testroot
# Patch kernel with the Debian patch!
home=$(patch_home)/debian sh $(patch_home)/apply/debian
make-kpkg kernel-doc
make-kpkg kernel-source
# Clean up after yourself
home=$(patch_home)/debian sh $(patch_home)/apply/debian $(upstream)
dh_fixperms -pkernel-patch-debian-$(upstream)
dh_installdocs -pkernel-tree-$(upstream)
dh_installchangelogs -pkernel-tree-$(upstream)
dh_compress -pkernel-tree-$(upstream)
dh_installdeb -pkernel-tree-$(upstream)
dh_gencontrol -pkernel-tree-$(upstream)
dh_builddeb -pkernel-tree-$(upstream)
build binary-arch:
# Ye olde no-op.
binary: binary-indep
.PHONY: clean binary-indep binary-arch binary install
#####################
# The following targets set the stage for building the Debian packages.
#
# They unpack the vanilla kernel, remove the tainted bits, and package
# everything again. This produces both a free .orig.tar.gz in the
# parent directory and an unpacked version plus the debian
# subdirectory in the current directory. In order to use these
# targets, download the vanilla kernel as a gzipped tarball, put it
# into the parent directory as linux-<release>.tar.gz, and run
# 'debian/rules prune'.
# phony target for easy reference
.PHONY: prune
prune:../kernel-source-$(upstream)_$(upstream).orig.tar.gz
# prune the tainted bits from the vanilla kernel and package the result
../kernel-source-$(upstream)_$(upstream).orig.tar.gz: ../linux-$(upstream).tar.gz
tar xzCf .. $<
mv ../linux-$(upstream)/* .
rmdir ../linux-$(upstream)
sh debian/prune-non-free
test $(notdir $(CURDIR)) = kernel-source-$(upstream)-$(upstream)
tar czCf .. $@ --exclude debian --exclude .svn kernel-source-$(upstream)-$(upstream)
debian/official:
echo This is the Debian version of Linux $(upstream). > $@
../linux-$(upstream).tar.gz:
if [ ! -f "$@" ]; then wget -P .. http://kernel.org/pub/linux/kernel/v2.4/$(notdir $@); fi
|