#!/bin/sh # geniso-poldek: Arkadiusz Miskiewicz , 2001 set -x umask 022 ROOT="/home/ftp/pub/Linux/PLD" PATH=$ROOT/.stat/bin:$PATH; export PATH ARCHLIST="ppc" #ARCHLIST="i386 i686" #ARCHLIST="i386 i586" UTILS_SIZE=$(du -scmD $ROOT/dists/ra/PLD/ppc/PLD/{dosutils,inst,images} | grep total | xargs | cut -d" " -f1) UTILS_SIZE=$(($UTILS_SIZE + 10)) CDROM_SIZE=650 #MKISOFSOPT="-print-size" MKISOFSOPT="-quiet" #BOOTDISK="PLD/images/bootdisk.img" #BOOTDISK="PLD/images/bootdisk_iso.img" # $POLDEK POLDEK=$ROOT/.stat/bin/poldek-ra #ISOTMPDIR="" ISOTMPDIR=/home/pld/admins/isotmp pld_info() { echo " ************************************************************* ___ _ ___ | _ \ | | \ | _/ |__| |) | Linux 1.0 Ra |_| |____|___/ Stable Version ISO image ftp://ftp.pld-linux.org/ && ftp://ftp.ipv6.pld-linux.org/ Additional access is at http://www.pld-linux.org/distrib/ftp/. For questions and other contacts mailto:feedback@pld-linux.org ISO Build: `LC_ALL=C date`. ************************************************************* " } cd $ROOT/.stat/packages && cvs -d:pserver:cvs@cvs.pld-linux.org:/cvsroot up -A poldek-iso.priority for ARCH in ${ARCHLIST}; do echo "Generating ISOs for ${ARCH}, size ${SIZE}" rm -rf ${ISOTMPDIR}/pld-${ARCH}.iso* $POLDEK -s ${ROOT}/dists/ra/PLD/${ARCH}/PLD/RPMS/ --mkidxz $POLDEK -s ${ROOT}/dists/ra/PLD/${ARCH}/PLD/RPMS/ --update $POLDEK -s ${ROOT}/dists/ra/PLD/${ARCH}/PLD/RPMS/ \ --split=${CDROM_SIZE}:${UTILS_SIZE} \ --split-conf=${ROOT}/.stat/packages/poldek-iso.priority \ --split-out=${ISOTMPDIR}/pld-${ARCH}.iso.list || exit 1 COUNT="$(ls -1 ${ISOTMPDIR}/pld-${ARCH}.iso.list* | wc -l)" COUNTZERO=$(($COUNT - 1)) MAINISODIR=`mktemp -d ${ISOTMPDIR}/pld-${ARCH}.iso.dir.XXXXXX` || exit 1 for NR in $(seq 0 ${COUNTZERO}); do ISODIR=$MAINISODIR/$NR ISODIR0=$MAINISODIR/0 mkdir -p ${ISODIR}/PLD || exit 1 if [ "${NR}" = "0" ]; then cp -pRL ${ROOT}/dists/ra/PLD/${ARCH}/PLD/images ${ISODIR}/PLD/images cp -pRL ${ROOT}/dists/ra/PLD/${ARCH}/PLD/inst ${ISODIR}/PLD/inst case ${ARCH} in i386|i586|i686) cp -pRL ${ROOT}/dists/ra/PLD/${ARCH}/PLD/dosutils ${ISODIR}/PLD/dosutils # cp -a ${ROOT}/PLD-1.0/i386/PLD/BOOT ${ISODIR}/PLD/BOOT ;; esac echo "cdrom_get = \"/usr/bin/vfjuggle %d %Pn\"" >${ISODIR0}/.poldekrc echo "# priorites of packages used during generation of cd images" >${ISODIR0}/.pkgsplit.conf cat ${ROOT}/.stat/packages/poldek-iso.priority >>${ISODIR0}/.pkgsplit.conf # elif [ "${NR}" = "$COUNTZERO" ]; then # mkdir -p ${ISODIR}/test/ # cp -a ${ROOT}/test/${ARCH}/ ${ISODIR}/test/${ARCH}/ # mkdir -p ${ISODIR}/supported/ # cp -a ${ROOT}/supported/${ARCH}/ ${ISODIR}/supported/${ARCH}/ fi mkdir -p ${ISODIR}/PLD/RPMS # ln -s . ${ISODIR}/PLD/RPMS/RPMS for file in $(cat ${ISOTMPDIR}/pld-${ARCH}.iso.list.${NR}); do cp -a ${ROOT}/dists/ra/PLD/${ARCH}/PLD/RPMS/${file} \ ${ISODIR}/PLD/RPMS/${file} done # $POLDEK $POLDEK -s ${ISODIR}/PLD/RPMS/ --mkidxz # move indexes to first cd mkdir ${ISODIR0}/cd${NR} || exit 1 mv ${ISODIR}/PLD/RPMS/packages.dir* ${ISODIR0}/cd${NR} # create identification file IDENT=PLD-1.0-cd${NR} IDENT0=PLD-1.0-cd0 touch ${ISODIR}/${IDENT} echo "source${NR} = cdrom://${IDENT0}/cd${NR}/" >>${ISODIR0}/.poldekrc echo "prefix${NR} = cdrom://${IDENT}/PLD/RPMS/" >>${ISODIR0}/.poldekrc # apt mkdir -p ${ISODIR}/apt/SRPMS.base mkdir -p ${ISODIR}/apt/PLD-1.0/base ln -s ../../PLD/RPMS ${ISODIR}/apt/PLD-1.0/RPMS.base #${ROOT}/.stat/bin/genbasedir --bloat --topdir=${ISODIR}/apt/ PLD-1.0/ base # wuch # ??? # if [ "${NR}" = "$COUNTZERO" ]; then # # $POLDEK # $POLDEK -s ${ISODIR}/test/${ARCH}/ --mkidxz # $POLDEK -s ${ISODIR}/supported/${ARCH}/ --mkidxz # # apt # mkdir -p ${ISODIR}/apt/SRPMS.supported # ln -s ../../supported/${ARCH} ${ISODIR}/apt/PLD-1.0/RPMS.supported # ${ROOT}/.stat/bin/genbasedir --bloat --topdir=${ISODIR}/apt/ PLD-1.0/ supported # mkdir -p ${ISODIR}/apt/SRPMS.test # ln -s ../../test/${ARCH} ${ISODIR}/apt/PLD-1.0/RPMS.test # ${ROOT}/.stat/bin/genbasedir --bloat --topdir=${ISODIR}/apt/ PLD-1.0/ test # # wuch # # ??? # fi pld_info > ${ISODIR}/PLD-README.txt done for NR in $(seq 0 ${COUNTZERO}); do ISODIR=$MAINISODIR/$NR # if [ "${NR}" = "0" ]; then # ISONAME="pld-${ARCH}-base" # BOOTOPT="-b ${BOOTDISK} -c PLD/images/boot.cat" # else ISONAME="pld-${ARCH}-${NR}" BOOTOPT="" # fi touch ${ISODIR}/${ISONAME} echo "Running mkisofs for ${ISONAME}.iso" ${ROOT}/.stat/bin/mkisofs \ ${MKISOFSOPT} \ ${BOOTOPT} \ -J -r -hfs \ -o ${ROOT}/iso/ra/${ARCH}/${ISONAME}.iso \ ${ISODIR}/ || rm -f ${ROOT}/iso/ra/${ARCH}/${ISONAME}.iso echo "Generating ls and md5sum for ${ISONAME}.iso" cd ${ROOT}/iso/ra/${ARCH} ${ROOT}/.stat/bin/isoinfo -R -l -i ${ISONAME}.iso > ${ISONAME}.ls md5sum ${ISONAME}.iso ${ISONAME}.ls > ${ISONAME}.md5 ls -l ${ISONAME}.iso pld_info > ${ISONAME}.readme rm -rf ${ISODIR} done rm -rf ${ISOTMPDIR}/pld-${ARCH}.iso* done #./geniso-mini