diff --git a/common/qubes_fix_nm_conf.sh b/common/qubes_fix_nm_conf.sh new file mode 100755 index 0000000..5a6bb30 --- /dev/null +++ b/common/qubes_fix_nm_conf.sh @@ -0,0 +1,14 @@ +#!/bin/sh +FILE=/etc/NetworkManager/NetworkManager.conf +VIFMAC=mac:fe:ff:ff:ff:ff:ff +if ! grep -q ^plugins.*keyfile $FILE ; then + sed -i 's/^plugins.*$/&,keyfile/' $FILE + echo '[keyfile]' >> $FILE +fi +if ! grep -q ^unmanaged-devices $FILE ; then + sed -i 's/^\[keyfile\]$/\[keyfile\]\x0aunmanaged-devices='$VIFMAC/ $FILE +fi +if ! grep -q ^unmanaged-devices.*$VIFMAC $FILE ; then + sed -i 's/^unmanaged-devices.*$/&,'$VIFMAC/ $FILE +fi +exit 0 diff --git a/rpm_spec/core-netvm.spec b/rpm_spec/core-netvm.spec index 1717b6b..83d88c2 100644 --- a/rpm_spec/core-netvm.spec +++ b/rpm_spec/core-netvm.spec @@ -33,6 +33,7 @@ License: GPL URL: http://www.qubes-os.org Requires: /usr/bin/xenstore-read Requires: fedora-release = 13 +Requires: NetworkManager >= 0.8.1-1 Provides: qubes-core-vm %define _builddir %(pwd)/netvm @@ -61,6 +62,7 @@ cp qubes_core $RPM_BUILD_ROOT/etc/init.d/ mkdir -p $RPM_BUILD_ROOT/var/lib/qubes mkdir -p $RPM_BUILD_ROOT/usr/lib/qubes cp ../common/qubes_setup_dnat_to_ns $RPM_BUILD_ROOT/usr/lib/qubes +cp ../common/qubes_fix_nm_conf.sh $RPM_BUILD_ROOT/usr/lib/qubes mkdir -p $RPM_BUILD_ROOT/etc/dhclient.d ln -s /usr/lib/qubes/qubes_setup_dnat_to_ns $RPM_BUILD_ROOT/etc/dhclient.d/qubes_setup_dnat_to_ns.sh mkdir -p $RPM_BUILD_ROOT/etc/NetworkManager/dispatcher.d/ @@ -80,9 +82,7 @@ cp /var/lib/qubes/serial.conf /etc/init/serial.conf %post -if ! grep -q ^no-auto-default.*=.*FE:FF:FF:FF:FF:FF /etc/NetworkManager/nm-system-settings.conf ; then - echo no-auto-default=FE:FF:FF:FF:FF:FF >> /etc/NetworkManager/nm-system-settings.conf -fi +/usr/lib/qubes/qubes_fix_nm_conf.sh if [ "$1" != 1 ] ; then # do this whole %post thing only when updating for the first time... @@ -176,6 +176,7 @@ rm -rf $RPM_BUILD_ROOT /etc/init.d/qubes_core /var/lib/qubes /usr/lib/qubes/qubes_setup_dnat_to_ns +/usr/lib/qubes/qubes_fix_nm_conf.sh /etc/dhclient.d/qubes_setup_dnat_to_ns.sh /etc/NetworkManager/dispatcher.d/qubes_nmhook /etc/yum.repos.d/qubes.repo