diff --git a/molecules/sabayon-amd64-spinbase-tarball-template.spec b/molecules/sabayon-amd64-spinbase-tarball-template.spec new file mode 100644 index 0000000..77a9de3 --- /dev/null +++ b/molecules/sabayon-amd64-spinbase-tarball-template.spec @@ -0,0 +1,12 @@ +# Use abs path, otherwise daily builds automagic won't work +%env %import ${SABAYON_MOLECULE_HOME:-/sabayon}/molecules/spinbase-tarball-template.common + +# pre chroot command, example, for 32bit chroots on 64bit system, you always +# have to append "linux32" this is useful for inner_chroot_script +# prechroot: + +# Path to source ISO file (MANDATORY) +%env source_iso: ${SABAYON_MOLECULE_HOME:-/sabayon}/iso/Sabayon_Linux_${ISO_TAG:-DAILY}_amd64_SpinBase.iso + +%env release_version: ${SABAYON_RELEASE:-11} +%env tar_name: Sabayon_Linux_${SABAYON_RELEASE:-11}_amd64_SpinBase_tarball.tar.gz diff --git a/molecules/spinbase-tarball-template.common b/molecules/spinbase-tarball-template.common new file mode 100644 index 0000000..bf71091 --- /dev/null +++ b/molecules/spinbase-tarball-template.common @@ -0,0 +1,96 @@ +# Define an alternative execution strategy, in this case, the value must be +execution_strategy: iso_to_tar + +# Error script command, executed when something went wrong and molecule has +# to terminate the execution +# environment variables exported: +# - CHROOT_DIR: path to chroot directory, if any +# - CDROOT_DIR: path to livecd root directory, if any +# - SOURCE_CHROOT_DIR: path from where chroot is copied for final handling +# error_script: /path/to/script/to/be/executed/outside/after + +# Outer chroot script command, to be executed outside destination chroot before +# before entering it (and before inner_chroot_script) +# outer_chroot_script: /path/to/script/to/be/executed/outside + +# Inner chroot script command, to be executed inside destination chroot before packing it +# - kmerge.sh - setup kernel bins +# %env inner_chroot_script: ${SABAYON_MOLECULE_HOME:-/sabayon}/scripts/tarball_inner_chroot_script.sh + +# Inner chroot script command, to be executed inside destination chroot after +# packages installation and removal +%env inner_chroot_script_after: ${SABAYON_MOLECULE_HOME:-/sabayon}/scripts/tar_generic_inner_chroot_script_after.sh + +# Outer chroot script command, to be executed outside destination chroot before +# before entering it (and AFTER inner_chroot_script) +# outer_chroot_script_after: /path/to/script/to/be/executed/outside/after + +# Pre-tar building script. Hook called before tar file creation +# Variables exported: +# CHROOT_DIR = path pointing to the working chroot (the one that gets modified) +# TAR_PATH = path pointing to the destination tar file +# TAR_CHECKSUM_PATH = path pointing to the destination tar file checksum (md5) +%env pre_tar_script: ${SABAYON_MOLECULE_HOME:-/sabayon}/scripts/spinbase_tarball_pre_tar_script.sh + +# Destination directory for the ISO image path (MANDATORY) +%env destination_tar_directory: ${SABAYON_MOLECULE_HOME:-/sabayon}/iso + +# Compression method (default is: gz). Supported compression methods: gz, bz2 +# compression_method: gz + +# Specify an alternative tar file name (tar file name will be automatically +# produced otherwise) +# tar_name: + +# Alternative ISO file mount command (default is: mount -o loop -t iso9660) +# iso_mounter: + +# Alternative ISO umounter command (default is: umount) +# iso_umounter: + +# Alternative squashfs file mount command (default is: mount -o loop -t squashfs) +# squash_mounter: + +# Alternative ISO squashfs umount command (default is: umount) +# squash_umounter: + +# List of packages that would be removed from chrooted system (comma separated) +packages_to_remove: + app-admin/anaconda, + app-admin/system-config-date, + app-misc/sabayon-live, + dev-libs/newt, + dev-util/pykickstart, + net-misc/fcoe-utils, + sys-boot/grub, + sys-boot/plymouth, + sys-fs/squashfs-tools, + sys-fs/ntfsprogs, + sys-fs/dosfstools, + sys-fs/xfsprogs, + sys-fs/jfsutils, + sys-fs/mdadm, + sys-libs/slang, + sys-kernel/linux-sabayon + +# Custom shell call to packages removal (default is: equo remove) +# custom_packages_remove_cmd: + +# List of packages that would be added from chrooted system (comma separated) +# packages_to_add: + +# Custom shell call to packages add (default is: equo install) +# custom_packages_add_cmd: + +# Custom command for updating repositories (default is: equo update) +# repositories_update_cmd: + +# Determine whether repositories update should be run (if packages_to_add is set) +# (default is: no), values are: yes, no. +# execute_repositories_update: no + +# Directories to remove completely (comma separated) +# paths_to_remove: + +# Directories to empty (comma separated) +# paths_to_empty: diff --git a/scripts/iso_build.sh b/scripts/iso_build.sh index b399fe0..b5e939c 100755 --- a/scripts/iso_build.sh +++ b/scripts/iso_build.sh @@ -81,6 +81,7 @@ if [ "${ACTION}" = "weekly" ] || [ "${ACTION}" = "daily" ]; then "sabayon-amd64-mate.spec" "sabayon-amd64-xfce.spec" "sabayon-amd64-minimal.spec" + "sabayon-amd64-spinbase-tarball-template.spec" ) REMASTER_SPECS_ISO+=( "${DISTRO_NAME}_${ISO_TAG}_amd64_GNOME.iso" @@ -88,6 +89,7 @@ if [ "${ACTION}" = "weekly" ] || [ "${ACTION}" = "daily" ]; then "${DISTRO_NAME}_${ISO_TAG}_amd64_MATE.iso" "${DISTRO_NAME}_${ISO_TAG}_amd64_Xfce.iso" "${DISTRO_NAME}_${ISO_TAG}_amd64_Minimal.iso" + "${DISTRO_NAME}_${ISO_TAG}_amd64_tarball.tar.gz" ) # Weekly molecules @@ -180,12 +182,14 @@ elif [ "${ACTION}" = "monthly" ] || [ "${ACTION}" = "release" ]; then "sabayon-amd64-kde.spec" "sabayon-amd64-xfce.spec" "sabayon-amd64-minimal.spec" + "sabayon-amd64-spinbase-tarball-template.spec" ) REMASTER_SPECS_ISO+=( "${DISTRO_NAME}_${ISO_TAG}_amd64_GNOME.iso" "${DISTRO_NAME}_${ISO_TAG}_amd64_KDE.iso" "${DISTRO_NAME}_${ISO_TAG}_amd64_Xfce.iso" "${DISTRO_NAME}_${ISO_TAG}_amd64_Minimal.iso" + "${DISTRO_NAME}_${ISO_TAG}_amd64_tarball.tar.gz" ) fi diff --git a/scripts/spinbase_tarball_pre_tar_script.sh b/scripts/spinbase_tarball_pre_tar_script.sh new file mode 100755 index 0000000..e54784d --- /dev/null +++ b/scripts/spinbase_tarball_pre_tar_script.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +# Copy packages list outside tarball +pkglist_file="${CHROOT_DIR}/etc/sabayon-pkglist" +if [ -f "${pkglist_file}" ]; then + tar_dirname=$(dirname "${TAR_PATH}") + if [ -d "${tar_dirname}" ]; then + cp "${pkglist_file}" "${TAR_PATH}.pkglist" + fi +fi