Minimize data contained in the template package
1. Remove appmenus - regenerate them at installation time (start the template for that) 2. Remove volatile.img - regenerate it at installation time This way, the only real data carried in template rpm is root.img.
This commit is contained in:
parent
0716de226c
commit
c9809c7d6e
@ -1,19 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
SRC=$1
|
|
||||||
DSTDIR=$2
|
|
||||||
DST=$DSTDIR/$(basename $SRC)
|
|
||||||
|
|
||||||
if ! grep -q ^Name $SRC ; then
|
|
||||||
echo "WARNING: app $SRC doesn't have Name keyword, skipping..."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
sed -n -e "/^\[Desktop Entry\]$/p" \
|
|
||||||
-e "s/^\(Name.*\)=\(.*\)/\1=%VMNAME%: \2/p" \
|
|
||||||
-e "s/^\(GenericName.*\)=\(.*\)/\1=%VMNAME%: \2/p" \
|
|
||||||
-e "s/^Exec=\(.*\)/Exec=qvm-run -q --tray -a %VMNAME% \'\1\'/p" \
|
|
||||||
-e "/^Comment.*=/p" \
|
|
||||||
-e "/Categories=/p" <$SRC >$DST
|
|
||||||
|
|
||||||
echo X-Qubes-VmName=%VMNAME% >> $DST
|
|
||||||
echo Icon=%VMDIR%/icon.png >> $DST
|
|
@ -1,12 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
APPSORIG=$1
|
|
||||||
APPSTMPL=$2
|
|
||||||
|
|
||||||
if [ $# != 2 ]; then
|
|
||||||
echo "usage $0 <apps_orig_dir> <apps_templ_dir>"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -f $APPSTMPL/*
|
|
||||||
mkdir -p $APPSTMPL
|
|
||||||
find $APPSORIG/ -name "*.desktop" -exec ./convert_app2template.sh {} $APPSTMPL \;
|
|
@ -75,15 +75,6 @@ export INSTALLDIR=mnt
|
|||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Create App Menus
|
# Create App Menus
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
echo "--> Copying the Apps Menu shortcuts..."
|
|
||||||
export APPSORIG="qubeized_images/$NAME-apps.orig"
|
|
||||||
export APPSTEMPL="qubeized_images/$NAME-apps.templates"
|
|
||||||
mkdir -p "$APPSORIG"
|
|
||||||
cp -r "$(pwd)"/mnt/usr/share/applications/* "$APPSORIG"
|
|
||||||
|
|
||||||
echo "--> Creating the Apps Menu templates..."
|
|
||||||
"./create_apps_templates.sh" "$APPSORIG" "$APPSTEMPL"
|
|
||||||
|
|
||||||
echo "--> Choosing appmenus whitelists..."
|
echo "--> Choosing appmenus whitelists..."
|
||||||
rm -f appmenus
|
rm -f appmenus
|
||||||
if [ -d "appmenus_${DIST}_${TEMPLATE_FLAVOR}" ]; then
|
if [ -d "appmenus_${DIST}_${TEMPLATE_FLAVOR}" ]; then
|
||||||
|
@ -46,13 +46,11 @@ for i in qubeized_images/root.img.part.* ; do ln $i $RPM_BUILD_ROOT/%{dest_dir}/
|
|||||||
touch $RPM_BUILD_ROOT/%{dest_dir}/root.img # we will create the real file in %post
|
touch $RPM_BUILD_ROOT/%{dest_dir}/root.img # we will create the real file in %post
|
||||||
touch $RPM_BUILD_ROOT/%{dest_dir}/private.img # we will create the real file in %post
|
touch $RPM_BUILD_ROOT/%{dest_dir}/private.img # we will create the real file in %post
|
||||||
touch $RPM_BUILD_ROOT/%{dest_dir}/volatile.img # we will create the real file in %post
|
touch $RPM_BUILD_ROOT/%{dest_dir}/volatile.img # we will create the real file in %post
|
||||||
|
touch $RPM_BUILD_ROOT/%{dest_dir}/clean-volatile.img.tar # we will create the real file in %post
|
||||||
cp clean-volatile.img.tar $RPM_BUILD_ROOT/%{dest_dir}/clean-volatile.img.tar
|
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{dest_dir}/apps.templates
|
mkdir -p $RPM_BUILD_ROOT/%{dest_dir}/apps.templates
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{dest_dir}/apps.tempicons
|
mkdir -p $RPM_BUILD_ROOT/%{dest_dir}/apps.tempicons
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{dest_dir}/apps
|
mkdir -p $RPM_BUILD_ROOT/%{dest_dir}/apps
|
||||||
cp -r qubeized_images/%{template_name}-apps.templates/* $RPM_BUILD_ROOT/%{dest_dir}/apps.templates
|
|
||||||
cp appmenus/whitelisted-appmenus.list appmenus/vm-whitelisted-appmenus.list $RPM_BUILD_ROOT/%{dest_dir}/
|
cp appmenus/whitelisted-appmenus.list appmenus/vm-whitelisted-appmenus.list $RPM_BUILD_ROOT/%{dest_dir}/
|
||||||
cp appmenus/netvm-whitelisted-appmenus.list $RPM_BUILD_ROOT/%{dest_dir}/
|
cp appmenus/netvm-whitelisted-appmenus.list $RPM_BUILD_ROOT/%{dest_dir}/
|
||||||
touch $RPM_BUILD_ROOT/%{dest_dir}/icon.png
|
touch $RPM_BUILD_ROOT/%{dest_dir}/icon.png
|
||||||
@ -76,9 +74,12 @@ chown root.qubes %{dest_dir}/root.img
|
|||||||
chmod 0660 %{dest_dir}/root.img
|
chmod 0660 %{dest_dir}/root.img
|
||||||
|
|
||||||
echo "--> Processing the volatile.img..."
|
echo "--> Processing the volatile.img..."
|
||||||
tar --sparse -xf %{dest_dir}/clean-volatile.img.tar -C %{dest_dir}
|
/usr/lib/qubes/prepare-volatile-img.sh
|
||||||
chown root.qubes %{dest_dir}/volatile.img
|
chown root.qubes %{dest_dir}/volatile.img
|
||||||
chmod 0660 %{dest_dir}/volatile.img
|
chmod 0660 %{dest_dir}/volatile.img
|
||||||
|
tar --sparse -cf %{dest_dir}/clean-volatile.img.tar -C %{dest_dir} volatile.img
|
||||||
|
chown root.qubes %{dest_dir}/clean-volatile.img.tar
|
||||||
|
chmod 0660 %{dest_dir}/clean-volatile.img.tar
|
||||||
|
|
||||||
if [ "$1" = 1 ] ; then
|
if [ "$1" = 1 ] ; then
|
||||||
# installing for the first time
|
# installing for the first time
|
||||||
@ -94,7 +95,6 @@ export XDG_DATA_DIRS=/usr/share/
|
|||||||
|
|
||||||
echo "--> Instaling menu shortcuts..."
|
echo "--> Instaling menu shortcuts..."
|
||||||
ln -sf /usr/share/qubes/icons/template.png %{dest_dir}/icon.png
|
ln -sf /usr/share/qubes/icons/template.png %{dest_dir}/icon.png
|
||||||
/usr/libexec/qubes-appmenus/create-apps-for-appvm.sh %{dest_dir}/apps.templates %{template_name} vm-templates
|
|
||||||
|
|
||||||
if [ "$1" = 1 ] ; then
|
if [ "$1" = 1 ] ; then
|
||||||
# installing for the first time
|
# installing for the first time
|
||||||
@ -106,6 +106,11 @@ if [ "`stat -c %d:%i /`" != "`stat -c %d:%i /proc/1/root/.`" ]; then
|
|||||||
qvm-template-commit --offline-mode %{template_name}
|
qvm-template-commit --offline-mode %{template_name}
|
||||||
else
|
else
|
||||||
qvm-template-commit %{template_name}
|
qvm-template-commit %{template_name}
|
||||||
|
qvm-start --no-guid %{template_name}
|
||||||
|
qvm-sync-appmenus --force-root %{template_name}
|
||||||
|
qvm-shutdown --wait %{template_name}
|
||||||
|
chgrp -R qubes %{dest_dir}
|
||||||
|
chmod g+rwX -R %{dest_dir}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
@ -147,7 +152,6 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%attr (775,root,qubes) %dir %{dest_dir}/apps
|
%attr (775,root,qubes) %dir %{dest_dir}/apps
|
||||||
%attr (775,root,qubes) %dir %{dest_dir}/apps.templates
|
%attr (775,root,qubes) %dir %{dest_dir}/apps.templates
|
||||||
%attr (775,root,qubes) %dir %{dest_dir}/apps.tempicons
|
%attr (775,root,qubes) %dir %{dest_dir}/apps.tempicons
|
||||||
%attr (664,root,qubes) %{dest_dir}/apps.templates/*
|
|
||||||
%attr (664,root,qubes) %{dest_dir}/whitelisted-appmenus.list
|
%attr (664,root,qubes) %{dest_dir}/whitelisted-appmenus.list
|
||||||
%attr (664,root,qubes) %{dest_dir}/vm-whitelisted-appmenus.list
|
%attr (664,root,qubes) %{dest_dir}/vm-whitelisted-appmenus.list
|
||||||
%attr (664,root,qubes) %{dest_dir}/netvm-whitelisted-appmenus.list
|
%attr (664,root,qubes) %{dest_dir}/netvm-whitelisted-appmenus.list
|
||||||
|
Loading…
Reference in New Issue
Block a user