# Slackbuilds são scripts utilizados no Slackware para gerar
# pacotes tgz.
#
-# Version 0.9.3
+# Version 0.9.5
#
#--------------------------------------------------------------------
# Functions
# FIXME: if MK_DECOMPRESSOR -ne bunzip2 or gunzip...
if [ $MK_DECOMPRESSOR = "bunzip2" -o $MK_DECOMPRESSOR = "gunzip" ]; then
dialog --backtitle "mkSlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --infobox "Uncompress source in /tmp/$MK_PKGNAME. Wait" 3 45
- [ $? -ne 0 ] && mk_exit 0
+ --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_SOURCE=$BASEDIR
while [ ! -f $MK_SOURCE ]; do
MK_SOURCE=`dialog --stdout --backtitle "mkSlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --title " Select source file name (use spaces to select): " --fselect "$MK_SOURCE" 10 70`
- [ $? -ne 0 ] && mk_exit
+ --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
# Edit source URL
function edit_url()
{
- MK_URL=`dialog --stdout --backtitle "mkSlackBuild $PROG_VERSION [$MK_PKGNAME]" --inputbox "Enter with complite URL from source:" 8 60 "$MK_URL"`
- [ $? -ne 0 ] && mk_exit 0
+ MK_URL=`dialog --stdout --backtitle "mkSlackBuild $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
{
# Carrega nome do arquivo
MK_SRCNAME=`basename $MK_URL`
- MK_SRCNAME=`dialog --stdout --backtitle "mkSlackBuild $PROG_VERSION [$MK_PKGNAME]" --inputbox "Enter with source file name:" 8 60 "$MK_SRCNAME"`
- [ $? -ne 0 ] && mk_exit 0
+ MK_SRCNAME=`dialog --stdout --backtitle "mkSlackBuild $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_PKGNAME=`echo $MK_SRCNAME | sed -r 's/(.*)-(.*)\.(.*\..*)$/\1/' | tr [A-Z] [a-z]`
+ 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 "mkSlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --form "Check information below:" 12 70 5 \
- "Package name:" 1 1 "$MK_PKGNAME" 1 15 30 60 \
- "Version:" 3 1 "$MK_VERSION" 3 15 30 100 \
- "Extension:" 5 1 "$MK_EXTENSION" 5 15 30 8`
- [ $? -ne 0 ] && mk_exit 0
+ --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_PKGNAME=`echo $ANS | awk '{print $1}'`
- MK_VERSION=`echo $ANS | awk '{print $2}'`
- MK_EXTENSION=`echo $ANS | awk '{print $3}'`
+ 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
# Configura nome, versão e extensão do pacote
ANS3=`dialog --stdout --backtitle "mkSlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --form "Check information below:" 10 55 3 \
+ --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 ] && mk_exit 0
+ [ $? -ne 0 ] && return 100
MK_DECOMPRESSOR=`echo $ANS3 | awk '{print $1}'`
MK_DECOMPRESSOR_TEST_FLAG=`echo $ANS3 | awk '{print $2}'`
local ANS1="7"
while [ $ANS1 -ne 0 ]; do
ANS1=`dialog --stdout --backtitle "mkSlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --menu "Select one option" 0 0 0 \
+ --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"`
- [ $? -ne 0 ] && mk_exit
case $ANS1 in
'1')
DOCMENU="$DOCMENU $i \"\" off"
fi
done
- SELECTDOCS=`eval "dialog --stdout --separate-output --backtitle \"mkSlackBuild $PROG_VERSION [$MK_PKGNAME]\" --title \" Documentations files \" --checklist \"Select documentation files below:\" 20 45 13 $DOCMENU"`
+ SELECTDOCS=`eval "dialog --stdout --separate-output --backtitle \"mkSlackBuild $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 "mkSlackBuild documentation files below:" --inputbox "Set an architecture to compiler:" 8 45 $MK_ARCH`
+ MK_ARCH=`dialog --stdout --backtitle "mkSlackBuild documentation files below:" --cancel-label "Main Menu" --inputbox "Set an architecture to compiler:" 8 45 $MK_ARCH`
+ [ $? -ne 0 ] && return 100
}
#--------------------------------------------------------------------
{
change_strings "SLACKBUILD AUTHOR" "$MK_AUTHOR"
change_strings "SLACKBUILD AUTHOR INITIALS" $MK_AUTHOR_INITIALS
- change_strings "SOURCE NAME" "$MK_PKGNAME"
+ change_strings "SOURCE NAME" "$MK_SRC_NAME"
change_strings "PROGRAM NAME" "$MK_PKGNAME"
change_strings "PACKAGE NAME" "$MK_PKGNAME"
change_strings "DECOMPRESSOR" "$MK_DECOMPRESSOR"
download_url
else
select_source
+ [ $? -eq 100 ] && return 100
fi
fi
}
if [ $? -eq 0 ]; then
rm $MK_SOURCE
get_source_dialog
+ [ $? -eq 100 ] return 100
else
TEST=0
fi
MK_DECOMPRESSOR_TEST_FLAG="-t"
else
edit_decompress_arg
+ [ $? -eq 100 ] && return 100
fi
}
{
# 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
# Configure compiler options if exist .configure
if [ -e $MK_TMPSRC/configure ]; then
MKSLACKBUILD=`dialog --stdout --backtitle "mkSlackBuild $PROG_VERSION [$MK_PKGNAME]" \
--title " Select source file name (use spaces to select): " \
--fselect "$BASEDIR/" 10 70`
- [ $? -ne 0 ] && mk_exit 1
+ [ $? -ne 0 ] && return 100
if [ -f $MKSLACKBUILD ]; then
# Start defaults variables
# 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
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
EDITMENU="$EDITMENU ${SECTION_NAME[i]} ${SECTION_FLAG[i]}"
done
- SELECT=`eval "dialog --stdout --backtitle \"mkSlackBuild $PROG_VERSION [$MK_PKGNAME]\" --menu \"Select one section to edit\" 20 40 13 $EDITMENU"`
+ SELECT=`eval "dialog --stdout --backtitle \"mkSlackBuild $PROG_VERSION [$MK_PKGNAME]\" --cancel-label \"Main Menu\" --menu \"Select one section to edit\" 20 40 13 $EDITMENU"`
ANSE=$?
if [ $ANSE -ne 1 ]; then
STATUS=`mk_status $SELECT`
# turn off debug
set +x
# Start variables
-PROG_VERSION=0.9.3
+PROG_VERSION=0.9.5
LANG=us
BASEDIR=`pwd`
AUX_TMP=`mktemp -p /tmp/ aux_tmp.XXXXXX`
MK_AUTHOR="[[AUTHOR NAME]]"
MK_AUTHOR_INITIALS="[[AUTHOR INITIALS]]"
MK_EDITOR=[[EDITOR]]
-MK_LIMITRATE="100k"
+MK_LIMITRATE="120k"
MK_SOURCEDIR=\`pwd\`
MK_ARCH="i468"
#MK_URL="ftp://localhost"
while [ $ANS0 -ne 0 ]; do
if [ -z $MK_PKGNAME ]; then
ANS0=`dialog --stdout --backtitle "mkSlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --menu "Main Menu:" 0 0 0 \
+ --cancel-label "Exit" --menu "Main Menu:" 0 0 0 \
"1" "Create New SlackBuild" \
"2" "Open edited SlackBuild" \
"0" "Exit"`
EXIT_STATUS=$?
else
ANS0=`dialog --stdout --backtitle "mkSlackBuild $PROG_VERSION [$MK_PKGNAME]" \
- --menu "Main Menu:" 0 0 0 \
+ --cancel-label "Exit" --menu "Main Menu:" 0 0 0 \
"1" "Create New SlackBuild" \
"2" "Open MkSlackBuild" \
"3" "Save MkSlackBuild" \
case $ANS0 in
1)
create_slackbuild
+ [ $? -eq 100 ] && MK_PKGNAME=""
;;
2)
open_mkslackbuild
+ [ $? -eq 100 ] && MK_PKGNAME=""
;;
3)
save_mkslackbuild