aboutsummaryrefslogtreecommitdiff
path: root/trunk/utils
diff options
context:
space:
mode:
authorrudson <rudson@04377dda-e619-0410-9926-eae83683ac58>2007-03-07 18:06:29 +0000
committerrudson <rudson@04377dda-e619-0410-9926-eae83683ac58>2007-03-07 18:06:29 +0000
commit8fe63d2252670e0d279b9a30d7ce087c2e16931f (patch)
treee4b68b55391927df69521c8e7ca495d3eb07cd7d /trunk/utils
parent35576bbf7f9519abe4cb99c261e3d997b405b697 (diff)
downloadsimplepkg-8fe63d2252670e0d279b9a30d7ce087c2e16931f.tar.gz
simplepkg-8fe63d2252670e0d279b9a30d7ce087c2e16931f.tar.bz2
mkbuild: correções em menus
git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@204 04377dda-e619-0410-9926-eae83683ac58
Diffstat (limited to 'trunk/utils')
-rwxr-xr-xtrunk/utils/mkbuild1011
1 files changed, 0 insertions, 1011 deletions
diff --git a/trunk/utils/mkbuild b/trunk/utils/mkbuild
deleted file mode 100755
index ee664ea..0000000
--- a/trunk/utils/mkbuild
+++ /dev/null
@@ -1,1011 +0,0 @@
-#!/bin/bash -x
-#
-# Script para gerar Slackbuild
-# Por Rudson R. Alves
-#
-# Este script auxilia a criação de SlackBuilds, com o modelo
-# do Luiz do Sarava Linux
-#
-# Slackbuilds são scripts utilizados no Slackware para gerar
-# pacotes tgz.
-#
-# Turn off debug
-set +x
-#
-# Version 0.9.13
-PROG_VERSION=0.9.13
-
-#--------------------------------------------------------------------
-# Functions
-#--------------------------------------------------------------------
-# Show ./configure --help
-function config_help()
-{
- view_file "Check ./configure --help" $CONFIG_HELP
-}
-
-# Show file
-# INPUT: $1 string textbox
-# $2 file
-function view_file()
-{
- [ $# -ne 2 ] && return 1
- dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title " $1 " --textbox $2 20 75
-}
-
-# Exit function
-function mk_exit()
-{
- clean_all
- clear
- exit $1
-}
-
-# Clear all temp files
-function clean_all()
-{
- [ -s $DEPENDENCY_LIST ] && cp $DEPENDENCY_LIST $BASEDIR/slack-required
-
- rm $AUX_TMP 2>/dev/null
- rm $SLACKDESC_TMP 2>/dev/null
- rm $SLACKBUILD.test 2>/dev/null
- rm $DEPENDENCY_LIST 2>/dev/null
- if [ ! -z $MK_PKGNAME ]; then
- rm $BASEDIR/*_$MK_PKGNAME.mkbuild 2>/dev/null
- rm -rf /tmp/$MK_PKGNAME 2>/dev/null
- rm $CONFIG_HELP 2>/dev/null
- fi
-}
-
-# Print from file $2, the lines betwen <$1> and </$1> lines
-function print_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()
-{
- [ $# -ne 3 ] && mk_exit 1
- eval "sed -n '/<$1>/,/$2/ { /<$1>/ b; /$2/ b; p; }' $3"
-}
-
-# Make slack-desc file
-function mk_slackdesc()
-{
- print_lines_to "slackdesc" "|-----" $SB_MODEL
- echo -n $MK_PKGNAME | tr [a-z+\-] " "
- echo -n "|-----handy-ruler"
- let N=18+${#MK_PKGNAME}
- for i in `seq $N $SLACKDESC_LEN`; do
- echo -n "-"
- done
- echo -en "|\n"
-
- for i in `seq 1 11`; do
- echo -en "$MK_PKGNAME: \n"
- done
- print_lines "slackdesc" $SB_MODEL | sed '1,/\]\]/ d'
-}
-
-# Get label status from Slackbuild model
-function get_status()
-{
- [ $# -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()
-{
- for i in `seq 0 $MAXSECTION`;do
- if [ "${SECTION_NAME[i]}" = "$1" ]; then
- echo "${SECTION_FLAG[i]} $i"
- return 0
- fi
- done
- return 1
-}
-
-# Edit file $3, by change string [[$1]] to $2
-function edit_file()
-{
- local STR_OLD
- local STR_NEW
-
- [ $# -ne 3 ] && mk_exit 1
- 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
-}
-
-# Unpackage source
-function unpkg_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]" \
- --cancel-label "Main Menu" --infobox "Uncompress source in /tmp/$MK_PKGNAME. Wait" 3 45
- [ $? -ne 0 ] && return 100
- mkdir /tmp/$MK_PKGNAME/ 2>/dev/null
- tar xvf $MK_SOURCE -C /tmp/$MK_PKGNAME/ 1>/dev/null
- [ $? -ne 0 ] && mk_exit 1
- MK_TMPSRC="/tmp/$MK_PKGNAME/`ls /tmp/$MK_PKGNAME/`"
-
- DOC_FILES=`find $MK_TMPSRC -type f -maxdepth 1 -name "[A-Z]*" | sed 's/.*\/\(.*\)$/\1/'`
- else
- dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --msgbox "$MK_DECOMPRESSOR not configurated..." 5 45
- fi
-}
-
-# Download source
-function download_url()
-{
- clear
- mkdir -p $MK_SOURCEDIR/$MK_PKGNAME 2>/dev/null
- wget --limit-rate=$MK_LIMITRATE $MK_URL -P $MK_SOURCEDIR/$MK_PKGNAME/
- if [ $? -ne 0 ]; then
- echo "URL error"
- return 0
- fi
- MK_SOURCE=$MK_SOURCEDIR/$MK_PKGNAME/$MK_SRCNAME
-}
-
-# Select source file
-function select_source()
-{
- MK_SOURCE=$BASEDIR
- while [ ! -f $MK_SOURCE ]; do
- MK_SOURCE=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --cancel-label "Main Menu" --title " Select source file name (use spaces to select): " --fselect "$MK_SOURCE" 10 70`
- [ $? -ne 0 ] && return 100
- if [ ! -f $MK_SOURCE ]; then
- MK_SOURCE="$MK_SOURCE/"
- fi
- done
-
- MK_SRCNAME=`basename $MK_SOURCE`
- MK_SOURCEDIR=`dirname $MK_SOURCE`
-}
-
-#--------------------------------------------------------------------
-# Edit functions
-#--------------------------------------------------------------------
-# Edit authot, Initials and editor
-function edit_author()
-{
- MK_AUTHOR=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --inputbox "Enter with author complite name:" 8 60 "$MK_AUTHOR"`
- edit_file "AUTHOR NAME" "$MK_AUTHOR" ~/.mkslackbuild
- 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]" --inputbox "Enter with author assignature:" 8 60 "$MK_AUTHOR_INITIALS"`
- edit_file "AUTHOR INITIALS" "$MK_AUTHOR_INITIALS" ~/.mkslackbuild
- MK_EDITOR=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --inputbox "Enter with editor command:" 8 60 "pico"`
- edit_file "EDITOR" "$MK_EDITOR" ~/.mkslackbuild
-}
-
-# Edit source URL
-function edit_url()
-{
- MK_URL=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --cancel-label "Main Menu" --inputbox "Enter with complite URL from source:" 8 60 "$MK_URL"`
- [ $? -ne 0 ] && return 100
-}
-
-# Edit source name
-function 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" --inputbox "Enter with complite source file name:" 8 60 "$MK_SRCNAME"`
- [ $? -ne 0 ] && return 100
-}
-
-# Edit MK_PKGNAME, MK_VERSION and MK_EXTENSION
-function edit_pkgname()
-{
- # 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]`
- MK_VERSION=`echo $MK_SRCNAME | sed -r 's/(.*)-(.*)\.(.*\..*)$/\2/'`
- MK_EXTENSION=`echo $MK_SRCNAME | sed -r 's/(.*)-(.*)\.(.*\..*)$/\3/'`
-
- # Configura nome, versão e extensão do pacote
- ANS=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --cancel-label "Main Menu" --form "Check information below:" 14 52 7 \
- "Source name:" 1 1 "$MK_SRC_NAME" 1 15 30 60 \
- "Package name:" 3 1 "$MK_PKGNAME" 3 15 30 60 \
- "Version:" 5 1 "$MK_VERSION" 5 15 30 60 \
- "Extension:" 7 1 "$MK_EXTENSION" 7 15 30 60`
- [ $? -ne 0 ] && return 100
-
- MK_SRC_NAME=`echo $ANS | awk '{print $1}'`
- MK_PKGNAME=`echo $ANS | awk '{print $2}'`
- MK_VERSION=`echo $ANS | awk '{print $3}'`
- MK_EXTENSION=`echo $ANS | awk '{print $4}'`
-}
-
-# Edit MK_DECOMPRESSOR and MK_DECOMPRESSOR_TEST_FLAG
-function edit_decompress_arg()
-{
- # Remove nome, versão e extensão do nome da fonte
- MK_DECOMPRESSOR=""
- MK_DECOMPRESSOR_TEST_FLAG=""
-
- # Configura nome, versão e extensão do pacote
- ANS3=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --cancel-label "Main Menu" --form "Check information below:" 10 55 3 \
- "Uncompress program:" 1 1 "$MK_DECOMPRESSOR" 1 23 25 60 \
- "Uncompress test flag:" 3 1 "$MK_DECOMPRESSOR_TEST_FLAG" 3 23 25 100`
- [ $? -ne 0 ] && return 100
-
- MK_DECOMPRESSOR=`echo $ANS3 | awk '{print $1}'`
- MK_DECOMPRESSOR_TEST_FLAG=`echo $ANS3 | awk '{print $2}'`
-}
-
-# Edit configure options
-function edit_configure()
-{
- CONFIG_HELP=`mktemp -p /tmp/ config_$MK_PKGNAME.XXXXXX`
-
- $MK_TMPSRC/configure --help > $CONFIG_HELP
- config_help
- [ "$( cat $CONFIG_HELP | egrep '/usr/local')" != "" ] && MK_PREFIX=/usr || MK_PREFIX=/opt/kde
- MK_OPTIONS=""
- local ANS0=1
-
- while [ $ANS0 -eq 1 ]; do
- local ANS1="7"
- while [ $ANS1 -ne 0 ]; do
- ANS1=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --cancel-label "Continue" --menu "Select one option" 0 0 0 \
- 1 "View ./configure help" \
- 2 "View documentations" \
- 3 "PREFIX=$MK_PREFIX" \
- 4 "OPTIONS=$MK_OPTIONS" \
- 0 "Continue"`
-
- case $ANS1 in
- '1')
- config_help
- ;;
- '2')
- view_docs
- ;;
- '3')
- MK_PREFIX=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --inputbox "Enter with prefix for install $MK_PKGNAME" 8 60 "$MK_PREFIX"`
- ;;
- '4')
- MK_OPTIONS=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --inputbox "Enter with configure options for compile $MK_PKGNAME" 8 60 "$MK_OPTIONS"`
- ;;
- *)
- ANS1=0
- ;;
- esac
- done
-
- # Configure
- dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title " Execute ./configure below? " --yesno "./configure --prefix=$MK_PREFIX $MK_OPTIONS" 6 70
- if [ $? -eq 0 ]; then
- (
- cd $MK_TMPSRC
- ./configure --prefix=$MK_PREFIX $MK_OPTIONS
- )
-
- echo -en "\nPress ENTER to continue"
- read ANS0
- fi
-
- dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --title " Configure line is ok? " --yesno "./configure --prefix=$MK_PREFIX $MK_OPTIONS" 6 70
-
- ANS0=$?
- done
-}
-
-# Show Documentations files
-function view_docs()
-{
- local MENU=""
- local SELECT=""
- local ANS2=0
-
- for i in $DOC_FILES; do
- MENU="$MENU \"$i\" \"\" "
- done
-
- while [ $ANS2 -eq 0 ]; do
- SELECT=`eval "dialog --stdout --backtitle \"Make SlackBuild $PROG_VERSION [$MK_PKGNAME]\" --cancel-label \"Continue\" --title \" Documentations files \" --menu \"Select doc-file below:\" 20 45 13 $MENU"`
- ANS2=$?
- [ $ANS2 -eq 0 ] && view_file "File: $SELECT" $MK_TMPSRC/$SELECT
- done
-}
-
-# Edit documentations files
-function edit_docfiles()
-{
- [ -z $MK_TMPSRC ] && return 0
-
- if [ -e $MK_TMPSRC ]; then
- LIST=`( cd $MK_TMPSRC; find . -type f -maxdepth 1 | cut -c3- )`
- DOCMENU=""
- for i in $LIST; do
- if [ "`echo NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING | grep $i`" != "" ]; then
- DOCMENU="$DOCMENU $i \"\" on"
- else
- DOCMENU="$DOCMENU $i \"\" off"
- fi
- done
- SELECTDOCS=`eval "dialog --stdout --separate-output --backtitle \"Make SlackBuild $PROG_VERSION [$MK_PKGNAME]\" --title \" Documentations files \" --cancel-label \"Continue\" --checklist \"Select documentation files below:\" 20 45 13 $DOCMENU"`
- fi
-
- MK_DOCFILES="`echo $SELECTDOCS | sed ':i; N; s/\n/ /; bi'`"
-}
-
-# Edit compiler architecture
-function edit_arch()
-{
- MK_ARCH=`dialog --stdout --backtitle "Make SlackBuild documentation files below:" --cancel-label "Main Menu" --inputbox "Set an architecture to compiler:" 8 45 $MK_ARCH`
- [ $? -ne 0 ] && return 100
-}
-
-#--------------------------------------------------------------------
-# Mount files
-#--------------------------------------------------------------------
-# Change string $1 to $2 in all files in the current directory
-function change_strings()
-{
- # echo "$1 -> $2"
- [ $# -ne 2 ] && mk_exit 1
- [ -z $2 ] && return 0
- eval "grep -l \"\[\[$1\]\]\" *" | while read FILE; do
- edit_file "$1" "$2" $FILE
- done
-}
-
-# Build initial sections
-function start_build()
-{
- change_strings "SLACKBUILD AUTHOR" "$MK_AUTHOR"
- change_strings "SLACKBUILD AUTHOR INITIALS" $MK_AUTHOR_INITIALS
- change_strings "SOURCE NAME" "$MK_SRC_NAME"
- change_strings "PROGRAM NAME" "$MK_PKGNAME"
- change_strings "PACKAGE NAME" "$MK_PKGNAME"
- change_strings "DECOMPRESSOR" "$MK_DECOMPRESSOR"
- change_strings "DECOMPRESSOR TEST FLAG" "$MK_DECOMPRESSOR_TEST_FLAG"
- change_strings "PROGRAM URL" "${MK_URL//$MK_SRCNAME}"
- change_strings "ARCH" "$MK_ARCH"
- change_strings "VERSION" $MK_VERSION
- change_strings "SOURCE EXTENSION" ${MK_EXTENSION#tar.}
- change_strings "DOWNLOAD FOLDER URL" "`dirname $MK_URL`"
- change_strings "OTHER CONFIGURE ARGS" "$MK_OPTIONS"
- change_strings "DOCUMENTATION FILES" "$MK_DOCFILES"
- change_strings "PREFIX" "$MK_PREFIX"
- #[ ! -z $MK_MD5SUM_EXT ] && change_strings "MD5SUM EXTENSION" "$MK_MD5SUM_EXT"
-}
-
-# Mount final SlackBuild
-function mount_slackbuild()
-{
- dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --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
- echo "" >> $SLACKBUILD
- fi
- done
-}
-
-# Mount SlackBuild to section $1
-function mount_slackbuild_to()
-{
- if [ $# -eq 1 ]; then
- END_SECTION=$1
- dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --infobox "SlackBuild save in $SLACKBUILD.test" 5 45
-
- rm $SLACKBUILD.test 2>/dev/null
-# [ ! -e `dirname $SLACKBUILD` ] && mkdir `dirname $SLACKBUILD`
- let i=0
- while [ $i -le $END_SECTION ]; do
- if [ "${SECTION_FLAG[i]}" = "all" -o "${SECTION_FLAG[i]}" = "on" ]; then
- cat ${SECTION_NAME[i]}_$MK_PKGNAME.mkbuild >> $SLACKBUILD.test
- echo "" >> $SLACKBUILD
- fi
- let i++
- done
- echo "" >> $SLACKBUILD
- fi
-}
-
-# Make files section
-function make_file_sections()
-{
- THIS_MODEL=$1
-
- # Create SlackBuilds-sections files
- rm *_$MK_PKGNAME.mkbuild 2>/dev/null
-
- # Make files section
- INDEX=0
- while read ITEM; do
- SECTION_NAME[INDEX]="$ITEM"
-
- AUX=${SB_SECTION[$INDEX,0]}_${MK_PKGNAME}
- SECTION_FILE=${SECTION_NAME[INDEX]}_${MK_PKGNAME}.mkbuild
- rm $SECTION_FILE 2>/dev/null
-
- STRING=$ITEM
- # Save section status flag
- SECTION_FLAG[INDEX]=`get_status "$STRING" $THIS_MODEL`
-
- # Create sections files
- print_lines "$STRING" $THIS_MODEL > $SECTION_FILE
- let INDEX++
- done < <( cat $THIS_MODEL | grep '^<[a-z_0-9]\+>' | sed 's/<\(.*\)>.*$/\1/' )
-
- let INDEX--
- MAXSECTION=$INDEX
-}
-
-function get_source_dialog()
-{
- if [ ! -e $MK_SOURCE ]; then
- dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --yesno " Download $MK_SRCNAME? " 5 50
- if [ $? -eq 0 ]; then
- download_url
- else
- select_source
- [ $? -eq 100 ] && return 100
- fi
- fi
-}
-
-
-function test_source()
-{
- local TEST=1
- local ANS=0
-
- while [ $TEST -ne 0 ]; do
- dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --infobox "Test source with $MK_DECOMPRESSOR $MK_DECOMPRESSOR_TEST_FLAG $MK_SOURCE" 5 50
- $MK_DECOMPRESSOR $MK_DECOMPRESSOR_TEST_FLAG $MK_SOURCE
- TEST=$?
- if [ $TEST -ne 0 ]; then
- dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --yesno "Source uncompress error. Download source again?" 6 50
- if [ $? -eq 0 ]; then
- rm $MK_SOURCE
- get_source_dialog
- [ $? -eq 100 ] return 100
- else
- TEST=0
- fi
- fi
- done
-}
-
-function set_source_test()
-{
- MK_SOURCE=$MK_SOURCEDIR/$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"
- elif [ "$MK_EXTENSION" = "tar.bz2" -o "$MK_EXTENSION" = "bz2" ]; then
- MK_DECOMPRESSOR=bunzip2
- MK_DECOMPRESSOR_TEST_FLAG="-t"
- else
- edit_decompress_arg
- [ $? -eq 100 ] && return 100
- fi
-}
-
-# Enable MD5 or GPG signature check
-function edit_signature()
-{
- # GPG and MD5 test
- local ANS=0
-
- ANS=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --menu "Select code validate type:" 0 0 0 \
- "1" "gpg signature" \
- "2" "md5sum" \
- "0" "none"`
-
- case $ANS in
- 1)
- edit_gpg
- ;;
- 2)
- edit_md5sum
- ;;
- esac
-}
-
-# Enable GPG signature check
-function edit_gpg()
-{
- dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --msgbox "Enter with gpg minimized signing key." 5 50
- $EDITOR $MK_GPGFILEKEY
-}
-
-# Enable MD5SUM signature check
-function edit_md5sum()
-{
- echo "none"
-}
-
-#--------------------------------------------------------------------
-# Main functions
-#--------------------------------------------------------------------
-# Create new Slackbuild
-function create_slackbuild()
-{
- # Config package URL
- edit_url
- [ $? -eq 100 ] && return 100
-
- # Source Name
- edit_source_name
- [ $? -eq 100 ] && return 100
-
- # Package name, version and extension
- edit_pkgname
- [ $? -eq 100 ] && return 100
-
- # Compile arch
- edit_arch
- [ $? -eq 100 ] && return 100
-
- # Set source test vadiables
- set_source_test
- [ $? -eq 100 ] && return 100
-
- # Get source file
- get_source_dialog
- [ $? -eq 100 ] && return 100
-
- # Test source
- test_source
- [ $? -eq 100 ] && return 100
-
- # Uncompress source
- unpkg_source
- [ $? -eq 100 ] && return 100
-
- # GPG and MD5 test
-# edit_signature
-
- # Configure compiler options if exist
- if [ -e $MK_TMPSRC/configure ]; then
- edit_configure
- fi
-
- # Edit documentation list
- edit_docfiles
-
- # Create files sections
- make_file_sections $SB_MODEL
-
- # Slackbuild script name
- SLACKBUILD=$BASEDIR/$MK_PKGNAME.Slackbuild
-
- # mkSlackBuild script name
- # FIXME: make an MODELDIR???
- MKSLACKBUILD=$BASEDIR/$MK_PKGNAME.mkslackbuild
-
- mk_slackdesc > slackdesc_$MK_PKGNAME.mkbuild
-
- # Edit builds sections
- start_build
-
- # Main-Menu
- edit_menu
-}
-
-# Open mkslackbuild dialog input
-function open_mkslackbuild_dialog()
-{
- MKSLACKBUILD=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --title " Select source file name (use spaces to select): " \
- --fselect "$BASEDIR/" 10 70`
- [ $? -ne 0 ] && return 100
-
- open_mkslackbuild
- [ $? -eq 100 ] || return 100
-}
-
-# Open mkslackbuild
-function open_mkslackbuild()
-{
- if [ -f $MKSLACKBUILD ]; then
- # Start defaults variables
- source $MKSLACKBUILD
-
- # SlackBuild scrit name
- SLACKBUILD=$BASEDIR/$MK_PKGNAME.Slackbuild
-
- # Create files sections
- make_file_sections $MKSLACKBUILD
-
- [ -e $BASEDIR/slack-required ] && ( cp $BASEDIR/slack-required $DEPENDENCY_LIST )
-
- else
- dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --msgbox "$MKSLACKBUILD most be a mkslackbuild file" 6 45
- return 100
- fi
-
- # CHECK:
- # Set source test vadiables
- set_source_test
- [ $? -eq 100 ] && return 100
-
- # Get source file
- get_source_dialog
- [ $? -eq 100 ] && return 100
-
- # Test source
- test_source
-
- # Uncompress source
- unpkg_source
-}
-
-# Save mkSlackbuild
-function save_mkslackbuild()
-{
- dialog --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --infobox "mkSlackBuild save in $MKSLACKBUILD" 5 30
-
- rm $MKSLACKBUILD 2>/dev/null
- echo '#!/bin/bash' > $MKSLACKBUILD
- echo -e "# mkSlackBuild version $MK_VERSION\n" >> $MKSLACKBUILD
- echo "MK_SRC_NAME=\"$MK_SRC_NAME\"" >> $MKSLACKBUILD
- echo "MK_SRCNAME=\"$MK_SRCNAME\"" >> $MKSLACKBUILD
- echo "MK_PKGNAME=\"$MK_PKGNAME\"" >> $MKSLACKBUILD
- echo "MK_URL=\"$MK_URL\"" >> $MKSLACKBUILD
- echo "MK_AUTHOR=\"$MK_AUTHOR\"" >> $MKSLACKBUILD
- echo "MK_AUTHOR_INITIALS=\"$MK_AUTHOR_INITIALS\"" >> $MKSLACKBUILD
- echo "MK_VERSION=\"$MK_VERSION\"" >> $MKSLACKBUILD
- echo "MK_EXTENSION=\"$MK_EXTENSION\"" >> $MKSLACKBUILD
- echo "MK_DECOMPRESSOR=\"$MK_DECOMPRESSOR\"" >> $MKSLACKBUILD
- echo "MK_DECOMPRESSOR_TEST_FLAG=\"$MK_DECOMPRESSOR_TEST_FLAG\"" >> $MKSLACKBUILD
- echo "MK_DOCFILES=\"$MK_DOCFILES\"" >> $MKSLACKBUILD
- echo "MK_OPTIONS=\"$MK_OPTIONS\"" >> $MKSLACKBUILD
- echo "MK_PREFIX=\"$MK_PREFIX\"" >> $MKSLACKBUILD
- echo "MK_MD5SUM_EXT=\"$MK_MD5SUM_EXT\"" >> $MKSLACKBUILD
- echo -e "return 0\n\n" >> $MKSLACKBUILD
-
- for i in `seq 0 $MAXSECTION`; do
- echo "<${SECTION_NAME[i]}> ${SECTION_FLAG[i]}" >> $MKSLACKBUILD
- cat ${SECTION_NAME[i]}_$MK_PKGNAME.mkbuild >> $MKSLACKBUILD
- echo "</${SECTION_NAME[i]}>" >> $MKSLACKBUILD
- echo "" >> $MKSLACKBUILD
- done
-
- [ -s $DEPENDENCY_LIST ] && cp $DEPENDENCY_LIST $BASEDIR/slack-required
-}
-
-# Edit Menu
-function edit_menu()
-{
- ANSE=0
- while [ $ANSE -ne 1 ]; do
- # Create main-menu string
- EDITMENU=""
- for i in `seq 0 $MAXSECTION`; do
- #echo "${SECTION_NAME[i]} ${SECTION_FLAG[i]} ${SECTION_FILE[i]}"
- EDITMENU="$EDITMENU ${SECTION_NAME[i]} ${SECTION_FLAG[i]}"
- done
-
- SELECT=`eval "dialog --stdout --backtitle \"Make SlackBuild $PROG_VERSION [$MK_PKGNAME]\" --ok-label \"Edit\" --cancel-label \"Main Menu\" --menu \"Select one section to edit\" 20 40 13 $EDITMENU"`
- ANSE=$?
- if [ $ANSE -ne 1 ]; then
- STATUS=`mk_status $SELECT`
- if [ $? -ne 0 ]; then
- echo "Section name error..."
- mk_exit 1
- fi
- FLAG=`echo $STATUS | awk '{print $1}'`
- INDEX=`echo $STATUS | awk '{print $2}'`
- if [ "$FLAG" = "on" ]; then
- SECTION_FLAG[$INDEX]=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --radiolist "Change status from $SELECT" 0 0 0 "on" "enable section" "on" "off" "desable section" "off"`
- elif [ "$FLAG" = "off" ]; then
- SECTION_FLAG[$INDEX]=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --radiolist "Change status from $SELECT" 0 0 0 "on" "enable section" "off" "off" "desable section" "on"`
- fi
- if [ "${SECTION_FLAG[$INDEX]}" = "on" -o "${SECTION_FLAG[$INDEX]}" = "all" ]; then
- if [ "$SELECT" = "md5sum_download_and_check" ]; then
- md5sum_edit ${SELECT}_${MK_PKGNAME}.mkbuild
-# elif [ "$SELECT" = "gpg_signature_check" ]; then
-# gpg_edit
- else
- $MK_EDITOR ${SELECT}_${MK_PKGNAME}.mkbuild
- fi
- fi
- fi
- done
-}
-
-# Edit md5sum
-function md5sum_edit()
-{
- local SELECT=0
- local FILE=$1
-
- if ( grep '\[\[MD5SUM EXTENSION\]\]' $FILE &>/dev/null ); then
- SELECT=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --radiolist "Select one option" 0 0 0 "1" "{SRC//.tar.[[SOURCE EXTENSION]]}.[[MD5SUM EXTENSION]]" on "2" "SRC.[[MD5SUM EXTENSION]]" off "3" "MK5SUM CODE" off`
-
- case $SELECT in
- 1)
- MK_MD5SUM_EXT="md5sum"
- MK_MD5SUM_EXT=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --inputbox "Enter with md5sum extension:" 8 50 $MK_MD5SUM_EXT`
- edit_file "MD5SUM EXTENSION" "$MK_MD5SUM_EXT" $FILE
- ;;
- 2)
- MK_MD5SUM_EXT="md5"
- MK_MD5SUM_EXT=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --inputbox "Enter with md5sum extension:" 8 50 $MK_MD5SUM_EXT`
- eval "sed 's/^MD5SUM_FILE.*$/MD5SUM_FILE=\$SRC.$MK_MD5SUM_EXT/' $FILE > $AUX_TMP"
- cp $AUX_TMP $FILE
- ;;
- 3)
- MK_MD5SUM_CODE=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" --inputbox "Enter with md5sum extension:" 8 50 $MK_MD5SUM_CODE`
- sed '1! d' $FILE > $AUX_TMP
- sed -n '2, /^fi/ p' $FILE | while read LINE; do echo "#$LINE" >> $AUX_TMP; done
- sed -n '/^fi/, $ { /^fi/ b; p; }' $FILE >> $AUX_TMP
- eval "sed 's/^MD5SUM_SRC.*/MD5SUM_SRC=\"$MK_MD5SUM_CODE\"/' $AUX_TMP > $FILE"
- ;;
- esac
- fi
-
- $MK_EDITOR $FILE
-}
-
-# Test Menu
-function test_menu()
-{
- local ANST=0
- local SECTION=0
- local EDITMENU=""
-
- # Create main-menu string
- for i in `seq 0 $MAXSECTION`; do
- if [ "${SECTION_FLAG[i]}" = "all" -o "${SECTION_FLAG[i]}" = "on" ]; then
- EDITMENU="$EDITMENU $i ${SECTION_NAME[i]}"
- fi
- done
-
- EDITMENU="all \"SlackBuild\" $EDITMENU"
-
- while [ "$ANST" != "1" ]; do
- SECTION=`eval "dialog --stdout --backtitle \"Make SlackBuild $PROG_VERSION [$MK_PKGNAME]\" --cancel-label \"Exit\" --menu \"Select section to test end\" 20 40 13 $EDITMENU"`
- ANST=$?
-
- if [ $ANST -ne 1 ]; then
- [ "$SECTION" = "all" ] && SECTION=$MAXSECTION
- mount_slackbuild_to $SECTION
-
- # FIXME: -> sintaxe check
- clear
- echo "---------------------------------------------------------"
- echo " --= SINTAX CHECK =--"
- sh -n $SLACKBUILD.test
- if [ $? -eq 0 ]; then
- echo " --= 0K =--"
- DEBUG=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --cancel-label "no debug" --menu "Select debug level" 10 35 3 \
- "-x" "Simple debug" \
- "-xv" "More information" \
- "none" "No debug"`
-
- [ $? -ne 0 -o "$DEBUG" = "none" ] && DEBUG=""
-
- clear
- echo "---------------------------------------------------------"
- echo " --= START BUILDING =--"
- if [ "$USER" != "root" ]; then
- su -c "( sh $DEBUG $SLACKBUILD.test )"
- else
- ( sh $DEBUG $SLACKBUILD.test )
- fi
- echo "---------------------------------------------------------"
- echo " --= END =--"
-
- echo -n "Enter 1 to end test: "
- read ANST
- else
- echo "Script error..."
- read ANST
- fi
- fi
- done
-}
-
-# Dependency Menu
-function menu_dependency()
-{
- local ANSD=11
- while [ $ANSD -ne 0 ]; do
- ANSD=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --cancel-label "Main Menu" --menu "Main Menu:" 0 0 0 \
- "1" "Edit Dependency List" \
- "2" "Test Dependency List" \
- "0" "Main Menu"`
-
- [ $? -ne 0 ] && ANSD=0
-
- case $ANSD in
- 1)
- edit_dependency
- ;;
- 2)
- test_dependency
- ;;
- esac
-
- done
-}
-
-# Dependency list edit
-function edit_dependency()
-{
- if [ ! -s $DEPENDENCY_LIST ]; then
- echo -e "# Dependency list to $MK_PKGNAME\n# \n# dependency [condition] [version]]\n" > $DEPENDENCY_LIST
- fi
-
- $MK_EDITOR $DEPENDENCY_LIST
-}
-
-# Check dependency and comment not found dependencies
-function test_dependency()
-{
- local DEP_LIST=""
-
- if [ -s $DEPENDENCY_LIST ]; then
- for i in `grep '^[^#]' $DEPENDENCY_LIST | awk '{print $1}' | sort | uniq`; do
- if [ `ls /var/log/packages/$i-[0-9]* 2>/dev/null` ]; then
- DEP_LIST="$DEP_LIST $i \"intalled\" off"
- else
- DEP_LIST="$DEP_LIST $i \"unintalled\" on"
- fi
- done
-
- DEP_SELECT=`eval "dialog --stdout --separate-output --backtitle \"Make SlackBuild $PROG_VERSION [$MK_PKGNAME]\" --title \" Dependency install check \" --checklist \"Select packages to remove from dependency list:\" 20 45 13 $DEP_LIST"`
-
- for i in $DEP_SELECT; do
- eval "sed 's/$i$/#$i/' $DEPENDENCY_LIST > $AUX_TMP "
- eval "sed 's/$i /#$i /' $AUX_TMP > $DEPENDENCY_LIST"
- eval "sed 's/$i\t/#$i\t/' $DEPENDENCY_LIST > $AUX_TMP"
- cp $AUX_TMP $DEPENDENCY_LIST
- done
- fi
-}
-
-#
-#--------------------------------------------------------------------
-# Start Program
-#--------------------------------------------------------------------
-#
-# Start variables
-LANG=us
-BASEDIR=`pwd`
-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`
-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
- else
- echo "SlackBuild model (generic.mkSlackBuild) not found"
- mk_exit 0
- fi
-fi
-[ $# -ne 0 ] && MKSLACKBUILD=$1
-
-# 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_LIMITRATE="120k"
-MK_SOURCEDIR=\`pwd\`
-MK_ARCH="i468"
-#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
- edit_author
-fi
-
-if [ ! -z $MKSLACKBUILD ]; then
- open_mkslackbuild
-fi
-
-ANS0=11
-while [ $ANS0 -ne 0 ]; do
- if [ -z $MK_PKGNAME ]; then
- ANS0=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --cancel-label "Exit" --menu "Main Menu:" 0 0 0 \
- "1" "Create New SlackBuild" \
- "2" "Open edited SlackBuild" \
- "0" "Exit"`
-
- if [ $? -ne 0 ]; then
- ANS0=0
- fi
-
- case $ANS0 in
- 1)
- create_slackbuild
- [ $? -eq 100 ] && MK_PKGNAME=""
- ;;
- 2)
- open_mkslackbuild_dialog
- [ $? -eq 100 ] && MK_PKGNAME=""
- ;;
- *)
- echo "Exit..."
- ANS0=0
- ;;
- esac
- else
- ANS0=`dialog --stdout --backtitle "Make SlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --cancel-label "Exit" --menu "Main Menu:" 0 0 0 \
- "1" "Edit Sections" \
- "2" "Dependency Menu" \
- "3" "Test Script" \
- "4" "View Doc-Files" \
- "0" "Exit and Save..."`
-
- if [ $? -ne 0 ]; then
- ANS0=0
- fi
- case $ANS0 in
- 1)
- edit_menu
- ;;
- 2)
- menu_dependency
- ;;
- 3)
- test_menu
- ;;
- 4)
- view_docs
- ;;
- *)
- echo "Exit..."
- ANS0=0
- ;;
- esac
- fi
-done
-
-if [ ! -z $MK_PKGNAME ]; then
- MKSLACKBUILD=$BASEDIR/$MK_PKGNAME.mkslackbuild
- save_mkslackbuild
- mount_slackbuild
-fi
-
-mk_exit 0
-# _________________________________END_______________________________