瀏覽代碼

Merge remote-tracking branch 'origin/pr/61'

* origin/pr/61:
  update-proxy: use curl instead of wget in archlinux in order to limit additional dependencies
  archlinux: properly add qubes markers in pacman.conf
  archlinux: add Qubes Markers in pacman.conf so that changes done by qubes scripts are not inserted at the end of pacman.conf
  implement update proxy support for archlinux
  archlinux: add gcc and make as make dependencies
  update qubes.InstallUpdateGUI to support archlinux
Marek Marczykowski-Górecki 8 年之前
父節點
當前提交
a8d609704a
共有 4 個文件被更改,包括 31 次插入2 次删除
  1. 2 2
      archlinux/PKGBUILD
  2. 22 0
      archlinux/PKGBUILD.install
  3. 5 0
      network/update-proxy-configs
  4. 2 0
      qubes-rpc/qubes.InstallUpdatesGUI

+ 2 - 2
archlinux/PKGBUILD

@@ -6,7 +6,7 @@
 # Maintainer: Olivier Medoc <o_medoc@yahoo.fr>
 pkgname=qubes-vm-core
 pkgver=`cat version`
-pkgrel=2
+pkgrel=6
 epoch=
 pkgdesc="The Qubes core files for installation inside a Qubes VM."
 arch=("x86_64")
@@ -14,7 +14,7 @@ url="http://qubes-os.org/"
 license=('GPL')
 groups=()
 depends=("qubes-vm-utils>=3.1.3" python2 python3 python2-xdg ethtool ntp net-tools gnome-packagekit imagemagick fakeroot notification-daemon dconf pygtk zenity qubes-libvchan qubes-db-vm haveged python2-gobject python2-dbus xdg-utils notification-daemon)
-makedepends=("qubes-vm-utils>=3.1.3" qubes-libvchan qubes-db-vm qubes-vm-xen libx11 python2 python3)
+makedepends=(gcc make pkg-config "qubes-vm-utils>=3.1.3" qubes-libvchan qubes-db-vm qubes-vm-xen libx11 python2 python3)
 checkdepends=()
 optdepends=(gnome-keyring gnome-settings-daemon networkmanager iptables tinyproxy python2-nautilus gpk-update-viewer)
 provides=()

+ 22 - 0
archlinux/PKGBUILD.install

@@ -198,6 +198,20 @@ systemctl daemon-reload
 
 }
 
+config_prependtomark() {
+FILE=$1
+APPENDBEFORELINE=$2
+APPENDLINE=$3
+grep -q "$APPENDLINE" "$FILE" || sed "/$APPENDBEFORELINE/i$APPENDLINE" -i "$FILE"
+}
+
+config_appendtomark() {
+FILE=$1
+APPENDAFTERLINE=$2
+APPENDLINE=$3
+grep -q "$APPENDLINE" "$FILE" || sed "/$APPENDAFTERLINE/a$APPENDLINE" -i "$FILE"
+}
+
 update_finalize() {
 
 	# Archlinux specific: Update pam.d configuration for su to enable systemd-login wrapper
@@ -213,6 +227,14 @@ update_finalize() {
 	rm -f /etc/systemd/system/getty.target.wants/getty@tty*.service
 	systemctl enable getty\@tty1.service
 
+	# Archlinux specific: Prepare pacman.conf to add qubes specific config
+	QUBES_MARKER="### QUBES CONFIG MARKER ###"
+	config_prependtomark "/etc/pacman.conf" "# REPOSITORIES" "$QUBES_MARKER"
+	
+	# Add Qubes setup script markers at the right place (this won't work at the end of pacman.conf)"
+	config_appendtomark "/etc/pacman.conf" "$QUBES_MARKER" "### QUBES END ###"
+	config_appendtomark "/etc/pacman.conf" "$QUBES_MARKER" "### QUBES BEGIN ###"
+	
 	systemctl daemon-reload
 }
 

+ 5 - 0
network/update-proxy-configs

@@ -117,3 +117,8 @@ fi
 if [ -e /etc/PackageKit/PackageKit.conf ]; then
     update_conf /etc/PackageKit/PackageKit.conf "ProxyHTTP=$PROXY_ADDR"
 fi
+
+# Pacman (archlinux) also
+if [ -e /etc/pacman.conf ]; then
+    update_conf /etc/pacman.conf "XferCommand = http_proxy=$PROXY_ADDR /usr/bin/curl -C - -f %u > %o"
+fi

+ 2 - 0
qubes-rpc/qubes.InstallUpdatesGUI

@@ -8,6 +8,8 @@ if [ -e /etc/redhat-release ]; then
     xterm -title update -e su -l -c 'yum update; echo Done. Press Enter to exit.; read x'
 elif [ -e /etc/debian_version ]; then
     xterm -title update -e su -l -c 'apt-get update && apt-get -V dist-upgrade; echo Done. Press Enter to exit.; read x'
+elif [ -e /etc/arch-release ]; then
+    xterm -title update -e su -l -c 'pacman -Suy; echo Done. Press Enter to exit.; read x'
 else
     xterm -title update -e su -l -c 'echo Unsupported distribution, install updates manually; bash -i'
 fi