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_______________________________ + |