qubes-installer-qubes-os/Makefile
Marek Marczykowski-Górecki 0e6649b6a5
Merge branch 'liveusb'
* liveusb: (31 commits)
  livecd-tools: gitignore
  livecd-tools: apply patches for verifying downloaded packages
  livecd-tools: plug it into qubes-builder scripts
  livecd-tools: import unmodified package from Fedora 20
  makefile: remove legacy targets
  liveusb: EFI support
  live: remove automatic swap discovery
  live: place private.img of default VMs back on dm-snapshot device
  live: remove redundant livecd-creator --verbose flag
  live: disable (currently broken) EFI
  liveusb: fix package name in build-deps
  liveusb: use more friendly output image name
  liveusb: overlayfs doesn't support sparse files, use tmpfs directly
  liveusb: include default appmenus based on default fedora-21 template
  liveusb: use offline-mode of qubes-set-updates
  liveusb: mount /var/lib/qubes using overlayfs on tmpfs, instead of dm-snapshot
  liveusb: reset list of PCI devices assigned to sys-net before assigning new ones
  conf/liveusb: disable updates check - senseless on non-persistent system
  liveusb: use qvm-pci --offline-mode
  conf/liveusb: create default dispvm template
  ...

QubesOS/qubes-ossues#1018
2015-09-29 16:10:30 +02:00

86 lines
2.5 KiB
Makefile

#
# The Qubes OS Project, http://www.qubes-os.org
#
# Copyright (C) 2011 Tomasz Sterna <tomek@xiaoka.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
#
ISO_INSTALLER ?= 1
ISO_LIVEUSB ?= 0
PUNGI_OPTS := --nosource --nodebuginfo --nogreedy --all-stages
ifdef QUBES_RELEASE
ISO_VERSION := $(QUBES_RELEASE)
PUNGI_OPTS += --isfinal
else
ISO_VERSION := $(shell date +%Y%m%d)
endif
PUNGI_OPTS += --ver="$(ISO_VERSION)"
help:
@echo "make iso <== \o/";\
echo; \
echo "make clean";\
echo; \
exit 0;
.PHONY: clean clean-repos iso iso-prepare iso-installer iso-liveusb
ifeq ($(ISO_INSTALLER),1)
iso: iso-installer
endif
ifeq ($(ISO_LIVEUSB),1)
iso: iso-liveusb
endif
iso-prepare:
ln -nsf `pwd` /tmp/qubes-installer
createrepo -q -g ../../conf/comps-qubes.xml --update yum/qubes-dom0
iso-installer: iso-prepare
mkdir -p work
pushd work && pungi --name=Qubes $(PUNGI_OPTS) -c $(PWD)/conf/qubes-kickstart.cfg && popd
# Move result files to known-named directories
mkdir -p build/ISO/qubes-x86_64/iso build/work
mv work/$(ISO_VERSION)/x86_64/iso/*-DVD.iso build/ISO/qubes-x86_64/iso/
rm -rf build/work/$(ISO_VERSION)
mv work/$(ISO_VERSION)/x86_64/os build/work/$(ISO_VERSION)
chown --reference=Makefile -R build yum
rm -rf work
iso-liveusb: conf/liveusb.ks iso-prepare
mkdir -p work
pushd work && ../livecd-creator-qubes --debug --product='Qubes OS' --title="Qubes OS $(ISO_VERSION)" --fslabel="Qubes-$(ISO_VERSION)-x86_64-LIVE" --config ../$< && popd
# Move result files to known-named directories
mkdir -p build/ISO/qubes-x86_64/iso build/work
mv work/*.iso build/ISO/qubes-x86_64/iso/
chown --reference=Makefile -R build yum
rm -rf work
clean-repos:
@echo "--> Removing old rpms from the installer repos..."
@(cd yum && ./clean_repos.sh)
clean:
sudo rm -fr build/*
get-sources:
$(MAKE) -C livecd-tools get-sources
verify-sources:
$(MAKE) -C livecd-tools verify-sources