qubes-installer-qubes-os/live/qubes-live.spec
2018-05-14 12:38:22 +02:00

88 lines
3.3 KiB
RPMSpec

%if 0%{?qubes_builder}
%define _builddir %(pwd)/live
%endif
Name: qubes-live
Version: 1.0
Release: 1%{?dist}
Summary: Various fixes for Qubes Live edition
Source0: %{name}-%{version}.tar.gz
Group: System
License: GPL
URL: https://qubes-os.org
# ensure that the whole %%post is run when xen and kernel are already installed
Requires(post): xen-hypervisor
Requires(post): kernel
%description
Various fixes for Qubes Live edition
%prep
%build
%install
install -d -m 0755 $RPM_BUILD_ROOT/etc/rc.d/init.d/
install -m 0755 -t $RPM_BUILD_ROOT/etc/rc.d/init.d/ \
livesys \
livesys-late
install -D -m 0644 lightdm-qubes-live.conf \
$RPM_BUILD_ROOT/etc/lightdm/lightdm.conf.d/50-qubes-live.conf
install -D -m 0644 default-appmenus-fedora \
$RPM_BUILD_ROOT/usr/share/qubes/live-default-appmenus-fedora
install -D -m 0644 default-appmenus-debian \
$RPM_BUILD_ROOT/usr/share/qubes/live-default-appmenus-debian
%post
/sbin/restorecon /etc/rc.d/init.d/livesys
/sbin/chkconfig --add livesys
/sbin/restorecon /etc/rc.d/init.d/livesys-late
/sbin/chkconfig --add livesys-late
# livecd-tools expects strange xen.gz name
xen=$(ls -1 /boot/xen-*gz | tail -n 1)
for kernel in /boot/vmlinuz-*; do
# see __copy_kernel_and_initramfs function in imgcreate/live.py
version=$(echo ${kernel} | cut -f 2- -d -)
short_version=$(echo -n ${version} | head -c -3)
ln -s $(basename ${xen}) /boot/xen.gz-${short_version}
done
# EFI: prepare small version of initrd to fit in 32MB ISO9660 limit
xen=$(ls -1 /boot/efi/EFI/qubes/xen-*.efi | tail -n 1)
if [ -n "$xen" ]; then
kernel=$(ls -1 /boot/vmlinuz-*|sort -n|tail -n 1)
cp "${kernel}" /boot/efi/EFI/qubes/vmlinuz
version=$(echo ${kernel} | cut -f 2- -d -)
# copy from lorax-templates-qubes/templates/efi.tmpl:
scsi_modules="3w-9xxx 3w-sas 3w-xxxx BusLogic a100u2w aacraid advansys aic79xx aic7xxx am53c974 arcmsr atp870u bfa bnx2fc csiostor dc395x dmx3191d esas2r esp_scsi fcoe fnic gdth hpsa hptiop hv_storvsc initio ipr ips isci iscsi_boot_sysfs libfc libfcoe libiscsi libosd libsas lpfc megaraid megaraid_mbox megaraid_mm megaraid_sas mpt2sas mpt3sas mvsas mvumi osd pm80xx pmcraid qla1280 qla2xxx qla4xxx raid_class scsi_debug scsi_dh_emc scsi_dh_rdac scsi_transport_fc scsi_transport_iscsi scsi_transport_sas scsi_transport_spi scsi_transport_srp stex sym53c8xx ufshcd virtio_scsi vmw_pvscsi wd719x"
extra_modules="affs befs coda cuse dlm gfs2 mptfc ncpfs nilfs2 ocfs2 ocfs2_dlm ocfs2_dlmfs ocfs2_nodemanager ocfs2_stack_o2cb ocfs2_stack_user ocfs2_stackglue sctp sysv ubifs ufs"
mv /etc/dracut.conf.d/plymouth-missing-fonts.conf /tmp/plymouth-missing-fonts.conf.bak
dracut --nomdadmconf --nolvmconf --xz \
--omit "network multipath modsign systemd crypt shutdown" \
--omit "fcoe fcoe-uefi nfs iscsi ifcfg" \
--omit-drivers="${scsi_modules}" \
--omit-drivers="${extra_modules}" \
/boot/efi/EFI/qubes/initrd-small.img ${version}
mv /tmp/plymouth-missing-fonts.conf.bak /etc/dracut.conf.d/plymouth-missing-fonts.conf
fi
%files
/etc/rc.d/init.d/livesys
/etc/rc.d/init.d/livesys-late
/etc/lightdm/lightdm.conf.d/50-qubes-live.conf
/usr/share/qubes/live-default-appmenus-fedora
/usr/share/qubes/live-default-appmenus-debian
%changelog