VirtualBox

Changeset 82441 in vbox for trunk/debian/rules


Ignore:
Timestamp:
Dec 5, 2019 11:16:02 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
135289
Message:

Config: disable PCI passthrough
debian: big resync with files in src/VBox/Installer/Linux/debian, this must have been broken for years
doc: mention dropping of PCI passthrough
src/VBox/Installer/linux: adapt to handle no longer present vboxpci.ko (without completely ripping it out)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/debian/rules

    • Property svn:eol-style set to LF
    • Property svn:keywords set to Author Date Id Revision
    r68922 r82441  
    11#!/usr/bin/make -f
     2# $Id$
     3## @file
     4# VirtualBox rules.
    25#
    3 # Copyright (C) 2006-2012 Oracle Corporation
     6
     7#
     8# Copyright (C) 2006-2019 Oracle Corporation
    49#
    510# This file is part of VirtualBox Open Source Edition (OSE), as
     
    1318
    1419#export DH_VERBOSE=1
    15 export DH_COMPAT=4
     20export DH_COMPAT=5
    1621
    1722# possible overrides:
     
    4954NOWEBSVC ?= $(ose)
    5055NOWINE   := $(if $(NODOCS),$(if $(STAGEDISO),1,),)$(ose)
     56PYTHON   := $(firstword $(shell which python) $(shell which python3))
    5157
    5258ifneq ($(wildcard $(verfile)),)
     
    7884             VBOX_WITHOUT_EXTPACK_PUEL_PACKING=1 \
    7985             VBOX_WITHOUT_EXTPACK_VNC_PACKING=1 \
    80              $(if $(filter _Debian_squeeze _Ubuntu_lucid,$(debrel)),,VBOX_WITH_VMSVGA3D=1) \
     86             VBOX_WITH_VMSVGA3D=1 \
    8187             VBOX_DO_STRIP= \
    82              VBOX_WITH_MULTIVERSION_PYTHON= \
    8388             VBOX_PATH_PACKAGE_DOCS="\"/usr/share/doc/$(verpkg)\"" \
    8489             $(if $(ose),,VBOX_WITH_DOCS_CHM=1) \
     
    118123        rm -rf $(moddir)
    119124        mkdir $(moddir)
    120         make -C $(builddir)/bin/src/vboxdrv clean
    121125        for d in $(wildcard /lib/modules/*); do \
    122126            if [ -L $$d/build ]; then \
    123127                make -C $(builddir)/bin/src/vboxdrv KERN_VER=$$(basename $$d) clean && \
    124                 make -j4 -C $(builddir)/bin/src/vboxdrv KBUILD_VERBOSE= KERN_VER=$$(basename $$d) all \
     128                make -j4 -C $(builddir)/bin/src/vboxdrv KBUILD_VERBOSE= KERN_VER=$$(basename $$d) all; \
    125129                make -C $(builddir)/bin/src/vboxnetflt KERN_VER=$$(basename $$d) clean && \
    126130                (cp $(builddir)/bin/src/vboxdrv/Module.symvers $(builddir)/bin/src/vboxnetflt || true) && \
    127                 make -j4 -C $(builddir)/bin/src/vboxnetflt KBUILD_VERBOSE= KERN_VER=$$(basename $$d) all \
     131                make -j4 -C $(builddir)/bin/src/vboxnetflt KBUILD_VERBOSE= KERN_VER=$$(basename $$d) all; \
    128132                make -C $(builddir)/bin/src/vboxnetadp KERN_VER=$$(basename $$d) clean && \
    129133                (cp $(builddir)/bin/src/vboxdrv/Module.symvers $(builddir)/bin/src/vboxnetadp || true) && \
    130                 make -j4 -C $(builddir)/bin/src/vboxnetadp KBUILD_VERBOSE= KERN_VER=$$(basename $$d) all \
     134                make -j4 -C $(builddir)/bin/src/vboxnetadp KBUILD_VERBOSE= KERN_VER=$$(basename $$d) all; \
    131135                make -C $(builddir)/bin/src/vboxpci KERN_VER=$$(basename $$d) clean && \
    132136                (cp $(builddir)/bin/src/vboxdrv/Module.symvers $(builddir)/bin/src/vboxpci || true) && \
    133                 make -j4 -C $(builddir)/bin/src/vboxpci KBUILD_VERBOSE= KERN_VER=$$(basename $$d) all \
     137                make -j4 -C $(builddir)/bin/src/vboxpci KBUILD_VERBOSE= KERN_VER=$$(basename $$d) all; true; \
    134138            fi; \
    135139        done
     
    137141        make -C $(builddir)/bin/src/vboxnetflt clean
    138142        make -C $(builddir)/bin/src/vboxnetadp clean
    139         make -C $(builddir)/bin/src/vboxpci clean
     143        make -C $(builddir)/bin/src/vboxpci clean; true
    140144        touch debian/modules-stamp
    141145
     
    143147        dh_testdir
    144148        dh_testroot
    145         rm -f debian/preinst debian/postinst debian/prerm
    146         rm -f debian/$(package).init debian/vboxdrv.init
    147         rm -f debian/vboxballoonctrl-service.init debian/vboxautostart-service.init debian/vboxweb-service.init
    148149        rm -f debian/AutoConfig.kmk debian/configure.log debian/env.sh
    149150        rm -f debian/modules-stamp debian/build-stamp debian/configure-stamp
     
    165166        dh_installdirs
    166167        tar -xC $(prefix)/opt -f $(builddir)/bin/VirtualBox.tar
     168        install -d -g 0 -o 0 $(prefix)/usr/share/applications
     169        install -d -g 0 -o 0 $(prefix)/usr/lib
     170        install -d -g 0 -o 0 $(prefix)/usr/bin
     171        install -d -g 0 -o 0 $(prefix)/usr/share/$(package)
     172        install -d -g 0 -o 0 $(prefix)/usr/share/doc/$(verpkg)
     173        $(if $(NOQT),,mv $(archdir)/virtualbox.desktop \
     174           $(prefix)/usr/share/applications/virtualbox.desktop)
     175        install -d -g 0 -o 0 $(prefix)/usr/share/pixmaps
     176        $(if $(NOQT),,install -d -g 0 -o 0 $(prefix)/usr/share/icons/hicolor)
     177        $(if $(NOQT),,cp $(archdir)/icons/128x128/virtualbox.png \
     178           $(prefix)/usr/share/pixmaps/virtualbox.png)
     179        $(if $(NOQT),,mv $(archdir)/nls $(prefix)/usr/share/$(package))
     180        $(if $(NOQT),,cd $(archdir)/icons; for i in *; do \
     181            for j in $$i/virtualbox.*; do \
     182                if [ -f $$j ]; then \
     183                    if [ ! -d $(prefix)/usr/share/icons/hicolor/$$i/apps ]; then \
     184                        install -d -g 0 -o 0 $(prefix)/usr/share/icons/hicolor/$$i/apps; \
     185                    fi; \
     186                    mv $$j $(prefix)/usr/share/icons/hicolor/$$i/apps; \
     187                fi; \
     188            done; \
     189            install -d -g 0 -o 0 $(prefix)/usr/share/icons/hicolor/$$i/mimetypes; \
     190            mv $$i/* $(prefix)/usr/share/icons/hicolor/$$i/mimetypes || true; \
     191            rmdir $$i; \
     192        done)
     193        $(if $(NOQT),,rmdir $(archdir)/icons)
    167194        $(if $(NOQT),,mv $(archdir)/virtualbox.xml debian/$(verpkg).sharedmimeinfo)
    168         $(archdir)/scripts/install.sh --package $(package) --root $(prefix) \
    169             --prefix /usr $(if $(NOQT),--no-qt) $(if $(ose),--ose) \
    170             $(if $(HEADLESS),--headless) $(if $(NOWEBSVC),--no-web-service) \
    171             --install-folder /lib/$(package) --no-helpers
    172         install -d -g 0 -o 0 $(prefix)/usr/share/doc/$(verpkg)
    173195        install -d -g 0 -o 0 $(prefix)/usr/share/lintian/overrides
    174196        sed \
     
    176198            debian/lintian-override.in > \
    177199           $(prefix)/usr/share/lintian/overrides/$(verpkg)
     200        mv $(archdir)/VBox.png \
     201           $(prefix)/usr/share/pixmaps/VBox.png
     202        mv $(archdir)/src  $(prefix)/usr/share/$(package)
     203        rm $(archdir)/VBox.sh
     204        install -D -g 0 -o 0 -m 644 $(vboxroot)/src/VBox/Installer/linux/VBox.sh $(prefix)/usr/bin/VBox
     205        mv $(archdir)/VBoxSysInfo.sh $(prefix)/usr/share/$(package)
     206        if [ -r $(archdir)/VBoxDTrace ]; then \
     207            mv $(archdir)/VBoxDTrace $(prefix)/usr/bin; \
     208        fi
     209        mv $(archdir)/VBoxTunctl $(prefix)/usr/bin
    178210        $(if $(NOMODS),,for d in $(moddir)/*; do \
    179             if [ -f $$d/vboxdrv.ko -a -f $$d/vboxnetflt.ko -a -f $$d/vboxnetadp.ko -a -f $$d/vboxpci.ko ]; then \
     211            if [ -f $$d/vboxdrv.ko -a -f $$d/vboxnetflt.ko -a -f $$d/vboxnetadp.ko ]; then \
    180212                install -D -g 0 -o 0 -m 0644 \
    181213                    $$d/vboxdrv.ko $(prefix)/lib/modules/$$(basename $$d)/misc/vboxdrv.ko; \
     
    184216                install -D -g 0 -o 0 -m 0644 \
    185217                    $$d/vboxnetadp.ko $(prefix)/lib/modules/$$(basename $$d)/misc/vboxnetadp.ko; \
    186                 install -D -g 0 -o 0 -m 0644 \
    187                     $$d/vboxpci.ko $(prefix)/lib/modules/$$(basename $$d)/misc/vboxpci.ko; \
     218                if [ -f $$d/vboxpci.ko ]; then \
     219                    install -D -g 0 -o 0 -m 0644 \
     220                        $$d/vboxpci.ko $(prefix)/lib/modules/$$(basename $$d)/misc/vboxpci.ko; \
     221                fi \
    188222            fi \
    189223            done)
     
    194228        rm $(addprefix $(archdir)/,UserManual*.pdf VirtualBox*.chm \
    195229            LICENSE)
     230        for i in rdesktop-vrdp.tar.gz additions/VBoxGuestAdditions.iso; do \
     231            mv $(archdir)/$$i $(prefix)/usr/share/$(package); done
     232        $(if $(HEADLESS),,mv $(archdir)/rdesktop-vrdp $(prefix)/usr/bin)
     233        $(if $(HEADLESS),,mv $(archdir)/rdesktop-vrdp-keymaps $(prefix)/usr/share/$(package))
    196234else
    197235        dh_installdocs \
    198236            $(archdir)/UserManual*.pdf
    199237        rm $(addprefix $(archdir)/,UserManual*.pdf)
     238        for i in additions/VBoxGuestAdditions.iso; do \
     239            mv $(archdir)/$$i $(prefix)/usr/share/$(package); done
    200240endif
    201241        mv $(archdir) $(prefix)/usr/lib/$(package)
     242        if [ -f $(prefix)/usr/lib/$(package)/libQt5CoreVBox.so.5 ]; then \
     243            ../../../../tools/linux.$(chrarch)/bin/chrpath \
     244                --keepgoing --replace /usr/lib/$(package) \
     245                $(prefix)/usr/lib/$(package)/*.so.5 \
     246                $(prefix)/usr/lib/$(package)/plugins/platforms/*.so; \
     247                $(prefix)/usr/lib/$(package)/plugins/xcbglintegrations/*.so; \
     248            echo "[Paths]" > $(prefix)/usr/lib/$(package)/qt.conf; \
     249            echo "Plugins = /usr/lib/$(package)/plugins" >> $(prefix)/usr/lib/$(package)/qt.conf; \
     250        fi
     251        export VBOX_INSTALL_PATH=/usr/lib/$(package) && \
     252            cd $(builddir)/bin/sdk/installer && \
     253            $(PYTHON) ./vboxapisetup.py install --root $(prefix)
     254        rm -rf $(prefix)/usr/lib/$(package)/sdk/installer
    202255        ln -s ../VBoxVMM.so $(prefix)/usr/lib/$(package)/components/VBoxVMM.so
    203256        rmdir $(prefix)/opt
     257        dh_link \
     258            $(if $(NOQT),,usr/bin/VBox          usr/bin/VirtualBox) \
     259            $(if $(NOQT),,usr/bin/VBox          usr/bin/virtualbox) \
     260            $(if $(NOQT),,usr/bin/VBox          usr/bin/VirtualBoxVM) \
     261            $(if $(NOQT),,usr/bin/VBox          usr/bin/virtualboxvm) \
     262            usr/bin/VBox                        usr/bin/VBoxManage \
     263            usr/bin/VBox                        usr/bin/vboxmanage \
     264            $(if $(HEADLESS),,usr/bin/VBox      usr/bin/VBoxSDL) \
     265            $(if $(HEADLESS),,usr/bin/VBox      usr/bin/vboxsdl) \
     266            $(if $(ose),,usr/bin/VBox           usr/bin/VBoxVRDP) \
     267            usr/bin/VBox                        usr/bin/VBoxHeadless \
     268            usr/bin/VBox                        usr/bin/vboxheadless \
     269            usr/bin/VBox                        usr/bin/VBoxBugReport \
     270            usr/bin/VBox                        usr/bin/vboxbugreport \
     271            usr/bin/VBox                        usr/bin/VBoxBalloonCtrl \
     272            usr/bin/VBox                        usr/bin/vboxballoonctrl \
     273            usr/bin/VBox                        usr/bin/VBoxAutostart \
     274            usr/bin/VBox                        usr/bin/vboxautostart \
     275            $(if $(NOWEBSVC),,usr/bin/VBox      usr/bin/vboxwebsrv) \
     276            $(if $(NOVBOXIMG),,usr/lib/virtualbox/vbox-img usr/bin/vbox-img) \
     277            $(if $(NOVBOXIMGMOUNT),,usr/lib/virtualbox/vboximg-mount usr/bin/vboximg-mount) \
     278            usr/share/virtualbox/src/vboxhost   usr/src/vboxhost-$(ver)
    204279        $(if $(NOMODS),,dh_installmodules)
    205         sed \
    206             -e 's|%NOLSB%||g' \
    207             -e 's|%DEBIAN%|yes|g' \
    208             -e 's|%PACKAGE%|virtualbox|g' \
    209             -e "s|%VERSION%|$(VBOX_VERSION_STRING)|g" \
    210             -e "s|%GROUP%|$(if $(VBOX_WITHOUT_HARDENING),vboxusers,root)|g" \
    211             $(vboxroot)/src/VBox/Installer/linux/vboxdrv.sh.in > debian/vboxdrv.init
    212         dh_installinit --name=vboxdrv --noscripts
    213         cp $(vboxroot)/src/VBox/Installer/linux/vboxballoonctrl-service.sh debian/vboxballoonctrl-service.init
    214         dh_installinit --name=vboxballoonctrl-service --noscripts
    215         cp $(vboxroot)/src/VBox/Installer/linux/vboxautostart-service.sh debian/vboxautostart-service.init
    216         dh_installinit --name=vboxautostart-service --noscripts
    217         cp $(vboxroot)/src/VBox/Installer/linux/vboxweb-service.sh debian/vboxweb-service.init
    218         dh_installinit --name=vboxweb-service --noscripts
    219         sed -e 's|%VER%|$(ver)|g' \
    220             debian/preinst.in > debian/preinst
    221         sed -e 's|%VER%|$(ver)|g' \
    222             debian/prerm.in > debian/prerm
    223         sed -e 's|%VER%|$(ver)|g' \
    224             -e '/#include installer-common.sh/ {' \
    225             -e "r $(vboxroot)/src/VBox/Installer/linux/installer-common.sh" \
    226             -e 'd' \
    227             -e '}' \
    228             debian/postinst.in > debian/postinst
    229280        dh_installdebconf
    230281        dh_installchangelogs
     
    236287            $(addprefix --exclude=lib,$(addsuffix VBox.so.5,\
    237288              Qt5Core Qt5Gui Qt5Widgets Qt5PrintSupport Qt5OpenGL Qt5DBus Qt5XcbQpa Qt5X11Extras)) \
    238             --exclude=libqxcb.so
    239 endif
    240         mkdir -p $(current)/debian/$(verpkg)-dbg/usr/lib
     289            --exclude=libqxcb.so --exclude=libqxcb-glx-integration.so
     290endif
     291        mkdir -p $(current)/debian/$(verpkg)-dbg/usr/lib/$(package)
     292        mv $(prefix)/usr/lib/$(package)/*.debug $(current)/debian/$(verpkg)-dbg/usr/lib/$(package)
    241293ifeq ($(DEBUG),)
    242         mv $(current)/debian/$(verpkg)/usr/lib/debug $(current)/debian/$(verpkg)-dbg/usr/lib
     294        mv $(prefix)/usr/lib/debug $(current)/debian/$(verpkg)-dbg/usr/lib
    243295endif
    244296        $(firstword $(shell which dh_python2) $(shell which dh_python3))
     
    248300        dh_installdeb
    249301        dh_perl
    250         LD_LIBRARY_PATH=$(prefix)/usr/lib/virtualbox dh_shlibdeps
     302        # for some reason, the Qt libraries couldn't be found on newer releases (e.g. Ubuntu hardy)
     303        LD_LIBRARY_PATH=$(prefix)/usr/lib/virtualbox dh_shlibdeps --exclude=VBoxPython
    251304        dh_gencontrol -- \
    252305          -Valsa=$(if $(HEADLESS),,libasound2) \
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette