# MKBUILD AND CREATEPKG SECTION
#---------------------------------------------------------------------
# Set SlackBuilds default directory from scripts
-SLACKBUILDS_DIR="/var/slackbuilds"
+SLACKBUILDS_DIR="/var/simplaret/slackbuilds"
# Set binaries default repository directory
-MAKEPKG_REPOS="/var/createpkg"
+MAKEPKG_REPOS="/var/simplaret/repos"
# Set sources default directory
-SOURCE_DIR="/var/sources"
+SOURCE_DIR="/var/simplaret/sources"
# Set color style
# possible values are: color,gray, none
COLOR_MODE="none"
+# Createpkg architecture
+CREATE_ARCH="i486"
+
+# Remove build files
+CREATE_CLEANUP="yes"
+
# Remove old packages from repository tree by createpkg
-# 0 enable
-# 1 desable
-REMOVE_OLD_PACKAGE=1
+REMOVE_OLD_PACKAGE="off"
# Move package to SlackBuilds-like tree
-# 0 enable
-# 1 desable
-MOVE_BIN_PACKAGE=1
+MOVE_BIN_PACKAGE="off"
#---------------------------------------------------------------------
# ----------------------------------------------------------------
# createpkg and mkbuild section
- SLACKBUILDS_DIR="`eval_parameter SLACKBUILDS_DIR /var/slackbuilds`"
- MAKEPKG_REPOS="`eval_parameter MAKEPKG_REPOS /var/simplaret/binaries`"
- SOURCE_DIR="`eval_parameter SOURCE_DIR /var/sources`"
- REMOVE_OLD_PACKAGE="`eval_boolean_parameter REMOVE_OLD_PACKAGE 1`"
- MOVE_BIN_PACKAGE="`eval_boolean_parameter MOVE_BIN_PACKAGE 1`"
+ #MAKEPKG_REPOS="`eval_parameter MAKEPKG_REPOS /var/simplaret/repos`"
+ #SOURCE_DIR="`eval_parameter SOURCE_DIR /var/simplaret/sources`"
+ #SLACKBUILDS_DIR="`eval_parameter SLACKBUILDS_DIR /var/simplaret/slackbuilds`"
+
+ #COLOR_MODE="`eval_parameter COLOR_MODE none`"
+ #CREATE_ARCH="`eval_parameter CREATE_ARCH i486`"
+ #CREATE_CLEANUP="`eval_parameter CREATE_CLEANUP 'yes'`"
+
+ #REMOVE_OLD_PACKAGE="`eval_parameter REMOVE_OLD_PACKAGE off`"
+ #MOVE_BIN_PACKAGE="`eval_parameter MOVE_BIN_PACKAGE off`"
# ----------------------------------------------------------------
else
}
function gen_filelist {
-
# generate FILELIST.TXT
- # usage: gen_filelist <folder>
-
- local cwd
+ # usage: gen_filelist
- for file in `find | grep -e ".tgz$"`; do ls -l $file; done > FILELIST.TXT
+ find . -type f -name *.tgz -follow -print | sort | tr '\n' '\0' | \
+ xargs -0r ls -ldL --time-style=long-iso > FILELIST.TXT
echo "Created new FILELIST.TXT"
}
# Createpkg functions
#---------------------------------------------------
-CREATEPKG_VERSION="1.0.5.4"
+CREATEPKG_VERSION="1.1.0"
function error_codes {
# check the configuration
TMP=${TMP:=/tmp};
- REPOS=${REPOS:=$TMP};
+ REPOS=${REPOS:=$MAKEPKG_REPOS};
# Create $TMP and $REPOS if need
[ ! -e $TPM ] && mkdir $TMP
[ ! -e $REPOS ] && mkdir $REPOS
# exit code 5 == slackbuild not found
# try to use simplaret
- ARCH=$DEFAULT_ARCH simplaret --update
- ARCH=$DEFAULT_ARCH simplaret --install $PACK
+ ARCH=$CREATE_ARCH simplaret --update
+ ARCH=$CREATE_ARCH simplaret --install $PACK
EXIT_CODE="$?"
if [ "$EXIT_CODE" != "0" ]; then
handle_error $SCRIPT_OR_PACKAGE_NOT_FOUND $PACK
}
+function load_parameters {
+
+ # Load Createpkg parameters
+ MAKEPKG_REPOS="`eval_parameter MAKEPKG_REPOS /var/simplaret/repos`"
+ SOURCE_DIR="`eval_parameter SOURCE_DIR /var/simplaret/sources`"
+ SLACKBUILDS_DIR="`eval_parameter SLACKBUILDS_DIR /var/simplaret/slackbuilds`"
+
+ COLOR_MODE="`eval_parameter COLOR_MODE none`"
+ CREATE_ARCH="`eval_parameter CREATE_ARCH i486`"
+ CREATE_CLEANUP="`eval_parameter CREATE_CLEANUP 'yes'`"
+
+ REMOVE_OLD_PACKAGE="`eval_parameter REMOVE_OLD_PACKAGE off`"
+ MOVE_BIN_PACKAGE="`eval_parameter MOVE_BIN_PACKAGE off`"
+}
+
#---------------------------------------------------
# Starting createpkg
#---------------------------------------------------
fi
# Load simplepkg.conf variables
-eval_config $BASENAME
-
-# Enable debug mode
-#set -x
+load_parameters
+#eval_config $BASENAME
# Loading error codes
error_codes
# First load simplepkg helper functions
-source $COMMON && source $SIMPLEPKG_CONF
-if [ $? -ne 0 ]; then
- eecho $error "error: file $COMMON not found, check your $BASENAME installation"
- exit 1
-fi
+#source $COMMON && source $SIMPLEPKG_CONF
+#if [ $? -ne 0 ]; then
+# eecho $error "error: file $COMMON not found, check your $BASENAME installation"
+# exit 1
+#fi
# Load slackbuildrc definitions
if [ -f ~/.slackbuildrc ]; then
# This is used to show how many children process we have
if [ -z "$CREATEPKG_CHILD" ]; then
- CREATEPKG_CHILD="1"
+ CREATEPKG_CHILD=1
else
let CREATEPKG_CHILD++
fi
check_config
check_repo
+INSTALL=off
+
case $1 in
'--search'|'-s')
[ $# -ne 2 ] && handle_error 2 # two parameters is required
'--install'|'-i')
[ $# -ne 2 ] && handle_error 2 # two parameters is required
PACKAGE="$2"
- INSTALL="1"
+ INSTALL="on"
;;
'--no-deps'|'-nd')
[ $# -ne 2 ] && handle_error 2 # two parameters is required
# Make MAKEPKG_REPOS
[ ! -e $MAKEPKG_REPOS ] && mkdir -p $MAKEPKG_REPOS
-# Execute SlackBuild script with variables protection
-if grep '^REPOS=' $SCRIPT_NAME 2>&1 >/dev/null ; then
- ( REPOS=$MAKEPKG_REPOS INTERACT=no sh ./$SCRIPT_NAME )
-else
- ( INTERACT=no sh ./$SCRIPT_NAME )
-fi
+# Run SlackBuild script
+(
+ SRC_DIR=${SRC_DIR:=$SOURCE_DIR} \
+ SRC=${SRC_DIR:=$SOURCE_DIR} \
+ ARCH=${ARCH:=$CREATE_ARCH} \
+ COLOR=${COLOR:=$COLOR_MODE} \
+ REPOS=${REPOS:=$MAKEPKG_REPOS} \
+ CLEANUP=${CLEANUP:=$CREATE_CLEANUP} \
+ INTERACT=no sh ./$SCRIPT_NAME
+)
# Check if package was built
handle_error $? $PACKAGE
PKG_NAME="`ls -1 -c $MAKEPKG_REPOS/$PACKAGE-*-*-*.tgz | head -n 1 | xargs basename`"
# Select repository directory
-[ $MOVE_BIN_PACKAGE -eq 0 ] && NEW_REPOS=$MAKEPKG_REPOS/$( echo ${SCRIPT_BASE#$SLACKBUILDS_DIR/} ) || NEW_REPOS=$MAKEPKG_REPOS
+[ $MOVE_BIN_PACKAGE == on ] && NEW_REPOS=$MAKEPKG_REPOS/$( echo ${SCRIPT_BASE#$SLACKBUILDS_DIR/} ) || NEW_REPOS=$MAKEPKG_REPOS
# Create repository directory
[ ! -e $NEW_REPOS ] && mkdir -p $NEW_REPOS 2>/dev/null
# Remove old packages from repository tree
-[ $REMOVE_OLD_PACKAGE -eq 0 ] && rm $NEW_REPOS/$PACKAGE-*-*-*.tgz 2>/dev/null
+[ $REMOVE_OLD_PACKAGE == on ] && rm $NEW_REPOS/$PACKAGE-*-*-*.tgz 2>/dev/null
# Move package to SlackBuilds-like tree
-[ $MOVE_BIN_PACKAGE -eq 0 ] && mv $MAKEPKG_REPOS/$PKG_NAME $NEW_REPOS/
+[ $MOVE_BIN_PACKAGE == on ] && mv $MAKEPKG_REPOS/$PKG_NAME $NEW_REPOS/
# Install package
-if [ "$INSTALL" == "1" ]; then
+if [ $INSTALL == on ]; then
# as we dont have the full package file name, we'll
# use the newer file name that matches our wildcard:
upgradepkg --install-new $NEW_REPOS/$PKG_NAME
fi
+
+# Update repository FILELIST.TXT, ...
+(
+ cd $MAKEPKG_REPOS
+ gen_filelist
+)