aboutsummaryrefslogtreecommitdiff
path: root/trunk/lib
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/lib')
-rw-r--r--trunk/lib/common.sh161
1 files changed, 159 insertions, 2 deletions
diff --git a/trunk/lib/common.sh b/trunk/lib/common.sh
index 1eff334..6bbfca0 100644
--- a/trunk/lib/common.sh
+++ b/trunk/lib/common.sh
@@ -32,7 +32,10 @@ CONF="$BASE_CONF/simplepkg.conf"
JAIL_LIST="$BASE_CONF/jailist"
SIMPLARET="simplaret"
-# pkgtool stuff
+# -----------------------------------------------
+# pkgtool functions
+# -----------------------------------------------
+
function package_name {
STRING=`basename $1 .tgz`
@@ -58,6 +61,10 @@ function package_name {
}
+# -----------------------------------------------
+# package info functions
+# -----------------------------------------------
+
function package_version {
# get VERSION from a package name
@@ -91,6 +98,10 @@ function package_build {
}
+# -----------------------------------------------
+# package administrative functions
+# -----------------------------------------------
+
function install_packages {
local check installed unable_to_install root
@@ -145,6 +156,10 @@ function remove_packages {
}
+# -----------------------------------------------
+# config file functions
+# -----------------------------------------------
+
function eval_parameter {
# usage: eval $1 parameter from $CONF
@@ -294,6 +309,10 @@ function eval_config {
}
+# -----------------------------------------------
+# arch and version functions
+# -----------------------------------------------
+
function default_version {
# get version from /etc/slackware-version
@@ -320,6 +339,10 @@ function default_arch {
}
+# -----------------------------------------------
+# template functions
+# -----------------------------------------------
+
function search_default_template {
if [ -e "$BASE_CONF/default.template" ]; then
@@ -388,6 +411,10 @@ function search_template {
}
+# -----------------------------------------------
+# unix permission functions
+# -----------------------------------------------
+
function numeric_perm {
# get the numeric permission of a file
@@ -426,6 +453,10 @@ function get_group {
}
+# -----------------------------------------------
+# subversion functions
+# -----------------------------------------------
+
function use_svn {
# check if svn usage is enabled
@@ -469,6 +500,10 @@ function svn_check {
}
+# -----------------------------------------------
+# update jail functions
+# -----------------------------------------------
+
function update_template_files {
# update template files from svn
@@ -521,10 +556,132 @@ function set_jail_perms {
}
+# -----------------------------------------------
+# repository build functions
+# -----------------------------------------------
+
+function svn_add_meta {
+
+ find *meta -exec svn add {} 2> /dev/null \;
+ find . -name *meta -exec svn add {} 2> /dev/null \;
+
+}
+
+function gen_filelist {
+
+ # generate FILELIST.TXT
+
+ local cwd
+
+ for file in `find | grep -e ".tgz$"`; do ls -l $file; done > FILELIST.TXT
+ echo "Created new FILELIST.TXT"
+
+ if [ -d "patches" ]; then
+ gen_patches_filelist patches
+ for file in `find | grep -e ".tgz$"`; do ls -l $file; done > FILE_LIST
+ echo "Created new patches/FILE_LIST"
+ fi
+
+}
+
+function gen_patches_filelst {
+
+ # generate FILE_LIST
+
+ mkdir -p $1
+ cwd="`pwd`"
+ cd $1
+ for file in `find | grep -e ".tgz$"`; do ls -l $file; done > FILE_LIST
+ cd $pwd
+
+}
+
+function gen_packages_txt {
+
+ # generate PACKAGES.TXT
+
+ echo '' > PACKAGES.TXT
+ find . -type f -name '*.meta' -exec cat {} \; >> PACKAGES.TXT
+ cat PACKAGES.TXT | gzip -9 -c - > PACKAGES.TXT.gz
+ echo "Created new PACKAGES.TXT and PACKAGES.TXT.gz"
+
+ if [ -d "patches" ]; then
+ find patches -type f -name '*.meta' -exec cat {} \; >> patches/PACKAGES.TXT
+ cat patches/PACKAGES.TXT | gzip -9 -c - > patches/PACKAGES.TXT.gz
+ echo "Created new patches/PACKAGES.TXT and patches/PACKAGES.TXT.gz"
+ fi
+
+}
+
+function gen_md5_checksums {
+
+ # generate CHECKSUMS.md5
+
+ echo '' > CHECKSUMS.md5
+ find . -type f -name '*.tgz' -exec md5sum {} \; >> CHECKSUMS.md5
+ cat CHECKSUMS.md5 | gzip -9 -c - > CHECKSUMS.md5.gz
+ echo "Created new CHECKSUMS.md5 and CHECKSUMS.md5.gz"
+
+ if [ -d "patches" ]; then
+ find patches -type f -name '*.tgz' -exec md5sum {} \; >> patches/CHECKSUMS.md5
+ cat patches/CHECKSUMS.md5 | gzip -9 -c - > patches/CHECKSUMS.md5.gz
+ echo "Created new patches/CHECKSUMS.md5 and patches/CHECKSUMS.md5.gz"
+ fi
+
+}
+
+function gen_meta {
+
+ # generate metafiles
+
+ if [ ! -f $1 ]; then
+ echo "File not found: $1"
+ exit 1;
+ else
+ echo "Processing $1"
+ fi
+
+ if [ "`echo $1|grep -E '(.*{1,})\-(.*[\.\-].*[\.\-].*).tgz[ ]{0,}$'`" == "" ]; then
+ return;
+ fi
+
+ NAME=$(echo $1|sed -re "s/(.*\/)(.*.tgz)$/\2/")
+ LOCATION=$(echo $1|sed -re "s/(.*)\/(.*.tgz)$/\1/")
+ SIZE=$( expr `gunzip -l $1 | tail -n 1|awk '{print $1}'` / 1024 )
+ USIZE=$( expr `gunzip -l $1 | tail -n 1|awk '{print $2}'` / 1024 )
+ REQUIRED=$(tar xzfO $1 install/slack-required 2>/dev/null|xargs -r -iZ echo -n "Z,"|sed -e "s/,$//")
+ CONFLICTS=$(tar xzfO $1 install/slack-conflicts 2>/dev/null|xargs -r -iZ echo -n "Z,"|sed -e "s/,$//")
+ SUGGESTS=$(tar xzfO $1 install/slack-suggests 2>/dev/null|xargs -r )
+ METAFILE=${NAME%tgz}meta
+
+ echo "PACKAGE NAME: $NAME" > $LOCATION/$METAFILE
+
+ if [ -n "$DL_URL" ]; then
+ echo "PACKAGE MIRROR: $DL_URL" >> $LOCATION/$METAFILE
+ fi
+
+ echo "PACKAGE LOCATION: $LOCATION" >> $LOCATION/$METAFILE
+ echo "PACKAGE SIZE (compressed): $SIZE K" >> $LOCATION/$METAFILE
+ echo "PACKAGE SIZE (uncompressed): $USIZE K" >> $LOCATION/$METAFILE
+ echo "PACKAGE REQUIRED: $REQUIRED" >> $LOCATION/$METAFILE
+ echo "PACKAGE CONFLICTS: $CONFLICTS" >> $LOCATION/$METAFILE
+ echo "PACKAGE SUGGESTS: $SUGGESTS" >> $LOCATION/$METAFILE
+ echo "PACKAGE DESCRIPTION:" >> $LOCATION/$METAFILE
+
+ tar xzfO $1 install/slack-desc | grep -E '\w+\:'|grep -v '^#' >> $LOCATION/$METAFILE
+
+ echo "" >> $LOCATION/$METAFILE
+
+}
+
+# -----------------------------------------------
+# misc functions
+# -----------------------------------------------
+
function slash {
# remove additional slashes
- echo $1 | sed -e 's/\/\+/\//g'
+ echo $* | sed -e 's/\/\+/\//g'
}