Install grub.qubes on Arch

This is necessary for in-VM kernels to work.
This commit is contained in:
Demi Marie Obenour 2021-01-12 18:26:19 -05:00
parent 1aa3893f44
commit d5ab91f54a
No known key found for this signature in database
GPG Key ID: 28A45C93B0B5B6E0

View File

@ -1,5 +1,5 @@
pkgname=(qubes-vm-core qubes-vm-networking qubes-vm-keyring qubes-vm-passwordless-root) pkgname=(qubes-vm-core qubes-vm-networking qubes-vm-keyring qubes-vm-passwordless-root)
pkgver=$(cat version) pkgver=$(cat version) || exit 1
pkgrel=15 pkgrel=15
epoch= epoch=
pkgdesc="The Qubes core files for installation inside a Qubes VM." pkgdesc="The Qubes core files for installation inside a Qubes VM."
@ -29,9 +29,9 @@ noextract=()
md5sums=(SKIP) md5sums=(SKIP)
build() { build() {
for source in autostart-dropins applications-dropins app-menu qubes-rpc misc passwordless-root Makefile vm-init.d vm-systemd network init version doc setup.py qubesagent post-install.d; do for source in autostart-dropins applications-dropins app-menu qubes-rpc misc passwordless-root Makefile vm-init.d vm-systemd network init version doc setup.py qubesagent boot; do
# shellcheck disable=SC2154 # shellcheck disable=SC2154
(ln -s "$srcdir/../$source" "$srcdir/$source") ln -sf "../$source" "$srcdir"
done done
# Fix for network tools paths # Fix for network tools paths
@ -55,6 +55,12 @@ build() {
# * core systemd services and drop-ins # * core systemd services and drop-ins
# * basic network functionality (setting IP address, DNS, default gateway) # * basic network functionality (setting IP address, DNS, default gateway)
package_qubes-vm-core() { package_qubes-vm-core() {
local release
[[ "$pkgver" =~ ^([0-9]+)\.([0-9]+)($|\.) ]] || {
echo 'invalid $pkgver'>&2
exit 1
}
release=${BASH_REMATCH[1]}.${BASH_REMATCH[2]}
depends=(qubes-vm-utils python python-xdg ethtool ntp net-tools depends=(qubes-vm-utils python python-xdg ethtool ntp net-tools
gnome-packagekit imagemagick fakeroot notification-daemon dconf gnome-packagekit imagemagick fakeroot notification-daemon dconf
zenity qubes-libvchan qubes-db-vm haveged python-gobject zenity qubes-libvchan qubes-db-vm haveged python-gobject
@ -67,6 +73,7 @@ package_qubes-vm-core() {
install=PKGBUILD.install install=PKGBUILD.install
install -D -m 0644 -- boot/grub.qubes "$pkgdir/etc/default/grub.qubes"
# shellcheck disable=SC2154 # shellcheck disable=SC2154
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 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 app-menu install DESTDIR="$pkgdir" install LIBDIR=/usr/lib SYSLIBDIR=/usr/lib make -C app-menu install DESTDIR="$pkgdir" install LIBDIR=/usr/lib SYSLIBDIR=/usr/lib
@ -84,11 +91,8 @@ package_qubes-vm-core() {
install -m 644 "$srcdir/PKGBUILD.qubes-update-desktop-icons.hook" "${pkgdir}/usr/share/libalpm/hooks/qubes-update-desktop-icons.hook" 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) # Install pacman.d drop-ins (at least 1 drop-in must be installed or pacman will fail)
mkdir -p "${pkgdir}/etc/pacman.d" mkdir -p -m 0755 "${pkgdir}/etc/pacman.d"
install -m 644 "$srcdir/PKGBUILD-qubes-pacman-options.conf" "${pkgdir}/etc/pacman.d/10-qubes-options.conf" 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}" 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" install -m 644 "$srcdir/PKGBUILD-qubes-repo-${release}.conf" "${pkgdir}/etc/pacman.d/99-qubes-repository-${release}.conf.disabled"