#!/bin/sh # Author: Didier Spaier, Paris, France # # Before running this script # Before running : # 1) set MIRRORSLACKWARE line #8 # 2) if it is a local repo, sync it with an up to date remote one # If need be modify buildrepo and SLINTREPO. SLACKVERSION="15.0" SLINTVERSION="15.0" SLINTREPO=/repo/x86_64/slint-$SLINTVERSION/slint SFX=64 MIRRORSLACKWARE=/data/slackware-$SLACKVERSION DATESTAMP=$(date +%Y%m%d) rm -rf pkg_lists/"$DATESTAMP" mkdir -p pkg_lists/"$DATESTAMP" echo "writing the slackware list" for SERIES in a ap d e f k l n t tcl x xap y; do find $MIRRORSLACKWARE/slackware$SFX/$SERIES/ -name "*t?z"| \ grep -v -f excluded_from_slackware >> pkg_lists/"$DATESTAMP"/slackware done echo "Writing the list of needed packages from the kde series" for i in breeze-grub breeze-gtk breeze-icons oxygen-fonts oxygen-gtk2 \ oxygen-icons5 kwindowsystem kde-gtk-config kidletime solid kwayland-5 \ libkscreen kauth kcodecs kconfig-5 kguiaddons ki18n kwidgetsaddons \ kdbusaddons kdecoration kde-gtk-config kcoreaddons kconfigwidgets; do echo $MIRRORSLACKWARE/slackware$SFX/kde/${i}*txz >> pkg_lists/"$DATESTAMP"/slackware done #echo "Writing the list of needed packages from the xfce series" #for i in garcon libxfce4ui libxfce4util xfce4-appfinder xfconf; do # echo $MIRRORSLACKWARE/slackware$SFX/xfce/${i}*txz >> pkg_lists/$DATESTAMP/slackware #done echo "writing the slackware_locales list" find $MIRRORSLACKWARE/extra/aspell-word-lists/ -name "*t?z">> pkg_lists/"$DATESTAMP"/slackware_locales echo "writing the slint list" find $SLINTREPO -name "*t?z"|grep -v -e locales/ -e voices/ -e extra/ >> pkg_lists/"$DATESTAMP"/slint echo "writing the extra list" find $SLINTREPO/extra -name "*t?z" >> pkg_lists/"$DATESTAMP"/extra echo "writing the patches list" find $MIRRORSLACKWARE/patches/packages -name "*t?z"| grep -v -f excluded_from_slackware \ >> pkg_lists/"$DATESTAMP"/patches echo "writing the slint locales list" find $SLINTREPO/locales -name "*t?z" >> pkg_lists/"$DATESTAMP"/slint_locales echo "writing the flite voices list" while read -r i; do find $SLINTREPO/voices/flite -name "${i}*t?z" >> pkg_lists/"$DATESTAMP"/flite_voices done < doc/flite_voices_included_in_the_ISO echo "writing the mbrola voices list" while read -r i ; do find $SLINTREPO/voices/mbrola -name "${i}*t?z" >> pkg_lists/"$DATESTAMP"/mbrola_voices done < doc/mbrola_voices_included_in_the_ISO echo "removing the files from patches of which we do not ship the base package." # packages in patches should not be included if the package short name is not found in the # slackware list which includes a limited set of packages we want to ship in the ISO ( cd pkg_lists/"$DATESTAMP" || exit 1 sed "s@.*/@@" patches >smallpatches sed "s@.*/@@" slackware >smallslackware while read -r pkg; do shortname=$(basename "$pkg"|sed "s/-[^-]*-[^-]*-[^-]*$//") if grep -q "$shortname" smallslackware; then echo "$pkg" >> smallpatches.new fi done < smallpatches sed "s@.*@/data/slackware-15.0/patches/packages/&@" smallpatches.new > patches rm smallpatches smallpatches.new smallslackware ) ( cd pkg_lists/"$DATESTAMP" || exit 1 echo "***checking patches against slackware***" # patches in Slackware should not come from other Slackware directories. while read -r i; do SHORTNAME=$(basename "$i"|sed "s/-[^-]*-[^-]*-[^-]*$//") if grep -wq "$SHORTNAME" slackware; then echo "${SHORTNAME} found in patches removed from slackware" sed "\/${SHORTNAME}-[^-]*-[^-]*-[^-]*$d" slackware > tmpfile mv tmpfile slackware fi done tmpfile mv tmpfile slackware fi if grep -wq "$SHORTNAME" patches; then echo "${SHORTNAME} found in slint removed from patches" sed "\/${SHORTNAME}-[^-]*-[^-]*-[^-]*$d" patches > tmpfile mv tmpfile patches fi done >PACKAGES done ) ( cd pkg_lists/"$DATESTAMP" || exit 1 rm -f PACKAGES_WITH_EXTRA for serie in slackware patches slint extra; do cat $serie >>PACKAGES_WITH_EXTRA done ) echo "All done."