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
|
#!/usr/bin/make -f
include /usr/share/dpatch/dpatch.make
# some default definitions, important!
#
# Name of the source packages
psource:=virtualbox-ose-source
gsource:=virtualbox-ose-guest-source
# The short upstream name
sname:=virtualbox-ose
gname:=virtualbox-ose-guest
uname:=virtualbox-ose-guest-utils
MAKE:=kmk
upstreamversion := $(shell dpkg-parsechangelog | sed -n 's/^Version: *\([^-]\+\)-.\+/\1/p')
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
VBOX_WITH_X11_ADDITIONS :=
ifeq ($(filter-out i386 lpia,$(DEB_HOST_ARCH)),)
VBOX_WITH_X11_ADDITIONS := 1
endif
# Generate README.Debian as text/html ...
debian/README.Debian.html: debian/virtualbox-ose.README.Debian.xml
xsltproc --nonet --stringparam section.autolabel 1 \
-o $@ \
/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl \
$<
# ... and text/plain
debian/virtualbox-ose.README.Debian: debian/README.Debian.html
chmod 755 debian/lynx-dump-postprocess
export LC_ALL=C; lynx -force_html -dump $< | ./debian/lynx-dump-postprocess > $@.tmp
mv $@.tmp $@
env.sh: patch-stamp
dh_testdir
./configure \
--with-linux="/usr" \
--disable-kmods \
--with-gcc=/usr/bin/gcc-4.2 \
--with-g++=/usr/bin/g++-4.2
ifeq ($(VBOX_WITH_X11_ADDITIONS),)
echo "VBOX_WITH_X11_ADDITIONS=" >>LocalConfig.kmk
else
echo "VBOX_WITH_X11_ADDITIONS=1" >>LocalConfig.kmk
endif
build: build-stamp
build-stamp: env.sh
dh_testdir
# Building package
. ./env.sh; $(MAKE) \
BUILD_TYPE=release \
PATH_OUT=$(abspath out)
# make sure VBoxAddIF.sh is built, too
$(MAKE) -C src/VBox/Installer/linux $(abspath out/bin/VBoxAddIF.sh) \
PATH_OUT=$(abspath out)
# and vboxnet.sh
$(MAKE) -C src/VBox/Installer/linux $(abspath out/obj/src/VBox/Installer/linux/vboxnet.sh) \
PATH_OUT=$(abspath out)
touch $@
clean: unpatch
dh_testdir
dh_testroot
# Cleaning package
rm -rf out
rm -f AutoConfig.kmk configure.log env.sh LocalConfig.kmk
rm -f debian/$(sname).init debian/$(sname).preinst
rm -f debian/virtualbox-ose.README.Debian debian/README.Debian.html
debconf-updatepo
dh_clean
#Rebuild the orig.tar.gz
dfsg-free: clean
rm -rf ./kBuild
rm -rf ./tools
rm -rf ./src/VBox/Additions/os2
rm -rf ./src/VBox/Additions/WINNT
rm -f ./src/VBox/HostDrivers/VBoxTAP/VBoxTAP.rc
rm -f ./src/VBox/HostDrivers/Support/darwin/load.sh
rm -f ./include/VBox/VBoxGuest.inc
rm -f ./include/VBox/VBoxGuest16.h
rm -f ./include/VBox/VBoxGuest.mac
rm -f ./src/libs/xpcom18a4/xpcom/MoreFiles/FSCopyObject.c
rm -f ./src/libs/xpcom18a4/xpcom/MoreFiles/FSCopyObject.h
rm -rf ./src/libs/ffmpeg-20060710
rm -rf ./src/libs/libpng*
rm -rf ./src/libs/libxml2*
rm -rf ./src/libs/libxslt*
rm -rf ./src/libs/zlib*
rm -f ./src/VBox/HostServices/SharedClipboard/linux-stub.cpp
rm -f ./src/VBox/Additions/linux/xmouse/Imakefile
rm -rf ./src/VBox/Additions/linux/selinux-fedora
cd ..; mv $(CURDIR) virtualbox-ose-$(upstreamversion)-dfsg; \
tar --exclude .svn --exclude '.git*' --exclude debian \
-czf virtualbox-ose_$(upstreamversion)-dfsg.orig.tar.gz \
virtualbox-ose-$(upstreamversion)-dfsg
# install: DH_OPTIONS=
install: build debian/virtualbox-ose.README.Debian debian/README.Debian.html
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# This will get installed into the package by dh_installinit
install -m 644 out/obj/src/VBox/Installer/linux/vboxnet.sh debian/$(sname).init
# We also need to build a preinst file
sed -e 's/UPSTREAM/"$(upstreamversion)"/' < debian/$(sname).preinst.in > debian/$(sname).preinst
# Install helper scripts for vbox* interfaces
dh_installifupdown -p$(sname)
binary-arch: build install
dh_testdir -s
dh_testroot -s
dh_installchangelogs -s
dh_installdocs -s
dh_installmenu -s
dh_install -s
chmod 755 debian/$(sname)/usr/share/virtualbox/VBox.sh
-chmod 755 debian/$(uname)/usr/share/virtualbox/x11config.pl
-install -m 644 out/bin/additions/vboxvideo_drv_14.so debian/$(uname)/usr/lib/xorg/modules/drivers/vboxvideo_drv.so
-install -m 644 out/bin/additions/vboxmouse_drv_14.so debian/$(uname)/usr/lib/xorg/modules/input/vboxmouse_drv.so
-install -m 755 out/bin/additions/mountvboxsf debian/$(uname)/sbin/mount.vboxsf
-install -m 755 src/VBox/Additions/x11/installer/VBoxRandR.sh debian/$(uname)/usr/bin/VBoxRandR
dh_strip -s --dbg-package=$(sname)-dbg -X/usr/share/virtualbox/sdk/bin/xpidl
dh_link -s
dh_compress -s
dh_fixperms -s
dh_installudev -s
dh_installdebconf -s
dh_installinit -s
dh_installdeb -s
dh_shlibdeps -s
dh_gencontrol -s
dh_md5sums -s
dh_builddeb -s
binary-indep: build install
dh_testdir -i
dh_testroot -i
dh_installchangelogs -i
dh_installdocs -i
dh_install -i
# These files have incorrect permissions, fixing it.
chmod 755 debian/$(psource)/usr/src/modules/$(sname)/debian/rules
chmod 755 debian/$(gsource)/usr/src/modules/$(gname)/debian/rules
dh_link -i
# Create .tar.bz2 for virtualbox*source
cd debian/$(psource)/usr/src && \
tar -cjf $(sname).tar.bz2 modules && \
rm -rf modules
cd debian/$(gsource)/usr/src && \
tar -cjf $(gname).tar.bz2 modules && \
rm -rf modules
dh_compress -i
dh_fixperms -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
binary: binary-arch binary-indep
.PHONY: patch unpatch \
build clean binary-arch binary-indep binary install \
binary-modules kdist kdist_configure kdist_image kdist_clean
|