From 16b7a652226aa1646a59bdebeee520465e171e8d Mon Sep 17 00:00:00 2001 From: rudson Date: Thu, 14 Jun 2007 17:30:30 +0000 Subject: mkbuild-0.9.3 git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@387 04377dda-e619-0410-9926-eae83683ac58 --- branches/0.6/src/mkbuild | 71 ++++++++++++++++++++++++++++++------------------ 1 file changed, 45 insertions(+), 26 deletions(-) (limited to 'branches/0.6/src/mkbuild') diff --git a/branches/0.6/src/mkbuild b/branches/0.6/src/mkbuild index 0139c03..7d85d34 100755 --- a/branches/0.6/src/mkbuild +++ b/branches/0.6/src/mkbuild @@ -9,8 +9,8 @@ # SlackBuilds são scripts utilizados no Slackware para gerar # pacotes tgz. # -# Version 0.9.2 -PROG_VERSION=0.9.2 +# Version 0.9.3 +PROG_VERSION=0.9.3 #-------------------------------------------------------------------- # Functions @@ -96,7 +96,7 @@ function mkbuild_error { echo "File $2 not found!" ;; "$ERROR_CONSTRUCTION") - echo "Construction error in $2 variable1." + echo "Construction error in $2 variable." ;; "$ERROR_PROGRAM") echo "Program logical error." @@ -138,6 +138,10 @@ function set_parameters { # get parameter[i] PAR=${ALL_PAR[$i]} case $PAR in + '-d'|'--debug') + # Debug mode + set -x + ;; '-h'|'--help' ) # Show help mesage mkbuild_use && exit 0 @@ -224,12 +228,12 @@ function get_variable { [ $# -ne 1 ] && mkbuild_error $ERROR_PROGRAM [ -z $MK_INPUT_FILE ] && echo "Warning: no [mkbuild_file]." && return 0 - grep "^${1}" $MK_INPUT_FILE | cut -f2 -d\" + grep "^\[\[${1}\]\]" $MK_INPUT_FILE | cut -f2 -d\" } function edit_file { - # Edit file $SLACKBUILD, by change string [[$1]] to $2 + # Edit file $3, by change string [[$1]] to $2 local STR_OLD local STR_NEW @@ -240,6 +244,19 @@ function edit_file { mv $AUX_TMP $3 } +function edit_file_full { + + # Edit file $3, by change string $1 to $2 + local STR_OLD + local STR_NEW + + [ $# -ne 3 ] && mkbuild_error $ERROR_PROGRAM + STR_OLD=$( echo $1 | sed 's/\//\\\//g' ) + STR_NEW=$( echo $2 | sed 's/\//\\\//g' ) + eval "sed 's/$STR_OLD/$STR_NEW/' $3 > $AUX_TMP" + mv $AUX_TMP $3 +} + function start_build { # Build initial sections @@ -256,12 +273,14 @@ function start_build { edit_file "ARCH" "$ARCH" $1 edit_file "NUMBER OF JOBS" "$NUMJOBS" $1 edit_file "VERSION" $VERSION $1 - edit_file "SOURCE NAME CONSTRUCTION STRING" $CONST_STRING $1 + edit_file "SOURCE NAME CONSTRUCTION STRING" "$CONST_STRING" $1 edit_file "EXTENSION" "$EXTENSION" $1 edit_file "DOWNLOAD FOLDER URL" "$URL" $1 edit_file "OTHER CONFIGURE ARGS" "$OPTIONS" $1 edit_file "DOCUMENTATION FILES" "$DOCFILES" $1 edit_file "PREFIX" "$PREFIX" $1 + + edit_file_full "\$EXTENSION" "$EXTENSION" $1 } function clear_files { @@ -418,46 +437,46 @@ error_codes set_parameters $@ # Get values -AUTHOR=${AUTHOR:="`get_variable AUTHOR`"} -[ -z "$AUTHOR" ] && mkbuild_error $ERROR_CONSTRUCTION "AUTHOR" +AUTHOR=${AUTHOR:="`get_variable "SLACKBUILD AUTHOR"`"} +[ -z "$AUTHOR" ] && mkbuild_error $ERROR_CONSTRUCTION "SLACKBUILD AUTHOR" -AUTHOR_INITIALS=${AUTHOR_INITIALS:="`get_variable AUTHOR_INITIALS`"} -[ -z $AUTHOR_INITIALS ] && mkbuild_error $ERROR_CONSTRUCTION "AUTHOR_INITIALS" +AUTHOR_INITIALS=${AUTHOR_INITIALS:="`get_variable "SLACKBUILD AUTHOR INITIALS"`"} +[ -z $AUTHOR_INITIALS ] && mkbuild_error $ERROR_CONSTRUCTION "SLACKBUILD AUTHOR INITIALS" -URL=${URL:="`get_variable URL`"} +URL=${URL:="`get_variable "DOWNLOAD FOLDER URL"`"} EXTENSION=${EXTENSION:="`echo $URL | rev | cut -c1-3 | rev | tr -d '.'`"} if [ $EXTENSION = "gz" -o $EXTENSION = "tgz" -o $EXTENSION = "bz2" -o $EXTENSION = "zip" ]; then SOURCE_NAME=`basename $URL` URL_BASE=`dirname $URL` else - EXTENSION=`get_variable EXTENSION` + EXTENSION=`get_variable "EXTENSION"` [ -z $EXTENSION ] && mkbuild_error $ERROR_CONSTRUCTION "EXTENSION" URL_BASE=$URL fi # Source name -SRC_NAME=${SRC_NAME:="`get_variable SRC_NAME`"} +SRC_NAME=${SRC_NAME:="`get_variable "SOURCE NAME"`"} [ -z $SRC_NAME ] && SRC_NAME=`echo $SOURCE_NAME | sed -r 's/(.*)-(.*)\.(.*\..*)$/\1/'` -[ -z $SRC_NAME ] && mkbuild_error $ERROR_CONSTRUCTION "SRC_NAME" +[ -z $SRC_NAME ] && mkbuild_error $ERROR_CONSTRUCTION "SOURCE NAME" # Package name -PKG_NAME=${PKG_NAME:="`get_variable PKG_NAME`"} +PKG_NAME=${PKG_NAME:="`get_variable "PACKAGE NAME"`"} [ -z $PKG_NAME ] && PKG_NAME=`echo $SRC_NAME | tr [A-Z_] [a-z\-]` # Version -VERSION=${VERSION:="`get_variable VERSION`"} +VERSION=${VERSION:="`get_variable "VERSION"`"} [ -z $VERSION ] && VERSION=`echo $SRC_NAME | sed -r 's/(.*)-(.*)\.(.*\..*)$/\2/'` [ -z $VERSION ] && mkbuild_error $ERROR_CONSTRUCTION "VERSION" # Construction source name string -CONST_STRING=${CONST_STRING:="`get_variable CONST_STRING`"} +CONST_STRING=${CONST_STRING:="`get_variable "SOURCE NAME CONSTRUCTION STRING"`"} [ -z "$CONST_STRING" ] && CONST_STRING="\$SRC_NAME-\$VERSION.tar.$EXTENSION" # Build Source Name [ -z $SOURCE_NAME ] && SOURCE_NAME=`eval "echo $CONST_STRING"` # Decompressor program and test flag -DECOMPRESSOR=${DECOMPRESSOR:="`get_variable DECOMPRESSOR`"} +DECOMPRESSOR=${DECOMPRESSOR:="`get_variable "DECOMPRESSOR"`"} if [ -z $DECOMPRESSOR ]; then case $EXTENSION in 'gz'|'GZ') @@ -477,31 +496,31 @@ if [ -z $DECOMPRESSOR ]; then ;; esac fi -[ -z $DECOMPRESSOR_TEST_FLAG ] && DECOMPRESSOR_TEST_FLAG=`get_variable DECOMPRESSOR_TEST_FLAG` -[ -z $DECOMPRESSOR_TEST_FLAG ] && mkbuild_error $ERROR_CONSTRUCTION "DECOMPRESSOR_TEST_FLAG" +[ -z $DECOMPRESSOR_TEST_FLAG ] && DECOMPRESSOR_TEST_FLAG=`get_variable "DECOMPRESSOR TEST FLAG"` +[ -z $DECOMPRESSOR_TEST_FLAG ] && mkbuild_error $ERROR_CONSTRUCTION "DECOMPRESSOR TEST FLAG" # Documentations list -DOCFILES=${DOCFILES:="`get_variable DOCFILES`"} +DOCFILES=${DOCFILES:="`get_variable "DOCUMENTATION FILES"`"} if [ -z "$DOCFILES" ]; then DOCFILES="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING readme.*" fi # ./configure option -OPTIONS=${OPTIONS:="`get_variable OPTIONS`"} +OPTIONS=${OPTIONS:="`get_variable "OTHER CONFIGURE ARGS"`"} # PREFIX -PREFIX=${PREFIX:="`get_variable PREFIX`"} +PREFIX=${PREFIX:="`get_variable "PREFIX"`"} [ -z $PREFIX ] && PREFIX="/usr" # Number of jobs -NUMJOBS=${NUMJOBS:="`get_variable NUMJOBS`"} +NUMJOBS=${NUMJOBS:="`get_variable "NUMBER OF JOBS"`"} # Make slack-required file. -SLACK_REQUIRED=${SLACK_REQUIRED:="`get_variable SLACK_REQUIRED`"} +SLACK_REQUIRED=${SLACK_REQUIRED:="`get_variable "SLACK REQUIRED"`"} [ -z "$SLACK_REQUIRED" ] && make_slack_required # SlackBuild model -MODEL=${MODEL:="`get_variable MODEL`"} +MODEL=${MODEL:="`get_variable "SLACKBUILD MODEL"`"} [ -z $MODEL ] && MODEL="generic.mkSlackbuild" # -- cgit v1.2.3