diff options
author | rhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58> | 2007-02-06 16:58:48 +0000 |
---|---|---|
committer | rhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58> | 2007-02-06 16:58:48 +0000 |
commit | 9e794539646d3e7b392c197faf14ae80acd3160f (patch) | |
tree | 854b73ec95bdffd498f36499dfb4fd89dfd28f8f | |
parent | e6fd9b6006b6efd60a937c9302995fe4bd50c39a (diff) | |
download | simplepkg-9e794539646d3e7b392c197faf14ae80acd3160f.tar.gz simplepkg-9e794539646d3e7b392c197faf14ae80acd3160f.tar.bz2 |
new config variable STORE_ROOT_PATCHES_ON_PATCHES_DIR
git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@151 04377dda-e619-0410-9926-eae83683ac58
-rw-r--r-- | conf/simplepkg.conf.new | 28 | ||||
-rw-r--r-- | doc/CHANGELOG | 6 | ||||
-rw-r--r-- | lib/common.sh | 22 | ||||
-rwxr-xr-x | simplepkg.SlackBuild | 2 | ||||
-rwxr-xr-x | src/simplaret | 16 |
5 files changed, 53 insertions, 21 deletions
diff --git a/conf/simplepkg.conf.new b/conf/simplepkg.conf.new index bf62450..51187ef 100644 --- a/conf/simplepkg.conf.new +++ b/conf/simplepkg.conf.new @@ -65,14 +65,24 @@ ROOT_PRIORITY="patches slackware extra testing pasture" # to keep local copies of all needed patches for your system DOWNLOAD_EVEN_APPLIED_PATCHES="0" -# Enabling this option, jail-upgrade will look at your -# standard repositories for new packages; if it find a package -# with different version of your current installed package and -# also this package isnt in the packages folder, then the new -# package is applied; if in doubt, just say no or leave blank. -# Otherwise set it either to "yes" or "1" and remember that if -# enables this feature can cause problems if you use more than -# one REPOS definition for each ARCH and VERSION. -# Also, this option can be very slow. +# Enabling this option (i.e, setting to "1" or "yes"), simplaret will +# look at your standard repositories for new packages; if it find a +# package with different version of your current installed package and +# also this package isnt in the packages folder, then the new package +# is applied; if in doubt, just say no or leave blank. Otherwise set it +# either to "yes" or "1" and remember that if enabling this feature can +# cause problems if you use more than one REPOS definition for each +# ARCH and VERSION. Also, this option can be very slow. CONSIDER_ALL_PACKAGES_AS_PATCHES="0" +# Enabling this option (i.e, setting to "1" or "yes"), simplaret will +# store patches it finds on ROOT repositories on +# +# $PATCHES_DIR/$ARCH/$VERSION/root-$repository_name. +# +# By default this option is turned off because it breaks the standard +# way to store packages and can cause some confusion, but its an useful +# feature if you like to see all patches apart from common packages and/or +# stored in the same tree. +STORE_ROOT_PATCHES_ON_PATCHES_DIR="0" + diff --git a/doc/CHANGELOG b/doc/CHANGELOG index d97ff75..5c7cc98 100644 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -1,10 +1,14 @@ simplepkg changelog ------------------- -0.4.9pre18-21: simplaret: +0.4.9pre24: simplaret: + - new config variable STORE_ROOT_PATCHES_ON_PATCHES_DIR + +0.4.9pre18-23: simplaret: - enhanced http retrieval: curl support - enhanced verbosity - get-patches small changes + - various fixes 0.4.9pre10-17: lots of simplaret fixes diff --git a/lib/common.sh b/lib/common.sh index a729472..8292cb8 100644 --- a/lib/common.sh +++ b/lib/common.sh @@ -187,6 +187,9 @@ function eval_config { if [ -f "$CONF" ]; then + DEFAULT_ARCH="`eval_parameter DEFAULT_ARCH $(default_arch)`" + DEFAULT_VERSION="`eval_parameter DEFAULT_VERSION $(default_version)`" + STORAGE="`eval_parameter STORAGE /var/simplaret/packages`" JAIL_ROOT="`eval_parameter JAIL_ROOT /vservers`" PATCHES_DIR="`eval_parameter PATCHES_DIR /var/simplaret/patches`" @@ -201,13 +204,13 @@ 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`" - CONSIDER_ALL_PACKAGES_AS_PATCHES="`eval_boolean_parameter CONSIDER_ALL_PACKAGES_AS_PATCHES 0`" - DOWNLOAD_EVEN_APPLIED_PATCHES="`eval_boolean_parameter DOWNLOAD_EVEN_APPLIED_PATCHES 0`" PASSIVE_FTP="`eval_boolean_parameter PASSIVE_FTP 0`" WARNING="`eval_boolean_parameter WARNING 0`" - DEFAULT_ARCH="`eval_parameter DEFAULT_ARCH $(default_arch)`" - DEFAULT_VERSION="`eval_parameter DEFAULT_VERSION $(default_version)`" + # Enabling this option (i.e, setting to "1" or "yes"), simplaret will + # donwload even # already applied patches, a good option when you plan + # to keep local copies of all needed patches for your system + DOWNLOAD_EVEN_APPLIED_PATCHES="`eval_boolean_parameter DOWNLOAD_EVEN_APPLIED_PATCHES 0`" # Enabling this option, jail-upgrade will look at your # standard repositories for new packages; if it find a package @@ -216,6 +219,17 @@ function eval_config { # package is apllied; if in doubt, just say no or leave blank. CONSIDER_ALL_PACKAGES_AS_PATCHES="`eval_boolean_parameter CONSIDER_ALL_PACKAGES_AS_PATCHES 0`" + # Enabling this option (i.e, setting to "1" or "yes"), simplaret will + # store patches it finds on ROOT repositories on + # + # $PATCHES_DIR/$ARCH/$VERSION/root-$repository_name. + # + # By default this option is turned off because it breaks the standard + # way to store packages and can cause some confusion, but its an useful + # feature if you like to see all patches apart from common packages and/or + # stored in the same tree. + STORE_ROOT_PATCHES_ON_PATCHES_DIR="`eval_boolean_parameter STORE_ROOT_PATCHES_ON_PATCHES_DIR 0`" + # now we place "patches" on the top of ROOT_PRIORITY ROOT_PRIORITY="patches `echo $ROOT_PRIORITY | sed -e 's/patches//'`" diff --git a/simplepkg.SlackBuild b/simplepkg.SlackBuild index 110f8b2..d0295fd 100755 --- a/simplepkg.SlackBuild +++ b/simplepkg.SlackBuild @@ -6,7 +6,7 @@ PACKAGE="simplepkg" PACK_DIR="package-$PACKAGE" BUILD=${BUILD:=1rha} -VERSION="0.4.9pre22" +VERSION="0.4.9pre23" ARCH="noarch" LIBEXEC="/usr/libexec/$PACKAGE" BINDIR="/usr/bin" diff --git a/src/simplaret b/src/simplaret index d9fd1c8..cb676f9 100755 --- a/src/simplaret +++ b/src/simplaret @@ -439,10 +439,13 @@ function simplaret_search_and_delete { if [ "`package_name $candidate`" == "`package_name $result`" ]; then if [ "`package_version $candidate`" == "`package_version $result`" ] && \ [ "`package_build $candidate`" == "`package_build $result`" ]; then + LAST_DONWLOADED_PACKAGE="$file" if [ "$3" != "--silent" ]; then echo Package $candidate already downloaded # echo Package $candidate stored at `dirname $file` - else echo $file + else + true + # echo $file fi return 1 else @@ -495,7 +498,8 @@ function simplaret_get { # if repos_type == root and the package is a patch, # save it on $PATCHES_DIR/root-$repository_name, so all patches # are placed in the same tree - if [ "$repos_type" == "root" ] && echo $file | grep -q "patches"; then + if [ "$repos_type" == "root" ] && \ + [ "$STORE_ROOT_PATCHES_ON_PATCHES_DIR" == "1" ] && echo $file | grep -q "patches"; then folder="$PATCHES_DIR/$ARCH/$VERSION/root-$repository_name" else folder="$storage/$repository_name" @@ -528,7 +532,7 @@ function simplaret_get { } -function simplaret_search_and_download_patch { +function simplaret_search_and_process_patch { local package_version package_build installed_version local installed_build repos_type get is_patch package_match @@ -663,18 +667,18 @@ function simplaret_get_jail_patches { # list all available patches from PATCHES and ROOT repositories for sugested in `simplaret_search --formatted | grep patches | grep -v ",repos," | grep -v ",noarch,"`; do - simplaret_search_and_download_patch + simplaret_search_and_process_patch done # grab patches from every other places if [ "$CONSIDER_ALL_PACKAGES_AS_PATCHES" == "1" ]; then for sugested in `simplaret_search --formatted | grep patches | grep ",repos," | grep ",noarch,"`; do - simplaret_search_and_download_patch + simplaret_search_and_process_patch done for sugested in `simplaret_search --formatted | grep -v patches`; do - simplaret_search_and_download_patch + simplaret_search_and_process_patch done fi |