[molecules] add tarball template molecule script

This commit is contained in:
Fabio Erculiani
2014-11-08 08:11:03 +01:00
parent ec77c17125
commit 5bfedd6f67
4 changed files with 122 additions and 0 deletions

View File

@@ -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

View File

@@ -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:

View File

@@ -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

View File

@@ -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