* origin/pr/213: archlinux/PKGBUILD: remove python2 fix https://github.com/QubesOS/qubes-issues/issues/5619
		
			
				
	
	
		
			151 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/bash
 | 
						|
# Maintainer: Olivier Medoc <o_medoc@yahoo.fr>
 | 
						|
# shellcheck disable=SC2034
 | 
						|
pkgname=(qubes-vm-core qubes-vm-networking qubes-vm-keyring)
 | 
						|
pkgver=$(cat version)
 | 
						|
pkgrel=15
 | 
						|
epoch=
 | 
						|
pkgdesc="The Qubes core files for installation inside a Qubes VM."
 | 
						|
arch=("x86_64")
 | 
						|
url="http://qubes-os.org/"
 | 
						|
license=('GPL')
 | 
						|
groups=()
 | 
						|
makedepends=(gcc make pkg-config "qubes-vm-utils>=3.1.3" qubes-libvchan qubes-db-vm qubes-vm-xen libx11 python lsb-release pandoc)
 | 
						|
checkdepends=()
 | 
						|
provides=()
 | 
						|
conflicts=()
 | 
						|
replaces=()
 | 
						|
backup=()
 | 
						|
options=()
 | 
						|
changelog=
 | 
						|
 | 
						|
source=(
 | 
						|
    PKGBUILD.qubes-ensure-lib-modules.service PKGBUILD.qubes-update-desktop-icons.hook
 | 
						|
    PKGBUILD-qubes-pacman-options.conf
 | 
						|
    PKGBUILD-qubes-repo-3.2.conf
 | 
						|
    PKGBUILD-qubes-repo-4.1.conf
 | 
						|
    PKGBUILD-keyring-keys
 | 
						|
    PKGBUILD-keyring-trusted
 | 
						|
    PKGBUILD-keyring-revoked
 | 
						|
)
 | 
						|
 | 
						|
noextract=()
 | 
						|
md5sums=(SKIP)
 | 
						|
 | 
						|
build() {
 | 
						|
    for source in autostart-dropins applications-dropins qubes-rpc qrexec misc Makefile vm-init.d vm-systemd network init version doc setup.py qubesagent post-install.d; do
 | 
						|
        # shellcheck disable=SC2154
 | 
						|
        (ln -s "$srcdir/../$source" "$srcdir/$source")
 | 
						|
    done
 | 
						|
 | 
						|
    # Fix for network tools paths
 | 
						|
    sed 's:/sbin/ifconfig:ifconfig:g' -i network/*
 | 
						|
    sed 's:/sbin/route:route:g' -i network/*
 | 
						|
    sed 's:/sbin/ethtool:ethtool:g' -i network/*
 | 
						|
    sed 's:/sbin/ip:ip:g' -i network/*
 | 
						|
    sed 's:/bin/grep:grep:g' -i network/*
 | 
						|
 | 
						|
    # Fix for archlinux sbindir
 | 
						|
    sed 's:/usr/sbin/ntpdate:/usr/bin/ntpdate:g' -i qubes-rpc/sync-ntp-clock
 | 
						|
 | 
						|
    for dir in qubes-rpc qrexec misc; do
 | 
						|
        make -C "$dir"
 | 
						|
    done
 | 
						|
}
 | 
						|
 | 
						|
#This package provides:
 | 
						|
# * qrexec agent
 | 
						|
# * qubes rpc scripts
 | 
						|
# * core linux tools and scripts
 | 
						|
# * core systemd services and drop-ins
 | 
						|
# * basic network functionality (setting IP address, DNS, default gateway)
 | 
						|
package_qubes-vm-core() {
 | 
						|
    depends=("qubes-vm-utils>=3.1.3" python-xdg ethtool ntp net-tools
 | 
						|
             gnome-packagekit imagemagick fakeroot notification-daemon dconf
 | 
						|
             zenity qubes-libvchan "qubes-db-vm>=3.2.1" haveged python-gobject
 | 
						|
             python-dbus xdg-utils notification-daemon gawk sed procps-ng librsvg
 | 
						|
             socat
 | 
						|
             )
 | 
						|
    optdepends=(gnome-keyring gnome-settings-daemon python-nautilus gpk-update-viewer qubes-vm-networking qubes-vm-keyring)
 | 
						|
    install=PKGBUILD.install
 | 
						|
 | 
						|
    # Note: Archlinux removed use of directory such as /sbin /bin /usr/sbin (https://mailman.archlinux.org/pipermail/arch-dev-public/2012-March/022625.html)
 | 
						|
    # shellcheck disable=SC2154
 | 
						|
    make -C qrexec install DESTDIR="$pkgdir" SBINDIR=/usr/bin LIBDIR=/usr/lib SYSLIBDIR=/usr/lib
 | 
						|
 | 
						|
    make install-corevm DESTDIR="$pkgdir" SBINDIR=/usr/bin LIBDIR=/usr/lib SYSLIBDIR=/usr/lib SYSTEM_DROPIN_DIR=/usr/lib/systemd/system USER_DROPIN_DIR=/usr/lib/systemd/user DIST=archlinux
 | 
						|
    make -C qubes-rpc DESTDIR="$pkgdir" install
 | 
						|
    make -C qubes-rpc/kde DESTDIR="$pkgdir" install
 | 
						|
    make -C qubes-rpc/nautilus DESTDIR="$pkgdir" install
 | 
						|
    make -C qubes-rpc/thunar DESTDIR="$pkgdir" install
 | 
						|
 | 
						|
    # Remove things non wanted in archlinux
 | 
						|
    rm -r "$pkgdir/etc/yum"*
 | 
						|
    rm -r "$pkgdir/etc/dnf"*
 | 
						|
    rm -r "$pkgdir/etc/init.d"
 | 
						|
    # Remove fedora specific scripts
 | 
						|
    rm "$pkgdir/etc/fstab"
 | 
						|
 | 
						|
    # Install systemd script allowing to automount /lib/modules
 | 
						|
    install -m 644 "$srcdir/PKGBUILD.qubes-ensure-lib-modules.service" "${pkgdir}/usr/lib/systemd/system/qubes-ensure-lib-modules.service"
 | 
						|
 | 
						|
    # Install pacman hook to update desktop icons
 | 
						|
    mkdir -p "${pkgdir}/usr/share/libalpm/hooks/"
 | 
						|
    install -m 644 "$srcdir/PKGBUILD.qubes-update-desktop-icons.hook" "${pkgdir}/usr/share/libalpm/hooks/qubes-update-desktop-icons.hook"
 | 
						|
 | 
						|
    # Install pacman.d drop-ins (at least 1 drop-in must be installed or pacman will fail)
 | 
						|
    mkdir -p "${pkgdir}/etc/pacman.d"
 | 
						|
    install -m 644 "$srcdir/PKGBUILD-qubes-pacman-options.conf" "${pkgdir}/etc/pacman.d/10-qubes-options.conf"
 | 
						|
 | 
						|
    # Install pacman repository
 | 
						|
    release=$(echo "$pkgver" | cut -d '.' -f 1,2)
 | 
						|
    echo "Installing repository for release ${release}"
 | 
						|
    install -m 644 "$srcdir/PKGBUILD-qubes-repo-${release}.conf" "${pkgdir}/etc/pacman.d/99-qubes-repository-${release}.conf.disabled"
 | 
						|
 | 
						|
    # Archlinux specific: enable autologin on tty1
 | 
						|
    mkdir -p "$pkgdir/etc/systemd/system/getty@tty1.service.d/"
 | 
						|
    cat <<EOF > "$pkgdir/etc/systemd/system/getty@tty1.service.d/autologin.conf"
 | 
						|
[Service]
 | 
						|
ExecStart=
 | 
						|
ExecStart=-/usr/bin/agetty --autologin user --noclear %I 38400 linux
 | 
						|
EOF
 | 
						|
 | 
						|
    # Archlinux packaging guidelines: /var/run is a symlink to a tmpfs. Don't create it
 | 
						|
    rm -r "$pkgdir/var/run"
 | 
						|
}
 | 
						|
 | 
						|
#This package provides:
 | 
						|
# * proxy service used by TemplateVMs to download updates
 | 
						|
# * qubes-firewall service (FirewallVM)
 | 
						|
#
 | 
						|
#Integration of NetworkManager for Qubes VM:
 | 
						|
# * make connections config persistent
 | 
						|
# * adjust DNS redirections when needed
 | 
						|
# * show/hide NetworkManager applet icon
 | 
						|
#
 | 
						|
package_qubes-vm-networking() {
 | 
						|
    pkgdesc="Qubes OS tools allowing to use a Qubes VM as a NetVM/ProxyVM"
 | 
						|
    depends=(qubes-vm-core "qubes-vm-utils>=3.1.3" python ethtool net-tools
 | 
						|
             "qubes-db-vm>=3.2.1" networkmanager iptables tinyproxy nftables
 | 
						|
             )
 | 
						|
    install=PKGBUILD-networking.install
 | 
						|
 | 
						|
    # shellcheck disable=SC2154
 | 
						|
    make install-netvm DESTDIR="$pkgdir" SBINDIR=/usr/bin LIBDIR=/usr/lib SYSLIBDIR=/usr/lib SYSTEM_DROPIN_DIR=/usr/lib/systemd/system USER_DROPIN_DIR=/usr/lib/systemd/user DIST=archlinux
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
package_qubes-vm-keyring() {
 | 
						|
    pkgdesc="Qubes OS Binary Repository Activation package and Keyring"
 | 
						|
    install=PKGBUILD-keyring.install
 | 
						|
 | 
						|
    # Install keyring (will be activated through the .install file)
 | 
						|
    install -dm755 "${pkgdir}/usr/share/pacman/keyrings/"
 | 
						|
    install -m0644 PKGBUILD-keyring-keys "${pkgdir}/usr/share/pacman/keyrings/qubesos-vm.gpg"
 | 
						|
    install -m0644 PKGBUILD-keyring-trusted "${pkgdir}/usr/share/pacman/keyrings/qubesos-vm-trusted"
 | 
						|
    install -m0644 PKGBUILD-keyring-revoked "${pkgdir}/usr/share/pacman/keyrings/qubesos-vm-revoked"
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
# vim:set ts=2 sw=2 et:
 |