]> gitweb.fluxo.info Git - simplepkg.git/commitdiff
see doc/CHANGELOG for changes
authorrhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58>
Sun, 8 Apr 2007 16:14:38 +0000 (16:14 +0000)
committerrhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58>
Sun, 8 Apr 2007 16:14:38 +0000 (16:14 +0000)
git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@325 04377dda-e619-0410-9926-eae83683ac58

trunk/conf/simplepkg.conf.new
trunk/doc/CHANGELOG
trunk/lib/common.sh
trunk/simplepkg.SlackBuild
trunk/src/lspkg
trunk/src/simplaret

index d524659f74af98dba925ce4818ef0d13b1689089..6a3c687983e3ab9651a1aaff571e1045ece7be30 100644 (file)
@@ -29,6 +29,9 @@ SIMPLARET_DELETE_DOWN="1"
 # to enable it, set to "1" or "yes"
 SIMPLARET_UPDATE="1"
 
+# Wheter try to download from the next repository on failed download.
+SIMPLARET_DOWNLOAD_FROM_NEXT_REPO="1"
+
 # Wheter delete also patches when simplaret --purge is called;
 # to enable it, set to "1" or "yes"
 SIMPLARET_PURGE_PATCHES="0"
@@ -64,6 +67,9 @@ CONNECT_TIMEOUT="20"
 # ROOT repository package priority
 ROOT_PRIORITY="patches slackware extra testing pasture"
 
+# REPOS repository package priority
+REPOS_PRIORITY="patches slackware extra testing pasture"
+
 # Whether to check package signatures (you should have the repository
 # maintainer key on your keyring)
 SIGNATURE_CHECKING="0"
index 5295fdca222430f767c24e7b89a03fb8e5a5c2a5..afc190a1c38ba60b42955151da16584d68f91a7c 100644 (file)
@@ -1,6 +1,16 @@
 simplepkg changelog
 ===================
 
+0.5pre14
+========
+
+  - simplaret
+    - added variable REPOS_PRIORITY
+    - added variable SIMPLARET_DOWNLOAD_FROM_NEXT_REPO
+
+  - lspkg:
+    - small bugfix
+
 0.5pre9 - 0.5pre13
 ==================
 
index cae5db52ef633bee0578dc5fb3f9d826f4e06804..2680cff42b06f8e5a42b851e77b122b66e85542e 100644 (file)
@@ -209,6 +209,7 @@ function eval_config {
     JAIL_ROOT="`eval_parameter JAIL_ROOT /vservers`"
     PATCHES_DIR="`eval_parameter PATCHES_DIR /var/simplaret/patches`"
     ROOT_PRIORITY="`eval_parameter ROOT_PRIORITY patches slackware extra testing pasture`"
+    REPOS_PRIORITY="`eval_parameter REPOS_PRIORITY patches slackware extra testing pasture`"
     SIMPLARET_PURGE_WEEKS="`eval_parameter SIMPLARET_PURGE_WEEKS 0`"
     FTP_TOOL="`eval_parameter FTP_TOOL curl`"
     HTTP_TOOL="`eval_parameter HTTP_TOOL curl`"
@@ -221,6 +222,7 @@ function eval_config {
     SIMPLARET_UPDATE="`eval_boolean_parameter SIMPLARET_UPDATE 0`"
     SIMPLARET_DELETE_DURING="`eval_boolean_parameter SIMPLARET_DELETE_DURING 0`"
     SIMPLARET_PURGE_PATCHES="`eval_boolean_parameter SIMPLARET_PURGE_PATCHES 0`"
+    SIMPLARET_DOWNLOAD_FROM_NEXT_REPO="`eval_boolean_parameter SIMPLARET_DOWNLOAD_FROM_NEXT_REPO 1`"
     PASSIVE_FTP="`eval_boolean_parameter PASSIVE_FTP 0`"
     WARNING="`eval_boolean_parameter WARNING 0`"
     SIGNATURE_CHECKING="`eval_boolean_parameter SIGNATURE_CHECKING 0`"
index 827f12cb4d1cc3468bbc30bef6ecc79477904f9f..d56d2c5c9e6b89adf0201e6a5c81586bff95948f 100755 (executable)
@@ -6,7 +6,7 @@
 PACKAGE="simplepkg"
 PACK_DIR="package-$PACKAGE"
 BUILD=${BUILD:=1rha}
-VERSION="0.5pre13"
+VERSION="0.5pre14"
 ARCH="noarch"
 LIBEXEC="/usr/libexec/$PACKAGE"
 BINDIR="/usr/bin"
index c60de493d3d28a18638b4bdada302c06767eccde..167b547a1af93c8a52a19b75d3e438f0fa401737 100755 (executable)
 #  Place - Suite 330, Boston, MA 02111-1307, USA
 #
 
+COMMON="/usr/libexec/simplepkg/common.sh"
+
+if [ -f "$COMMON" ]; then
+    source $COMMON
+else
+    echo "error: file $COMMON not found, check your `basename $0` installation"
+    exit 1
+fi
+
 function head_line {
     echo "usage: [ROOT=/otherroot] `basename $0` [option expression]"
 }
@@ -37,14 +46,6 @@ options are:
 # -----------------------------------------------------
 #                       lspkg
 # -----------------------------------------------------
-COMMON="/usr/libexec/simplepkg/common.sh"
-
-if [ -f "$COMMON" ]; then
-    source $COMMON
-else
-    echo "error: file $COMMON not found, check your `basename $0` installation"
-    exit 1
-fi
 
 if [ $# -eq 2 ]; then
     LIST_PKGS="`ls /$ROOT/var/log/packages/$2-[0-9]* 2> /dev/null`"
@@ -116,7 +117,9 @@ case $1 in
     ;;
     *)
         if [ ! -z "$LIST_PKGS" ]; then
-            echo "$LIST_PKGS"
+            for pack in $LIST_PKGS; do
+              echo $pack
+            done
         else
             if [ ! -z "$ROOT" ]; then
                 echo "$1: package not found on /$ROOT/var/log/packages"
index cbb6cb703fa3489aa76a53292479b72c424ae665..374c988c4ebca327383425c039414e4aab11027b 100755 (executable)
@@ -367,6 +367,21 @@ function simplaret_search {
           for file in `simplaret_find_package $pattern $storage/$repository_name | egrep -v $priority_match`; do
             simplaret_show_package $file $mode
           done
+          priority_match=""
+        elif [ "$repos_type" == "repos" ]; then
+          # repos repositories has REPOS_PRIORITY
+          for priority in $REPOS_PRIORITY; do
+            for file in `simplaret_find_package $pattern $storage/$repository_name | grep "/$priority/"`; do
+              simplaret_show_package $file $mode
+            done
+            priority_match="$priority_match|/$priority/"
+          done
+          # now we should return all matches that are not part of REPOS_PRIORITY
+          priority_match="`echo $priority_match | sed -e 's/^|//'`"
+          for file in `simplaret_find_package $pattern $storage/$repository_name | egrep -v $priority_match`; do
+            simplaret_show_package $file $mode
+          done 
+          priority_match=""
         else
           for file in `simplaret_find_package $pattern $storage/$repository_name`; do
             simplaret_show_package $file $mode
@@ -506,7 +521,7 @@ function simplaret_get {
       simplaret_repository_url
 
       # if repos_type == root, the package is a patch and
-      # STORE_ROOT_PATCHES_ON_PATCHES_DIR config parameter is enabled
+      # STORE_ROOT_PATCHES_ON_PATCHES_DIR config parameter is enabled, then
       # save it on $PATCHES_DIR/root-$repository_name, so all patches
       # are placed in the same tree
       if [ "$repos_type" == "root" ] && \
@@ -543,7 +558,11 @@ function simplaret_get {
         if [ "$2" != "--silent" ]; then
           echo Error downloading $candidate from $repos_type repository $repository_url, please check your settings
         fi
-        return 1
+        # TODO: must check if there's also more repositories to try,
+        #       otherwise this function will never return an error code
+        #if [ "$SIMPLARET_DOWNLOAD_FROM_NEXT_REPO" != "1" ]; then
+          return 1
+        #fi
       else
         LAST_DOWNLOADED_PACKAGE="$folder/$candidate"
         if [ "$2" != "--silent" ]; then