# HG changeset patch # User Antoine Bodin # Date 1301073621 -3600 # Node ID ae0a39ba004afeead7927b31c8db751938d3f4ce # Parent 4c0c67f363364827da18ca0ab4e38bdc486f8957# Parent e2d5b3583ee8e709c89cfaf6c81b55b1afe88b1b Merge changes from default diff -r 4c0c67f36336 -r ae0a39ba004a .hgtags --- a/.hgtags Fri Mar 25 17:58:40 2011 +0100 +++ b/.hgtags Fri Mar 25 18:20:21 2011 +0100 @@ -22,3 +22,4 @@ 433aa071e16c7f61966e426207dfa3f142859458 4.2.5 bf449151a34258e71f7ec0868f3e521d22995817 4.2.6 ff412a1044b097a7fb095d22081245fbcb00a187 4.2.7 +7e7265ac0dc0858705f369998a140298c753854b 4.2.8 diff -r 4c0c67f36336 -r ae0a39ba004a tazwok --- a/tazwok Fri Mar 25 17:58:40 2011 +0100 +++ b/tazwok Fri Mar 25 18:20:21 2011 +0100 @@ -49,6 +49,7 @@ gen-cooklist Generate a sorted cooklist using packages or list. sort-cooklist Sort the cooklist given in argument. get-src Download the tarball of the package given in argument. + gen-src Rebuild sources.list in $SOURCES_REPOSITORY folder. clean Clean all generated files in the package tree. new-tree Prepare a new package tree and receipt (--interactive). gen-list (Re-)Generate a packages list for a repository. @@ -124,7 +125,7 @@ get_config # Define & get options. - get_options_list="$get_options_list SLITAZ_DIR SLITAZ_VERSION undigest" + get_options_list="$get_options_list WOK SLITAZ_DIR SLITAZ_VERSION undigest" get_options LOCAL_REPOSITORY=$SLITAZ_DIR/${undigest:-$SLITAZ_VERSION} @@ -226,7 +227,7 @@ set_common_path() { PACKAGES_REPOSITORY=$LOCAL_REPOSITORY/packages - WOK=$LOCAL_REPOSITORY/wok + [ "$WOK" ] || WOK=$LOCAL_REPOSITORY/wok INCOMING_REPOSITORY=$LOCAL_REPOSITORY/packages-incoming SOURCES_REPOSITORY=$LOCAL_REPOSITORY/src RECEIPT="$WOK/$PACKAGE/receipt" @@ -655,6 +656,41 @@ report end-step } +# help gen sources.list file from scranch +gen_sources_list() +{ + local src_repository=$1 + [ -f $src_repository/sources.list ] && rm -f $src_repository/sources.list + for i in $WOK/*; do + unset PACKAGE SOURCE VERSION WGET_URL TARBALL WANTED + [ -f $i/receipt ] && source $i/receipt + [ "$WGET_URL" ] || continue + if grep -q "^$PACKAGE | $VERSION" $PACKAGES_REPOSITORY/packages.desc; then + main_version="$VERSION" + if [ -f $src_repository/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma ]; then + echo -e "$PACKAGE:main\t${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" >> $src_repository/sources.list + elif [ -f "$src_repository/$TARBALL" ]; then + echo -e "$PACKAGE:main\t$TARBALL" >> $src_repository/sources.list + fi + else + # May not works if package use extraversion. + main_version=$(grep -m1 -A1 -sh ^$PACKAGE$ $PACKAGES_REPOSITORY/packages.txt | tail -1 | sed 's/ *//') + if [ -f $src_repository/${SOURCE:-$PACKAGE}-$main_version.tar.lzma ]; then + echo -e "$PACKAGE:main\t${SOURCE:-$PACKAGE}-$main_version.tar.lzma" >> $src_repository/sources.list + else + unset main_version + fi + fi + if [ ! "$main_version" ] || [ $(grep -q "^$PACKAGE | $VERSION" $INCOMING_REPOSITORY/packages.desc 2>/dev/null) ]; then + if [ -f $src_repository/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma ]; then + echo -e "$PACKAGE:incoming\t${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" >> $src_repository/sources.list + elif [ -f "$src_repository/$TARBALL" ]; then + echo -e "$PACKAGE:incoming\t$TARBALL" >> $src_repository/sources.list + fi + fi + done +} + # Log and execute compile_rules function if it exists, to configure and # make the package if it exists. check_for_compile_rules() @@ -966,6 +1002,7 @@ [ -n "$FSH" ] || FSH="bin boot dev etc home init lib media mnt proc \ root sbin share sys tmp usr var vz usr/bin usr/games usr/include usr/lib \ usr/local usr/sbin usr/share usr/src" + error=0 for i in `ls -d * usr/* 2>/dev/null` do if ! echo $FSH | fgrep -q $i; then @@ -3231,6 +3268,21 @@ echo "No tarball to check for $PACKAGE" fi ;; + gen-src) + get_tazwok_config + if [ "$2" ]; then + if [ -d "$2" ]; then + src_repository=$2 + else + echo -e "\nUnable to find directory : $2\n" >&2 + exit 1 + fi + fi + echo -n "Rebuilding sources.list file" + [ $src_repository ] || src_repository="$SOURCES_REPOSITORY" + gen_sources_list $src_repository + status + ;; get-src) check_root get_options_list="target nounpack"