|
@@ -202,68 +202,47 @@ config_prependtomark() {
|
|
|
FILE=$1
|
|
|
APPENDBEFORELINE=$2
|
|
|
APPENDLINE=$3
|
|
|
-grep -q "$APPENDLINE" "$FILE" || sed "/$APPENDBEFORELINE/i$APPENDLINE" -i "$FILE"
|
|
|
+grep -F -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"
|
|
|
+grep -F -q "$APPENDLINE" "$FILE" || sed "/$APPENDAFTERLINE/a$APPENDLINE" -i "$FILE"
|
|
|
}
|
|
|
|
|
|
config_cleanupmark() {
|
|
|
FILE="$1"
|
|
|
BEGINMARK="$2"
|
|
|
ENDMARK="$3"
|
|
|
-if grep -q "$BEGINMARK" "$FILE"; then
|
|
|
- if grep -q "$ENDMARK" "$FILE"; then
|
|
|
+if grep -F -q "$BEGINMARK" "$FILE"; then
|
|
|
+ if grep -F -q "$ENDMARK" "$FILE"; then
|
|
|
cp "$FILE" "$FILE.qubes-update-orig"
|
|
|
- sed -i -e "/^$BEGINMARK\$/,/^$ENDMARK\$/{
|
|
|
- /^$ENDMARK\$/b
|
|
|
+ sed -i -e "/^$BEGINMARK$/,/^$ENDMARK$/{
|
|
|
+ /^$ENDMARK$/b
|
|
|
/^$BEGINMARK$/!d
|
|
|
}" "$FILE"
|
|
|
rm -f "$FILE.qubes-update-orig"
|
|
|
else
|
|
|
echo "ERROR: found $BEGINMARK marker but not $ENDMARK in $FILE. Please cleanup this file manually."
|
|
|
fi
|
|
|
-elif grep -q "$ENDMARK" "$FILE"; then
|
|
|
+elif grep -F -q "$ENDMARK" "$FILE"; then
|
|
|
echo "ERROR: found $ENDMARK marker but not $BEGINMARK in $FILE. Please cleanup this file manually."
|
|
|
fi
|
|
|
}
|
|
|
|
|
|
update_finalize() {
|
|
|
|
|
|
- # Archlinux specific: Prepare pacman.conf to add qubes specific config
|
|
|
+ # Archlinux specific: Cleanup pre pacman.d qubes marker
|
|
|
QUBES_MARKER="### QUBES CONFIG MARKER ###"
|
|
|
- config_prependtomark "/etc/pacman.conf" "# REPOSITORIES" "$QUBES_MARKER"
|
|
|
-
|
|
|
- # Ensure pam.d will not be modified by archlinux package updates
|
|
|
- config_appendtomark '/etc/pacman.conf' "$QUBES_MARKER" 'NoUpgrade = etc/pam.d/su'
|
|
|
- config_appendtomark '/etc/pacman.conf' "$QUBES_MARKER" 'NoUpgrade = etc/pam.d/su-l'
|
|
|
-
|
|
|
- # 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 ###"
|
|
|
-
|
|
|
-
|
|
|
- ## Archlinux specific: Cleanup pre pacman.d qubes marker
|
|
|
- ## Commented out until pacman.d snipped are supported
|
|
|
- #QUBES_MARKER="### QUBES CONFIG MARKER ###"
|
|
|
- #if grep -q "$QUBES_MARKER" /etc/pacman.conf; then
|
|
|
- # if ! grep -q "### QUBES CONFIG END MARKER ###" /etc/pacman.conf; then
|
|
|
- # # Perform cleanup before continuing
|
|
|
- # config_prependtomark "/etc/pacman.conf" "# REPOSITORIES" "### QUBES CONFIG END MARKER ###"
|
|
|
- # config_cleanupmark "/etc/pacman.conf" "$QUBES_MARKER" "### QUBES CONFIG END MARKER ###"
|
|
|
- # fi
|
|
|
- #fi
|
|
|
- #config_prependtomark "/etc/pacman.conf" "# REPOSITORIES" "$QUBES_MARKER"
|
|
|
- #config_prependtomark "/etc/pacman.conf" "# REPOSITORIES" "### QUBES CONFIG END MARKER ###"
|
|
|
- #
|
|
|
- ## Add qubes includes
|
|
|
- #config_appendtomark "/etc/pacman.conf" "$QUBES_MARKER" "Include /etc/pacman.d/qubes-noupdate.conf"
|
|
|
- #config_appendtomark "/etc/pacman.conf" "$QUBES_MARKER" "Include /etc/pacman.d/qubes-updateproxy.conf"
|
|
|
- #config_prependtomark "/etc/pacman.conf" "### QUBES CONFIG END MARKER ###" "Include /etc/pacman.d/qubes-repositories.conf"
|
|
|
+ if grep -F -q "$QUBES_MARKER" /etc/pacman.conf; then
|
|
|
+ config_prependtomark "/etc/pacman.conf" "# REPOSITORIES" "### QUBES CONFIG END MARKER ###"
|
|
|
+ config_cleanupmark "/etc/pacman.conf" "$QUBES_MARKER" "### QUBES CONFIG END MARKER ###"
|
|
|
+ fi
|
|
|
+
|
|
|
+ # Include /etc/pacman.d drop-in directory
|
|
|
+ config_appendtomark "/etc/pacman.conf" "$QUBES_MARKER" "Include = /etc/pacman.d/*.conf"
|
|
|
|
|
|
# Archlinux specific: Update pam.d configuration for su to enable systemd-login wrapper
|
|
|
# Also remove pam_unix.so from su configuration
|