Merge branch 'master' of git.qubes-os.org:/var/lib/qubes/git/marmarek/core
Conflicts: version_vm
This commit is contained in:
commit
2514401ccd
1
Makefile
1
Makefile
@ -57,5 +57,6 @@ clean:
|
|||||||
(cd dom0/restore && make clean)
|
(cd dom0/restore && make clean)
|
||||||
(cd dom0/qmemman && make clean)
|
(cd dom0/qmemman && make clean)
|
||||||
(cd common && make clean)
|
(cd common && make clean)
|
||||||
|
(cd u2mfn && make clean)
|
||||||
make -C qrexec clean
|
make -C qrexec clean
|
||||||
make -C vchan clean
|
make -C vchan clean
|
||||||
|
@ -5,9 +5,9 @@ dvm_file_editor: dvm_file_editor.o ../common/ioall.o
|
|||||||
$(CC) -pie -g -o $@ $^
|
$(CC) -pie -g -o $@ $^
|
||||||
qfile-agent-dvm: qfile-agent-dvm.o ../common/ioall.o ../common/gui-fatal.o
|
qfile-agent-dvm: qfile-agent-dvm.o ../common/ioall.o ../common/gui-fatal.o
|
||||||
$(CC) -pie -g -o $@ $^
|
$(CC) -pie -g -o $@ $^
|
||||||
qfile-agent: qfile-agent.o ../common/ioall.o ../common/gui-fatal.o copy_file.o crc32.o
|
qfile-agent: qfile-agent.o ../common/ioall.o ../common/gui-fatal.o ../common/copy_file.o ../common/crc32.o
|
||||||
$(CC) -pie -g -o $@ $^
|
$(CC) -pie -g -o $@ $^
|
||||||
qfile-unpacker: qfile-unpacker.o ../common/ioall.o ../common/gui-fatal.o copy_file.o unpack.o crc32.o
|
qfile-unpacker: qfile-unpacker.o ../common/ioall.o ../common/gui-fatal.o ../common/copy_file.o ../common/unpack.o ../common/crc32.o
|
||||||
$(CC) -pie -g -o $@ $^
|
$(CC) -pie -g -o $@ $^
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
@ -20,15 +20,15 @@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
if [ x"$1" = "x--with-progress" ] ; then
|
if [ x"$1" = "x--without-progress" ] ; then
|
||||||
DO_PROGRESS=1
|
DO_PROGRESS=0
|
||||||
shift
|
shift
|
||||||
else
|
else
|
||||||
DO_PROGRESS=0
|
DO_PROGRESS=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $# -lt 2 ] ; then
|
if [ $# -lt 2 ] ; then
|
||||||
echo usage: $0 '[--with-progress] dest_vmname file [file]+'
|
echo usage: $0 '[--without-progress] dest_vmname file [file]+'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -6,4 +6,4 @@ meminfo-writer: meminfo-writer.o
|
|||||||
xenstore-watch: xenstore-watch.o
|
xenstore-watch: xenstore-watch.o
|
||||||
$(CC) -o xenstore-watch xenstore-watch.o -lxenstore
|
$(CC) -o xenstore-watch xenstore-watch.o -lxenstore
|
||||||
clean:
|
clean:
|
||||||
rm -f meminfo-writer *.o *~
|
rm -f meminfo-writer xenstore-watch *.o *~
|
||||||
|
@ -5,7 +5,16 @@
|
|||||||
# This creates dm-snapshot device on given arguments
|
# This creates dm-snapshot device on given arguments
|
||||||
|
|
||||||
dir=$(dirname "$0")
|
dir=$(dirname "$0")
|
||||||
. "$dir/block-common.sh"
|
if [ "$1" = "prepare" ] || [ "$1" = "cleanup" ]; then
|
||||||
|
. "$dir/xen-hotplug-common.sh"
|
||||||
|
command=$1
|
||||||
|
else
|
||||||
|
. "$dir/block-common.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
shopt -s nullglob
|
||||||
|
|
||||||
|
HOTPLUG_STORE="/var/run/xen-hotplug/${XENBUS_PATH//\//-}"
|
||||||
|
|
||||||
get_dev() {
|
get_dev() {
|
||||||
dev=$1
|
dev=$1
|
||||||
@ -89,7 +98,6 @@ create_dm_snapshot_origin() {
|
|||||||
|
|
||||||
t=$(xenstore_read_default "$XENBUS_PATH/type" 'MISSING')
|
t=$(xenstore_read_default "$XENBUS_PATH/type" 'MISSING')
|
||||||
|
|
||||||
|
|
||||||
case "$command" in
|
case "$command" in
|
||||||
add)
|
add)
|
||||||
case $t in
|
case $t in
|
||||||
@ -117,24 +125,81 @@ case "$command" in
|
|||||||
if [ "$t" == "snapshot" ]; then
|
if [ "$t" == "snapshot" ]; then
|
||||||
#that's all for snapshot, store name of prepared device
|
#that's all for snapshot, store name of prepared device
|
||||||
xenstore_write "$XENBUS_PATH/node" "/dev/mapper/$dm_devname"
|
xenstore_write "$XENBUS_PATH/node" "/dev/mapper/$dm_devname"
|
||||||
|
echo "/dev/mapper/$dm_devname" > "$HOTPLUG_STORE-node"
|
||||||
write_dev /dev/mapper/$dm_devname
|
write_dev /dev/mapper/$dm_devname
|
||||||
elif [ "$t" == "origin" ]; then
|
elif [ "$t" == "origin" ]; then
|
||||||
# for origin - prepare snapshot-origin device and store its name
|
# for origin - prepare snapshot-origin device and store its name
|
||||||
dm_devname=origin-$(stat -c '%D:%i' "$base")
|
dm_devname=origin-$(stat -c '%D:%i' "$base")
|
||||||
create_dm_snapshot_origin $dm_devname "$base"
|
create_dm_snapshot_origin $dm_devname "$base"
|
||||||
xenstore_write "$XENBUS_PATH/node" "/dev/mapper/$dm_devname"
|
xenstore_write "$XENBUS_PATH/node" "/dev/mapper/$dm_devname"
|
||||||
|
echo "/dev/mapper/$dm_devname" > "$HOTPLUG_STORE-node"
|
||||||
write_dev /dev/mapper/$dm_devname
|
write_dev /dev/mapper/$dm_devname
|
||||||
fi
|
fi
|
||||||
|
# Save domain name for template commit on device remove
|
||||||
|
domain=$(xenstore_read_default "$XENBUS_PATH/domain" '')
|
||||||
|
if [ -z "$domain" ]; then
|
||||||
|
domid=$(xenstore_read "$XENBUS_PATH/frontend-id")
|
||||||
|
domain=$(xl domname $domid)
|
||||||
|
fi
|
||||||
|
echo $domain > "$HOTPLUG_STORE-domain"
|
||||||
|
|
||||||
|
release_lock "block"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
prepare)
|
||||||
|
t=$2
|
||||||
|
case $t in
|
||||||
|
snapshot|origin)
|
||||||
|
p=$3
|
||||||
|
base=${p/:*/}
|
||||||
|
cow=${p/*:/}
|
||||||
|
|
||||||
|
if [ -L "$base" ]; then
|
||||||
|
base=$(readlink -f "$base") || fatal "$base link does not exist."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -L "$cow" ]; then
|
||||||
|
cow=$(readlink -f "$cow") || fatal "$cow link does not exist."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# first ensure that snapshot device exists (to write somewhere changes from snapshot-origin)
|
||||||
|
dm_devname=$(get_dm_snapshot_name "$base" "$cow")
|
||||||
|
|
||||||
|
claim_lock "block"
|
||||||
|
|
||||||
|
# prepare snapshot device
|
||||||
|
create_dm_snapshot $dm_devname "$base" "$cow"
|
||||||
|
|
||||||
|
if [ "$t" == "snapshot" ]; then
|
||||||
|
#that's all for snapshot, store name of prepared device
|
||||||
|
echo "/dev/mapper/$dm_devname"
|
||||||
|
elif [ "$t" == "origin" ]; then
|
||||||
|
# for origin - prepare snapshot-origin device and store its name
|
||||||
|
dm_devname=origin-$(stat -c '%D:%i' "$base")
|
||||||
|
create_dm_snapshot_origin $dm_devname "$base"
|
||||||
|
echo "/dev/mapper/$dm_devname"
|
||||||
|
fi
|
||||||
|
|
||||||
release_lock "block"
|
release_lock "block"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
remove)
|
remove|cleanup)
|
||||||
|
if [ "$command" = "cleanup" ]; then
|
||||||
|
t=$2
|
||||||
|
else
|
||||||
|
t=$(cat $HOTPLUG_STORE-type)
|
||||||
|
fi
|
||||||
case $t in
|
case $t in
|
||||||
snapshot|origin)
|
snapshot|origin)
|
||||||
node=$(xenstore_read "$XENBUS_PATH/node")
|
if [ "$command" = "cleanup" ]; then
|
||||||
|
node=$3
|
||||||
|
else
|
||||||
|
node=$(cat "$HOTPLUG_STORE-node")
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -z "$node" ]; then
|
if [ -z "$node" ]; then
|
||||||
fatal "No device node to remove"
|
fatal "No device node to remove"
|
||||||
@ -174,14 +239,16 @@ case "$command" in
|
|||||||
dmsetup remove $snap
|
dmsetup remove $snap
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
# Commit template changes
|
if [ "$command" = "remove" ]; then
|
||||||
domain=$(xenstore_read "$XENBUS_PATH/domain")
|
# Commit template changes
|
||||||
if [ "$domain" ]; then
|
domain=$(cat "$HOTPLUG_STORE-domain")
|
||||||
# Dont stop on errors
|
if [ "$domain" ]; then
|
||||||
/usr/bin/qvm-template-commit "$domain" || true
|
# Dont stop on errors
|
||||||
|
/usr/bin/qvm-template-commit "$domain" || true
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -e $node ]; then
|
if [ -e $node ]; then
|
||||||
log debug "Removing $node"
|
log debug "Removing $node"
|
||||||
dmsetup remove $node
|
dmsetup remove $node
|
||||||
|
51
common/qubes_download_dom0_updates.sh
Executable file
51
common/qubes_download_dom0_updates.sh
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DOM0_UPDATES_DIR=/var/lib/qubes/dom0-updates
|
||||||
|
|
||||||
|
DOIT=0
|
||||||
|
GUI=1
|
||||||
|
while [ -n "$1" ]; do
|
||||||
|
if [ "x--doit" = "x$1" ]; then
|
||||||
|
DOIT=1
|
||||||
|
elif [ "x--nogui" = "x$1" ]; then
|
||||||
|
GUI=0
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if ! [ -d "$DOM0_UPDATES_DIR" ]; then
|
||||||
|
echo "Dom0 updates dir does not exists: $DOM0_UPDATES_DIR"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $DOM0_UPDATES_DIR/etc
|
||||||
|
cp /etc/yum.conf $DOM0_UPDATES_DIR/etc/
|
||||||
|
|
||||||
|
echo "Checking for updates..."
|
||||||
|
PKGLIST=`yum --installroot $DOM0_UPDATES_DIR check-update -q | cut -f 1 -d ' '`
|
||||||
|
|
||||||
|
if [ -z $PKGLIST ]; then
|
||||||
|
# No new updates
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$DOIT" != "1" ]; then
|
||||||
|
zenity --question --title="Qubes Dom0 updates" \
|
||||||
|
--text="Updates for dom0 available. Do you want to download its now?" || exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "$DOM0_UPDATES_DIR/packages"
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ "$GUI" = 1 ]; then
|
||||||
|
( echo "1"
|
||||||
|
yumdownloader --destdir "$DOM0_UPDATES_DIR/packages" --installroot "$DOM0_UPDATES_DIR" $PKGLIST
|
||||||
|
echo 100 ) | zenity --progress --pulsate --auto-close --auto-kill \
|
||||||
|
--text="Downloading updates for Dom0, please wait..." --title="Qubes Dom0 updates"
|
||||||
|
else
|
||||||
|
yumdownloader --destdir "$DOM0_UPDATES_DIR/packages" --installroot "$DOM0_UPDATES_DIR" $PKGLIST
|
||||||
|
fi
|
||||||
|
|
||||||
|
# qvm-copy-to-vm works only from user
|
||||||
|
su -c "qvm-copy-to-vm @dom0updates $DOM0_UPDATES_DIR/packages/*.rpm" user
|
2
common/qubes_network.rules
Normal file
2
common/qubes_network.rules
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
SUBSYSTEMS=="xen", KERNEL=="eth*", ACTION=="add", RUN+="/usr/lib/qubes/setup_ip"
|
1
common/qubes_trigger_sync_appmenus.action
Normal file
1
common/qubes_trigger_sync_appmenus.action
Normal file
@ -0,0 +1 @@
|
|||||||
|
*:any:/usr/lib/qubes/qubes_trigger_sync_appmenus.sh
|
7
common/qubes_trigger_sync_appmenus.sh
Executable file
7
common/qubes_trigger_sync_appmenus.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
UPDATEABLE=`/usr/bin/xenstore-read qubes_vm_updateable`
|
||||||
|
|
||||||
|
if [ "$UPDATEABLE" = "True" ]; then
|
||||||
|
echo -n SYNC > /var/run/qubes/qrexec_agent
|
||||||
|
fi
|
13
common/setup_ip
Executable file
13
common/setup_ip
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
ip=`/usr/bin/xenstore-read qubes_ip`
|
||||||
|
netmask=`/usr/bin/xenstore-read qubes_netmask`
|
||||||
|
gateway=`/usr/bin/xenstore-read qubes_gateway`
|
||||||
|
secondary_dns=`/usr/bin/xenstore-read qubes_secondary_dns`
|
||||||
|
if [ x$ip != x ]; then
|
||||||
|
/sbin/ifconfig $INTERFACE $ip netmask 255.255.255.255
|
||||||
|
/sbin/ifconfig $INTERFACE up
|
||||||
|
/sbin/route add default dev $INTERFACE
|
||||||
|
echo "nameserver $gateway" > /etc/resolv.conf
|
||||||
|
echo "nameserver $secondary_dns" >> /etc/resolv.conf
|
||||||
|
fi
|
@ -1,3 +1,4 @@
|
|||||||
|
#define _GNU_SOURCE /* For O_NOFOLLOW. */
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <ioall.h>
|
#include <ioall.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
@ -1,42 +0,0 @@
|
|||||||
<!DOCTYPE busconfig PUBLIC
|
|
||||||
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
|
|
||||||
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
|
|
||||||
<busconfig>
|
|
||||||
<!--
|
|
||||||
WARNING: if running any D-Bus version prior to 1.2.6, you may be
|
|
||||||
vulnerable to information leakage via the NM D-Bus interface.
|
|
||||||
Previous D-Bus versions did not deny-by-default, and this permissions
|
|
||||||
config file assumes that D-Bus will deny rules by default unless
|
|
||||||
explicitly over-ridden with an <allow /> tag.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<policy user="root">
|
|
||||||
<allow own="org.freedesktop.NetworkManagerUserSettings"/>
|
|
||||||
|
|
||||||
<allow send_destination="org.freedesktop.NetworkManagerUserSettings"
|
|
||||||
send_interface="org.freedesktop.NetworkManagerSettings"/>
|
|
||||||
|
|
||||||
<allow send_destination="org.freedesktop.NetworkManagerUserSettings"
|
|
||||||
send_interface="org.freedesktop.NetworkManagerSettings.Connection"/>
|
|
||||||
|
|
||||||
<!-- Only root can get secrets -->
|
|
||||||
<allow send_destination="org.freedesktop.NetworkManagerUserSettings"
|
|
||||||
send_interface="org.freedesktop.NetworkManagerSettings.Connection.Secrets"/>
|
|
||||||
</policy>
|
|
||||||
<policy user="user">
|
|
||||||
<allow own="org.freedesktop.NetworkManagerUserSettings"/>
|
|
||||||
|
|
||||||
<allow send_destination="org.freedesktop.NetworkManagerUserSettings"
|
|
||||||
send_interface="org.freedesktop.NetworkManagerSettings"/>
|
|
||||||
|
|
||||||
<allow send_destination="org.freedesktop.NetworkManagerUserSettings"
|
|
||||||
send_interface="org.freedesktop.NetworkManagerSettings.Connection"/>
|
|
||||||
</policy>
|
|
||||||
<policy context="default">
|
|
||||||
<allow send_destination="org.freedesktop.NetworkManagerUserSettings"
|
|
||||||
send_interface="org.freedesktop.DBus.Introspectable"/>
|
|
||||||
</policy>
|
|
||||||
|
|
||||||
<limit name="max_replies_per_connection">512</limit>
|
|
||||||
</busconfig>
|
|
||||||
|
|
@ -19,6 +19,9 @@ while true; do
|
|||||||
IPTABLES_SAVE=$(/sbin/iptables-save | sed '/^\*filter/,/^COMMIT/d')
|
IPTABLES_SAVE=$(/sbin/iptables-save | sed '/^\*filter/,/^COMMIT/d')
|
||||||
OUT=`echo -e "$RULES\n$IPTABLES_SAVE" | /sbin/iptables-restore 2>&1 || :`
|
OUT=`echo -e "$RULES\n$IPTABLES_SAVE" | /sbin/iptables-restore 2>&1 || :`
|
||||||
/usr/bin/xenstore-write $XENSTORE_ERROR "$OUT"
|
/usr/bin/xenstore-write $XENSTORE_ERROR "$OUT"
|
||||||
|
if [ "$OUT" ]; then
|
||||||
|
DISPLAY=:0 /usr/bin/notify-send -t 3000 "Firewall loading error ($HOSTNAME)" "$OUT" || :
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ -z "$OUT" ]]; then
|
if [[ -z "$OUT" ]]; then
|
||||||
# If OK save it for later
|
# If OK save it for later
|
||||||
@ -29,5 +32,5 @@ while true; do
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Wait for changes in xenstore file
|
# Wait for changes in xenstore file
|
||||||
/usr/bin/xenstore-watch $XENSTORE_IPTABLES
|
/usr/bin/xenstore-watch-qubes $XENSTORE_IPTABLES
|
||||||
done
|
done
|
||||||
|
@ -24,8 +24,8 @@ while true; do
|
|||||||
/usr/bin/xenstore-write qubes_netvm_external_ip "$CURR_NETCFG"
|
/usr/bin/xenstore-write qubes_netvm_external_ip "$CURR_NETCFG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
/usr/bin/xenstore-watch /local/domain/$NET_DOMID/qubes_netvm_external_ip
|
/usr/bin/xenstore-watch-qubes /local/domain/$NET_DOMID/qubes_netvm_external_ip
|
||||||
else
|
else
|
||||||
/usr/bin/xenstore-watch qubes_netvm_domid
|
/usr/bin/xenstore-watch-qubes qubes_netvm_domid
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
@ -33,6 +33,7 @@ License: GPL
|
|||||||
URL: http://www.qubes-os.org
|
URL: http://www.qubes-os.org
|
||||||
Requires: /usr/bin/xenstore-read
|
Requires: /usr/bin/xenstore-read
|
||||||
Requires: fedora-release
|
Requires: fedora-release
|
||||||
|
Requires: yum-plugin-post-transaction-actions
|
||||||
BuildRequires: xen-devel
|
BuildRequires: xen-devel
|
||||||
|
|
||||||
%define _builddir %(pwd)/common
|
%define _builddir %(pwd)/common
|
||||||
@ -71,24 +72,76 @@ install -m 644 RPM-GPG-KEY-qubes* $RPM_BUILD_ROOT/etc/pki/rpm-gpg/
|
|||||||
mkdir -p $RPM_BUILD_ROOT/sbin
|
mkdir -p $RPM_BUILD_ROOT/sbin
|
||||||
cp qubes_serial_login $RPM_BUILD_ROOT/sbin
|
cp qubes_serial_login $RPM_BUILD_ROOT/sbin
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/bin
|
mkdir -p $RPM_BUILD_ROOT/usr/bin
|
||||||
cp xenstore-watch $RPM_BUILD_ROOT/usr/bin
|
cp xenstore-watch $RPM_BUILD_ROOT/usr/bin/xenstore-watch-qubes
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc
|
mkdir -p $RPM_BUILD_ROOT/etc
|
||||||
cp serial.conf $RPM_BUILD_ROOT/var/lib/qubes/
|
cp serial.conf $RPM_BUILD_ROOT/var/lib/qubes/
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/etc/udev/rules.d
|
||||||
|
cp qubes_network.rules $RPM_BUILD_ROOT/etc/udev/rules.d/
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/usr/lib/qubes/
|
||||||
|
cp setup_ip $RPM_BUILD_ROOT/usr/lib/qubes/
|
||||||
|
cp qubes_download_dom0_updates.sh $RPM_BUILD_ROOT/usr/lib/qubes/
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/etc/yum/post-actions
|
||||||
|
cp qubes_trigger_sync_appmenus.action $RPM_BUILD_ROOT/etc/yum/post-actions/
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/usr/lib/qubes
|
||||||
|
cp qubes_trigger_sync_appmenus.sh $RPM_BUILD_ROOT/usr/lib/qubes/
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/var/lib/qubes/dom0-updates
|
||||||
|
|
||||||
%triggerin -- initscripts
|
%triggerin -- initscripts
|
||||||
cp /var/lib/qubes/serial.conf /etc/init/serial.conf
|
cp /var/lib/qubes/serial.conf /etc/init/serial.conf
|
||||||
|
|
||||||
%post
|
%post
|
||||||
|
|
||||||
# Disable gpk-update-icon
|
# disable some Upstart services
|
||||||
sed 's/^NotShowIn=KDE;$/\0QUBES;/' -i /etc/xdg/autostart/gpk-update-icon.desktop
|
for F in plymouth-shutdown prefdm splash-manager start-ttys tty ; do
|
||||||
|
if [ -e /etc/init/$F.conf ]; then
|
||||||
|
mv -f /etc/init/$F.conf /etc/init/$F.conf.disabled
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
remove_ShowIn () {
|
||||||
|
if [ -e /etc/xdg/autostart/$1.desktop ]; then
|
||||||
|
sed -i '/^\(Not\|Only\)ShowIn/d' /etc/xdg/autostart/$1.desktop
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# don't want it at all
|
||||||
|
for F in abrt-applet deja-dup-monitor imsettings-start krb5-auth-dialog pulseaudio restorecond sealertauto ; do
|
||||||
|
if [ -e /etc/xdg/autostart/$F.desktop ]; then
|
||||||
|
remove_ShowIn $F
|
||||||
|
echo 'NotShowIn=QUBES' >> /etc/xdg/autostart/$F.desktop
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# don't want it in DisposableVM
|
||||||
|
for F in gcm-apply ; do
|
||||||
|
if [ -e /etc/xdg/autostart/$F.desktop ]; then
|
||||||
|
remove_ShowIn $F
|
||||||
|
echo 'NotShowIn=DisposableVM' >> /etc/xdg/autostart/$F.desktop
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# want it in AppVM only
|
||||||
|
for F in gnome-keyring-gpg gnome-keyring-pkcs11 gnome-keyring-secrets gnome-keyring-ssh gnome-settings-daemon user-dirs-update-gtk gsettings-data-convert ; do
|
||||||
|
if [ -e /etc/xdg/autostart/$F.desktop ]; then
|
||||||
|
remove_ShowIn $F
|
||||||
|
echo 'OnlyShowIn=GNOME;AppVM;' >> /etc/xdg/autostart/$F.desktop
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# remove existing rule to add own later
|
||||||
|
for F in gpk-update-icon nm-applet ; do
|
||||||
|
remove_ShowIn $F
|
||||||
|
done
|
||||||
|
|
||||||
|
echo 'OnlyShowIn=GNOME;UpdateableVM;' >> /etc/xdg/autostart/gpk-update-icon.desktop || :
|
||||||
|
echo 'OnlyShowIn=GNOME;NetVM;' >> /etc/xdg/autostart/nm-applet.desktop || :
|
||||||
|
|
||||||
|
usermod -p '' root
|
||||||
if [ "$1" != 1 ] ; then
|
if [ "$1" != 1 ] ; then
|
||||||
# do this whole %post thing only when updating for the first time...
|
# do this whole %post thing only when updating for the first time...
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
usermod -L root
|
|
||||||
if ! [ -f /var/lib/qubes/serial.orig ] ; then
|
if ! [ -f /var/lib/qubes/serial.orig ] ; then
|
||||||
cp /etc/init/serial.conf /var/lib/qubes/serial.orig
|
cp /etc/init/serial.conf /var/lib/qubes/serial.orig
|
||||||
fi
|
fi
|
||||||
@ -177,4 +230,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
/etc/yum.repos.d/qubes%{dist}.repo
|
/etc/yum.repos.d/qubes%{dist}.repo
|
||||||
/etc/pki/rpm-gpg/RPM-GPG-KEY-qubes*
|
/etc/pki/rpm-gpg/RPM-GPG-KEY-qubes*
|
||||||
/sbin/qubes_serial_login
|
/sbin/qubes_serial_login
|
||||||
/usr/bin/xenstore-watch
|
/usr/bin/xenstore-watch-qubes
|
||||||
|
/etc/udev/rules.d/qubes_network.rules
|
||||||
|
/usr/lib/qubes/setup_ip
|
||||||
|
/etc/yum/post-actions/qubes_trigger_sync_appmenus.action
|
||||||
|
/usr/lib/qubes/qubes_trigger_sync_appmenus.sh
|
||||||
|
/usr/lib/qubes/qubes_download_dom0_updates.sh
|
||||||
|
@ -66,9 +66,6 @@ mkdir -p $RPM_BUILD_ROOT/var/run/qubes
|
|||||||
mkdir -p $RPM_BUILD_ROOT/etc/xen/scripts
|
mkdir -p $RPM_BUILD_ROOT/etc/xen/scripts
|
||||||
cp ../common/vif-route-qubes $RPM_BUILD_ROOT/etc/xen/scripts
|
cp ../common/vif-route-qubes $RPM_BUILD_ROOT/etc/xen/scripts
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc/dbus-1/system.d
|
|
||||||
cp ../netvm/dbus-nm-applet.conf $RPM_BUILD_ROOT/etc/dbus-1/system.d/qubes-nm-applet.conf
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
|
|
||||||
# Create NetworkManager configuration if we do not have it
|
# Create NetworkManager configuration if we do not have it
|
||||||
@ -91,11 +88,6 @@ if [ "$1" = 0 ] ; then
|
|||||||
chkconfig qubes_core_netvm off
|
chkconfig qubes_core_netvm off
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%triggerin -- NetworkManager
|
|
||||||
# Fix PolicyKit settings to allow run as normal user not visible to ConsoleKit
|
|
||||||
sed 's#<defaults>$#\0<allow_any>yes</allow_any>#' -i /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy
|
|
||||||
|
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
@ -108,4 +100,3 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
/etc/NetworkManager/dispatcher.d/qubes_nmhook
|
/etc/NetworkManager/dispatcher.d/qubes_nmhook
|
||||||
/etc/NetworkManager/dispatcher.d/30-qubes_external_ip
|
/etc/NetworkManager/dispatcher.d/30-qubes_external_ip
|
||||||
/etc/xen/scripts/vif-route-qubes
|
/etc/xen/scripts/vif-route-qubes
|
||||||
/etc/dbus-1/system.d/qubes-nm-applet.conf
|
|
||||||
|
@ -1 +1 @@
|
|||||||
1.5.28
|
1.6.1
|
||||||
|
Loading…
Reference in New Issue
Block a user