slitaz-modular rev 29
Got BACKUP_SOURCES and PACKAGES config options working right.
author | Christopher Rogers <slaxemulator@gmail.com> |
---|---|
date | Sat Feb 26 06:31:16 2011 +0000 (2011-02-26) |
parents | 6273083365ce |
children | afc5e1a66639 |
files | mkiso.sh |
line diff
1.1 --- a/mkiso.sh Fri Feb 25 12:01:24 2011 +0000 1.2 +++ b/mkiso.sh Sat Feb 26 06:31:16 2011 +0000 1.3 @@ -40,6 +40,7 @@ 1.4 CLEAN_MODULES_DIR="no" 1.5 CLEAN_INITRAMFS="no" 1.6 PACKAGES_REPOSITORY="$LOCAL_REPOSITORY/packages" 1.7 +INCOMING_REPOSITORY="$LOCAL_REPOSITORY/packages-incoming" 1.8 SOURCES_REPOSITORY="$LOCAL_REPOSITORY/src" 1.9 HG_LIST="flavors flavors-stable slitaz-base-files slitaz-boot-scripts slitaz-configs slitaz-dev-tools slitaz-doc slitaz-forge slitaz-pizza slitaz-tools tazlito tazpkg tazusb tazwok website wok wok-stable wok-tiny wok-undigest" 1.10 1.11 @@ -274,44 +275,37 @@ 1.12 if [ "${BACKUP_PACKAGES}" = "yes" ]; then 1.13 [ -d $ISODIR/boot/packages ] && rm -r $ISODIR/boot/packages 1.14 mkdir -p $ISODIR/boot/packages 1.15 + WOK=${HG_DIR}/wok/home/slitaz/repos/wok 1.16 info "Making cooking list based installed packages in union" 1.17 - tazwok gen-cooklist $ISODIR/packages-installed.list > $ISODIR/cookorder.list 1.18 - #[ -f $INCOMING_REPOSITORY/wok-wanted.txt ] || tazwok gen-wok-db 1.19 - 1.20 - info "Linking all installed packages to $ISODIR/boot/packages" 1.21 - cat $ISODIR/packages-installed.list | while read PACKAGE; do 1.22 - VERSION=$(grep ^VERSION= ${HG_DIR}/wok/${PACKAGE}/receipt | cut -d "=" -f2 | sed -e 's/"//g') 1.23 - CACHE_PACKAGE=$(find $CACHE_DIR/$(cat /etc/slitaz-release)/packages -type f -name "$PACKAGE-$VERSION.tazpkg") 1.24 - if [ -f $CACHE_PACKAGE ]; then 1.25 - info "Copying $CACHE_PACKAGE to $ISODIR/boot/packages" 1.26 - ln -sf $CACHE_PACKAGE $ISODIR/boot/packages 1.27 - #elif [ ! -f $CACHE_PACKAGE ]; then 1.28 - # info "$CACHE_PACKAGE doesn't exist. Downloading it." 1.29 - # cd $CACHE_DIR/$(cat /etc/slitaz-release)/packgages 1.30 - # tazpkg get $PACKAGE 1.31 - # cd $WORKING 1.32 - # if [ -f $CACHE_PACKAGE ]; then 1.33 - # ln -sf $CACHE_PACKAGE $ISODIR/packages 1.34 - # fi 1.35 + # this is to filter out packages build by get- 1.36 + # packages that don't exist in repo or wok 1.37 + cat $ISODIR/packages-installed.list | while read pkg; do 1.38 + if [ ! -f $WOK/$pkg/receipt ]; then 1.39 + sed -i "s|$pkg||g" $ISODIR/packages-installed.list 1.40 fi 1.41 done 1.42 + tazwok gen-cooklist $ISODIR/packages-installed.list > $ISODIR/cookorder.list 1.43 + [ -f $INCOMING_REPOSITORY/wok-wanted.txt ] || tazwok gen-wok-db 1.44 1.45 - cat $ISODIR/cookorder.list | while read PACKAGE; do 1.46 - rwanted=$(grep $'\t'$PACKAGE$ $INCOMING_REPOSITORY/wok-wanted.txt | cut -f 1) 1.47 - echo $rwanted | while read WANTED_PKG; do 1.48 - VERSION=$(grep ^VERSION= ${HG_DIR}/wok/${WANTED_PKG}/receipt | cut -d "=" -f2 | sed -e 's/"//g') 1.49 - CACHE_PACKAGE=$(find $CACHE_DIR/$(cat /etc/slitaz-release)/packages -type f -name "$WANTED_PKG-$VERSION.tazpkg") 1.50 - if [ -f $CACHE_PACKAGE ]; then 1.51 - info "Copying $CACHE_PACKAGE to $ISODIR/boot/packages" 1.52 - ln -sf $CACHE_PACKAGE $ISODIR/boot/packages 1.53 - #elif [ ! -f $CACHE_PACKAGE ]; then 1.54 - # info "$CACHE_PACKAGE doesn't exist. Downloading it." 1.55 - # cd $CACHE_DIR/$(cat /etc/slitaz-release)/packgages &>/dev/null 1.56 - # tazpkg get $PACKAGE 1.57 - # cd $WORKING 1.58 - # if [ -f $CACHE_PACKAGE ]; then 1.59 - # ln -sf $CACHE_PACKAGE $ISODIR/packages 1.60 - # fi 1.61 + #CACHE_REPOSITORY="/var/cache/tazpkg/$(cat /etc/slitaz-release)/packages" 1.62 + 1.63 + cat $ISODIR/cookorder.list | grep -v "^#" | while read pkg; do 1.64 + rwanted=$(grep $'\t'$pkg$ $INCOMING_REPOSITORY/wok-wanted.txt | cut -f 1) 1.65 + pkg_VERSION="$(grep -m1 -A1 ^$pkg$ $PACKAGES_REPOSITORY/packages.txt | \ 1.66 + tail -1 | sed 's/ *//')" 1.67 + for wanted in $rwanted; do 1.68 + if [ -f $PACKAGES_REPOSITORY/$wanted-$pkg_VERSION.tazpkg ]; then 1.69 + ln -sf $PACKAGES_REPOSITORY/$wanted-$pkg_VERSION.tazpkg $ISODIR/boot/packages/$wanted-$pkg_VERSION.tazpkg 1.70 + fi 1.71 + done 1.72 + for i in $(ls $WOK/$pkg/receipt); do 1.73 + unset SOURCE TARBALL WANTED PACKAGE VERSION pkg_VERSION 1.74 + source $i 1.75 + pkg_VERSION="$(grep -m1 -A1 ^$PACKAGE$ $PACKAGES_REPOSITORY/packages.txt | \ 1.76 + tail -1 | sed 's/ *//')" 1.77 + [ "$WGET_URL" ] || continue 1.78 + if [ -f $PACKAGES_REPOSITORY/$PACKAGE-$pkg_VERSION.tazpkg ]; then 1.79 + ln -sf $PACKAGES_REPOSITORY/$PACKAGE-$pkg_VERSION.tazpkg $ISODIR/boot/packages/$PACKAGE-$pkg_VERSION.tazpkg 1.80 fi 1.81 done 1.82 done 1.83 @@ -325,24 +319,28 @@ 1.84 1.85 if [ "${BACKUP_PACKAGES}" = "yes" -a "${BACKUP_SOURCES}" = "yes" ]; then 1.86 [ -d $SOURCES_REPOSITORY ] || mkdir -p $SOURCES_REPOSITORY 1.87 - [ -d $ISODIR/boot/src ] || mkdir -p $ISODIR/boot/src 1.88 - 1.89 - cat $ISODIR/cookorder.list | while read PACKAGE; do 1.90 - WGET_URL=$(grep ^WGET_URL= ${HG_DIR}/wok/${PACKAGE}/receipt | cut -d "=" -f2 | sed -e 's/"//g' | head -n 1) 1.91 - VERSION=$(grep ^VERSION= ${HG_DIR}/wok/${PACKAGE}/receipt | cut -d "=" -f2 | sed -e 's/"//g' | head -n 1) 1.92 - TARBALL=$(grep ^TARBALL= ${HG_DIR}/wok/${PACKAGE}/receipt | cut -d "=" -f2 | sed -e 's/"//g' | head -n 1) 1.93 - 1.94 - if [ ! -f "$SOURCES_REPOSITORY/$TARBALL" ] && \ 1.95 - [ ! -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ]; then 1.96 - tazwok get-src $PACKAGE --nounpack 1.97 - if [ -f "$SOURCES_REPOSITORY/$TARBALL" ]; then 1.98 - ln -sf $SOURCES_REPOSITORY/$TARBALL $ISODIR/sources/$TARBALL 1.99 - elif [ -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ]; then 1.100 - ln -sf $SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma $ISODIR/sources/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma 1.101 + [ -d $ISODIR/boot/src ] && rm -r $ISODIR/boot/src 1.102 + mkdir -p $ISODIR/boot/src 1.103 + WOK=${HG_DIR}/wok/home/slitaz/repos/wok 1.104 + cat $ISODIR/cookorder.list | grep -v "^#"| while read pkg; do 1.105 + #rwanted=$(grep $'\t'$pkg$ $INCOMING_REPOSITORY/wok-wanted.txt | cut -f 1) 1.106 + for i in $(ls $WOK/$pkg/receipt); do 1.107 + unset SOURCE TARBALL WANTED PACKAGE VERSION 1.108 + source $i 1.109 + { [ ! "$TARBALL" ] || [ ! "$WGET_URL" ] ; } && continue 1.110 + if [ ! -f "$SOURCES_REPOSITORY/$TARBALL" ] && \ 1.111 + [ ! -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ]; then 1.112 + tazwok get-src $PACKAGE --nounpack 1.113 + if [ -f "$SOURCES_REPOSITORY/$TARBALL" ]; then 1.114 + ln -sf $SOURCES_REPOSITORY/$TARBALL $ISODIR/sources/$TARBALL 1.115 + elif [ -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ]; then 1.116 + ln -sf $SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma $ISODIR/boot/src/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma 1.117 + fi 1.118 + else 1.119 + [ -f "$SOURCES_REPOSITORY/$TARBALL" ] && ln -sf $SOURCES_REPOSITORY/$TARBALL $ISODIR/boot/src/$TARBALL 1.120 + [ -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ] && ln -sf $SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma $ISODIR/boot/src/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma 1.121 fi 1.122 - else 1.123 - [ -f "$SOURCES_REPOSITORY/$TARBALL" ] && ln -sf $SOURCES_REPOSITORY/$TARBALL $ISODIR/sources/$TARBALL 1.124 - fi 1.125 + done 1.126 done 1.127 cd $ISODIR/boot/src 1.128 info "Make md5sum file for sources"