diff options
Diffstat (limited to 'branches/0.6/src/mkbuild')
-rwxr-xr-x | branches/0.6/src/mkbuild | 101 |
1 files changed, 56 insertions, 45 deletions
diff --git a/branches/0.6/src/mkbuild b/branches/0.6/src/mkbuild index 365bcd0..60566dd 100755 --- a/branches/0.6/src/mkbuild +++ b/branches/0.6/src/mkbuild @@ -18,8 +18,8 @@ # # Based in model generic.SlackBuild of Luiz # -# Version 0.9.9 -PROG_VERSION=0.9.9 +# Version 1.0.0 +PROG_VERSION=1.0.0 PROG_NAME=`basename $0` #-------------------------------------------------------------------- @@ -121,6 +121,9 @@ function mkbuild_error { "$ERROR_INPUT_PAR") echo "Input parameter $2 error. See \"mkbuild --help\"." ;; + "$NULL_STRING") + mkbuild_use + ;; *) echo "Unknow error!" ;; @@ -146,7 +149,7 @@ function set_parameters { case $PAR in '-c'|'--commit') # Commit directory - COMMIT=1 + COMMIT=$on ;; '-d'|'--debug') # Debug mode @@ -441,17 +444,24 @@ function commit_slackbuild { return 1 fi + # check SlackBuilds directory + [ ! -e $SLACKBUILDS_DIR ] && createpkg --sync + # Get SlackBuild path + # Get SlackBuild path in parameter file SLACKBUILD_PATH=`validate_parameter "$SLACKBUILD_PATH" "SLACKBUILD PATH" ""` - if [ $? != 0 ]; then + # Get SlackBuild path in slackbuild local tree + if [ $? -ne 0 ]; then + SLACKBUILD_PATH=`find $SLACKBUILDS_DIR -name $SLACKBUILD | xargs dirname` + fi + # Get SlackBuild path in gentoo-portage tree + if [ "$SLACKBUILD_PATH" == "" ]; then # Mount SlackBuild path - [ $VERBOSE -ne 0 ] && echo -e "\nFind SlackBuild PATH in Slack.Sarava tree..." - AUX=`lynx -dump http://gentoo-portage.com/Search?search=$PKG_NAME | sed -n '/Results:/,+1 { /Results:/ b ; p }' | head --lines=1 | tr -d " "` + [ $VERBOSE -eq $on ] && echo -e "\nFind SlackBuild PATH in Slack.Sarava tree..." + AUX=`lynx -connect_timeout=10 -dump http://gentoo-portage.com/Search?search=$PKG_NAME | sed -n '/Results:/,+1 { /Results:/ b ; p }' | head --lines=1 | tr -d " "` [ ! -z $AUX ] && SLACKBUILD_PATH="`dirname $AUX | tr - /`/`basename $AUX`" || SLACKBUILD_PATH="others/unclassified/$PKG_NAME" fi - # check SlackBuilds directory - [ ! -e $SLACKBUILDS_DIR ] && createpkg --sync # change to SlackBuilds directory cd $SLACKBUILDS_DIR/ @@ -532,7 +542,7 @@ function decompress_find { case $EXTENSION in 'gz'|'GZ') DECOMPRESSOR="gunzip" - DECOMPRESSOR_TEST_FLAG="-t" + DECOMPRESSOR_TEST_FLAG="-t"$NULL_STRING ;; 'bz2'|'BZ2') DECOMPRESSOR="bunzip2" @@ -557,8 +567,6 @@ COMMON="/usr/libexec/simplepkg/common.sh" SIMPLEPKG_CONF="/etc/simplepkg/simplepkg.conf" WORK=`pwd` LANG=en_US -COMMIT=0 -VERBOSE=0 if [ -f "$COMMON" ]; then source $COMMON @@ -567,12 +575,15 @@ else mk_exit 0 fi +# Start constants +set_constants + +# Set commit off +COMMIT=$off +# Set verbose off +VERBOSE=$off # Createpkg and mkbuild section SLACKBUILDS_DIR="`eval_parameter SLACKBUILDS_DIR /var/slackbuilds`" -#----------------------------- - -# Start variables -DOWNLOAD_SOURCE=0 # desable download source # Auxiliar file AUX_TMP=/tmp/mkbuild_tmp.$RANDOM # Derectory to SlackBuild models @@ -583,27 +594,27 @@ SLACKDESC_LEN=78 # Load error codes error_codes -[ $# -eq 0 ] && mkbuild_use && exit 1 +[ $# -eq 0 ] && mk_exit $NULL_STRING # Configure input parameters set_parameters $@ -[ $VERBOSE -ne 0 ] && echo -e "$PROG_NAME version $PROG_VERSION\n" +[ $VERBOSE -eq $on ] && echo -e "$PROG_NAME version $PROG_VERSION\n" # Get values # Author name AUTHOR=${AUTHOR:="`get_variable "SLACKBUILD AUTHOR"`"} [ -z "$AUTHOR" ] && mkbuild_error $ERROR_CONSTRUCTION "SLACKBUILD AUTHOR" -[ $VERBOSE -ne 0 ] && echo "[[SLACKBUILD AUTHOR]]=\"$AUTHOR\"" +[ $VERBOSE -eq $on ] && echo "[[SLACKBUILD AUTHOR]]=\"$AUTHOR\"" # Author initials STR_MOUNT=`echo $AUTHOR | sed 's/ /\n/g' | sed 's/^\([A-Z]\).*/\1/' | sed ':i; $!N; s/\n//; ti' | tr [A-Z] [a-z]` AUTHOR_INITIALS="`validate_parameter "$AUTHOR_INITIALS" "SLACKBUILD AUTHOR INITIALS" "$STR_MOUNT"`" || mkbuild_error $ERROR_CONSTRUCTION "SLACKBUILD AUTHOR INITIALS" -[ $VERBOSE -ne 0 ] && echo "[[SLACKBUILD AUTHOR INITIALS]]=\"$AUTHOR_INITIALS\"" +[ $VERBOSE -eq $on ] && echo "[[SLACKBUILD AUTHOR INITIALS]]=\"$AUTHOR_INITIALS\"" # URL program URL=`validate_parameter "$URL" "DOWNLOAD FOLDER URL" ""` || mkbuild_error $ERROR_CONSTRUCTION "URL" -[ $VERBOSE -ne 0 ] && echo "[[URL]]=\"$URL\"" +[ $VERBOSE -eq $on ] && echo "[[URL]]=\"$URL\"" STR_MOUNT="`echo $URL | rev | cut -c1-3 | rev | tr -d '.'`" if [ $STR_MOUNT = "gz" -o $STR_MOUNT = "tgz" -o $STR_MOUNT = "bz2" -o $STR_MOUNT = "zip" ]; then @@ -612,96 +623,96 @@ if [ $STR_MOUNT = "gz" -o $STR_MOUNT = "tgz" -o $STR_MOUNT = "bz2" -o $STR_MOUNT else URL_BASE=$URL fi -[ $VERBOSE -ne 0 ] && echo "[[DOWNLOAD FOLDER URL]]=\"$URL_BASE\"" +[ $VERBOSE -eq $on ] && echo "[[DOWNLOAD FOLDER URL]]=\"$URL_BASE\"" # Extension EXTENSION=`validate_parameter "$EXTENSION" "EXTENSION" "$STR_MOUNT"` || mkbuild_error $ERROR_CONSTRUCTION "EXTENSION" -[ $VERBOSE -ne 0 ] && echo "[[EXTENSION]]=\"$EXTENSION\"" +[ $VERBOSE -eq $on ] && echo "[[EXTENSION]]=\"$EXTENSION\"" # Build archteture ARCH=`validate_parameter "$ARCH" "ARCH" "i486"` -[ $VERBOSE -ne 0 ] && echo "[[ARCH]]=\"$ARCH\"" +[ $VERBOSE -eq $on ] && echo "[[ARCH]]=\"$ARCH\"" # Source name STR_MOUNT=`echo $SOURCE_NAME | sed -r 's/(.*)-(.*)\.(.*\..*)$/\1/'` SRC_NAME=`validate_parameter "$SRC_NAME" "SOURCE NAME" "$STR_MOUNT"` || mkbuild_error $ERROR_CONSTRUCTION "SOURCE NAME" -[ $VERBOSE -ne 0 ] && echo "[[SOURCE NAME]]=\"$SRC_NAME\"" +[ $VERBOSE -eq $on ] && echo "[[SOURCE NAME]]=\"$SRC_NAME\"" # Package name STR_MOUNT=`echo $SRC_NAME | tr [A-Z_] [a-z\-]` PKG_NAME=`validate_parameter "$PKG_NAME" "PACKAGE NAME" "$STR_MOUNT"` -[ $VERBOSE -ne 0 ] && echo "[[PACKAGE NAME]]=\"$PKG_NAME\"" +[ $VERBOSE -eq $on ] && echo "[[PACKAGE NAME]]=\"$PKG_NAME\"" # Version STR_MOUNT=`echo $SOURCE_NAME | sed -r 's/(.*)-(.*)\.(.*\..*)$/\2/'` VERSION=`validate_parameter "$VERSION" "VERSION" $STR_MOUNT` || mkbuild_error $ERROR_CONSTRUCTION "VERSION" -[ $VERBOSE -ne 0 ] && echo "[[VERSION]]=\"$VERSION\"" +[ $VERBOSE -eq $on ] && echo "[[VERSION]]=\"$VERSION\"" # Construction source name string CONST_STRING="`validate_parameter "$CONST_STRING" "SOURCE NAME CONSTRUCTION STRING" "\\\$SRC_NAME-\\\$VERSION.tar.$EXTENSION"`" -[ $VERBOSE -ne 0 ] && echo "[[SOURCE NAME CONSTRUCTION STRING]]=\"$CONST_STRING\"" +[ $VERBOSE -eq $on ] && echo "[[SOURCE NAME CONSTRUCTION STRING]]=\"$CONST_STRING\"" # Build Source Name [ -z $SOURCE_NAME ] && SOURCE_NAME=`eval "echo $CONST_STRING"` -[ $VERBOSE -ne 0 ] && echo "SOURCE_NAME=\"$SOURCE_NAME\"" +[ $VERBOSE -eq $on ] && echo "SOURCE_NAME=\"$SOURCE_NAME\"" # Decompressor program and test flag DECOMPRESSOR=`validate_parameter "$DECOMPRESSOR" "DECOMPRESSOR" ""` || decompress_find -[ $VERBOSE -ne 0 ] && echo "[[DECOMPRESSOR]]=\"$DECOMPRESSOR\"" +[ $VERBOSE -eq $on ] && echo "[[DECOMPRESSOR]]=\"$DECOMPRESSOR\"" DECOMPRESSOR_TEST_FLAG=`validate_parameter "$DECOMPRESSOR_TEST_FLAG" "DECOMPRESSOR TEST FLAG" ""` || mkbuild_error $ERROR_CONSTRUCTION "DECOMPRESSOR TEST FLAG" -[ $VERBOSE -ne 0 ] && echo "[[DECOMPRESSOR TEST FLAG]]=\"$DECOMPRESSOR_TEST_FLAG\"" +[ $VERBOSE -eq $on ] && echo "[[DECOMPRESSOR TEST FLAG]]=\"$DECOMPRESSOR_TEST_FLAG\"" # Documentations list DOCFILES=`validate_parameter "$DOCFILES" "DOCUMENTATION FILES" "NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING readme.*"` -[ $VERBOSE -ne 0 ] && echo "[[DOCUMENTATION FILES]]=\"$DOCFILES\"" +[ $VERBOSE -eq $on ] && echo "[[DOCUMENTATION FILES]]=\"$DOCFILES\"" # ./configure option OPTIONS=`validate_parameter "$OPTIONS" "OTHER CONFIGURE ARGS" ""` -[ $VERBOSE -ne 0 ] && echo "[[OTHER CONFIGURE ARGS]]=\"$OPTIONS\"" +[ $VERBOSE -eq $on ] && echo "[[OTHER CONFIGURE ARGS]]=\"$OPTIONS\"" # PREFIX PREFIX=`validate_parameter "$PREFIX" "PREFIX" "/usr"` -[ $VERBOSE -ne 0 ] && echo "[[PREFIX]]=\"$PREFIX\"" +[ $VERBOSE -eq $on ] && echo "[[PREFIX]]=\"$PREFIX\"" # Number of jobs NUMJOBS=`validate_parameter "$NUMJOBS" "NUMBER OF JOBS" ""` -[ $VERBOSE -ne 0 ] && echo "[[NUMBER OF JOBS]]=\"$NUMJOBS\"" +[ $VERBOSE -eq $on ] && echo "[[NUMBER OF JOBS]]=\"$NUMJOBS\"" # Make slack-required file. SLACK_REQUIRED=`validate_parameter "$SLACK_REQUIRED" "SLACK REQUIRED" ""` -[ $VERBOSE -ne 0 ] && echo "[[SLACK REQUIRED]]=\"$SLACK_REQUIRED\"" +[ $VERBOSE -eq $on ] && echo "[[SLACK REQUIRED]]=\"$SLACK_REQUIRED\"" # SlackBuild model MODEL=`validate_parameter "$MODEL" "SLACKBUILD MODEL" "generic.mkSlackBuild"` -[ $VERBOSE -ne 0 ] && echo "[[SLACKBUILD MODEL]]=\"$MODEL\"" +[ $VERBOSE -eq $on ] && echo "[[SLACKBUILD MODEL]]=\"$MODEL\"" # # Start build SlackBuild SLACKBUILD=${PKG_NAME}.SlackBuild SLACKBUILD_TEMP=$SLACKBUILD.tmp cp $MODEL_DIR/$MODEL $SLACKBUILD_TEMP -[ $VERBOSE -ne 0 ] && echo -en "\nStart SlackBuild make" +[ $VERBOSE -eq $on ] && echo -en "\nStart SlackBuild make" # Change strings from model start_build $SLACKBUILD_TEMP -[ $VERBOSE -ne 0 ] && echo -en "\nEdit mkSlackBuild model .." +[ $VERBOSE -eq $on ] && echo -en "\nEdit mkSlackBuild model .." # On/Off sections activate_sections -[ $VERBOSE -ne 0 ] && echo -en ".\nEnable and desable sections .." +[ $VERBOSE -eq $on ] && echo -en ".\nEnable and desable sections .." # Change sections section_edit -[ $VERBOSE -ne 0 ] && echo -en ".\nChange sections .." +[ $VERBOSE -eq $on ] && echo -en ".\nChange sections .." # Remove off sections build_slackbuild -[ $VERBOSE -ne 0 ] && echo -en ".\nRemove off sections .." +[ $VERBOSE -eq $on ] && echo -en ".\nRemove off sections .." # Make slack-required file make_slack_required -[ $VERBOSE -ne 0 ] && echo -en ".\nMake slack-required file .." +[ $VERBOSE -eq $on ] && echo -en ".\nMake slack-required file .." if [ -e slack-required ]; then DEPENDENCY_LIST="`cat slack-required | awk '{print $1}' | grep '^[a-z]' | tr '\012' ' '`" @@ -712,10 +723,10 @@ fi # Others changes change_others_parameters -[ $VERBOSE -ne 0 ] && echo -en ".\nEdit others [[]] parameters .." +[ $VERBOSE -eq $on ] && echo -en ".\nEdit others [[]] parameters .." # Clear temporary files clear_files -[ $VERBOSE -ne 0 ] && echo -e ".\nRemove temporary files ..." +[ $VERBOSE -eq $on ] && echo -e ".\nRemove temporary files ..." -[ $COMMIT -eq 1 ] && commit_slackbuild +[ $COMMIT -eq $on ] && commit_slackbuild |