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 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
|
#!/usr/bin/make -f
# Sample debian/rules that uses cdbs. Originaly written by Robert Millan.
# This file is public domain.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
export SHELL = bash
CFLAGS = -Wall -g -pipe -fPIC -D_GNU_SOURCE \
-Werror=implicit-function-declaration \
-isystem /usr/include/freebsd \
$(NULL)
CXXFLAGS = $(CFLAGS)
ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
CXXFLAGS += -O0
else
CFLAGS += -O2
CXXFLAGS += -O2
endif
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
# Do not mess with MAKEFLAGS until we transfer control to BSD make (see below)
BSD_MAKEFLAGS += -j$(NUMJOBS)
endif
full_version := $(shell dpkg-parsechangelog | grep ^Version: | sed -e 's/^.*: //g')
tar_version := $(shell echo $(full_version) | sed -e 's/-.*//g')
svn_revision := $(shell echo $(full_version) | sed -e 's/.*~svn\([0-9]*\)-[0-9]*/\1/g')
version := $(shell echo $(full_version) | sed -e 's/[~+-].*//g')
major := $(shell echo $(version) | sed -e 's/\..*//g')
revision := $(shell echo $(full_version) | sed -e 's/^[^+-]*//g')
#SVN := https://svn0.us-west.freebsd.org/base/release/$(version).0
SVN := https://svn0.us-west.freebsd.org/base/releng/$(version)
#SVN := https://svn0.us-west.freebsd.org/base/stable/$(major)
#SVN := https://svn0.us-west.freebsd.org/base/head
SOURCE = ufsutils
ORIGDIR = $(SOURCE)-$(tar_version)
TARNAME = $(SOURCE)_$(tar_version).orig.tar.gz
PATH := /usr/lib/freebsd:$(PATH)
DESTDIR = $(CURDIR)/debian/tmp
PMAKE = \
MAKEFLAGS=$(BSD_MAKEFLAGS) \
COPTS="$(CFLAGS)" CFLAGS="$(CFLAGS)" \
NO_WERROR=1 NOGCCERROR=1 NOSHARED=NO NO_SHARED=NO \
DESTDIR=$(DESTDIR) \
bmake
build: build-arch build-indep
get-orig-source:
rm -rf $(ORIGDIR)
mkdir -p $(ORIGDIR)/sys/geom
for i in \
sbin/badsect sbin/dumpfs sbin/fsck_ffs sbin/fsdb \
sbin/growfs sbin/newfs sbin/tunefs sbin/ffsinfo \
sys/ufs lib/libufs sys/geom/geom_bsd_enc.c \
sbin/mount \
; do \
svn export --ignore-keywords $(SVN)/$$i $(ORIGDIR)/$$i || exit ; \
done
tar --numeric-owner --owner 0 --group 0 -czf ../$(TARNAME) $(ORIGDIR)
rm -rf $(ORIGDIR)
build-arch: ufsutils
ufsutils: ufsutils-stamp
ufsutils-stamp:
$(PMAKE) -C lib/libufs
$(PMAKE) -C sbin/badsect
$(PMAKE) -C sbin/dumpfs
$(PMAKE) -C sbin/fsck_ffs
$(PMAKE) -C sbin/fsdb
$(PMAKE) -C sbin/growfs
$(PMAKE) -C sbin/newfs
$(PMAKE) -C sbin/tunefs
$(PMAKE) -C sbin/ffsinfo
touch $@
build-indep: build-indep-stamp
build-indep-stamp:
touch $@
clean:
dh_testdir
dh_testroot
$(PMAKE) -C lib/libufs clean
$(PMAKE) -C sbin/badsect clean
$(PMAKE) -C sbin/dumpfs clean
$(PMAKE) -C sbin/fsck_ffs clean
$(PMAKE) -C sbin/fsdb clean
$(PMAKE) -C sbin/growfs clean
$(PMAKE) -C sbin/newfs clean
$(PMAKE) -C sbin/tunefs clean
$(PMAKE) -C sbin/ffsinfo clean
rm -f *stamp
dh_clean
install: install-indep install-arch
install-indep:
install-arch:
dh_testdir
dh_testroot
dh_prep -a
dh_installdirs -a
dh_install -a
mkdir -p debian/ufsutils/{sbin,usr/share/man/man8}
for i in badsect dumpfs fsdb growfs tunefs ; do \
install -m 755 sbin/$$i/$$i debian/ufsutils/sbin/$$i.ufs ; \
install -m 644 sbin/$$i/$$i.8 debian/ufsutils/usr/share/man/man8/$$i.ufs.8 ; \
done
install -m 755 sbin/fsck_ffs/fsck_ffs debian/ufsutils/sbin/fsck.ufs
install -m 644 sbin/fsck_ffs/fsck_ffs.8 debian/ufsutils/usr/share/man/man8/fsck.ufs.8
install -m 755 sbin/newfs/newfs debian/ufsutils/sbin/mkfs.ufs
install -m 644 sbin/newfs/newfs.8 debian/ufsutils/usr/share/man/man8/mkfs.ufs.8
install -m 755 sbin/ffsinfo/ffsinfo debian/ufsutils/sbin/ffsinfo
install -m 644 sbin/ffsinfo/ffsinfo.8 debian/ufsutils/usr/share/man/man8/ffsinfo.8
mkdir -p debian/ufsutils-udeb/sbin
for i in badsect growfs tunefs ; do \
install -m 755 sbin/$$i/$$i debian/ufsutils-udeb/sbin/$$i.ufs ; \
done
install -m 755 sbin/fsck_ffs/fsck_ffs debian/ufsutils-udeb/sbin/fsck.ufs
install -m 755 sbin/newfs/newfs debian/ufsutils-udeb/sbin/mkfs.ufs
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependant files that arn't kernel modules here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
# dh_installmenu
dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_installcron
# dh_installinfo
dh_installman
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_perl
# dh_python
dh_makeshlibs
dh_makeshlibs -pufsutils --add-udeb=ufsutils-udeb
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-arch binary-indep
.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure
|