use pungi to build installation ISO

release2
Marek Marczykowski 11 years ago
parent d38e8d90ec
commit 13fc2f86d9

@ -37,9 +37,9 @@ QBSLOGOS_VERSION := $(call spec_version,qubes-logos/qubes-logos.spec)
QBSRELEASE_VERSION := $(call spec_version,qubes-release/qubes-release.spec)
REVISOR_VERSION := $(call spec_version,revisor/revisor.spec)
REVISOR_OPTS := --install-dvd
PUNGI_OPTS := --nosource --nodebuginfo --nogreedy --all-stages
ifdef QUBES_RELEASE
REVISOR_OPTS += --product-version="$(QUBES_RELEASE)"
PUNGI_OPTS += --isfinal --ver="$(QUBES_RELEASE)"
endif
help:
@ -116,11 +116,9 @@ update-repo-unstable:
ln -f $(RPMS) ../yum/current-release/unstable/dom0/rpm/
iso:
cp rpm_verify /usr/local/bin/
ln -sf `pwd` /tmp/qubes-installer
revisor --cli --config=conf/qubes-install.conf --model=qubes-x86_64 $(REVISOR_OPTS) -d99
isohybrid build/ISO/qubes-x86_64/iso/*.iso
rpm_verify build/work/revisor-install/*/qubes-x86_64/x86_64/os/Packages/*.rpm
# TODO? cp rpm_verify /usr/local/bin/
pungi --name=Qubes $(PUNGI_OPTS) -c $(PWD)/conf/qubes-kickstart.cfg
# TODO rpm_verify build/work/revisor-install/*/qubes-x86_64/x86_64/os/Packages/*.rpm
clean-repos:
@echo "--> Removing old rpms from the installer repos..."

@ -1,12 +1,2 @@
revisor
revisor-cli
revisor-cobbler
revisor-comps
revisor-gui
revisor-isolinux
revisor-mock
revisor-reuseinstaller
revisor-unity
revisor-unity-scripts
anaconda
syslinux
pungi

@ -1,35 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE comps PUBLIC "-//Red Hat, Inc.//DTD Comps info//EN" "comps.dtd">
<comps>
<group>
<id>core</id>
<name>Core</name>
<default>false</default>
<uservisible>false</uservisible>
<packagelist>
<packagereq type="mandatory">audit</packagereq>
<packagereq type="mandatory">basesystem</packagereq>
<packagereq type="mandatory">bash</packagereq>
<packagereq type="mandatory">biosdevname</packagereq>
<packagereq type="mandatory">coreutils</packagereq>
<packagereq type="mandatory">cronie</packagereq>
<packagereq type="mandatory">curl</packagereq>
<packagereq type="mandatory">dhclient</packagereq>
<packagereq type="mandatory">e2fsprogs</packagereq>
<packagereq type="mandatory">filesystem</packagereq>
<packagereq type="mandatory">glibc</packagereq>
<packagereq type="mandatory">hostname</packagereq>
<packagereq type="mandatory">initscripts</packagereq>
<packagereq type="mandatory">iproute</packagereq>
<packagereq type="mandatory">iprutils</packagereq>
<packagereq type="mandatory">iputils</packagereq>
<packagereq type="mandatory">kbd</packagereq>
<packagereq type="mandatory">less</packagereq>
<packagereq type="mandatory">man-db</packagereq>
<packagereq type="mandatory">ncurses</packagereq>
<packagereq type="mandatory">parted</packagereq>
<packagereq type="mandatory">passwd</packagereq>
<packagereq type="mandatory">plymouth</packagereq>
<packagereq type="mandatory">procps-ng</packagereq>
<packagereq type="mandatory">rootfiles</packagereq>
<packagereq type="mandatory">rpm</packagereq>
<packagereq type="mandatory">rsyslog</packagereq>
<packagereq type="mandatory">selinux-policy-targeted</packagereq>
<packagereq type="mandatory">setup</packagereq>
<packagereq type="mandatory">shadow-utils</packagereq>
<packagereq type="mandatory">sudo</packagereq>
<packagereq type="mandatory">systemd</packagereq>
<packagereq type="mandatory">util-linux</packagereq>
<packagereq type="mandatory">vim-minimal</packagereq>
<packagereq type="mandatory">yum</packagereq>
<packagereq type="default">NetworkManager</packagereq>
<packagereq type="default">sendmail</packagereq>
</packagelist>
</group>
<group>
<id>base</id>
<name>Base</name>
<default>true</default>
<uservisible>false</uservisible>
<packagelist>
<packagereq type="mandatory">at</packagereq>
<packagereq type="mandatory">authconfig</packagereq>
<packagereq type="mandatory">bzip2</packagereq>
<packagereq type="mandatory">cronie</packagereq>
<packagereq type="mandatory">cryptsetup-luks</packagereq>
<packagereq type="mandatory">dbus</packagereq>
<packagereq type="mandatory">device-mapper-multipath</packagereq>
<packagereq type="mandatory">diffutils</packagereq>
<packagereq type="mandatory">dmraid</packagereq>
<packagereq type="mandatory">dump</packagereq>
<packagereq type="mandatory">ed</packagereq>
<packagereq type="mandatory">eject</packagereq>
<packagereq type="mandatory">util-linux</packagereq>
<packagereq type="mandatory">gnupg2</packagereq>
<packagereq type="mandatory">irqbalance</packagereq>
<packagereq type="mandatory">linux-firmware</packagereq>
<packagereq type="mandatory">logrotate</packagereq>
<packagereq type="mandatory">lsof</packagereq>
<packagereq type="mandatory">man</packagereq>
<packagereq type="mandatory">man-db</packagereq>
<packagereq type="mandatory">man-pages</packagereq>
<packagereq type="mandatory">mcelog</packagereq>
<packagereq type="mandatory">mdadm</packagereq>
<packagereq type="mandatory">microcode_ctl</packagereq>
<packagereq type="mandatory">mlocate</packagereq>
<packagereq type="mandatory">nano</packagereq>
<packagereq type="mandatory">ntp</packagereq>
<packagereq type="mandatory">ntsysv</packagereq>
<packagereq type="mandatory">numactl</packagereq>
<packagereq type="mandatory">parted</packagereq>
@ -41,11 +87,12 @@
<packagereq type="mandatory">prelink</packagereq>
<packagereq type="mandatory">qubes-release-notes</packagereq>
<packagereq type="mandatory">quota</packagereq>
<packagereq type="mandatory">readahead</packagereq>
<packagereq type="mandatory">systemd</packagereq>
<packagereq type="mandatory">rsyslog</packagereq>
<packagereq type="mandatory">smartmontools</packagereq>
<packagereq type="mandatory">sudo</packagereq>
<packagereq type="mandatory">symlinks</packagereq>
<packagereq type="mandatory">tar</packagereq>
<packagereq type="mandatory">time</packagereq>
<packagereq type="mandatory">tmpwatch</packagereq>
<packagereq type="mandatory">tree</packagereq>
@ -58,10 +105,54 @@
<packagereq type="mandatory">zip</packagereq>
</packagelist>
</group>
<group>
<id>anaconda-tools</id>
<name>Anaconda tools</name>
<name xml:lang="de">Anaconda-Werkzeuge</name>
<name xml:lang="hu">Anaconda eszközök</name>
<name xml:lang="ja">Anaconda ツール</name>
<name xml:lang="nb">Anaconda-verktøy</name>
<name xml:lang="nl">Anaconda gereedschappen</name>
<name xml:lang="pl">Narzędzia dla instalatora Anaconda</name>
<name xml:lang="uk">Засоби Anaconda</name>
<name xml:lang="zh_TW">Anaconda 工具</name>
<description/>
<default>false</default>
<uservisible>false</uservisible>
<packagelist>
<packagereq>authconfig</packagereq>
<packagereq>btrfs-progs</packagereq>
<packagereq>chkconfig</packagereq>
<packagereq>cryptsetup</packagereq>
<packagereq>device-mapper-multipath</packagereq>
<packagereq>dmraid</packagereq>
<packagereq>dosfstools</packagereq>
<packagereq>dracut-network</packagereq>
<packagereq>e2fsprogs</packagereq>
<packagereq>efibootmgr</packagereq>
<packagereq>firewalld</packagereq>
<packagereq>gfs2-utils</packagereq>
<packagereq>grub2</packagereq>
<packagereq>grub2-efi</packagereq>
<packagereq>hfsplus-tools</packagereq>
<packagereq>iscsi-initiator-utils</packagereq>
<packagereq>lvm2</packagereq>
<packagereq>mactel-boot</packagereq>
<packagereq>mdadm</packagereq>
<packagereq>ntfsprogs</packagereq>
<packagereq>reiserfs-utils</packagereq>
<packagereq>shim</packagereq>
<packagereq>system-config-firewall-base</packagereq>
<packagereq>tboot</packagereq>
<packagereq>uboot-tools</packagereq>
<packagereq>xfsprogs</packagereq>
</packagelist>
</group>
<group>
<id>base-x</id>
<name>X Window System</name>
<default>true</default>
<uservisible>false</uservisible>
<packagelist>
<packagereq type="mandatory">desktop-backgrounds-basic</packagereq>
<packagereq type="mandatory">firstboot</packagereq>
@ -77,7 +168,7 @@
</group>
<group>
<id>kde-desktop-qubes</id>
<name>KDE Software Compilation</name>
<name>KDE Desktop Environment</name>
<default>true</default>
<packagelist>
<packagereq type="mandatory">kcm_touchpad</packagereq>
@ -89,12 +180,88 @@
<packagereq type="mandatory">xsettings-kde</packagereq>
</packagelist>
</group>
<group>
<id>xfce-desktop-qubes</id>
<name>Xfce (EXPERIMENTAL)</name>
<description>A lightweight desktop environment that works well on low end machines.</description>
<default>true</default>
<uservisible>true</uservisible>
<packagelist>
<packagereq>abrt-desktop</packagereq>
<packagereq>desktop-backgrounds-compat</packagereq>
<packagereq>xfce4-panel</packagereq>
<packagereq>xfce4-session</packagereq>
<packagereq>xfce4-settings</packagereq>
<packagereq>xfconf</packagereq>
<packagereq>xfdesktop</packagereq>
<packagereq>xfwm4</packagereq>
<packagereq>ConsoleKit</packagereq>
<packagereq>firstboot</packagereq>
<!-- FIXME? <packagereq>fedora-icon-theme</packagereq>-->
<packagereq>lightdm-gtk</packagereq>
<packagereq>gtk-xfce-engine</packagereq>
<packagereq>gvfs</packagereq>
<packagereq>openssh-askpass</packagereq>
<packagereq>Terminal</packagereq>
<packagereq>xfce4-about</packagereq>
<packagereq>xfce4-appfinder</packagereq>
<packagereq>xfce4-power-manager</packagereq>
<packagereq>xfce4-session-engines</packagereq>
<packagereq>xfwm4-theme-nodoka</packagereq>
<packagereq>xscreensaver-base</packagereq>
<packagereq>yumex</packagereq>
<packagereq>ConsoleKit-x11</packagereq>
<packagereq>blueman</packagereq>
<packagereq>xdg-user-dirs-gtk</packagereq>
<packagereq>adwaita-cursor-theme</packagereq>
<packagereq>adwaita-gtk2-theme</packagereq>
<packagereq>adwaita-gtk3-theme</packagereq>
<packagereq>greybird-gtk2-theme</packagereq>
<packagereq>greybird-gtk3-theme</packagereq>
<packagereq>greybird-xfce4-notifyd-theme</packagereq>
<packagereq>greybird-xfwm4-theme</packagereq>
<packagereq>albatross-gtk2-theme</packagereq>
<packagereq>albatross-gtk3-theme</packagereq>
<packagereq>albatross-xfwm4-theme</packagereq>
<packagereq>bluebird-gtk2-theme</packagereq>
<packagereq>bluebird-gtk3-theme</packagereq>
<packagereq>bluebird-xfwm4-theme</packagereq>
<packagereq>xfce4-datetime-plugin</packagereq>
<packagereq>xfce4-places-plugin</packagereq>
<packagereq>xfce4-quicklauncher-plugin</packagereq>
<packagereq>xfce4-screenshooter-plugin</packagereq>
<packagereq>xfwm4-themes</packagereq>
</packagelist>
</group>
<group>
<id>xfce-extra-plugins</id>
<name>Extra plugins for the Xfce panel</name>
<default>true</default>
<uservisible>true</uservisible>
<packagelist>
<packagereq>xfce4-battery-plugin</packagereq>
<packagereq>xfce4-cpugraph-plugin</packagereq>
<packagereq>xfce4-diskperf-plugin</packagereq>
<packagereq>xfce4-eyes-plugin</packagereq>
<packagereq>xfce4-fsguard-plugin</packagereq>
<packagereq>xfce4-genmon-plugin</packagereq>
<packagereq>xfce4-mount-plugin</packagereq>
<packagereq>xfce4-sensors-plugin</packagereq>
<packagereq>xfce4-systemload-plugin</packagereq>
<packagereq>xfce4-taskmanager</packagereq>
<packagereq>xfce4-time-out-plugin</packagereq>
<packagereq>xfce4-timer-plugin</packagereq>
<packagereq>xfce4-verve-plugin</packagereq>
<packagereq>xfce4-xkb-plugin</packagereq>
</packagelist>
</group>
<group>
<id>qubes</id>
<name>Qubes Environment</name>
<default>true</default>
<uservisible>false</uservisible>
<packagelist>
<packagereq type="mandatory">kernel-qubes-dom0</packagereq>
<packagereq type="mandatory">kernel</packagereq>
<packagereq type="mandatory">qubes-core-dom0</packagereq>
<packagereq type="mandatory">qubes-gui-dom0</packagereq>
<packagereq type="mandatory">qubes-logos</packagereq>
@ -105,4 +272,21 @@
<packagereq type="default">qubes-gpg-split-dom0</packagereq>
</packagelist>
</group>
<environment>
<id>qubes</id>
<display_order>1</display_order>
<name>Qubes Install</name>
<description>Qubes standard installation.</description>
<grouplist>
<groupid>base</groupid>
<groupid>base-x</groupid>
<groupid>qubes</groupid>
<groupid>kde-desktop-qubes</groupid>
</grouplist>
<optionlist>
<groupid>xfce-desktop-qubes</groupid>
<groupid>xfce-extra-plugins</groupid>
</optionlist>
</environment>
</comps>

@ -1,49 +0,0 @@
# Revisor base config file
[revisor]
media_installation_dvd = 1
media_installation_cd = 0
media_installation_tree = 0
media_utility_rescue = 0
media_live_optical = 0
media_live_thumb = 0
# Set these to the absolute minimum
dependency_resolve_allow_conflicts = 0
mode_respin = 1
kickstart_manifest = 1
kickstart_file = /tmp/qubes-installer/conf/qubes-kickstart.cfg
kickstart_include = 0
kickstart_default = 1
copy_local = 1
answer_yes = 1
getsource = 0
bugurl = http://wiki.qubes-os.org/
include_bootiso = 0
# Defaults for all models in this file
product_name = Qubes
product_path = Packages
iso_basename = Qubes
iso_label = Qubes
version = test-build
version_from = F13
comps_filter = 0
revisor_comps = 1
comps = /tmp/qubes-installer/conf/comps-qubes.xml
destination_directory = /tmp/qubes-installer/build/ISO
working_directory = /tmp/qubes-installer/build/work/
## Models
[qubes-x86_64]
description = Qubes for x86_64
main = /tmp/qubes-installer/conf/qubes-x86_64.conf
iso_basename = Qubes
architecture = x86_64

@ -3,8 +3,14 @@
# Package manifest for the compose. Uses repo group metadata to translate groups.
# (@base is added by default unless you add --nobase to %packages)
# (default groups for the configured repos are added by --default)
repo --name=fedora --ignoregroups=true --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-18&arch=x86_64
repo --name=installer --baseurl=file:///tmp/qubes-installer/yum/installer/
repo --name=qubes-dom0 --baseurl=file:///tmp/qubes-installer/yum/qubes-dom0/
repo --name=dom0-updates --baseurl=file:///tmp/qubes-installer/yum/dom0-updates/
%packages
@base-x --nodefaults
@kde-desktop-qubes
@qubes
@anaconda-tools
%end

@ -1,52 +0,0 @@
[main]
exclude=*.i?86
cachedir=-yumcache
reposdir=
keepcache=1
debuglevel=1
logfile=-yum.log
pkgpolicy=newest
distroverpkg=qubes-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800
installroot=/tmp/qubes-installer/build/work/revisor
failovermethod=priority
[fedora]
name=Fedora 13 - x86_64
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/13/Everything/x86_64/os/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-13&arch=x86_64
enabled=1
gpgcheck=1
gpgkey=file:///tmp/qubes-installer/keys/fedora-13.asc
enablegroups=0
cost=10
[installer]
name=Qubes Local Repository
baseurl=file:///tmp/qubes-installer/yum/installer/
enabled=1
gpgcheck=0
gpgkey=file:///tmp/qubes-installer/keys/qubes-release-1-signing-key.asc
cost=1
[qubes-dom0]
name=Qubes Local Repository
baseurl=file:///tmp/qubes-installer/yum/qubes-dom0/
enabled=1
gpgcheck=0
gpgkey=file:///tmp/qubes-installer/keys/qubes-release-1-signing-key.asc
cost=1
[dom0-updates]
name=Qubes Dom0 Updates Local Repository
baseurl=file:///tmp/qubes-installer/yum/dom0-updates/
enabled=1
gpgcheck=0
gpgkey=file:///tmp/qubes-installer/keys/qubes-release-1-signing-key.asc
cost=1
Loading…
Cancel
Save