| 1 |
|
|---|
| 2 |
|
|---|
| 3 |
|
|---|
| 4 |
|
|---|
| 5 |
|
|---|
| 6 |
|
|---|
| 7 |
|
|---|
| 8 |
|
|---|
| 9 |
|
|---|
| 10 |
|
|---|
| 11 |
|
|---|
| 12 |
|
|---|
| 13 |
|
|---|
| 14 |
|
|---|
| 15 |
export DH_COMPAT=4 |
|---|
| 16 |
|
|---|
| 17 |
|
|---|
| 18 |
|
|---|
| 19 |
|
|---|
| 20 |
|
|---|
| 21 |
|
|---|
| 22 |
|
|---|
| 23 |
|
|---|
| 24 |
|
|---|
| 25 |
|
|---|
| 26 |
|
|---|
| 27 |
|
|---|
| 28 |
|
|---|
| 29 |
|
|---|
| 30 |
|
|---|
| 31 |
package := virtualbox-ose |
|---|
| 32 |
current := $(shell pwd) |
|---|
| 33 |
vboxroot := $(shell pwd) |
|---|
| 34 |
builddir := $(current)/debian/builddir |
|---|
| 35 |
moddir := $(current)/debian/modules |
|---|
| 36 |
prefix := $(current)/debian/$(package) |
|---|
| 37 |
arch := $(shell dpkg --print-architecture) |
|---|
| 38 |
verfile := $(builddir)/version-generated.mk |
|---|
| 39 |
ose := 1 |
|---|
| 40 |
NOMODS ?= $(ose) |
|---|
| 41 |
|
|---|
| 42 |
ifneq ($(wildcard $(verfile)),) |
|---|
| 43 |
include $(verfile) |
|---|
| 44 |
ver := $(VBOX_VERSION_STRING) |
|---|
| 45 |
archdir := $(prefix)/opt/VirtualBox-$(ver) |
|---|
| 46 |
endif |
|---|
| 47 |
|
|---|
| 48 |
ifneq ($(STAGEDISO),) |
|---|
| 49 |
ifeq ($(wildcard $(STAGEDISO)/VBoxGuestAdditions.iso),) |
|---|
| 50 |
$(error STAGEDISO='$(STAGEDISO)/VBoxGuestAdditions.iso' not found) |
|---|
| 51 |
endif |
|---|
| 52 |
endif |
|---|
| 53 |
|
|---|
| 54 |
|
|---|
| 55 |
ifneq ($(wildcard /etc/xandros-desktop-version),) |
|---|
| 56 |
debrel := _xandros4.1 |
|---|
| 57 |
else |
|---|
| 58 |
ifneq ($(wildcard /etc/univention),) |
|---|
| 59 |
debrel := _ucs1.3 |
|---|
| 60 |
else |
|---|
| 61 |
debrel := $(if $(shell which lsb_release),_$(shell lsb_release -si)_$(shell lsb_release -sc),) |
|---|
| 62 |
endif |
|---|
| 63 |
endif |
|---|
| 64 |
|
|---|
| 65 |
gccver := $(subst ., ,$(shell gcc -dumpversion)) |
|---|
| 66 |
gccvmaj := $(word 1,$(gccver)) |
|---|
| 67 |
gccvmin := $(word 2,$(gccver)) |
|---|
| 68 |
debdocs := VBOX_PATH_PACKAGE_DOCS="\"/usr/share/doc/virtualbox\"" |
|---|
| 69 |
|
|---|
| 70 |
|
|---|
| 71 |
configure: debian/configure-stamp |
|---|
| 72 |
debian/configure-stamp: |
|---|
| 73 |
dh_testdir |
|---|
| 74 |
cd $(vboxroot) && ./configure --odir=$(current)/debian --disable-qt3 $(if \ |
|---|
| 75 |
$(ose),--ose,) $(if $(LINUX),--with-linux=$(LINUX),) $(if \ |
|---|
| 76 |
$(filter _Ubuntu_dapper,$(debrel)),--with-gcc=gcc-3.4 --with-g++=g++-3.4,) $(if \ |
|---|
| 77 |
$(shell test $(gccvmaj) -eq 4 -a $(gccvmin) -gt 2 -o $(gccvmaj) -gt 4 && echo "yes"),--with-gcc=gcc-4.2 --with-g++=g++-4.2,) $(if \ |
|---|
| 78 |
$(filter _xandros4.1 _ucs1.3,$(debrel)),--disable-sdl-ttf,) $(if \ |
|---|
| 79 |
$(HEADLESS),--build-headless,) $(if $(DEBUG),--build-debug,) |
|---|
| 80 |
touch debian/configure-stamp |
|---|
| 81 |
|
|---|
| 82 |
build: debian/configure-stamp debian/build-stamp |
|---|
| 83 |
debian/build-stamp $(verfile): |
|---|
| 84 |
dh_testdir |
|---|
| 85 |
. debian/env.sh && kmk -C $(vboxroot) $(if \ |
|---|
| 86 |
$(VERBOSE),--print-directory,--no-print-directory) $(if \ |
|---|
| 87 |
$(NOPARALLEL),-j1,-j2) $(if \ |
|---|
| 88 |
$(VERBOSE),KBUILD_VERBOSE=2,) $(if \ |
|---|
| 89 |
$(NODOCS),VBOX_WITH_DOCS=,)\ |
|---|
| 90 |
$(if $(STAGEDISO),VBOX_WITHOUT_ADDITIONS=1,) \ |
|---|
| 91 |
AUTOCFG=$(current)/debian/AutoConfig.kmk \ |
|---|
| 92 |
LOCALCFG=$(current)/debian/LocalConfig.kmk \ |
|---|
| 93 |
PATH_OUT=$(current)/debian/builddir \ |
|---|
| 94 |
VBOX_DO_STRIP= VBOX_DO_STRIP_MODULES= \ |
|---|
| 95 |
$(debdocs) \ |
|---|
| 96 |
all |
|---|
| 97 |
$(if $(NODOCS),cp $(vboxroot)/prebuild/UserManual.pdf $(builddir)/bin,) |
|---|
| 98 |
$(if $(NODOCS),cp $(vboxroot)/prebuild/VirtualBox.chm $(builddir)/bin,) |
|---|
| 99 |
mkdir -p $(builddir)/bin/additions |
|---|
| 100 |
$(if $(STAGEDISO),cp $(STAGEDISO)/VBoxGuestAdditions.iso $(builddir)/bin/additions,) |
|---|
| 101 |
. debian/env.sh && kmk -C $(vboxroot) $(if \ |
|---|
| 102 |
$(VERBOSE),--print-directory,--no-print-directory) $(if \ |
|---|
| 103 |
$(VERBOSE),KBUILD_VERBOSE=2,) $(if \ |
|---|
| 104 |
$(STAGEDISO),VBOX_WITHOUT_ADDITIONS=1,) \ |
|---|
| 105 |
AUTOCFG=$(current)/debian/AutoConfig.kmk \ |
|---|
| 106 |
LOCALCFG=$(current)/debian/LocalConfig.kmk \ |
|---|
| 107 |
PATH_OUT=$(current)/debian/builddir \ |
|---|
| 108 |
VBOX_DO_STRIP= VBOX_DO_STRIP_MODULES= \ |
|---|
| 109 |
VBOX_NO_LINUX_RUN_INSTALLER=1 \ |
|---|
| 110 |
$(debdocs) \ |
|---|
| 111 |
packing |
|---|
| 112 |
touch debian/build-stamp |
|---|
| 113 |
|
|---|
| 114 |
|
|---|
| 115 |
modules: debian/build-stamp debian/modules-stamp |
|---|
| 116 |
debian/modules-stamp: debian/build-stamp |
|---|
| 117 |
rm -rf $(moddir) |
|---|
| 118 |
mkdir $(moddir) |
|---|
| 119 |
make -C $(builddir)/bin/src clean |
|---|
| 120 |
for d in $(wildcard /lib/modules/*); do \ |
|---|
| 121 |
if [ -L $$d/build ]; then \ |
|---|
| 122 |
make -C $(builddir)/bin/src KERN_DIR=$$d/build MODULE_DIR=$$d clean all && \ |
|---|
| 123 |
install -D -m 0644 -g 0 -o 0 \ |
|---|
| 124 |
$(builddir)/bin/src/vboxdrv.ko $(moddir)/$$(basename $$d)/vboxdrv.ko; \ |
|---|
| 125 |
fi; \ |
|---|
| 126 |
done |
|---|
| 127 |
make -C $(builddir)/bin/src clean |
|---|
| 128 |
touch debian/modules-stamp |
|---|
| 129 |
|
|---|
| 130 |
clean: |
|---|
| 131 |
dh_testdir |
|---|
| 132 |
dh_testroot |
|---|
| 133 |
rm -f debian/$(package).init debian/vboxdrv.init debian/vboxnet.init |
|---|
| 134 |
rm -f debian/AutoConfig.kmk debian/configure.log debian/env.sh debian/preinst |
|---|
| 135 |
rm -f debian/modules-stamp debian/build-stamp debian/configure-stamp |
|---|
| 136 |
rm -rf $(builddir) $(moddir) |
|---|
| 137 |
dh_clean |
|---|
| 138 |
|
|---|
| 139 |
ifeq ($(VBOX_VERSION_MAJOR),) |
|---|
| 140 |
binary binary-arch binary-indep: build $(verfile) |
|---|
| 141 |
$(MAKE) -f debian/rules binary |
|---|
| 142 |
else |
|---|
| 143 |
|
|---|
| 144 |
binary binary-arch binary-indep: build $(if $(NOMODS),,modules) |
|---|
| 145 |
dh_testdir |
|---|
| 146 |
dh_testroot |
|---|
| 147 |
dh_clean -k |
|---|
| 148 |
dh_installdirs |
|---|
| 149 |
tar -xjC $(prefix)/opt -f $(builddir)/bin/VirtualBox.tar.bz2 |
|---|
| 150 |
install -d -g 0 -o 0 $(prefix)/usr/share/applications |
|---|
| 151 |
install -d -g 0 -o 0 $(prefix)/usr/lib |
|---|
| 152 |
install -d -g 0 -o 0 $(prefix)/usr/bin |
|---|
| 153 |
install -d -g 0 -o 0 $(prefix)/usr/lib/$(package) |
|---|
| 154 |
install -d -g 0 -o 0 $(prefix)/usr/share/$(package) |
|---|
| 155 |
install -d -g 0 -o 0 $(prefix)/usr/share/doc/$(package) |
|---|
| 156 |
$(if $(HEADLESS),,mv $(archdir)/VirtualBox.desktop \ |
|---|
| 157 |
$(prefix)/usr/share/applications/VirtualBox.desktop) |
|---|
| 158 |
install -d -g 0 -o 0 $(prefix)/usr/share/pixmaps |
|---|
| 159 |
install -D -g 0 -o 0 -m 644 debian/lintian-override \ |
|---|
| 160 |
$(prefix)/usr/share/lintian/overrides/$(package) |
|---|
| 161 |
mv $(archdir)/VBox.png \ |
|---|
| 162 |
$(prefix)/usr/share/pixmaps/VBox.png |
|---|
| 163 |
mv $(archdir)/*.gc $(prefix)/usr/lib/$(package) |
|---|
| 164 |
mv $(archdir)/*.r0 $(prefix)/usr/lib/$(package) |
|---|
| 165 |
$(if $(filter amd64,$(arch)),\ |
|---|
| 166 |
mv $(archdir)/VBoxREM2.rel $(prefix)/usr/lib/$(package),) |
|---|
| 167 |
mv $(archdir)/VBoxXPCOMIPCD $(prefix)/usr/lib/$(package) |
|---|
| 168 |
mv $(archdir)/components $(prefix)/usr/lib/$(package)/components |
|---|
| 169 |
mv $(archdir)/*.so $(prefix)/usr/lib/$(package) |
|---|
| 170 |
mv $(archdir)/*.so.4 $(prefix)/usr/lib/$(package) || true |
|---|
| 171 |
$(if $(HEADLESS),,mv $(archdir)/nls $(prefix)/usr/share/$(package)) |
|---|
| 172 |
mv $(archdir)/src $(prefix)/usr/share/$(package) |
|---|
| 173 |
rm $(archdir)/VBox.sh |
|---|
| 174 |
install -D -g 0 -o 0 -m 644 debian/VBox.sh $(prefix)/usr/bin/VBox |
|---|
| 175 |
mv $(archdir)/VBoxSysInfo.sh $(prefix)/usr/share/$(package) |
|---|
| 176 |
mv $(archdir)/VBoxAddIF.sh $(prefix)/usr/bin/VBoxTAP |
|---|
| 177 |
for i in VBoxManage VBoxSVC $(if $(HEADLESS),,VBoxSDL) \ |
|---|
| 178 |
$(if $(HEADLESS),,VirtualBox) $(if $(ose),,VBoxVRDP) \ |
|---|
| 179 |
VBoxHeadless; do \ |
|---|
| 180 |
mv $(archdir)/$$i $(prefix)/usr/lib/$(package); done |
|---|
| 181 |
mv $(archdir)/VBoxTunctl $(prefix)/usr/bin |
|---|
| 182 |
$(if $(NOMODS),,for d in $(moddir)/*; do \ |
|---|
| 183 |
install -D -g 0 -o 0 -m 0644 \ |
|---|
| 184 |
$$d/vboxdrv.ko $(prefix)/lib/modules/$$(basename $$d)/misc/vboxdrv.ko; done) |
|---|
| 185 |
ifeq ($(ose),) |
|---|
| 186 |
$(if $(HEADLESS),,mv $(archdir)/kchmviewer $(prefix)/usr/lib/$(package)) |
|---|
| 187 |
dh_installdocs $(addprefix $(archdir)/,\ |
|---|
| 188 |
UserManual.pdf VirtualBox.chm LICENSE) |
|---|
| 189 |
rm $(addprefix $(archdir)/,UserManual.pdf VirtualBox.chm LICENSE) |
|---|
| 190 |
for i in rdesktop-vrdp.tar.gz additions/VBoxGuestAdditions.iso; do \ |
|---|
| 191 |
mv $(archdir)/$$i $(prefix)/usr/share/$(package); done |
|---|
| 192 |
rmdir $(archdir)/additions |
|---|
| 193 |
else |
|---|
| 194 |
dh_installdocs |
|---|
| 195 |
endif |
|---|
| 196 |
rmdir $(archdir) |
|---|
| 197 |
rmdir $(prefix)/opt |
|---|
| 198 |
dh_link \ |
|---|
| 199 |
$(if $(HEADLESS),,usr/bin/VBox usr/bin/VirtualBox) \ |
|---|
| 200 |
usr/bin/VBox usr/bin/VBoxManage \ |
|---|
| 201 |
$(if $(HEADLESS),,usr/bin/VBox usr/bin/VBoxSDL) \ |
|---|
| 202 |
$(if $(ose),,usr/bin/VBox usr/bin/VBoxVRDP) \ |
|---|
| 203 |
usr/bin/VBox usr/bin/VBoxHeadless \ |
|---|
| 204 |
usr/bin/VBoxTAP usr/bin/VBoxAddIF \ |
|---|
| 205 |
usr/bin/VBoxTAP usr/bin/VBoxDeleteIF |
|---|
| 206 |
dh_desktop |
|---|
| 207 |
dh_installmenu |
|---|
| 208 |
$(if $(NOMODS),,dh_installmodules) |
|---|
| 209 |
sed -e 's|%NOLSB%|$(if $(filter _Debian_sarge ucs1.3,$(debrel)),yes,)|g; s|%PACKAGE%|virtualbox-ose|g;' \ |
|---|
| 210 |
src/VBox/Installer/linux/vboxdrv.sh.in > debian/vboxdrv.init |
|---|
| 211 |
sed -e 's|%NOLSB%|$(if $(filter _Debian_sarge,$(debrel)),yes,)|g;' \ |
|---|
| 212 |
src/VBox/Installer/linux/vboxnet.sh.in > debian/vboxnet.init |
|---|
| 213 |
dh_installinit --name=vboxdrv |
|---|
| 214 |
dh_installinit --name=vboxnet |
|---|
| 215 |
cat debian/preinst.in | sed -e 's|%VER%|$(ver)|g' > debian/preinst |
|---|
| 216 |
if [ "$(debrel)" = "_Ubuntu_dapper" -o "$(debrel)" = "_Debian_sarge" ]; then \ |
|---|
| 217 |
cat debian/postrm.dapper > debian/postrm; fi |
|---|
| 218 |
dh_installdebconf |
|---|
| 219 |
dh_installchangelogs |
|---|
| 220 |
dh_link |
|---|
| 221 |
dh_strip --keep-debug --exclude=libVBoxQtCore.so.4 --exclude=libVBoxQtGui.so.4 |
|---|
| 222 |
|
|---|
| 223 |
for f in \ |
|---|
| 224 |
$(prefix)/usr/lib/$(package)/*.r0 $(prefix)/usr/lib/$(package)/*.gc; do \ |
|---|
| 225 |
objcopy --only-keep-debug \ |
|---|
| 226 |
$$f \ |
|---|
| 227 |
$(prefix)/usr/lib/debug/usr/lib/$(package)/`basename $$f`; \ |
|---|
| 228 |
strip -S --remove-section=.comment $$f; \ |
|---|
| 229 |
objcopy --add-gnu-debuglink=$(prefix)/usr/lib/debug/usr/lib/$(package)/`basename $$f` $$f; \ |
|---|
| 230 |
done |
|---|
| 231 |
mkdir -p $(current)/debian/$(package)-dbg/usr/lib |
|---|
| 232 |
mv $(current)/debian/$(package)/usr/lib/debug $(current)/debian/$(package)-dbg/usr/lib |
|---|
| 233 |
dh_compress -X.pdf -X.chm -X LICENSE |
|---|
| 234 |
dh_fixperms |
|---|
| 235 |
dh_makeshlibs |
|---|
| 236 |
dh_installdeb |
|---|
| 237 |
dh_perl |
|---|
| 238 |
dh_shlibdeps |
|---|
| 239 |
dh_gencontrol -- \ |
|---|
| 240 |
-Valsa=$(if $(HEADLESS),,libasound2) \ |
|---|
| 241 |
-Vpulse=$(if $(HEADLESS),,libpulse0) \ |
|---|
| 242 |
-Vsdlttf=$(if $(HEADLESS),,libsdl-ttf2.0-0) \ |
|---|
| 243 |
-Vdkms=$(if $(filter _Ubuntu_gutsy _Ubuntu_hardy,$(debrel)),dkms,) |
|---|
| 244 |
dh_md5sums |
|---|
| 245 |
dh_builddeb |
|---|
| 246 |
endif |
|---|
| 247 |
|
|---|
| 248 |
.PHONY: binary modules binary-arch binary-indep clean checkroot |
|---|