Browse Source

Completely replace the do_check function

master
mid-kid 9 years ago
parent
commit
fe70cc9ed6
  1. 31
      astronaut/astronaut
  2. 18
      astronaut/hello.sat
  3. 2
      astronaut/template.sat
  4. 2
      satellites/functions/compile/configure.sh

31
astronaut/astronaut

@ -8,9 +8,8 @@ dir_sysroot="" # The root dir (Used for dirs like etc and var)
dir_prefix="$dir_sysroot/usr" # Prefix directory (Should always contain $dir_sysroot!) dir_prefix="$dir_sysroot/usr" # Prefix directory (Should always contain $dir_sysroot!)
cmd_download="curl -# -L -o {dst} {src}" # Command to execute to download files cmd_download="curl -# -L -o {dst} {src}" # Command to execute to download files
cmd_extract="tar -x -C {dst} -f {src}" # Command to execute to extract files cmd_extract="tar -x -C {dst} -f {src}" # Command to execute to extract files
enable_check=true # Run the test suite of packages
unset _dir_satellites # Directory where the satellite files are placed. unset _dir_satellites # Directory where the satellite files are placed.
unset _options unset options
[ -f /etc/astronaut.conf ] && . /etc/astronaut.conf [ -f /etc/astronaut.conf ] && . /etc/astronaut.conf
[ -f "$HOME/.astronaut.conf" ] && . "$HOME/.astronaut.conf" [ -f "$HOME/.astronaut.conf" ] && . "$HOME/.astronaut.conf"
@ -24,7 +23,7 @@ vcs_compile=false
_show_help() { _show_help() {
echo "This astronaut will help you build some satellites. echo "This astronaut will help you build some satellites.
Just describe what he's got to do in a satellite file. Just describe what he's got to do in a satellite file.
Usage: $0 [-sbip <dir>] [-IcCd] [-o <options>] <satellite> Usage: $0 [-sbip <dir>] [-Id] [-o <options>] <satellite>
-h/? Show this message -h/? Show this message
-b Set build directory [WARNING: Will be deleted before build] -b Set build directory [WARNING: Will be deleted before build]
@ -33,7 +32,6 @@ Usage: $0 [-sbip <dir>] [-IcCd] [-o <options>] <satellite>
-p Set prefix directory -p Set prefix directory
-r Set root directory -r Set root directory
-I Nuke install directory before build -I Nuke install directory before build
-c/C Enable/Disable package checking
-d Only download package files -d Only download package files
-v Only build vcs package if any updates have been made to it -v Only build vcs package if any updates have been made to it
-o Set package options (comma-separated)" -o Set package options (comma-separated)"
@ -73,12 +71,6 @@ while getopts "h?s:b:i:p:IcCdvo:" opt; do
I) I)
_nuke_dir_install=true _nuke_dir_install=true
;; ;;
c)
enable_check=true
;;
C)
enable_check=false
;;
d) d)
_download_only=true _download_only=true
;; ;;
@ -86,7 +78,7 @@ while getopts "h?s:b:i:p:IcCdvo:" opt; do
_vcs_only=true _vcs_only=true
;; ;;
o) o)
_options="$_options "$(printf "$OPTARG" | sed -e 's/,/ /g')"" options="$options "$(printf "$OPTARG" | sed -e 's/,/ /g')""
;; ;;
esac esac
done done
@ -151,14 +143,6 @@ dlfile() {
getfile "$(basename "$1" | cut -d? -f1)" getfile "$(basename "$1" | cut -d? -f1)"
} }
do_check() {
if [ "$1" ]; then
[ "$enable_check" = true ] && eval $@ || true
else
return $([ "$enable_check" = true ])
fi
}
option() { option() {
local check=$1 local check=$1
shift shift
@ -173,7 +157,7 @@ option() {
local enabled=false local enabled=false
local option local option
for option in $_options; do for option in $options; do
if [ "$option" = "$check" ]; then if [ "$option" = "$check" ]; then
local enabled=true local enabled=true
break break
@ -185,8 +169,11 @@ option() {
[ "$enabled" = true ] && local enabled=false || local enabled=true [ "$enabled" = true ] && local enabled=false || local enabled=true
fi fi
local enable_check=$enabled if [ "$1" ]; then
do_check $@ # Reuse the code from do_check [ "$enabled" = true ] && eval $@ || true
else
return $([ "$enabled" = true ])
fi
} }
import() { import() {

18
astronaut/hello.sat

@ -33,8 +33,8 @@ vcs_compile=true # Set this to true if it's a vcs package, and we've just downl
# (Only use these to change the behaviour of some commands over the whole script.) # (Only use these to change the behaviour of some commands over the whole script.)
# - cmd_download # - cmd_download
# - cmd_extract # - cmd_extract
# - enable_check
# - vcs_compile # - vcs_compile
# - options
# Get them files. # Get them files.
# URL [REQUIRED], MD5sum, Custom command # URL [REQUIRED], MD5sum, Custom command
@ -78,23 +78,17 @@ cd "$name-$version"
make make
# Know if the user wants the package to be checked # Know if the user wants the package to be checked
if do_check; then # Check if an option is disabled
if option !no_check; then
make check make check
fi fi
# Abbreviation for the above, for single commands # Abbreviation of the above
#do_check make check option test echo "Test option enabled"
# Bangs ("!") negate the operation.
make DESTDIR="$dir_install" install make DESTDIR="$dir_install" install
rm "$dir_install/$dir_prefix/share/info/dir" # This file collides with some other packages. rm "$dir_install/$dir_prefix/share/info/dir" # This file collides with some other packages.
# Check if an option is enabled
if option test; then
echo "Test option enabled"
fi
# Abbreviation of the above
#option !test echo "Test option disabled"
# You can use bangs ("!") to negate the operation.
# Call the function we imported. For more info see the top of the file, and functions/say_hello.sh # Call the function we imported. For more info see the top of the file, and functions/say_hello.sh
say_hello say_hello

2
astronaut/template.sat

@ -12,7 +12,7 @@ cd "$name-$version"
./configure --prefix="$dir_prefix" ./configure --prefix="$dir_prefix"
make make
do_check make check option !no_check make check
make DESTDIR="$dir_install" install make DESTDIR="$dir_install" install
rm "$dir_install/$dir_prefix/share/info/dir" # This file collides with some other packages. rm "$dir_install/$dir_prefix/share/info/dir" # This file collides with some other packages.

2
satellites/functions/compile/configure.sh

@ -1,6 +1,6 @@
compile_configure() { compile_configure() {
./configure --prefix="$dir_prefix" --sysconfdir="$dir_sysroot/etc" $@ ./configure --prefix="$dir_prefix" --sysconfdir="$dir_sysroot/etc" $@
make make
do_check make check option !no_check make check
make DESTDIR="$dir_install" install make DESTDIR="$dir_install" install
} }

Loading…
Cancel
Save