diff options
| author | rudson <rudson@04377dda-e619-0410-9926-eae83683ac58> | 2007-04-21 16:37:55 +0000 | 
|---|---|---|
| committer | rudson <rudson@04377dda-e619-0410-9926-eae83683ac58> | 2007-04-21 16:37:55 +0000 | 
| commit | d0a7843a8bbd5b6b9f9bb9b238f405c222e4aa39 (patch) | |
| tree | 766dc79bf3010bd7ab9dd512ed145c45bfc746c9 | |
| parent | 1a90f0e5e1486f3303e5d11053a841b67970a115 (diff) | |
| download | simplepkg-d0a7843a8bbd5b6b9f9bb9b238f405c222e4aa39.tar.gz simplepkg-d0a7843a8bbd5b6b9f9bb9b238f405c222e4aa39.tar.bz2  | |
atualizações ao branches/0.6
git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@356 04377dda-e619-0410-9926-eae83683ac58
| -rw-r--r-- | branches/0.6/conf/simplepkg.conf.new | 20 | ||||
| -rw-r--r-- | branches/0.6/lib/common.sh | 14 | ||||
| -rw-r--r-- | branches/0.6/mkbuild/generic.mkSlackBuild.new (renamed from branches/0.6/conf/generic.mkSlackBuild.new) | 0 | ||||
| -rw-r--r-- | branches/0.6/src/createpkg | 47 | ||||
| -rwxr-xr-x | branches/0.6/src/mkbuild | 444 | 
5 files changed, 310 insertions, 215 deletions
diff --git a/branches/0.6/conf/simplepkg.conf.new b/branches/0.6/conf/simplepkg.conf.new index 6a3c687..8878dcf 100644 --- a/branches/0.6/conf/simplepkg.conf.new +++ b/branches/0.6/conf/simplepkg.conf.new @@ -123,3 +123,23 @@ TEMPLATE_FOLDER="/etc/simplepkg/templates"  # This variable has backwards purposes only, so dont change it.  TEMPLATE_STORAGE_STYLE="own-folder" +#--------------------------------------------------------------------- +#                     MKBUILD AND CREATEPKG SECTION +#--------------------------------------------------------------------- +# Set SlackBuilds default directory from scripts +SLACKBUILD_DIR="/var/slackbuilds" + +# Set binaries default repository directory +MAKEPKG_REPOS="/var/createpkg" + +# Remove old packages from repository tree by createpkg +# 0 enable +# 1 desable +REMOVE_OLD_PACKAGE=1 + +# Move package to SlackBuilds-like tree +# 0 enable +# 1 desable +MOVE_BIN_PACKAGE=1 + +#--------------------------------------------------------------------- diff --git a/branches/0.6/lib/common.sh b/branches/0.6/lib/common.sh index 5c53a09..c501722 100644 --- a/branches/0.6/lib/common.sh +++ b/branches/0.6/lib/common.sh @@ -5,7 +5,7 @@  #  # Uses some functions from pkgtools, which license is:  # -# Copyright 1999  Patrick Volkerding, Moorhead, Minnesota, USA  +# Copyright 1999  Patrick Volkerding, Moorhead, Minnesota, USA  # Copyright 2001, 2002, 2003  Slackware Linux, Inc., Concord, California, USA  # All rights reserved.  # @@ -257,6 +257,14 @@ function eval_config {      # now we place "patches" on the top of ROOT_PRIORITY      ROOT_PRIORITY="patches `echo $ROOT_PRIORITY | sed -e 's/patches//'`" +    # ---------------------------------------------------------------- +    # createpkg and mkbuild section +    SLACKBUILD_DIR="`eval_parameter SLACKBUILD_DIR /var/slackbuilds`" +    MAKEPKG_REPOS="`eval_parameter MAKEPKG_REPOS /var/simplaret/binaries`" +    REMOVE_OLD_PACKAGE="`eval_boolean_parameter REMOVE_OLD_PACKAGE 1`" +    MOVE_BIN_PACKAGE="`eval_boolean_parameter MOVE_BIN_PACKAGE 1`" +    # ---------------------------------------------------------------- +    else      echo $1 error: config file $CONFIG not found      exit 1 @@ -271,7 +279,7 @@ function eval_config {    fi    if [ -z "$ARCH" ]; then -    ARCH="$DEFAULT_ARCH"  +    ARCH="$DEFAULT_ARCH"    fi    if [ -z "$VERSION" ]; then @@ -527,7 +535,7 @@ function copy_template_files {    # usage: copy_template_files <jail-path>    if [ -d "$1" ]; then -    if [ -d "$TEMPLATE_BASE.d" ]; then  +    if [ -d "$TEMPLATE_BASE.d" ]; then        echo "Copying template files to $1..."        if use_svn && [ -d "$TEMPLATE_BASE.d/.svn" ]; then          rsync -av --exclude=.svn $TEMPLATE_BASE.d/ $1/ diff --git a/branches/0.6/conf/generic.mkSlackBuild.new b/branches/0.6/mkbuild/generic.mkSlackBuild.new index 6b5473e..6b5473e 100644 --- a/branches/0.6/conf/generic.mkSlackBuild.new +++ b/branches/0.6/mkbuild/generic.mkSlackBuild.new diff --git a/branches/0.6/src/createpkg b/branches/0.6/src/createpkg index 03612a9..757972e 100644 --- a/branches/0.6/src/createpkg +++ b/branches/0.6/src/createpkg @@ -31,7 +31,24 @@  #               Createpkg functions  #--------------------------------------------------- -CREATEPKG_VERSION="1.0.5" +CREATEPKG_VERSION="1.0.5.1" + +# Start common.sh functions +COMMON="/usr/libexec/simplepkg/common.sh" +BASENAME="`basename $0`" + +if [ -f "$COMMON" ]; then +  source $COMMON +else +  echo "error: file $COMMON found, check your $BASENAME installation" +  mk_exit 0 +fi + +# Load simplepkg.conf variables +eval_config $BASENAME + +# Enable debug mode +#set -x  function error_codes { @@ -140,7 +157,7 @@ function build_repo {  function usage { -    # Help mensage +    # Help message      eecho $commun "Createpkg version $CREATEPKG_VERSION\n"      eecho $commun "Usage: createpkg [--install/-i] package-name"      eecho $commun "       createpkg --no-deps/-np package-name" @@ -485,27 +502,31 @@ eecho $messag "$BASENAME: processing $SCRIPT_NAME"  # Change to script base directory  cd $SCRIPT_BASE +# Execute SlackBuild script with variables protection +( INTERACT=no sh ./$SCRIPT_NAME ) + +# Check if package was built +handle_error $? $PACKAGE + +# Get package name +PKG_NAME="`ls -1 -c $REPOS/$PACKAGE-*-*-*.tgz | head -n 1 | xargs basename`" +  # Select repository directory  NEW_REPOS=$REPOS/$( echo ${SCRIPT_BASE#$SLACKBUILDS_DIR/} )  # 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-versions -rm $NEW_REPOS/$PACKAGE-*-*-*.tgz 2>/dev/null - -# Execute SlackBuild script with variables protection -( INTERACT=no REPOS=$NEW_REPOS sh ./$SCRIPT_NAME ) - -# Check if package was built -handle_error $? $PACKAGE - -PKG_TGZ="`ls -1 -c $NEW_REPOS/$PACKAGE-*-*-*.tgz | head -n 1`" +# Move package to SlackBuilds-like tree +[ $MOVE_BIN_PACKAGE -eq 0 ] && mv $REPOS/$PKG_NAME $NEW_REPOS/ +# Install package  if [ "$INSTALL" == "1" ]; then      # as we dont have the full package file name, we'll      # use the newer file name that matches our wildcard: -    upgradepkg --install-new $PKG_TGZ +    upgradepkg --install-new $NEW_REPOS/$PKG_NAME  fi diff --git a/branches/0.6/src/mkbuild b/branches/0.6/src/mkbuild index cae7224..bc0786d 100755 --- a/branches/0.6/src/mkbuild +++ b/branches/0.6/src/mkbuild @@ -12,38 +12,37 @@  # Turn off debug  set +x  # -# Version 0.9.18 -PROG_VERSION=0.9.18 +# Version 0.9.19 +PROG_VERSION=0.9.19  #--------------------------------------------------------------------  # Functions  #-------------------------------------------------------------------- -# Show ./configure --help -function config_help() -{ +function config_help { + +    # Show ./configure --help      view_file "Check ./configure --help" $CONFIG_HELP  } -# Show file -# INPUT: $1 string textbox -#        $2 file -function view_file() -{ +function view_file { + +    # Show file +    # INPUT: $1 string textbox +    #        $2 file      [ $# -ne 2 ] && return 1      dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title " $1 " --textbox $2 20 75  } -# Exit function -function mk_exit() -{ +function mk_exit { +    # Exit function      clean_all      clear      exit $1  } -# Clear all temp files -function clean_all() -{ +function clean_all { + +    # Clear all temp files      [ -s $DEPENDENCY_LIST ] && cp $DEPENDENCY_LIST $BASEDIR/slack-required      rm $AUX_TMP 2>/dev/null @@ -57,23 +56,23 @@ function clean_all()      fi  } -# Print from file $2, the lines betwen <$1> and </$1> lines -function print_lines() -{ +function print_lines { + +    # Print from file $2, the lines betwen <$1> and </$1> lines      [ $# -ne 2 ] && mk_exit 1      eval "sed -n '/<$1>/,/<\/$1>/ { /<$1>/ b; /<\/$1>/ b; p; }' $2"  } -# Print from file $2, the lines betwen <$1> and $2 lines -function print_lines_to() -{ +function print_lines_to { + +    # Print from file $2, the lines betwen <$1> and $2 lines      [ $# -ne 3 ] && mk_exit 1      eval "sed -n '/<$1>/,/$2/ { /<$1>/ b; /$2/ b; p; }' $3"  } -# Make slack-desc file -function mk_slackdesc() -{ +function mk_slackdesc { + +    # Make slack-desc file      print_lines_to "slackdesc" "|-----" $SB_MODEL      echo -n $MK_PKGNAME | tr [a-z+\-] " "      echo -n "|-----handy-ruler" @@ -89,18 +88,18 @@ function mk_slackdesc()      print_lines "slackdesc" $SB_MODEL | sed '1,/\]\]/ d'  } -# Get label status from SlackBuild model -function get_status() -{ +function get_status { + +    # Get label status from SlackBuild model      [ $# -ne 2 ] && mk_exit 1      eval "sed -n '/<$1>/ p' $2 | sed 's/.*> \([a-z]\+\)/\1/'"  } -# Get status from edited SlackBuild -# input: $1 -> section name -# output: section status and section number -function mk_status() -{ +function mk_status { + +    # Get status from edited SlackBuild +    # input: $1 -> section name +    # output: section status and section number      for i in `seq 0 $MAXSECTION`;do          if [ "${SECTION_NAME[i]}" = "$1" ]; then              echo "${SECTION_FLAG[i]} $i" @@ -110,9 +109,9 @@ function mk_status()      return 1  } -# Edit file $3, by change string [[$1]] to $2 -function edit_file() -{ +function edit_file { + +    # Edit file $3, by change string [[$1]] to $2      local STR_OLD      local STR_NEW @@ -123,9 +122,9 @@ function edit_file()      mv $AUX_TMP $3  } -# Unpackage source -function unpkg_source() -{ +function unpkg_source { + +    # Unpackage source      # FIXME: if MK_DECOMPRESSOR -ne bunzip2 or gunzip...      if [ $MK_DECOMPRESSOR = "bunzip2" -o $MK_DECOMPRESSOR = "gunzip" ]; then          dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \ @@ -143,22 +142,22 @@ function unpkg_source()      fi  } -# Download source -function download_url() -{ +function download_url { + +    # Download source      clear -    mkdir -p $MK_SOURCEDIR/$MK_PKGNAME 2>/dev/null -    wget --continue --limit-rate=$MK_LIMITRATE $MK_URL -P $MK_SOURCEDIR/$MK_PKGNAME/ +    mkdir -p $MK_SOURCE_DIR/$MK_PKGNAME 2>/dev/null +    wget --continue --limit-rate=$MK_LIMITRATE $MK_URL -P $MK_SOURCE_DIR/$MK_PKGNAME/      if [ $? -ne 0 ]; then          echo "URL error"          return 0      fi -    MK_SOURCE=$MK_SOURCEDIR/$MK_PKGNAME/$MK_SRCNAME +    MK_SOURCE=$MK_SOURCE_DIR/$MK_PKGNAME/$MK_SRCNAME  } -# Select source file -function select_source() -{ +function select_source { + +    # Select source file      MK_SOURCE=$BASEDIR      while [ ! -f $MK_SOURCE ]; do          MK_SOURCE=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \ @@ -170,27 +169,28 @@ function select_source()      done      MK_SRCNAME=`basename $MK_SOURCE` -    MK_SOURCEDIR=`dirname $MK_SOURCE` +    MK_SOURCE_DIR=`dirname $MK_SOURCE`  }  #--------------------------------------------------------------------  # Edit functions  #-------------------------------------------------------------------- -# Edit authot, Initials and editor -function edit_author() -{ -    MK_AUTHOR=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title "$MK_TITLE" --inputbox "Enter with author complite name:" 8 60 "$MK_AUTHOR"` -    edit_file "AUTHOR NAME" "$MK_AUTHOR" ~/.mkslackbuild + +function edit_author { + +    # Edit authot, Initials and editor +    MK_AUTHOR=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title "$MK_TITLE" --inputbox "Enter with author name:" 8 60 "$MK_AUTHOR"` +    edit_file "AUTHOR NAME" "$MK_AUTHOR" $MK_SLACKBUILD_RC      MK_AUTHOR_INITIALS=`echo $MK_AUTHOR | sed 's/ /\n/g' | sed 's/^\([A-Z]\).*/\1/' | sed ':i; $!N;  s/\n//; ti' | tr [A-Z] [a-z]`      MK_AUTHOR_INITIALS=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title "$MK_TITLE" --inputbox "Enter with author assignature:" 8 60 "$MK_AUTHOR_INITIALS"` -    edit_file "AUTHOR INITIALS" "$MK_AUTHOR_INITIALS" ~/.mkslackbuild +    edit_file "AUTHOR INITIALS" "$MK_AUTHOR_INITIALS" $MK_SLACKBUILD_RC      MK_EDITOR=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title "$MK_TITLE" --inputbox "Enter with editor command:" 8 60 "pico"` -    edit_file "EDITOR" "$MK_EDITOR" ~/.mkslackbuild +    edit_file "EDITOR" "$MK_EDITOR" $MK_SLACKBUILD_RC -    MK_SOURCEDIR=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title "$MK_TITLE" --inputbox "Enter with sources directory:" 8 60 "\`pwd\`"` -    edit_file "SOURCE DIR" "$MK_SOURCEDIR" ~/.mkslackbuild +    MK_SOURCE_DIR=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title "$MK_TITLE" --inputbox "Enter with sources directory:" 8 60 "\`pwd\`"` +    edit_file "SOURCE DIR" "$MK_SOURCE_DIR" $MK_SLACKBUILD_RC      if [ "$USER" != "root" ]; then          SLACKBUILDRC=`[ -e ~/.slackbuildrc ] && echo ~/.slackbuildrc || echo /etc/slackbuildrc` @@ -201,38 +201,35 @@ function edit_author()      fi      MK_REPOS=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title "$MK_TITLE" --inputbox "Enter with binary repository directory:" 8 60 "$MK_REPOS"` -    edit_file "REPOS DIR" "$MK_REPOS" ~/.mkslackbuild - -    MK_SLACKBUILD_DIR=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title "$MK_TITLE" --inputbox "Enter with binary repository directory:" 8 60 "$MK_SLACKBUILD_DIR"` -    edit_file "SLACKBUILD DIR" "$MK_SLACKBUILD_DIR" ~/.mkslackbuild +    edit_file "REPOS DIR" "$MK_REPOS" $MK_SLACKBUILD_RC      MK_ARCH=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title "$MK_TITLE" --inputbox "Enter default architecture to SlackBuild:" 8 60 "i468"` -    edit_file "DEFAULT ARCH" "$MK_ARCH" ~/.mkslackbuild +    edit_file "DEFAULT ARCH" "$MK_ARCH" $MK_SLACKBUILD_RC      MK_LIMITRATE=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title "$MK_TITLE" --inputbox "Enter wget limit rate:" 8 60 "120k"` -    edit_file "LIMIT RATE" "$MK_LIMITRATE" ~/.mkslackbuild +    edit_file "LIMIT RATE" "$MK_LIMITRATE" $MK_SLACKBUILD_RC  } -# Edit source URL -function edit_url() -{ +function edit_url { + +    # Edit source URL      MK_URL=${MK_URL:="http://downloads.sourceforge.net/"}      MK_URL=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --cancel-label "Main Menu" --title "$MK_TITLE" --inputbox "Enter with complite URL from source:" 8 60 "$MK_URL"`      [ $? -ne 0 ] && return 100  } -# Edit source name -function edit_source_name() -{ +function edit_source_name { + +    # Edit source name      # Carrega nome do arquivo      MK_SRCNAME=`basename $MK_URL`      MK_SRCNAME=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --cancel-label "Main Menu" --title "$MK_TITLE" --inputbox "Enter with source file name:" 8 60 "$MK_SRCNAME"`      [ $? -ne 0 ] &&  return 100  } -# Edit MK_PKGNAME, MK_VERSION and MK_EXTENSION -function edit_pkgname() -{ +function edit_pkgname { + +    # Edit MK_PKGNAME, MK_VERSION and MK_EXTENSION      # Remove nome, versão e extensão do nome da fonte      MK_SRC_NAME=`echo $MK_SRCNAME | sed -r 's/(.*)-(.*)\.(.*\..*)$/\1/'`      MK_PKGNAME=`echo $MK_SRC_NAME | tr [A-Z_] [a-z\-]` @@ -255,9 +252,9 @@ function edit_pkgname()      MK_EXTENSION=`echo $ANS | awk '{print $4}'`  } -# Edit MK_DECOMPRESSOR and MK_DECOMPRESSOR_TEST_FLAG -function edit_decompress_arg() -{ +function edit_decompress_arg { + +    # Edit MK_DECOMPRESSOR and MK_DECOMPRESSOR_TEST_FLAG      # Remove nome, versão e extensão do nome da fonte      MK_DECOMPRESSOR=""      MK_DECOMPRESSOR_TEST_FLAG="" @@ -274,9 +271,9 @@ function edit_decompress_arg()      MK_DECOMPRESSOR_TEST_FLAG=`echo $ANS3 | awk '{print $2}'`  } -# Edit configure options -function edit_configure() -{ +function edit_configure { + +    # Edit configure options      CONFIG_HELP=`mktemp -p /tmp/ config_$MK_PKGNAME.XXXXXX`      $MK_TMPSRC/configure --help > $CONFIG_HELP @@ -335,9 +332,9 @@ function edit_configure()      done  } -# Show Documentations files -function view_docs() -{ +function view_docs { + +    # Show Documentations files      local MENU=""      local SELECT=""      local ANS2=0 @@ -353,9 +350,9 @@ function view_docs()      done  } -# Edit documentations files -function edit_docfiles() -{ +function edit_docfiles { + +    # Edit documentations files      [ -z $MK_TMPSRC ] && return 0      if [ -e $MK_TMPSRC ]; then @@ -374,9 +371,9 @@ function edit_docfiles()      MK_DOCFILES="`echo $SELECTDOCS | sed ':i; N; s/\n/ /; bi'`"  } -# Edit compiler architecture -function edit_arch() -{ +function edit_arch { + +    # Edit compiler architecture      MK_ARCH=`dialog --stdout --backtitle "Make SlackBuild documentation files below:"  --cancel-label "Main Menu" --title "$MK_TITLE" --inputbox "Set an architecture to compiler:" 8 45 $MK_ARCH`      [ $? -ne 0 ] && return 100  } @@ -384,9 +381,10 @@ function edit_arch()  #--------------------------------------------------------------------  # Mount files  #-------------------------------------------------------------------- -# Change string $1 to $2 in all files in the current directory -function change_strings() -{ + +function change_strings { + +    # Change string $1 to $2 in all files in the current directory      [ $# -ne 2 ] && mk_exit 1      #[ -z "$2" ] && return 0      eval "grep -l \"\[\[$1\]\]\" *" | while read FILE; do @@ -394,9 +392,9 @@ function change_strings()      done  } -# Build initial sections -function start_build() -{ +function start_build  { + +    # Build initial sections      change_strings "SLACKBUILD AUTHOR" "$MK_AUTHOR"      change_strings "SLACKBUILD AUTHOR INITIALS" $MK_AUTHOR_INITIALS      change_strings "SOURCE NAME" "$MK_SRC_NAME" @@ -418,13 +416,13 @@ function start_build()      change_strings "PREFIX" "$MK_PREFIX"  } -# Mount final SlackBuild -function mount_slackbuild() -{ +function mount_slackbuild { + +    # Mount final SlackBuild      dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title "$MK_TITLE" --infobox "SlackBuild save in $SLACKBUILD" 5 45      rm $SLACKBUILD 2>/dev/null -#    [ ! -e `dirname $SLACKBUILD` ] && mkdir `dirname $SLACKBUILD` +      for i in `seq 0 $MAXSECTION`; do          if [ "${SECTION_FLAG[i]}" = "all" -o "${SECTION_FLAG[i]}" = "on" ]; then              cat ${SECTION_NAME[i]}_$MK_PKGNAME.mkbuild >> $SLACKBUILD @@ -434,9 +432,9 @@ function mount_slackbuild()      chmod +x $SLACKBUILD  } -# Mount SlackBuild to section $1 -function mount_slackbuild_to() -{ +function mount_slackbuild_to { + +    # Mount SlackBuild to section $1      if [ $# -eq 1 ]; then          END_SECTION=$1          dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title "$MK_TITLE" --infobox "SlackBuild save in $SLACKBUILD.test" 5 45 @@ -454,9 +452,9 @@ function mount_slackbuild_to()      fi  } -# Make files section -function make_file_sections() -{ +function make_file_sections { + +    # Make files section      THIS_MODEL=$1      # Create SlackBuilds-sections files @@ -485,8 +483,9 @@ function make_file_sections()      md5sum *.mkbuild > md5sum  } -function get_source_dialog() -{ +function get_source_dialog { + +    #      if [ ! -e $MK_SOURCE ]; then          dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \              --title "$MK_TITLE" --yesno " Download $MK_SRCNAME? " 5 50 @@ -500,8 +499,9 @@ function get_source_dialog()  } -function test_source() -{ +function test_source { + +    #      local TEST=1      local ANS=0 @@ -522,10 +522,10 @@ function test_source()      done  } -# Configure test source variables -function set_source_test() -{ -    MK_SOURCE=$MK_SOURCEDIR/$MK_PKGNAME/$MK_SRCNAME +function set_source_test { + +    # Configure test source variables +    MK_SOURCE=$MK_SOURCE_DIR/$MK_PKGNAME/$MK_SRCNAME      if [ "$MK_EXTENSION" = "tar.gz" -o "$MK_EXTENSION" = "gz" -o "$MK_EXTENSION" = "tgz" ]; then          MK_DECOMPRESSOR=gunzip          MK_DECOMPRESSOR_TEST_FLAG="-t" @@ -538,9 +538,9 @@ function set_source_test()      fi  } -# Enable MD5 or GPG signature check -function edit_signature() -{ +function edit_signature { + +    # Enable MD5 or GPG signature check      # GPG and MD5 test      local ANS=0 @@ -560,26 +560,27 @@ function edit_signature()      esac  } -# Enable GPG signature check -function edit_gpg() -{ +function edit_gpg { + +    # Enable GPG signature check      dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \          --title "$MK_TITLE" --msgbox "Enter with gpg minimized signing key." 5 50      $EDITOR $MK_GPGFILEKEY  } -# Enable MD5SUM signature check -function edit_md5sum() -{ +function edit_md5sum { + +    # Enable MD5SUM signature check      echo "none"  }  #--------------------------------------------------------------------  # Main functions  #-------------------------------------------------------------------- -# Create new SlackBuild -function create_slackbuild() -{ + +function create_slackbuild { + +    # Create new SlackBuild      # Config package URL      edit_url      [ $? -eq 100 ] && return 100 @@ -601,7 +602,7 @@ function create_slackbuild()      [ $? -eq 100 ] && return 100      # Get source file -    MK_SOURCE=$MK_SOURCEDIR/$MK_PKGNAME/$MK_SRCNAME +    MK_SOURCE=$MK_SOURCE_DIR/$MK_PKGNAME/$MK_SRCNAME      get_source_dialog      [ $? -eq 100 ] && return 100 @@ -643,9 +644,9 @@ function create_slackbuild()      edit_menu  } -# Open mkslackbuild dialog input -function open_mkslackbuild_dialog() -{ +function open_mkslackbuild_dialog { + +    # Open mkslackbuild dialog input      MKSLACKBUILD=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \              --title " Select source file name: " \              --fselect "$BASEDIR/" 10 70` @@ -655,9 +656,9 @@ function open_mkslackbuild_dialog()      [ $? -eq 100 ] || return 100  } -# Open mkslackbuild -function open_mkslackbuild() -{ +function open_mkslackbuild { + +    # Open mkslackbuild      if [ -f $MKSLACKBUILD ]; then          # Start defaults variables          source $MKSLACKBUILD @@ -692,9 +693,9 @@ function open_mkslackbuild()      unpkg_source  } -# Save mkSlackBuild -function save_mkslackbuild() -{ +function save_mkslackbuild { + +    # Save mkSlackBuild      dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title "$MK_TITLE" --infobox "mkSlackBuild save in $MKSLACKBUILD" 5 30      rm $MKSLACKBUILD 2>/dev/null @@ -726,9 +727,9 @@ function save_mkslackbuild()      [ -s $DEPENDENCY_LIST ] && cp $DEPENDENCY_LIST $BASEDIR/slack-required  } -# Edit Menu -function edit_menu() -{ +function edit_menu { + +    # Edit Menu      ANSE=0      while [ $ANSE -ne 1 ]; do          # Create main-menu string @@ -770,9 +771,9 @@ function edit_menu()      done  } -# Edit md5sum -function md5sum_edit() -{ +function md5sum_edit { + +    # Edit md5sum      local SELECT=0      local FILE=$1 @@ -804,9 +805,9 @@ function md5sum_edit()      $MK_EDITOR $FILE  } -# Test Menu -function test_menu() -{ +function test_menu { + +    # Test Menu      local ANST=0      local SECTION=0      local EDITMENU="" @@ -865,9 +866,9 @@ function test_menu()      done  } -# Dependency Menu -function menu_dependency() -{ +function menu_dependency { + +    # Dependency Menu      local ANSD=11      while [ $ANSD -ne 0 ]; do          ANSD=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \ @@ -888,9 +889,9 @@ function menu_dependency()      done  } -# Dependency list edit -function edit_dependency() -{ +function edit_dependency { + +    # Dependency list edit      if [ ! -s $DEPENDENCY_LIST ]; then          echo -e "# Dependency list to $MK_PKGNAME\n# \n# dependency [condition] [version]]\n" > $DEPENDENCY_LIST      fi @@ -898,9 +899,9 @@ function edit_dependency()      $MK_EDITOR $DEPENDENCY_LIST  } -# Check dependency and comment not found dependencies -function test_dependency() -{ +function test_dependency { + +    # Check dependency and comment not found dependencies      local DEP_LIST=""      if [ -s $DEPENDENCY_LIST ]; then @@ -924,30 +925,31 @@ function test_dependency()      fi  } -# Add/commit one SlackBuild -function commit_SlackBuild() -{ +function commit_SlackBuild { + +    # Add/commit one SlackBuild      # Mount SlackBuild      mount_slackbuild      MK_TITLE="Commit SlackBuild"      # Find SlackBuild -    SB_PATH=`find $MK_SLACKBUILD_DIR -iname $MK_PKGNAME` +    SB_PATH=`find $SLACKBUILD_DIR -iname $MK_PKGNAME`      # Change to SlackBuild directory -    cd $MK_SLACKBUILD_DIR +    cd $SLACKBUILD_DIR -    # Check for new SlackBuild +    # Check for dirbase to new SlackBuild      if [ -z $SB_PATH ]; then          # New SlackBuild          AUX=""          while [ -z $AUX ]; do -            dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --infobox "lynx -dump http://gentoo-portage.com/Search?search=$MK_PKGNAME. Wait..." 0 0 +            dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --infobox "lynx search for $MK_PKGNAME path. Wait..." 0 0              AUX=`lynx -dump http://gentoo-portage.com/Search?search=$MK_PKGNAME | sed -n '/Results:/,+1 { /Results:/ b ; p }' | head --lines=1 | tr -d " "` -            # Default directory +              if [ -z $AUX ]; then                  dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title "$MK_TITLE" --yesno "Net search error. Try again?" 0 0                  if [ $? -ne 0 ]; then +                    # Default directory                      AUX="/others/unclass"                      SB_PATH=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title "$MK_TITLE" --inputbox "Enter dir-name to SlackBuild from $MK_PKGNAME:" 8 60 "$AUX"`                  fi @@ -955,6 +957,7 @@ function commit_SlackBuild()                  SB_PATH="`dirname $AUX | tr - /`/`basename $AUX`"              fi          done +          # Make directory and add SlackBuild to svn          svn mkdir $SB_PATH          cp $BASEDIR/$MK_PKGNAME.SlackBuild $SB_PATH/ @@ -964,7 +967,7 @@ function commit_SlackBuild()              svn add $SB_PATH/slack-required          fi      else -        echo "cp $BASEDIR/$MK_PKGNAME.SlackBuild $SB_PATH/" +        cp $BASEDIR/$MK_PKGNAME.SlackBuild $SB_PATH/          if [ -e $BASEDIR/slack-required ]; then              cp $BASEDIR/slack-required $SB_PATH/          fi @@ -980,9 +983,9 @@ function commit_SlackBuild()      read ANS1  } -# Compile SlackBuild and install -function compile_install() -{ +function compile_install { + +    # Compile SlackBuild and install      local ANS=""      # Mount SlackBuild      mount_slackbuild @@ -1030,6 +1033,48 @@ function compile_install()      read ANS  } +function create_slackbuildrc { + +    # Create basic slackbuildrc +    cat << EOF > $MK_SLACKBUILD_RC +#!/bin/bash +# mkslackbuild definitions +# +MK_AUTHOR="[[AUTHOR NAME]]" +MK_AUTHOR_INITIALS="[[AUTHOR INITIALS]]" +MK_EDITOR=[[EDITOR]] +MK_REPOS=[[REPOS DIR]] +MK_LIMITRATE=[[LIMIT RATE]] +MK_SOURCE_DIR=[[SOURCE DIR]] +MK_ARCH=[[DEFAULT ARCH]] +#SB_MODEL="my_model" +EOF + +} + +function mkslackbuild_config_start { + +    # Check mkslackbuild.conf and start hi +    # Create mkslackbuild.conf config script if need +    if [ ! -e $MK_SLACKBUILD_RC ]; then +        mkdir -p `dirname $MK_SLACKBUILD_RC` 2>/dev/null +        create_slackbuildrc +    fi + +    # Start mkslackbuild.conf variables +    source $MK_SLACKBUILD_RC +    MK_SOURCE_DIR=${MK_SOURCE_DIR:=$BASEDIR} +    MK_ARCH=${MK_ARCH:="i486"} + +    # Configure mkslackbuild.conf variables +    if [ "$MK_AUTHOR" = "[[AUTHOR NAME]]" ]; then +        MK_TITLE=" Personal Config " +        edit_author +        MK_TITLE="" +    fi + +} +  #  #--------------------------------------------------------------------  #                        Start Program @@ -1037,55 +1082,56 @@ function compile_install()  #  # Start variables  LANG=en_US +SLACKDESC_LEN=77  BASEDIR=`pwd` + +# Start Files ------------------------------------------------------  AUX_TMP=`mktemp -p  /tmp/ aux_tmp.XXXXXX`  SLACKDESC_TMP=`mktemp -p  /tmp/ slackdesc_tmp.XXXXXX` -SLACKDESC_LEN=77  DEPENDENCY_LIST=`mktemp -p  /tmp/ slack-required.XXXXXX` +LOCAL_CONF_DIR=~/.local/etc/simplepkg +MK_SLACKBUILD_RC="$LOCAL_CONF_DIR/mkslackbuild.conf" +MK_MODEL_DIR="defaults/mkbuild" + +# Start common.sh functions ---------------------------------------- +COMMON="/usr/libexec/simplepkg/common.sh" +BASENAME="`basename $0`" + +if [ -f "$COMMON" ]; then +  source $COMMON +else +  echo "error: file $COMMON found, check your $BASENAME installation" +  mk_exit 0 +fi + +# Load simplepkg.conf variables +eval_config $BASENAME + +# Enable debug mode ----------------------------------------------- +set -x + +# If model isn't defined, get default model.  if [ -z $SB_MODEL ]; then -    if [ -e ~/.generic.mkSlackBuild ]; then -        SB_MODEL=~/.generic.mkSlackBuild -    elif [ -e /etc/simplepkg/generic.mkSlackBuild ]; then -        SB_MODEL=/etc/simplepkg/generic.mkSlackBuild +    if [ -e $LOCAL_CONF_DIR/$MK_MODEL_DIR/generic.mkSlackBuild ]; then +        SB_MODEL=$LOCAL_CONF_DIR/$MK_MODEL_DIR/generic.mkSlackBuild +    elif [ -e $BASE_CONF/$MK_MODEL_DIR/generic.mkSlackBuild ]; then +        SB_MODEL=$BASE_CONF/$MK_MODEL_DIR/generic.mkSlackBuild      else          echo "SlackBuild model (generic.mkSlackBuild) not found"          mk_exit 0      fi  fi + +# Get mkSlackBuild input  [ $# -ne 0 ] && MKSLACKBUILD=${1//.*}.mkslackbuild  # Clear dialog  dialog --clear -# Load/create personal definitions -if [ ! -e ~/.mkslackbuild ]; then -    ( cat << EOF > ~/.mkslackbuild -#!/bin/bash -# mkslackbuild definitions -# -MK_AUTHOR="[[AUTHOR NAME]]" -MK_AUTHOR_INITIALS="[[AUTHOR INITIALS]]" -MK_EDITOR=[[EDITOR]] -MK_REPOS=[[REPOS DIR]] -MK_LIMITRATE=[[LIMIT RATE]] -MK_SOURCEDIR=[[SOURCE DIR]] -MK_ARCH=[[DEFAULT ARCH]] -MK_SLACKBUILD_DIR=[[SLACKBUILD DIR]] -#SB_MODEL="my_model" -EOF -) -fi -source ~/.mkslackbuild -MK_SOURCEDIR=${MK_SOURCEDIR:=$BASEDIR} -MK_ARCH=${MK_ARCH:="i486"} - -# Config Author -if [ "$MK_AUTHOR" = "[[AUTHOR NAME]]" ]; then -    MK_TITLE=" Personal Config " -    edit_author -    MK_TITLE="" -fi +# Check mkslackbuild.conf and start hi +mkslackbuild_config_start +# Check file.mkslackbuild file to open  if [ ! -z $MKSLACKBUILD ]; then      MK_TITLE=" Open mkSlackBuild "      open_mkslackbuild @@ -1133,7 +1179,7 @@ while [ $ANS0 -ne 0 ]; do          "5" "Save SlackBuild and mkslackbuild" \          "6" "Compile/install package" \          "7" "Remove package" \ -        "8" "Commit SlackBuild to Sarava"` +        "8" "Commit SlackBuild to Sarava tree"`          if [ $? -ne 0 ]; then              ANS0=0 @@ -1193,4 +1239,4 @@ if [ ! -z $MK_PKGNAME ]; then  fi  mk_exit 0 -# _________________________________END_______________________________ +  | 
