diff --git a/srcpkgs/vmklive/files/dracut-module.sh b/srcpkgs/vmklive/files/dracut-module.sh deleted file mode 100644 index 34d51202338..00000000000 --- a/srcpkgs/vmklive/files/dracut-module.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash -# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- -# ex: ts=8 sw=4 sts=4 et filetype=sh - -check() { - return 255 -} - -depends() { - echo dmsquash-live -} - -install() { - inst chmod - inst_hook pre-pivot 01 "$moddir/vmklive-adduser.sh" -} diff --git a/srcpkgs/vmklive/files/dracut-vmklive-adduser.sh b/srcpkgs/vmklive/files/dracut-vmklive-adduser.sh deleted file mode 100644 index 9f95c6576a8..00000000000 --- a/srcpkgs/vmklive/files/dracut-vmklive-adduser.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- -# ex: ts=8 sw=4 sts=4 et filetype=sh - -USERNAME=$(getarg live.user) -[ -z "$USERNAME" ] && USERNAME=anon - -# Create /etc/default/live.conf to store USER. -echo "USERNAME=$USERNAME" >> ${NEWROOT}/etc/default/live.conf -chmod 644 ${NEWROOT}/etc/default/live.conf - -# Create new user and remove password. We'll use autologin by default. -chroot ${NEWROOT} useradd -c $USERNAME -m $USERNAME -G audio,video,wheel -s /bin/sh -chroot ${NEWROOT} passwd -d $USERNAME 2>&1 >/dev/null - -# Enable sudo permission by default. -if [ -f ${NEWROOT}/etc/sudoers ]; then - echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> ${NEWROOT}/etc/sudoers -fi - -# Enable autologin for getty(1). -if [ -f ${NEWROOT}/lib/systemd/system/getty@.service ]; then - rm -f "${NEWROOT}/etc/systemd/system/getty.target.wants/getty@tty1.service" - sed -e "s|/sbin/agetty|/sbin/live-getty|g" \ - "${NEWROOT}/lib/systemd/system/getty@.service" > \ - "${NEWROOT}/etc/systemd/system/getty.target.wants/getty@tty1.service" -fi - -# Create /sbin/live-getty. -cat > ${NEWROOT}/sbin/live-getty <<_EOF -#!/bin/sh - -if [ -x /sbin/agetty ]; then - _getty=/sbin/agetty -elif [ -x /sbin/getty ]; then - _getty=/sbin/getty -fi - -exec \${_getty} -n -l /sbin/live-autologin \$* -_EOF -chmod 755 ${NEWROOT}/sbin/live-getty - -# Create /sbin/live-autologin. -cat > ${NEWROOT}/sbin/live-autologin <<_EOF -#!/bin/sh - -. /etc/default/live.conf -exec /bin/login -f \$USERNAME -_EOF -chmod 755 ${NEWROOT}/sbin/live-autologin diff --git a/srcpkgs/vmklive/files/mklive.sh.in b/srcpkgs/vmklive/files/mklive.sh.in deleted file mode 100644 index 893cc7d4590..00000000000 --- a/srcpkgs/vmklive/files/mklive.sh.in +++ /dev/null @@ -1,461 +0,0 @@ -#!/bin/sh -# -# Public Domain, 2009-2012 - Juan RP -# -trap "echo; error_out $?" INT QUIT - -info_msg() -{ - printf "\033[1m$@\n\033[m" -} - -mount_pseudofs() -{ - local fs - - if [ -n "$ROOTDIR" ]; then - mount --bind "$ROOTDIR" "$ROOTFS" || error_out $? - fi - - for fs in sys proc dev; do - if [ ! -d "$ROOTFS/$fs" ]; then - mkdir -p "$ROOTFS/$fs" - fi - mount --bind /$fs "$ROOTFS/$fs" || error_out $? - done -} - -umount_pseudofs() -{ - local fs - - for fs in sys proc dev; do - umount -f "$ROOTFS/$fs" >/dev/null 2>&1 - done - if [ -n "$1" -a -n "$ROOTDIR" ]; then - umount -f "$ROOTFS" >/dev/null 2>&1 - fi -} - -error_out() -{ - umount_pseudofs - - info_msg "There was an error! cleaning up $BUILDDIR, exiting..." - - [ -d "$BUILDDIR" ] && rm -rf "$BUILDDIR" - [ -f "$LOGFILE" ] && rm -f "$LOGFILE" - - exit 1 -} - -write_etc_motd() -{ - cat >> "$ROOTFS/etc/motd" <<_EOF -############################################################################### - Autogenerated by vmklive @@MKLIVE_VERSION@@ -------------------------------------------------------------------------------- - -Welcome to the Void Linux Live system, you have been autologged in. -This user has full sudo(8) permissions without any password, be careful -executing commands through sudo(8). - -To play with package management use the xbps-bin(8) and xbps-repo(8) -utilities. Please visit: - - http://code.google.com/p/xbps/ - -for more information and/or documentation about using the X Binary -Package System. If you think it is useful, please make a donation -to improve further development from the above URL, thanks. - -To start the installation please type: - - $ sudo void-installer - -and follow the on-screen instructions. Thanks for trying Void Linux. - -############################################################################### -_EOF -} - -write_default_isolinux_conf() -{ - local kver="$1" - - if [ -r "$SPLASH_IMAGE" ]; then - BACKGROUND="MENU BACKGROUND $(basename $SPLASH_IMAGE)" - fi - - cat >> "$ISOLINUX_CFG" << _EOF -UI vesamenu.c32 -PROMPT 0 -TIMEOUT 100 -ONTIMEOUT linux - -MENU TABMSG Press ENTER to boot or TAB to edit a menu entry -MENU AUTOBOOT BIOS default device boot in # second{,s}... -$BACKGROUND -MENU WIDTH 78 -MENU MARGIN 1 -MENU ROWS 4 -MENU VSHIFT 2 -MENU TIMEOUTROW 8 -MENU TABMSGROW 2 -MENU CMDLINEROW 11 -MENU HELPMSGROW 16 -MENU HELPMSGENDROW 29 - -MENU COLOR title * #FF5255FF * -MENU COLOR border * #00000000 #00000000 none -MENU COLOR sel * #ffffffff #FF5255FF * - -LABEL linux -MENU LABEL Boot Void GNU/Linux ${kver} ($(uname -m)) -KERNEL vmlinuz -APPEND initrd=initrd.lz root=live:CDLABEL=VoidLinux-live-$(uname -m)-${kver} \ - rootfstype=auto ro liveimg rd.luks=0 rd.md=0 rd.dm=0 \ - vconsole.keymap=${KEYMAP} vconsole.unicode=1 locale.LANG=${LOCALE} -LABEL c -MENU LABEL Boot first HD found by BIOS -LOCALBOOT 0x80 -_EOF -} - -write_conf_file() -{ - cat > "$1" <<_EOF -# *-*- sh -*-* -# Default configuration file for vmklive-@VERSION@. -# -# List of packages to be installed into the live image. -# At least 'base-system' or 'base-system-live' is required. -PACKAGE_LIST="base-system-live" - -# Syslinux splash image. -SPLASH_IMAGE=/usr/share/void-artwork/splash.png - -# Default keymap to use. -KEYMAP=us - -# Default locale to use. -LOCALE=en_US - -# Path to XBPS utilities. -#XBPS_BIN_CMD=xbps-bin -#XBPS_REPO_CMD=xbps-repo -#XBPS_UHELPER_CMD=xbps-uhelper - -# XBPS cache directory to install packages from. -#REPOSITORY_CACHE=/blah/foo - -_EOF - chmod 644 "$1" -} - -usage() -{ - cat <<_EOF -Usage: $(basename $0) [options] - -Options: - -C file Path to configuration file (defaults to ~/.mklive.conf) - -c (gzip|bzip2|xz) Compression type for the squashfs/initramfs image. - -k version Kernel version to use. - -o outfile Output file name for the ISO image. - -r rootdir Rootfs directory. - -s splash Splash image file for isolinux. - -v volname ISO Volume name. -_EOF - exit 1 -} - -# -# main() -# -while getopts "C:c:k:o:r:s:v:h" opt; do - case $opt in - C) CONFIG_FILE="$OPTARG";; - c) COMPRESSTYPE="$OPTARG";; - k) KERNELVERSION="$OPTARG";; - o) OUTPUT_FILE="$OPTARG";; - r) ROOTDIR="$OPTARG";; - s) SPLASH_IMAGE="$OPTARG";; - v) ISO_VOLUME="$OPTARG";; - h) usage;; - esac -done -shift $(($OPTIND - 1)) - -if [ -z "$KERNELVERSION" ]; then - KERNELVERSION="$(uname -r)" -fi - -# Set defaults -if [ -z "$CONFIG_FILE" ]; then - CONFIG_FILE="$HOME/.mklive.conf" -fi -if [ -z "$OUTPUT_FILE" ]; then - OUTPUT_FILE="$HOME/void-live-$(uname -m)-${KERNELVERSION}-$(date +%Y%m%d).iso" -fi -LOGFILE="$(mktemp -t vmklive-XXXXXXXXXX.log)" - -if [ -z "$ISO_VOLUME" ]; then - ISO_VOLUME="VoidLinux-live-$(uname -m)-${KERNELVERSION}" -fi -if [ -z "$SYSLINUX_DATADIR" ]; then - SYSLINUX_DATADIR=/usr/share/syslinux -fi -if [ -z "$SPLASH_IMAGE" ]; then - SPLASH_IMAGE=/usr/share/void-artwork/splash.png -fi -if [ -z "$XBPS_REPO_CMD" ]; then - XBPS_REPO_CMD=xbps-repo -fi -if [ -z "$XBPS_BIN_CMD" ]; then - XBPS_BIN_CMD=xbps-bin -fi -if [ -z "$XBPS_UHELPER_CMD" ]; then - XBPS_UHELPER_CMD=xbps-uhelper -fi -if [ -z "$COMPRESSTYPE" ]; then - COMPRESSTYPE=xz -fi - -# Create or read configuration file. -if [ ! -r $CONFIG_FILE ]; then - info_msg "Creating config file at $CONFIG_FILE." - write_conf_file $CONFIG_FILE -fi - -. $CONFIG_FILE - -if [ -z "$PACKAGE_LIST" ]; then - PACKAGE_LIST="base-system-live" -else - PACKAGE_LIST="base-system-live $PACKAGE_LIST" -fi -BUILDDIR=$(mktemp --tmpdir=$HOME -d) || exit 1 -BUILDDIR=$(readlink -f $BUILDDIR) -ROOTFS="$BUILDDIR/rootfs" -ISOLINUX_DIR="$BUILDDIR/isolinux" -ISOLINUX_CFG="$ISOLINUX_DIR/isolinux.cfg" - -if [ ! -f $SYSLINUX_DATADIR/isolinux.bin ]; then - echo "Missing required isolinux files in $SYSLINUX_DATADIR, exiting..." - error_out -fi - -# Check for root permissions. -if [ "$(id -u)" -ne 0 ]; then - echo "Must be run as root, exiting..." - error_out -fi - -# -# Check there are repos registered before anything. -# -${XBPS_REPO_CMD} list >/dev/null 2>&1 -if [ $? -ne 0 ]; then - echo "No repositories available, exiting..." - error_out -fi - -# -# Mount pseudofs in the target rootfs. -# -mount_pseudofs -mkdir -p "$ROOTFS/tmp" -mkdir -p "$ISOLINUX_DIR" - -XBPS_ARGS="-r $ROOTFS -y" -if [ -n "$REPOSITORY_CACHE" ]; then - XBPS_ARGS="$XBPS_ARGS -c $REPOSITORY_CACHE" -fi -XBPS_VERSION=$($XBPS_BIN_CMD -V|awk '{print $2}') -case $XBPS_VERSION in - # XBPS >= 0.16 - [0-9].[1-9][6-9]*) XBPS_016=1;; -esac - -info_msg "Redirecting stdout/stderr to $LOGFILE..." -info_msg "[1/9] Installing packages into the rootfs..." -for f in ${PACKAGE_LIST}; do - info_msg " $f" -done -if [ -z "$ROOTDIR" ]; then - # Check that all pkgs are reachable. - ${XBPS_BIN_CMD} ${XBPS_ARGS} -n install ${PACKAGE_LIST} >>$LOGFILE 2>&1 - if [ $? -ne 0 ]; then - info_msg "Missing required binary packages, exiting..." - error_out - fi - ${XBPS_BIN_CMD} ${XBPS_ARGS} install ${PACKAGE_LIST} \ - 2>&1|cat >> $LOGFILE || error_out - ${XBPS_BIN_CMD} ${XBPS_ARGS} autoupdate \ - 2>&1|cat >> $LOGFILE || error_out - ${XBPS_BIN_CMD} ${XBPS_ARGS} autoremove \ - 2>&1|cat >> $LOGFILE || error_out -fi - -${XBPS_BIN_CMD} -r "$ROOTFS" list > \ - "${OUTPUT_FILE%.iso}"-package-list.txt || error_out - -# -# Prepare /etc/motd. -# -info_msg "[2/9] Creating /etc/motd..." -mkdir -p "$ROOTFS"/etc -write_etc_motd - -# -# Create the initramfs with XZ compression. -# -info_msg "[3/9] Creating initramfs image ($COMPRESSTYPE)..." -dracut --no-hostonly --add "dmsquash-live vmklive" --${COMPRESSTYPE} \ - "${ISOLINUX_DIR}/initrd.lz" ${KERNELVERSION} 2>/dev/null || error_out - -# -# Copy the linux image to the target directory. -# -info_msg "[4/9] Copying kernel image/modules..." -cp -f /boot/vmlinuz-${KERNELVERSION} "${ISOLINUX_DIR}/vmlinuz" || error_out $? -mkdir -p "$ROOTFS/lib/modules" -cp -a /lib/modules/${KERNELVERSION} "$ROOTFS/lib/modules" || error_out $? - -# Generate a sane xbps.conf for the rootfs. -rm -f $ROOTFS/etc/xbps/xbps.conf -echo "# xbps.conf generated by vmklive-0.8.5" \ - > $ROOTFS/etc/xbps/xbps.conf -echo "TransactionFrequencyFlush = 0" \ - >> $ROOTFS/etc/xbps/xbps.conf -echo "virtual-package rsyslog { targets = syslog-daemon-0 }" \ - >> $ROOTFS/etc/xbps/xbps.conf -echo "virtual-package dcron { targets = cron-daemon-0 }" \ - >> $ROOTFS/etc/xbps/xbps.conf -echo "virtual-package kmod { targets = module-init-tools-3.17 }" \ - >> $ROOTFS/etc/xbps/xbps.conf -_devel=$($XBPS_UHELPER_CMD -r $ROOTFS version xbps-devel) -if [ -n "${_devel}" ]; then - echo "virtual-package xbps-devel { targets = xbps-9999 }" \ - >> $ROOTFS/etc/xbps/xbps.conf -fi - -# Generate a conf for local repositories. -cat > $ROOTFS/etc/xbps/local-repos.conf <<_EOF -repositories = { - # XBPS >= 0.16 - /packages, - # XBPS < 0.16 - /packages/noarch, - /packages/i686, - /packages/x86_64 -} -_EOF -# Generate a conf for remote repositories. -cat > $ROOTFS/etc/xbps/network-repos.conf <<_EOF -repositories = { - # XBPS >= 0.16 - http://xbps.hosting-unlimited.org/binpkgs, - http://xbps.goodluckwith.us/binpkgs, - http://xbps.nopcode.org/repos/current, - # XBPS < 0.16 - http://xbps.goodluckwith.us/binpkgs/i686, - http://xbps.goodluckwith.us/binpkgs/noarch, - http://xbps.goodluckwith.us/binpkgs/nonfree/i686, - http://xbps.nopcode.org/repos/current/x86_64, - http://xbps.nopcode.org/repos/current/noarch, - http://xbps.nopcode.org/repos/current/nonfree/x86_64 -} -_EOF -chmod 644 $ROOTFS/etc/xbps/*.conf || error_out $? - -# Create local repos for base-system and grub packages required by -# the void-installer pkg. -pkgs=$($XBPS_BIN_CMD -r /tmp/blah -n install base-system grub) -set -- ${pkgs} -while [ $# -ne 0 ]; do - pkgn=$1; action=$2; ver=$3; repo=$4; binpkg=$5; arch=$6 - if [ -z "$XBPS_016" ]; then - arch=$(basename $repo) - shift 5 - else - shift 6 - fi - mkdir -p $ROOTFS/packages/$arch - bpkg=$repo/$arch/$binpkg - cp -f $bpkg $ROOTFS/packages/$arch -done -if [ -n "$XBPS_016" ]; then - $XBPS_REPO_CMD genindex $ROOTFS/packages 2>&1 >>$LOGFILE - rm -f $ROOTFS/packages/index-files.plist -else - for f in $ROOTFS_REPODIR/*; do - ${XBPS_REPO_CMD} genindex $f 2>&1 >>$LOGFILE - rm -f $f/rindex-files.plist - done -fi - -# install lsblk and blkid from util-linux. to avoid installing -# the whole package. -_lsblk=$(which lsblk) -_blkid=$(which blkid) -install -Dm755 ${_lsblk} "$ROOTFS/usr/bin/lsblk" || error_out $? -install -Dm755 ${_blkid} "$ROOTFS/sbin/blkid" || error_out $? - -# -# The pseudofs aren't needed anymore in target rootfs. -# -umount_pseudofs - -# -# Copy required isolinux files in the target rootfs. -# -info_msg "[5/9] Copying isolinux files..." -cp -f $SYSLINUX_DATADIR/isolinux.bin "$ISOLINUX_DIR" -cp -f $SYSLINUX_DATADIR/vesamenu.c32 "$ISOLINUX_DIR" -write_default_isolinux_conf ${KERNELVERSION} -if [ -f "$SPLASH_IMAGE" ]; then - cp -f $SPLASH_IMAGE "$ISOLINUX_DIR" -fi - -# -# Prepare the squashed rootfs image. -# -info_msg "[6/9] Creating squashfs image ($COMPRESSTYPE) from rootfs..." -# Find out required size for the rootfs and create an ext3fs image off it. -ROOTFS_SIZE=$(du -sk "$ROOTFS"|awk '{print $1}') -mkdir -p "$BUILDDIR/tmp/LiveOS" -dd if=/dev/zero of="$BUILDDIR/tmp/LiveOS/ext3fs.img" \ - bs="$((${ROOTFS_SIZE}+($ROOTFS_SIZE/6)))K" count=1 2>&1 | cat >>$LOGFILE || error_out $? -mkdir -p "$BUILDDIR/tmp-rootfs" -mkfs.ext3 -F -m1 "$BUILDDIR/tmp/LiveOS/ext3fs.img" 2>&1 | cat >>$LOGFILE || error_out $? -mount -o loop "$BUILDDIR/tmp/LiveOS/ext3fs.img" "$BUILDDIR/tmp-rootfs" || error_out $? -cd $BUILDDIR -cp -a rootfs/* tmp-rootfs/ -umount -f "$BUILDDIR/tmp-rootfs" -mkdir -p "$BUILDDIR/LiveOS" - -mksquashfs "$BUILDDIR/tmp" "$BUILDDIR/LiveOS/squashfs.img" \ - -comp ${COMPRESSTYPE} 2>&1 | cat >> $LOGFILE || error_out -chmod 444 "$BUILDDIR/LiveOS/squashfs.img" || error_out $? - -info_msg "[7/9] Removing rootfs directory..." -rm -rf "$ROOTFS" "$BUILDDIR/tmp-rootfs" "$BUILDDIR/tmp" || error_out $? - -# -# Prepare the ISO image. -# -info_msg "[8/9] Building ISO image..." -mkisofs -J -r -V "$ISO_VOLUME" -b isolinux/isolinux.bin \ - -c isolinux/boot.cat -no-emul-boot \ - -boot-load-size 4 -boot-info-table \ - -o "$OUTPUT_FILE" "$BUILDDIR" 2>&1 | cat >>$LOGFILE || error_out $? - -info_msg "[9/9] Removing build directory..." -rm -rf "$BUILDDIR" || error_out $? - -hsize=$(du -sh "$OUTPUT_FILE"|awk '{print $1}') -info_msg "Created $(readlink -f $OUTPUT_FILE) ($hsize) successfully." - -exit 0 diff --git a/srcpkgs/vmklive/template b/srcpkgs/vmklive/template deleted file mode 100644 index 205e50dd532..00000000000 --- a/srcpkgs/vmklive/template +++ /dev/null @@ -1,29 +0,0 @@ -# Template file for 'vmklive' -pkgname=vmklive -version=0.9.4 -revision=1 -noextract=yes -noarch=yes -replaces="xbps-mklive>=0 vanilla-mklive>=0" -fulldepends="dracut>=018_2 cdrtools squashfs-tools syslinux>=4.05_2" -short_desc="Void Linux live image maker" -maintainer="Juan RP " -license="Public domain" -homepage="http://code.google.com/p/xbps" -long_desc=" - $pkgname is a simple shell script to build a bootable live image - for void linux." - -do_build() { - sed "s|@@MKLIVE_VERSION@@|${version}|g" \ - ${FILESDIR}/mklive.sh.in > ${pkgname}.sh -} - -do_install() { - vinstall ${pkgname}.sh 755 usr/sbin vmklive - # Install dracut module. - vinstall ${FILESDIR}/dracut-module.sh 755 \ - usr/lib/dracut/modules.d/01vmklive module-setup.sh - vinstall ${FILESDIR}/dracut-vmklive-adduser.sh 755 \ - usr/lib/dracut/modules.d/01vmklive vmklive-adduser.sh -}