From 96442c83cb342a5988e109d764066db193c8d831 Mon Sep 17 00:00:00 2001 From: Jason Mehring Date: Sat, 14 Feb 2015 12:45:00 -0500 Subject: [PATCH] fedora: fc21: Added Fedora 21 template and related configurations --- .gitignore | 1 + appmenus_fc21/netvm-whitelisted-appmenus.list | 1 + appmenus_fc21/vm-whitelisted-appmenus.list | 3 + appmenus_fc21/whitelisted-appmenus.list | 5 + .../netvm-whitelisted-appmenus.list | 1 + .../vm-whitelisted-appmenus.list | 1 + .../whitelisted-appmenus.list | 1 + scripts_fedora/01_install_core.sh | 6 + scripts_fedora/02_install_groups.sh | 43 +++--- scripts_fedora/04_install_qubes.sh | 5 + scripts_fedora/04_install_qubes_fc21.sh | 13 ++ .../RPM-GPG-KEY-rpmfusion-free-fedora-20 | 30 ++++ .../RPM-GPG-KEY-rpmfusion-free-fedora-21 | 30 ++++ .../RPM-GPG-KEY-rpmfusion-nonfree-fedora-20 | 30 ++++ .../RPM-GPG-KEY-rpmfusion-nonfree-fedora-21 | 30 ++++ .../google-linux_signing_key.pub | 31 ++++ .../rpmfusion-free-release-20.noarch.rpm | Bin 0 -> 15548 bytes .../rpmfusion-free-release-21.noarch.rpm | Bin 0 -> 19848 bytes .../rpmfusion-nonfree-release-20.noarch.rpm | Bin 0 -> 15660 bytes .../rpmfusion-nonfree-release-21.noarch.rpm | Bin 0 -> 19964 bytes scripts_fedora/add_3rd_party_software.sh | 134 +++++++++++++++++- scripts_fedora/distribution.sh | 84 +++++++++++ .../keys_fc21/RPM-GPG-KEY-fedora-21-primary | 31 ++++ scripts_fedora/packages_fc21.list | 32 +++++ scripts_fedora/packages_fc21_default.list | 1 + scripts_fedora/packages_fc21_minimal.list | 6 + 26 files changed, 492 insertions(+), 27 deletions(-) create mode 100644 appmenus_fc21/netvm-whitelisted-appmenus.list create mode 100644 appmenus_fc21/vm-whitelisted-appmenus.list create mode 100644 appmenus_fc21/whitelisted-appmenus.list create mode 100644 appmenus_fc21_minimal/netvm-whitelisted-appmenus.list create mode 100644 appmenus_fc21_minimal/vm-whitelisted-appmenus.list create mode 100644 appmenus_fc21_minimal/whitelisted-appmenus.list create mode 100755 scripts_fedora/04_install_qubes_fc21.sh create mode 100644 scripts_fedora/3rd_party_software/RPM-GPG-KEY-rpmfusion-free-fedora-20 create mode 100644 scripts_fedora/3rd_party_software/RPM-GPG-KEY-rpmfusion-free-fedora-21 create mode 100644 scripts_fedora/3rd_party_software/RPM-GPG-KEY-rpmfusion-nonfree-fedora-20 create mode 100644 scripts_fedora/3rd_party_software/RPM-GPG-KEY-rpmfusion-nonfree-fedora-21 create mode 100644 scripts_fedora/3rd_party_software/google-linux_signing_key.pub create mode 100644 scripts_fedora/3rd_party_software/rpmfusion-free-release-20.noarch.rpm create mode 100644 scripts_fedora/3rd_party_software/rpmfusion-free-release-21.noarch.rpm create mode 100644 scripts_fedora/3rd_party_software/rpmfusion-nonfree-release-20.noarch.rpm create mode 100644 scripts_fedora/3rd_party_software/rpmfusion-nonfree-release-21.noarch.rpm create mode 100644 scripts_fedora/distribution.sh create mode 100644 scripts_fedora/keys_fc21/RPM-GPG-KEY-fedora-21-primary create mode 100644 scripts_fedora/packages_fc21.list create mode 120000 scripts_fedora/packages_fc21_default.list create mode 100644 scripts_fedora/packages_fc21_minimal.list diff --git a/.gitignore b/.gitignore index ac4c2b9..0b821ac 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ mnt_* *.img install-templates.sh yum_repo_qubes/* +scripts_fedora/base_rpms_fc21/* diff --git a/appmenus_fc21/netvm-whitelisted-appmenus.list b/appmenus_fc21/netvm-whitelisted-appmenus.list new file mode 100644 index 0000000..4b744f7 --- /dev/null +++ b/appmenus_fc21/netvm-whitelisted-appmenus.list @@ -0,0 +1 @@ +gnome-terminal.desktop diff --git a/appmenus_fc21/vm-whitelisted-appmenus.list b/appmenus_fc21/vm-whitelisted-appmenus.list new file mode 100644 index 0000000..1711aed --- /dev/null +++ b/appmenus_fc21/vm-whitelisted-appmenus.list @@ -0,0 +1,3 @@ +gnome-terminal.desktop +nautilus.desktop +firefox.desktop diff --git a/appmenus_fc21/whitelisted-appmenus.list b/appmenus_fc21/whitelisted-appmenus.list new file mode 100644 index 0000000..107badc --- /dev/null +++ b/appmenus_fc21/whitelisted-appmenus.list @@ -0,0 +1,5 @@ +gnome-terminal.desktop +gpk-application.desktop +gpk-prefs.desktop +system-config-date.desktop +system-config-printer.desktop diff --git a/appmenus_fc21_minimal/netvm-whitelisted-appmenus.list b/appmenus_fc21_minimal/netvm-whitelisted-appmenus.list new file mode 100644 index 0000000..24cbff5 --- /dev/null +++ b/appmenus_fc21_minimal/netvm-whitelisted-appmenus.list @@ -0,0 +1 @@ +xterm.desktop diff --git a/appmenus_fc21_minimal/vm-whitelisted-appmenus.list b/appmenus_fc21_minimal/vm-whitelisted-appmenus.list new file mode 100644 index 0000000..24cbff5 --- /dev/null +++ b/appmenus_fc21_minimal/vm-whitelisted-appmenus.list @@ -0,0 +1 @@ +xterm.desktop diff --git a/appmenus_fc21_minimal/whitelisted-appmenus.list b/appmenus_fc21_minimal/whitelisted-appmenus.list new file mode 100644 index 0000000..24cbff5 --- /dev/null +++ b/appmenus_fc21_minimal/whitelisted-appmenus.list @@ -0,0 +1 @@ +xterm.desktop diff --git a/scripts_fedora/01_install_core.sh b/scripts_fedora/01_install_core.sh index 63e8a46..c246864 100755 --- a/scripts_fedora/01_install_core.sh +++ b/scripts_fedora/01_install_core.sh @@ -5,6 +5,12 @@ if ! [ -f "${INSTALLDIR}/tmp/.prepared_base" ]; then rpm --initdb --root=$INSTALLDIR rpm --import --root=$INSTALLDIR $SCRIPTSDIR/keys/* + if [ "$DIST" == "fc21" ]; then + echo "-> Retreiving core RPM packages..." + INITIAL_PACKAGES="filesystem setup fedora-release" + yum --disablerepo=\* --enablerepo=fedora -y --installroot="${INSTALLDIR}" --releasever=${DIST/fc/} install --downloadonly --downloaddir="$SCRIPTSDIR/base_rpms_${DIST}" ${INITIAL_PACKAGES} + fi + echo "-> Installing core RPM packages..." rpm -i --root=$INSTALLDIR $SCRIPTSDIR/base_rpms/*.rpm || exit 1 diff --git a/scripts_fedora/02_install_groups.sh b/scripts_fedora/02_install_groups.sh index 90e9914..0daa8f7 100755 --- a/scripts_fedora/02_install_groups.sh +++ b/scripts_fedora/02_install_groups.sh @@ -1,26 +1,27 @@ -#!/bin/sh -if [ -n "${TEMPLATE_FLAVOR}" ]; then - PKGLISTFILE="$SCRIPTSDIR/packages_${DIST}_${TEMPLATE_FLAVOR}.list" - if ! [ -r "${PKGLISTFILE}" ]; then - echo "ERROR: ${PKGLISTFILE} does not exists!" - exit 1 - fi -elif [ -r "$SCRIPTSDIR/packages_${DIST}.list" ]; then - PKGLISTFILE="$SCRIPTSDIR/packages_${DIST}.list" -else - PKGLISTFILE="$SCRIPTSDIR/packages.list" -fi +#!/bin/bash -e +# vim: set ts=4 sw=4 sts=4 et : -echo "--> Preparing environment..." -mount -t proc proc mnt/proc +source "${SCRIPTSDIR}/distribution.sh" -export PKGGROUPS=$(cat $PKGLISTFILE) +# Create system mount points +prepareChroot -export YUM0=$PWD/yum_repo_qubes -yum clean all -c $PWD/yum.conf $YUM_OPTS -y --installroot=$INSTALLDIR -yum install -c $PWD/yum.conf $YUM_OPTS -y --installroot=$INSTALLDIR $PKGGROUPS || RETCODE=1 -yum update -c $PWD/yum.conf $YUM_OPTS -y --installroot=$INSTALLDIR || RETCODE=1 +#### '---------------------------------------------------------------------- +info ' Trap ERR and EXIT signals and cleanup (umount)' +#### '---------------------------------------------------------------------- +trap cleanup ERR +trap cleanup EXIT -umount mnt/proc +#### '---------------------------------------------------------------------- +info " Installing extra packages in script_${DIST}/packages.list file" +#### '---------------------------------------------------------------------- +export YUM0=${PWD}/yum_repo_qubes +yum clean all -c ${PWD}/yum.conf ${YUM_OPTS} -y --installroot=${INSTALLDIR} +installPackages +yum update -c ${PWD}/yum.conf ${YUM_OPTS} -y --installroot=${INSTALLDIR} || exit 1 -exit $RETCODE +#### '---------------------------------------------------------------------- +info ' Cleanup' +#### '---------------------------------------------------------------------- +trap - ERR EXIT +trap diff --git a/scripts_fedora/04_install_qubes.sh b/scripts_fedora/04_install_qubes.sh index 2b033d6..fbb855f 100755 --- a/scripts_fedora/04_install_qubes.sh +++ b/scripts_fedora/04_install_qubes.sh @@ -1,4 +1,5 @@ #!/bin/sh + echo "--> Preparing environment..." mount -t proc proc $PWD/mnt/proc @@ -23,4 +24,8 @@ if [ "$TEMPLATE_FLAVOR" != "minimal" ]; then $SCRIPTSDIR/add_3rd_party_software.sh || RETCODE=1 fi +# Distribution specific steps +source ./functions.sh +buildStep "${0}" "${DIST}" + exit $RETCODE diff --git a/scripts_fedora/04_install_qubes_fc21.sh b/scripts_fedora/04_install_qubes_fc21.sh new file mode 100755 index 0000000..e17dbef --- /dev/null +++ b/scripts_fedora/04_install_qubes_fc21.sh @@ -0,0 +1,13 @@ +#!/bin/bash -e +# vim: set ts=4 sw=4 sts=4 et : + +echo "--> Creating Xwrapper.config override..." +cat > "${INSTALLDIR}/etc/X11/Xwrapper.config" < Setting locale to utf8..." +cat > "${INSTALLDIR}/etc/locale.conf" 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 literal 0 HcmV?d00001 diff --git a/scripts_fedora/3rd_party_software/rpmfusion-free-release-21.noarch.rpm b/scripts_fedora/3rd_party_software/rpmfusion-free-release-21.noarch.rpm new file mode 100644 index 0000000000000000000000000000000000000000..163ef4d2be7a0a0308b90edd85d78cbb7a7701c4 GIT binary patch literal 19848 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 n7jyM{6GWz`15tV?g;O+nb0`ghG;#kV*_v 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
UI~0jaPbX8R(K;Hf{v{LurS%S9fk#bQ8aCmFeM| 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 +# - Fingerprint: 4CCA 1EAF 950C EE4A B839 76DC A040 830F 7FAC 5991 +# +# sudo rpm --import linux_signing_key.pub +# +# You can verify the key installation by running: +# - rpm -qi gpg-pubkey-7fac5991-* +# +# To manually verify an RPM package, you can run the command: +# - rpm --checksig -v packagename.rpm +# +# RPMFusion +# ========= +# RPM Fusion free for Fedora 20 +# - pub 4096R/AE688223 2013-01-01 RPM Fusion free repository for Fedora (20) +# Key fingerprint = 0017 DDFE FD13 2929 9D55 B1D3 963A 8848 AE68 8223 +# +# RPM Fusion nonfree for Fedora 20 +# - pub 4096R/B5F29883 2013-01-01 RPM Fusion nonfree repository for Fedora (20) +# Key fingerprint = A84D CF58 46CB 10B6 5C47 6C35 63C0 DE8C B5F2 9883 +# +# RPM Fusion free for Fedora 21 +# - pub 4096R/6446D859 2013-06-28 RPM Fusion free repository for Fedora (21) +# Key fingerprint = E9AF 4932 31E2 DF6F FDFE 0852 3C83 7D0D 6446 D859 +# +# RPM Fusion nonfree for Fedora 21 +# - pub 4096R/A668B376 2013-06-28 RPM Fusion nonfree repository for Fedora (21) +# Key fingerprint = E160 058E F06F A4C3 C15D 0F86 0174 46D1 A668 B376 + +#### '---------------------------------------------------------------------- +info ' Copying 3rd party software to "tmp" directory to prepare for installation' +#### '---------------------------------------------------------------------- +cp -rp ${SCRIPTSDIR}/3rd_party_software ${INSTALLDIR}/tmp + +#### '---------------------------------------------------------------------- +info ' Installing google-chrome repos' +#### '---------------------------------------------------------------------- +cp ${SCRIPTSDIR}/3rd_party_software/google-linux_signing_key.pub ${INSTALLDIR}/etc/pki/rpm-gpg/ +cat << EOF > ${INSTALLDIR}/etc/yum.repos.d/google-chrome.repo +[google-chrome] +name=google-chrome - \$basearch +baseurl=http://dl.google.com/linux/chrome/rpm/stable/\$basearch +enabled=1 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/google-linux_signing_key.pub +EOF + +#### '---------------------------------------------------------------------- +info ' Installing adobe repo' +#### '---------------------------------------------------------------------- +rpm -i --root=${INSTALLDIR} ${SCRIPTSDIR}/3rd_party_software/adobe-release-x86_64-*.noarch.rpm || exit 1 -rpm -i --root=$INSTALLDIR $SCRIPTSDIR/3rd_party_software/adobe-release-x86_64-*.noarch.rpm || exit 1 if [ "$TEMPLATE_FLAVOR" == "fullyloaded" ]; then - rpm --import --root=$INSTALLDIR mnt/etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux - yum install -c $PWD/yum.conf $YUM_OPTS -y --installroot=$INSTALLDIR flash-plugin || exit 1 + #### '------------------------------------------------------------------ + info ' Installing 3rd party software' + #### '------------------------------------------------------------------ + mount --bind /etc/resolv.conf ${INSTALLDIR}/etc/resolv.conf + chroot yum install $YUM_OPTS -y google-chrome-stable + rpm --import --root=${INSTALLDIR} ${INSTALLDIR}/etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux + yum install -c $PWD/yum.conf $YUM_OPTS -y --installroot=${INSTALLDIR} flash-plugin || exit 1 else - yum-config-manager -c $PWD/yum.conf --installroot=$INSTALLDIR --disable adobe-linux-x86_64 > /dev/null + chroot yum-config-manager --disable google-chrome > /dev/null + chroot yum-config-manager --disable adobe-linux-x86_64 > /dev/null fi + +#### '---------------------------------------------------------------------- +info ' Installing rpmfusion repos' +#### '---------------------------------------------------------------------- +if [ ${VERSION} -ge 20 ]; then + # Import repo keys + chroot rpm --import /tmp/3rd_party_software/RPM-GPG-KEY-rpmfusion-free-fedora-21 + chroot rpm --import /tmp/3rd_party_software/RPM-GPG-KEY-rpmfusion-nonfree-fedora-21 + + # Verify repos + chroot rpm --checksig /tmp/3rd_party_software/rpmfusion-free-release-21.noarch.rpm + chroot rpm --checksig /tmp/3rd_party_software/rpmfusion-nonfree-release-21.noarch.rpm + + # Install repos + chroot rpm -i /tmp/3rd_party_software/rpmfusion-free-release-21.noarch.rpm + chroot rpm -i /tmp/3rd_party_software/rpmfusion-nonfree-release-21.noarch.rpm + + # Disable rpmfusion-free repos + chroot yum-config-manager --disable rpmfusion-free > /dev/null + chroot yum-config-manager --disable rpmfusion-free-debuginfo > /dev/null + chroot yum-config-manager --disable rpmfusion-free-source > /dev/null + chroot yum-config-manager --disable rpmfusion-free-updates > /dev/null + chroot yum-config-manager --disable rpmfusion-free-updates-debuginfo > /dev/null + chroot yum-config-manager --disable rpmfusion-free-updates-source > /dev/null + chroot yum-config-manager --disable rpmfusion-free-updates-testing > /dev/null + chroot yum-config-manager --disable rpmfusion-free-updates-testing-debuginfo > /dev/null + chroot yum-config-manager --disable rpmfusion-free-updates-testing-source > /dev/null + chroot yum-config-manager --disable rpmfusion-free-rawhide > /dev/null + chroot yum-config-manager --disable rpmfusion-free-rawhide-debuginfo > /dev/null + chroot yum-config-manager --disable rpmfusion-free-rawhide-source > /dev/null + + # Disable rpmfusion-nonfree repos + chroot yum-config-manager --disable rpmfusion-nonfree > /dev/null + chroot yum-config-manager --disable rpmfusion-nonfree-debuginfo > /dev/null + chroot yum-config-manager --disable rpmfusion-nonfree-source > /dev/null + chroot yum-config-manager --disable rpmfusion-nonfree-updates > /dev/null + chroot yum-config-manager --disable rpmfusion-nonfree-updates-debuginfo > /dev/null + chroot yum-config-manager --disable rpmfusion-nonfree-updates-source > /dev/null + chroot yum-config-manager --disable rpmfusion-nonfree-updates-testing > /dev/null + chroot yum-config-manager --disable rpmfusion-nonfree-updates-testing-debuginfo > /dev/null + chroot yum-config-manager --disable rpmfusion-nonfree-updates-testing-source > /dev/null + chroot yum-config-manager --disable rpmfusion-nonfree-rawhide > /dev/null + chroot yum-config-manager --disable rpmfusion-nonfree-rawhide-debuginfo > /dev/null + chroot yum-config-manager --disable rpmfusion-nonfree-rawhide-source > /dev/null +fi + +#### '---------------------------------------------------------------------- +info ' Cleanup' +#### '---------------------------------------------------------------------- +rm -rf ${INSTALLDIR}/tmp/3rd_party_software +trap - ERR EXIT +trap diff --git a/scripts_fedora/distribution.sh b/scripts_fedora/distribution.sh new file mode 100644 index 0000000..67fb5d5 --- /dev/null +++ b/scripts_fedora/distribution.sh @@ -0,0 +1,84 @@ +#!/bin/bash -e +# vim: set ts=4 sw=4 sts=4 et : + +source ./functions.sh >/dev/null +source ./umount_kill.sh >/dev/null + +setVerboseMode +output "${bold}${under}INFO: ${SCRIPTSDIR}/distribution.sh imported by: ${0}${reset}" + +# ============================================================================== +# Cleanup function +# ============================================================================== +function cleanup() { + errval=$? + trap - ERR EXIT + trap + error "${1:-"${0}: Error. Cleaning up and un-mounting any existing mounts"}" + umount_kill "${INSTALLDIR}" || true + + # Return xtrace to original state + [[ -n "${XTRACE}" ]] && [[ "${XTRACE}" -eq 0 ]] && set -x || set +x + + exit $errval +} + +# ============================================================================== +# Create system mount points +# ============================================================================== +function prepareChroot() { + info "--> Preparing environment..." + mount -t proc proc "${INSTALLDIR}/proc" +} + +# ============================================================================== +# Yum install package(s) +# ============================================================================== +function yumInstall() { + files="$@" + mount --bind /etc/resolv.conf ${INSTALLDIR}/etc/resolv.conf + if [ -e "${INSTALLDIR}/usr/bin/yum" ]; then + chroot yum install ${YUM_OPTS} -y ${files[@]} || exit 1 + else + yum install -c ${PWD}/yum.conf ${YUM_OPTS} -y --installroot=${INSTALLDIR} ${files[@]} || exit 1 + fi + umount ${INSTALLDIR}/etc/resolv.conf +} + +# ============================================================================== +# Install extra packages in script_${DIST}/packages.list file +# -and / or- TEMPLATE_FLAVOR directories +# ============================================================================== +function installPackages() { + if [ -n "${1}" ]; then + # Locate packages within sub dirs + if [ ${#@} == "1" ]; then + getFileLocations packages_list "${1}" "" + else + packages_list="$@" + fi + else + # TODO: Add into template flavor handler the ability to + # detect flavors that will not append recursive values + # Only file 'minimal' package lists + if [ "$TEMPLATE_FLAVOR" == "minimal" ]; then + getFileLocations packages_list "packages.list" "${DIST}_minimal" + else + getFileLocations packages_list "packages.list" "${DIST}" + fi + if [ -z "${packages_list}" ]; then + error "Can not locate a package.list file!" + umount_all || true + exit 1 + fi + fi + + for package_list in ${packages_list[@]}; do + debug "Installing extra packages from: ${package_list}" + declare -a packages + readarray -t packages < "${package_list}" + + info "Packages: "${packages[@]}"" + yumInstall "${packages[@]}" || return $? + done +} diff --git a/scripts_fedora/keys_fc21/RPM-GPG-KEY-fedora-21-primary b/scripts_fedora/keys_fc21/RPM-GPG-KEY-fedora-21-primary new file mode 100644 index 0000000..e8f1868 --- /dev/null +++ b/scripts_fedora/keys_fc21/RPM-GPG-KEY-fedora-21-primary @@ -0,0 +1,31 @@ +pub 4096R/95A43F54 2013-11-14 Fedora (21) + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.11 (GNU/Linux) + +mQINBFKEQVoBEADOb9mKZZtTIVRMMejO9dco+dsv6L2ZvnlidMVaudoD7pN9hl35 +xUZFwQxzATy2iCoFY92WU1zIKxCg9fa0gS9jGGl9rOI/1uQm+i/KxkzJCKW0CYpA +QVNNYHewQa7JHuTYbaN+kWEBGG0RWJw6BN2NxR3zDkLT2tgcf0zBobeUMi6XwFg4 +jikJ/vi84MEX4Gky/OtVXuzk0fGnP7xYPYfBkfG5FbMj3UxbfAAn1Sr9PxIFdCxP +c06h9kkO+gJPD7Cis1pNg9HWpssIEHIk0ZaL0sssMSpSsgP0f44UpKVCq0+JDJmM +EEu2KfeV9r2dEiEude+Gg4U3rbUh2PTZpQKKwPyggQwk6nPHbrqrr9zBIH5iyYuU +vdTVO7YrDqYK5o3WhqKYG19oNbtCziNuC9x8RLFkerr0amQjy1dZsofGYSLjZ8Er +3PgtUMunH4Y7O6FbRljniqYoQl8GDMaxhptvrOY+NqRAQiRLzpT6BB3nZhO9iSk9 +Lvb9hwjMFsN5xh2wCxYV+XNjnMSO+LZisJimKhyMVhimcYK1P0sU49RcglmS2mhP +OGb14pH+B94lMve/kQu4unnhKhtkPA0mOyeH8BGl63vvEbJtMzpMqbHvzr60h8PA +H7EsAsYJZp4Xa+F1wBRBJ3xKaUTQ7r7mmpFsdgzlI2wjNgLbyEV4YSNVjwARAQAB +tCZGZWRvcmEgKDIxKSA8ZmVkb3JhQGZlZG9yYXByb2plY3Qub3JnPokCOAQTAQIA +IgUCUoRBWgIbDwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQia1Oh5WkP1S+ +rQ//V5WOPjl0UjEgRYsjwm6LGZe8/P4muXdKX1OuRF+MLZxW1Pbr43zjvfY9tZlD +v4QpI5uECX5To9phrOXI8ghFpI4aQbRe2enk4dksgdhzdBW0JgM3JRf8F+tPLKEF +kB2/tGqi/irp+Hij/tiHwUZjx8qKGbF0r2bxAkSS5qkmalTs6PwcWwEN4a6sKPgw +iVGL2VRM46YoNDORwH7HYeODbJtyJyX3NvcluNKf/D3OZFaNYH+nUISlaPAbC5HJ +sVmZD9vm2E2ypErbZzrY3N8PRgHuIrDmO+LmksWteofpWZO84lyuvgYgXPy8Q3Ls ++p0zfE5zv8EbX4WG+l1SF7hVdPC7UEPUuHmlm81Fi69tSvwO+N4PrDU094VHT+UQ +rKmtSGDOfSx6FvrEqMakiEyBgKNwhsVJbi6/LXHMBImbSN3tOxSMBxGEi2cSn/KF +LRukmMoEw4PHZK+gPpwsP1cTfxezs/aH/PMBaPUgg1qCu9uNNFmEs3d5LLSee9RM +U+gwECX+D44vqJUAT7xM1A4yij3rPF2RegOmNhu5wg4zNSGKoVV8QsMOKrjIZHmG +pFVvYFP4OxLEwh6OYZj9qfaw445ryqfcxSNzZ3m+VSwHuZ049v7u8fndZ8TREVXx +hdjPHxjtaiJ1R0Zb4ZvycUcDLl2Xc1CRJAMVvFJcg1SNrGs= +=xtMc +-----END PGP PUBLIC KEY BLOCK----- diff --git a/scripts_fedora/packages_fc21.list b/scripts_fedora/packages_fc21.list new file mode 100644 index 0000000..7c6d30c --- /dev/null +++ b/scripts_fedora/packages_fc21.list @@ -0,0 +1,32 @@ +@^workstation-product-environment +@libreoffice +emacs +vim-enhanced +gnupg +xterm +firefox +thunderbird +keepassx +perl-File-MimeInfo +network-manager-applet +xfce4-terminal +exo +--exclude=kdegames +--exclude=firstboot +--exclude=xorg-x11-drv-nouveau +--exclude=firewall-config,firewalld* +--exclude=gnome-boxes +--exclude=qemu-img,qemu-common,qemu-system +--exclude=qemu-*,libvirt*,spice-glib,spice-gtk3,vinagre +git +createrepo +rpm-build +qubes-core-vm-kernel-placeholder +linux-firmware +ltrace +strace +haveged +mate-notification-daemon +sudo +xorg-x11-fonts-100dpi +xorg-x11-fonts-Type1 diff --git a/scripts_fedora/packages_fc21_default.list b/scripts_fedora/packages_fc21_default.list new file mode 120000 index 0000000..3527e47 --- /dev/null +++ b/scripts_fedora/packages_fc21_default.list @@ -0,0 +1 @@ +packages_fc21.list \ No newline at end of file diff --git a/scripts_fedora/packages_fc21_minimal.list b/scripts_fedora/packages_fc21_minimal.list new file mode 100644 index 0000000..d58aa47 --- /dev/null +++ b/scripts_fedora/packages_fc21_minimal.list @@ -0,0 +1,6 @@ +xterm +--exclude=kdegames +--exclude=firstboot +--exclude=xorg-x11-drv-nouveau +--exclude=firewall-config,firewalld +--exclude=gnome-boxes