blob: 0d92f28e00f923c8139f0d6098a928439b753788 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
#!/bin/bash -x
#
# Script to execute SlackBuild and pass parameters
#
# by Rudson R. Alves
#
# Version 0.0.1
PROG_VERSION=0.0.1
LANG=en_US
BACK_TITLE="Exec SlackBuild $PROG_VERSION [$1]"
if [ $# -ne 2 ]; then
echo "Use: exec-slackbuild <SlackBuild_script> <output_file>"
exit 0
fi
SLACKBUILD=$1
AUX_TMP=$2
# Load slackbuildrc
if [ -f ~/.slackbuildrc ]; then
source ~/.slackbuildrc
elif [ -f /etc/slackbuildrc ]; then
source /etc/slackbuildrc
fi
# set do default null variables
[ -z $SRC_DIR ] && SRC_DIR="default"
[ -z $REPOS ] && REPOS="default"
[ -z $TMP ] && TMP="default"
[ -z $ARCH ] && ARCH="default"
[ -z $CLEANUP ] && CLEANUP="default"
[ -z $NUMJOBS ] && NUMJOBS="default"
[ -z $BUILD ] && BUILD="default"
[ -z $CONF_OPTIONS ] && CONF_OPTIONS="default"
# Edit variables
ANS=`dialog --separate-widget "rudson" --stdout --backtitle "$BACK_TITLE" \
--title "Set variables" --form "Use down key to more variables; default = null argument; use \" to set several arguments." \
19 52 11 \
"SRC_DIR:" 1 1 "$SRC_DIR" 1 15 30 60 \
"REPOS:" 3 1 "$REPOS" 3 15 30 60 \
"TMP:" 5 1 "$TMP" 5 15 30 60 \
"ARCH:" 7 1 "$ARCH" 7 15 30 60 \
"CLEANUP:" 9 1 "$CLEANUP" 9 15 30 60 \
"NUMJOBS:" 11 1 "$NUMJOBS" 11 15 30 60 \
"BUILD:" 13 1 "$BUILD" 13 15 30 60 \
"CONF_OPTIONS:" 15 1 "$CONF_OPTIONS" 15 15 30 60`
[ $? -ne 0 ] && exit 11
# Remove "s
SRC_DIR=`echo $ANS | awk '{print $1}' | tr -d \"`
REPOS=`echo $ANS | awk '{print $2}' | tr -d \"`
TMP=`echo $ANS | awk '{print $3}' | tr -d \"`
ARCH=`echo $ANS | awk '{print $4}' | tr -d \"`
CLEANUP=`echo $ANS | awk '{print $5}' | tr -d \"`
NUMJOBS=`echo $ANS | awk '{print $6}' | tr -d \"`
BUILD=`echo $ANS | awk '{print $7}' | tr -d \"`
CONF_OPTIONS=`echo $ANS | awk '{print $8}' | tr -d \"`
# Set to null ("") variables with default value
[ "$SRC_DIR" = "default" ] && SRC_DIR=""
[ "$REPOS" = "default" ] && REPOS=""
[ "$TMP" = "default" ] && TMP=""
[ "$ARCH" = "default" ] && ARCH=""
[ "$CLEANUP" = "default" ] && CLEANUP=""
[ "$NUMJOBS" = "default" ] && NUMJOBS=""
[ "$BUILD" = "default" ] && BUILD=""
[ "$CONF_OPTIONS" = "default" ] && CONF_OPTIONS=""
# Select debug level
DEBUG=`dialog --stdout --backtitle "$BACK_TITLE" \
--cancel-label "no debug" --title "$MK_TITLE" \
--menu "Select debug level" 10 35 3 \
"-x" "Simple debug" \
"-xv" "More information" \
"none" "No debug"`
[ $? -ne 0 -o "$DEBUG" = "none" ] && DEBUG=""
# Check sintax from SlackBuild
sh -n $SLACKBUILD || exit 11
# Execute SlackBuild in background
SRC_DIR="$SRC_DIR" REPOS="$REPOS" TMP="$TMP" ARCH="$ARCH" CLEANUP="$CLEANUP" NUMJOBS="$NUMJOBS" BUILD="$BUILD" CONF_OPTIONS="$CONF_OPTIONS" sh $DEBUG $SLACKBUILD > $AUX_TMP 2>&1 & PID=$!
# Return pid from process
echo $PID
|