Remove bash specific features to not depend on it.
--HG-- extra : convert_revision : 0ff8eac00a603d8aae549a8bfa568bb710e4b0bf
This commit is contained in:
parent
7d8701190d
commit
2cb592e66e
3 changed files with 76 additions and 153 deletions
1
TODO
1
TODO
|
@ -7,4 +7,3 @@ Some stuff that should be done:
|
||||||
* wget now is required inside the chroot
|
* wget now is required inside the chroot
|
||||||
- etc/resolv.conf is copied before entering the chroot
|
- etc/resolv.conf is copied before entering the chroot
|
||||||
* ln -s /bin/bash /bin/sh
|
* ln -s /bin/bash /bin/sh
|
||||||
* make xbps.sh do not depend on bash
|
|
||||||
|
|
|
@ -110,7 +110,7 @@ main(int argc, char **argv)
|
||||||
perror("ERROR: couldn't write database file");
|
perror("ERROR: couldn't write database file");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
printf("%s\e[0m==> \e[37m\e[1mPackage database file "
|
printf("%s==> Package database file "
|
||||||
"not found, creating it.\n",
|
"not found, creating it.\n",
|
||||||
in_chroot ? "[chroot] " : "");
|
in_chroot ? "[chroot] " : "");
|
||||||
prop_object_release(dbdict);
|
prop_object_release(dbdict);
|
||||||
|
@ -118,7 +118,7 @@ main(int argc, char **argv)
|
||||||
/* register pkg if it's not registered already */
|
/* register pkg if it's not registered already */
|
||||||
pkg = prop_dictionary_get(dbdict, argv[2]);
|
pkg = prop_dictionary_get(dbdict, argv[2]);
|
||||||
if (pkg && prop_object_type(pkg) == PROP_TYPE_STRING) {
|
if (pkg && prop_object_type(pkg) == PROP_TYPE_STRING) {
|
||||||
printf("%s\e[0m=> \e[37m\e[1mPackage `%s' "
|
printf("%s=> Package `%s' "
|
||||||
"already registered.\n",
|
"already registered.\n",
|
||||||
in_chroot ? "[chroot] " : "", argv[2]);
|
in_chroot ? "[chroot] " : "", argv[2]);
|
||||||
exit(0);
|
exit(0);
|
||||||
|
@ -130,7 +130,7 @@ main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("%s\e[0m=> \e[37m\e[1m%s-%s registered successfully.\n",
|
printf("%s=> %s-%s registered successfully.\n",
|
||||||
in_chroot ? "[chroot] " : "", argv[2], argv[3]);
|
in_chroot ? "[chroot] " : "", argv[2], argv[3]);
|
||||||
|
|
||||||
} else if (strcmp(argv[1], "unregister") == 0) {
|
} else if (strcmp(argv[1], "unregister") == 0) {
|
||||||
|
@ -155,7 +155,7 @@ main(int argc, char **argv)
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("%s\e[0m==> \e[37m\e[1m%s-%s unregistered successfully.\n",
|
printf("%s==> %s-%s unregistered successfully.\n",
|
||||||
in_chroot ? "[chroot] " : "", argv[2], argv[3]);
|
in_chroot ? "[chroot] " : "", argv[2], argv[3]);
|
||||||
|
|
||||||
} else if (strcmp(argv[1], "list") == 0) {
|
} else if (strcmp(argv[1], "list") == 0) {
|
||||||
|
|
220
xbps.sh
220
xbps.sh
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# xbps - A simple, minimal, fast and uncomplete build package system.
|
# xbps - A simple, minimal, fast and uncomplete build package system.
|
||||||
#
|
#
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
# Default path to configuration file, can be overriden
|
# Default path to configuration file, can be overriden
|
||||||
# via the environment or command line.
|
# via the environment or command line.
|
||||||
#
|
#
|
||||||
trap "bye 1" INT QUIT
|
trap "exit 1" INT QUIT
|
||||||
|
|
||||||
: ${XBPS_CONFIG_FILE:=/etc/xbps.conf}
|
: ${XBPS_CONFIG_FILE:=/etc/xbps.conf}
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ trap "bye 1" INT QUIT
|
||||||
usage()
|
usage()
|
||||||
{
|
{
|
||||||
cat << _EOF
|
cat << _EOF
|
||||||
$progname: [-Ce] [-c <config_file>] <target> [package_name]
|
$progname: [-C] [-c <config_file>] <target> [package_name]
|
||||||
|
|
||||||
Targets:
|
Targets:
|
||||||
build Builds a package, only build phase is done.
|
build Builds a package, only build phase is done.
|
||||||
|
@ -63,7 +63,6 @@ Options:
|
||||||
-C Do not remove build directory after successful installation.
|
-C Do not remove build directory after successful installation.
|
||||||
-c Path to global configuration file:
|
-c Path to global configuration file:
|
||||||
if not specified /etc/xbps.conf is used.
|
if not specified /etc/xbps.conf is used.
|
||||||
-e Disable ANSI colors in messages.
|
|
||||||
_EOF
|
_EOF
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
@ -110,37 +109,6 @@ check_path()
|
||||||
path_fixed="$orig"
|
path_fixed="$orig"
|
||||||
}
|
}
|
||||||
|
|
||||||
set_color()
|
|
||||||
{
|
|
||||||
[ -n "$disable_colors" ] && return 0
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
black) echo -n -e "\[e30m" 1>&2;;
|
|
||||||
red) echo -n -e "\e[31m" 1>&2;;
|
|
||||||
green) echo -n -e "\e[32m" 1>&2;;
|
|
||||||
brown) echo -n -e "\e[33m" 1>&2;;
|
|
||||||
blue) echo -n -e "\e[34m" 1>&2;;
|
|
||||||
magenta) echo -n -e "\e[35m" 1>&2;;
|
|
||||||
cyan) echo -n -e "\e[36m" 1>&2;;
|
|
||||||
white) echo -n -e "\e[37m" 1>&2;;
|
|
||||||
bold) echo -n -e "\e[1m" 1>&2;;
|
|
||||||
*) return 1 ;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
bye()
|
|
||||||
{
|
|
||||||
restore_color
|
|
||||||
exit "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
restore_color()
|
|
||||||
{
|
|
||||||
[ -n "$disable_colors" ] && return 0
|
|
||||||
|
|
||||||
echo -n -e "\e[0m" 1>&2
|
|
||||||
}
|
|
||||||
|
|
||||||
run_file()
|
run_file()
|
||||||
{
|
{
|
||||||
local file="$1"
|
local file="$1"
|
||||||
|
@ -163,47 +131,33 @@ msg_error()
|
||||||
{
|
{
|
||||||
[ -z "$1" ] && return 1
|
[ -z "$1" ] && return 1
|
||||||
|
|
||||||
set_color red
|
|
||||||
set_color bold
|
|
||||||
if [ -n "$in_chroot" ]; then
|
if [ -n "$in_chroot" ]; then
|
||||||
echo -n "[chroot] => ERROR: "
|
echo "[chroot] => ERROR: $1"
|
||||||
else
|
else
|
||||||
echo -n "=> ERROR: "
|
echo "=> ERROR: $1"
|
||||||
fi
|
fi
|
||||||
restore_color
|
|
||||||
set_color bold
|
|
||||||
echo "$1"
|
|
||||||
restore_color
|
|
||||||
}
|
}
|
||||||
|
|
||||||
msg_warn()
|
msg_warn()
|
||||||
{
|
{
|
||||||
[ -z "$1" ] && return 1
|
[ -z "$1" ] && return 1
|
||||||
|
|
||||||
set_color cyan
|
|
||||||
set_color bold
|
|
||||||
if [ -n "$in_chroot" ]; then
|
if [ -n "$in_chroot" ]; then
|
||||||
echo -n "[chroot] => WARNING: "
|
echo "[chroot] => WARNING: $1"
|
||||||
else
|
else
|
||||||
echo -n "=> WARNING: "
|
echo "=> WARNING: $1"
|
||||||
fi
|
fi
|
||||||
restore_color
|
|
||||||
set_color bold
|
|
||||||
echo "$1"
|
|
||||||
restore_color
|
|
||||||
}
|
}
|
||||||
|
|
||||||
msg_normal()
|
msg_normal()
|
||||||
{
|
{
|
||||||
[ -z "$1" ] && return 1
|
[ -z "$1" ] && return 1
|
||||||
|
|
||||||
set_color green
|
if [ -n "$in_chroot" ]; then
|
||||||
[ -n "$in_chroot" ] && echo -n "[chroot] "
|
echo "[chroot] => $1"
|
||||||
restore_color
|
else
|
||||||
echo -n "=> "
|
echo "=> $1"
|
||||||
set_color bold
|
fi
|
||||||
echo "$1"
|
|
||||||
restore_color
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -213,7 +167,6 @@ info_tmpl()
|
||||||
{
|
{
|
||||||
local i=
|
local i=
|
||||||
|
|
||||||
set_color bold
|
|
||||||
echo "pkgname: $pkgname"
|
echo "pkgname: $pkgname"
|
||||||
echo "version: $version"
|
echo "version: $version"
|
||||||
for i in "${distfiles}"; do
|
for i in "${distfiles}"; do
|
||||||
|
@ -232,7 +185,6 @@ info_tmpl()
|
||||||
echo " $i"
|
echo " $i"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
restore_color
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -252,7 +204,7 @@ check_config_vars()
|
||||||
done
|
done
|
||||||
if [ -z "$cffound" ]; then
|
if [ -z "$cffound" ]; then
|
||||||
msg_error "cannot find a config file"
|
msg_error "cannot find a config file"
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -261,7 +213,7 @@ check_config_vars()
|
||||||
|
|
||||||
if [ ! -f "$XBPS_CONFIG_FILE" ]; then
|
if [ ! -f "$XBPS_CONFIG_FILE" ]; then
|
||||||
msg_error "cannot find configuration file: $XBPS_CONFIG_FILE"
|
msg_error "cannot find configuration file: $XBPS_CONFIG_FILE"
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local XBPS_VARS="XBPS_MASTERDIR XBPS_DESTDIR XBPS_BUILDDIR \
|
local XBPS_VARS="XBPS_MASTERDIR XBPS_DESTDIR XBPS_BUILDDIR \
|
||||||
|
@ -271,14 +223,14 @@ check_config_vars()
|
||||||
eval val="\$$f"
|
eval val="\$$f"
|
||||||
if [ -z "$val" ]; then
|
if [ -z "$val" ]; then
|
||||||
msg_error "'$f' not set in configuration file"
|
msg_error "'$f' not set in configuration file"
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d "$val" ]; then
|
if [ ! -d "$val" ]; then
|
||||||
mkdir "$val"
|
mkdir "$val"
|
||||||
if [ "$?" -ne 0 ]; then
|
if [ "$?" -ne 0 ]; then
|
||||||
msg_error "couldn't create '$f' directory"
|
msg_error "couldn't create '$f' directory"
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
@ -326,7 +278,7 @@ setup_tmpl()
|
||||||
prepare_tmpl
|
prepare_tmpl
|
||||||
else
|
else
|
||||||
msg_error "cannot find '$pkg' template build file."
|
msg_error "cannot find '$pkg' template build file."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -349,7 +301,7 @@ prepare_tmpl()
|
||||||
eval val="\$$i"
|
eval val="\$$i"
|
||||||
if [ -z "$val" -o -z "$i" ]; then
|
if [ -z "$val" -o -z "$i" ]; then
|
||||||
msg_error "\"$i\" not set on $pkgname template."
|
msg_error "\"$i\" not set on $pkgname template."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -405,7 +357,7 @@ extract_distfiles()
|
||||||
if [ $count -gt 1 ]; then
|
if [ $count -gt 1 ]; then
|
||||||
if [ -z "$wrksrc" ]; then
|
if [ -z "$wrksrc" ]; then
|
||||||
msg_error "\$wrksrc must be defined with multiple distfiles."
|
msg_error "\$wrksrc must be defined with multiple distfiles."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
mkdir $wrksrc
|
mkdir $wrksrc
|
||||||
fi
|
fi
|
||||||
|
@ -419,17 +371,17 @@ extract_distfiles()
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for f in ${distfiles}; do
|
for f in ${distfiles}; do
|
||||||
if [[ "$f" == *.tar.bz2 ]]; then
|
if $(echo $f|grep -q '.tar.bz2'); then
|
||||||
cursufx=".tar.bz2"
|
cursufx=".tar.bz2"
|
||||||
elif [[ "$f" == *.tbz ]]; then
|
elif $(echo $f|grep -q '.tbz'); then
|
||||||
cursufx=".tbz"
|
cursufx=".tbz"
|
||||||
elif [[ "$f" == *.tar.gz ]]; then
|
elif $(echo $f|grep -q '.tar.gz'); then
|
||||||
cursufx=".tar.gz"
|
cursufx=".tar.gz"
|
||||||
elif [[ "$f" == *.tgz ]]; then
|
elif $(echo $f|grep -q '.tgz'); then
|
||||||
cursufx=".tgz"
|
cursufx=".tgz"
|
||||||
elif [[ "$f" == *.tar ]]; then
|
elif $(echo $f|grep -q '.tar)'); then
|
||||||
cursufx=".tar"
|
cursufx=".tar"
|
||||||
elif [[ "$f" == *.zip ]]; then
|
elif $(echo $f|grep -q '.zip)'); then
|
||||||
cursufx=".zip"
|
cursufx=".zip"
|
||||||
else
|
else
|
||||||
msg_error "unknown distfile suffix"
|
msg_error "unknown distfile suffix"
|
||||||
|
@ -448,21 +400,21 @@ extract_distfiles()
|
||||||
$ltar_cmd xfj $XBPS_SRCDISTDIR/$curfile -C $lwrksrc
|
$ltar_cmd xfj $XBPS_SRCDISTDIR/$curfile -C $lwrksrc
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
msg_error "extracting $curfile into $lwrksrc."
|
msg_error "extracting $curfile into $lwrksrc."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
.tar.gz|.tgz)
|
.tar.gz|.tgz)
|
||||||
$ltar_cmd xfz $XBPS_SRCDISTDIR/$curfile -C $lwrksrc
|
$ltar_cmd xfz $XBPS_SRCDISTDIR/$curfile -C $lwrksrc
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
msg_error "extracting $curfile into $lwrksrc."
|
msg_error "extracting $curfile into $lwrksrc."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
.tar)
|
.tar)
|
||||||
$ltar_cmd xf $XBPS_SRCDISTDIR/$curfile -C $lwrksrc
|
$ltar_cmd xf $XBPS_SRCDISTDIR/$curfile -C $lwrksrc
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
msg_error "extracting $curfile into $lwrksrc."
|
msg_error "extracting $curfile into $lwrksrc."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
.zip)
|
.zip)
|
||||||
|
@ -479,18 +431,18 @@ extract_distfiles()
|
||||||
unset tmpf tmpsufx tmpwrksrc
|
unset tmpf tmpsufx tmpwrksrc
|
||||||
else
|
else
|
||||||
msg_error "cannot find unzip helper."
|
msg_error "cannot find unzip helper."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
extract_unzip $XBPS_SRCDISTDIR/$curfile $lwrksrc
|
extract_unzip $XBPS_SRCDISTDIR/$curfile $lwrksrc
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
msg_error "extracting $curfile into $lwrksrc."
|
msg_error "extracting $curfile into $lwrksrc."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
msg_error "cannot guess $curfile extract suffix. ($cursufx)"
|
msg_error "cannot guess $curfile extract suffix. ($cursufx)"
|
||||||
bye 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
@ -512,7 +464,7 @@ verify_sha256_cksum()
|
||||||
filesum=$($XBPS_DIGEST_CMD $XBPS_SRCDISTDIR/$file)
|
filesum=$($XBPS_DIGEST_CMD $XBPS_SRCDISTDIR/$file)
|
||||||
if [ "$origsum" != "$filesum" ]; then
|
if [ "$origsum" != "$filesum" ]; then
|
||||||
msg_error "SHA256 checksum doesn't match for $file."
|
msg_error "SHA256 checksum doesn't match for $file."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_normal "SHA256 checksum OK for $file."
|
msg_normal "SHA256 checksum OK for $file."
|
||||||
|
@ -530,7 +482,7 @@ fetch_distfiles()
|
||||||
local ckcount=0
|
local ckcount=0
|
||||||
local f=
|
local f=
|
||||||
|
|
||||||
[ -z $pkgname ] && bye 1
|
[ -z $pkgname ] && exit 1
|
||||||
|
|
||||||
#
|
#
|
||||||
# There's nothing of interest if we are a meta template.
|
# There's nothing of interest if we are a meta template.
|
||||||
|
@ -552,7 +504,7 @@ fetch_distfiles()
|
||||||
|
|
||||||
if [ -z $found ]; then
|
if [ -z $found ]; then
|
||||||
msg_error "cannot find checksum for $curfile."
|
msg_error "cannot find checksum for $curfile."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
verify_sha256_cksum $curfile $cksum
|
verify_sha256_cksum $curfile $cksum
|
||||||
|
@ -581,7 +533,7 @@ fetch_distfiles()
|
||||||
else
|
else
|
||||||
msg_error "there was an error fetching $curfile."
|
msg_error "there was an error fetching $curfile."
|
||||||
fi
|
fi
|
||||||
bye 1
|
exit 1
|
||||||
else
|
else
|
||||||
unset localurl
|
unset localurl
|
||||||
#
|
#
|
||||||
|
@ -599,7 +551,7 @@ fetch_distfiles()
|
||||||
|
|
||||||
if [ -z $found ]; then
|
if [ -z $found ]; then
|
||||||
msg_error "cannot find checksum for $curfile."
|
msg_error "cannot find checksum for $curfile."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
verify_sha256_cksum $curfile $cksum
|
verify_sha256_cksum $curfile $cksum
|
||||||
|
@ -722,13 +674,13 @@ apply_tmpl_patches()
|
||||||
cp -f $patch $wrksrc
|
cp -f $patch $wrksrc
|
||||||
|
|
||||||
# Try to guess if its a compressed patch.
|
# Try to guess if its a compressed patch.
|
||||||
if [[ "$patch" == *.diff.gz ]]; then
|
if $(echo $patch|grep -q '.diff.gz'); then
|
||||||
gunzip $wrksrc/$i
|
gunzip $wrksrc/$i
|
||||||
patch=${i%%.gz}
|
patch=${i%%.gz}
|
||||||
elif [[ "$patch" == *.diff.bz2 ]]; then
|
elif $(echo $patch|grep -q '.diff.bz2'); then
|
||||||
bunzip2 $wrksrc/$i
|
bunzip2 $wrksrc/$i
|
||||||
patch=${i%%.bz2}
|
patch=${i%%.bz2}
|
||||||
elif [[ "$patch" == *.diff ]]; then
|
elif $(echo $patch|grep -q '.diff'); then
|
||||||
patch=$i
|
patch=$i
|
||||||
else
|
else
|
||||||
msg_warn "unknown patch type: $i."
|
msg_warn "unknown patch type: $i."
|
||||||
|
@ -740,7 +692,7 @@ apply_tmpl_patches()
|
||||||
msg_normal "Patch applied: $i."
|
msg_normal "Patch applied: $i."
|
||||||
else
|
else
|
||||||
msg_error "couldn't apply patch: $i."
|
msg_error "couldn't apply patch: $i."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -769,7 +721,7 @@ configure_src_phase()
|
||||||
|
|
||||||
if [ ! -d $wrksrc ]; then
|
if [ ! -d $wrksrc ]; then
|
||||||
msg_error "unexistent build directory [$wrksrc]."
|
msg_error "unexistent build directory [$wrksrc]."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Apply patches if requested by template file
|
# Apply patches if requested by template file
|
||||||
|
@ -794,7 +746,7 @@ configure_src_phase()
|
||||||
_prefix=
|
_prefix=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $wrksrc || bye 1
|
cd $wrksrc || exit 1
|
||||||
set_build_vars
|
set_build_vars
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -833,12 +785,12 @@ configure_src_phase()
|
||||||
#
|
#
|
||||||
else
|
else
|
||||||
msg_error "unknown build_style [$build_style]"
|
msg_error "unknown build_style [$build_style]"
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$build_style" != "perl_module" -a "$?" -ne 0 ]; then
|
if [ "$build_style" != "perl_module" -a "$?" -ne 0 ]; then
|
||||||
msg_error "building $pkg (configure phase)."
|
msg_error "building $pkg (configure phase)."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# unset configure_env vars.
|
# unset configure_env vars.
|
||||||
|
@ -873,10 +825,10 @@ build_src_phase()
|
||||||
|
|
||||||
if [ ! -d $wrksrc ]; then
|
if [ ! -d $wrksrc ]; then
|
||||||
msg_error "unexistent build directory [$wrksrc]"
|
msg_error "unexistent build directory [$wrksrc]"
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $wrksrc || bye 1
|
cd $wrksrc || exit 1
|
||||||
|
|
||||||
#
|
#
|
||||||
# Assume BSD make if make_cmd not set in template.
|
# Assume BSD make if make_cmd not set in template.
|
||||||
|
@ -909,7 +861,7 @@ build_src_phase()
|
||||||
${make_cmd} ${makejobs} ${make_build_args} ${make_build_target}
|
${make_cmd} ${makejobs} ${make_build_args} ${make_build_target}
|
||||||
if [ "$?" -ne 0 ]; then
|
if [ "$?" -ne 0 ]; then
|
||||||
msg_error "building $pkg (build phase)."
|
msg_error "building $pkg (build phase)."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unset makejobs
|
unset makejobs
|
||||||
|
@ -946,10 +898,10 @@ install_src_phase()
|
||||||
|
|
||||||
if [ ! -d $wrksrc ]; then
|
if [ ! -d $wrksrc ]; then
|
||||||
msg_error "unexistent build directory [$wrksrc]"
|
msg_error "unexistent build directory [$wrksrc]"
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $wrksrc || bye 1
|
cd $wrksrc || exit 1
|
||||||
|
|
||||||
msg_normal "Running install phase for: $pkgname-$version."
|
msg_normal "Running install phase for: $pkgname-$version."
|
||||||
|
|
||||||
|
@ -997,7 +949,7 @@ make_install()
|
||||||
${make_cmd} ${make_install_target} ${make_install_args}
|
${make_cmd} ${make_install_target} ${make_install_args}
|
||||||
if [ "$?" -ne 0 ]; then
|
if [ "$?" -ne 0 ]; then
|
||||||
msg_error "installing $pkgname-$version."
|
msg_error "installing $pkgname-$version."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Replace libtool archives if requested.
|
# Replace libtool archives if requested.
|
||||||
|
@ -1024,15 +976,13 @@ register_pkg_handler()
|
||||||
|
|
||||||
[ -z "$action" -o -z "$pkg" -o -z "$version" ] && return 1
|
[ -z "$action" -o -z "$pkg" -o -z "$version" ] && return 1
|
||||||
|
|
||||||
set_color green
|
|
||||||
if [ "$action" = "register" ]; then
|
if [ "$action" = "register" ]; then
|
||||||
$XBPS_PKGDB_CMD register $pkg $version
|
$XBPS_PKGDB_CMD register $pkg $version
|
||||||
[ $? -ne 0 ] && bye 1
|
[ $? -ne 0 ] && exit 1
|
||||||
elif [ "$action" = "unregister" ]; then
|
elif [ "$action" = "unregister" ]; then
|
||||||
$XBPS_PKGDB_CMD unregister $pkg $version
|
$XBPS_PKGDB_CMD unregister $pkg $version
|
||||||
[ $? -ne 0 ] && bye 1
|
[ $? -ne 0 ] && exit 1
|
||||||
else
|
else
|
||||||
restore_color
|
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -1150,28 +1100,18 @@ install_dependencies_pkg()
|
||||||
add_dependency_tolist $pkg
|
add_dependency_tolist $pkg
|
||||||
find_dupdeps_inlist installed
|
find_dupdeps_inlist installed
|
||||||
find_dupdeps_inlist notinstalled
|
find_dupdeps_inlist notinstalled
|
||||||
set_color bold
|
|
||||||
echo "done."
|
echo "done."
|
||||||
restore_color
|
|
||||||
|
|
||||||
[ -z "$deps_list" -a -z "$installed_deps_list" ] && return 0
|
[ -z "$deps_list" -a -z "$installed_deps_list" ] && return 0
|
||||||
|
|
||||||
msg_normal "Required dependencies for $(basename $pkg):"
|
msg_normal "Required dependencies for $(basename $pkg):"
|
||||||
for i in ${installed_deps_list}; do
|
for i in ${installed_deps_list}; do
|
||||||
fpkg="$($XBPS_PKGDB_CMD list|$grep_cmd -w ${i%-[0-9]*.*})"
|
fpkg="$($XBPS_PKGDB_CMD list|$grep_cmd -w ${i%-[0-9]*.*})"
|
||||||
echo -n " $i: "
|
echo " $i: $found $fpkg"
|
||||||
set_color green
|
|
||||||
set_color bold
|
|
||||||
echo "found $fpkg."
|
|
||||||
restore_color
|
|
||||||
done
|
done
|
||||||
|
|
||||||
for i in ${deps_list}; do
|
for i in ${deps_list}; do
|
||||||
echo -n " $i: "
|
echo " $i: not found."
|
||||||
set_color red
|
|
||||||
set_color bold
|
|
||||||
echo "not installed."
|
|
||||||
restore_color
|
|
||||||
done
|
done
|
||||||
|
|
||||||
for i in ${deps_list}; do
|
for i in ${deps_list}; do
|
||||||
|
@ -1283,7 +1223,7 @@ install_pkg()
|
||||||
local cur_tmpl="$XBPS_TEMPLATESDIR/$curpkgn.tmpl"
|
local cur_tmpl="$XBPS_TEMPLATESDIR/$curpkgn.tmpl"
|
||||||
if [ -z $cur_tmpl -o ! -f $cur_tmpl ]; then
|
if [ -z $cur_tmpl -o ! -f $cur_tmpl ]; then
|
||||||
msg_error "cannot find $cur_tmpl template build file."
|
msg_error "cannot find $cur_tmpl template build file."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -1375,16 +1315,13 @@ list_pkgs()
|
||||||
|
|
||||||
if [ ! -r "$XBPS_PKGDB_FPATH" ]; then
|
if [ ! -r "$XBPS_PKGDB_FPATH" ]; then
|
||||||
msg_warn "No packages registered or missing register db file."
|
msg_warn "No packages registered or missing register db file."
|
||||||
bye 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for i in $($XBPS_PKGDB_CMD list); do
|
for i in $($XBPS_PKGDB_CMD list); do
|
||||||
# Run file to get short_desc and print something useful
|
# Run file to get short_desc and print something useful
|
||||||
run_file $XBPS_TEMPLATESDIR/${i%-[0-9]*.*}.tmpl
|
run_file $XBPS_TEMPLATESDIR/${i%-[0-9]*.*}.tmpl
|
||||||
set_color bold
|
echo "$i $short_desc"
|
||||||
echo -n "$i"
|
|
||||||
restore_color
|
|
||||||
echo " $short_desc"
|
|
||||||
reset_tmpl_vars
|
reset_tmpl_vars
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
@ -1399,17 +1336,15 @@ list_pkg_files()
|
||||||
|
|
||||||
if [ -z $pkg ]; then
|
if [ -z $pkg ]; then
|
||||||
msg_error "unexistent package, aborting."
|
msg_error "unexistent package, aborting."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d "$XBPS_DESTDIR/$pkg" ]; then
|
if [ ! -d "$XBPS_DESTDIR/$pkg" ]; then
|
||||||
msg_error "cannot find $pkg in $XBPS_DESTDIR."
|
msg_error "cannot find $pkg in $XBPS_DESTDIR."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
set_color bold
|
|
||||||
cat $f|sort -u
|
cat $f|sort -u
|
||||||
restore_color
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -1421,12 +1356,12 @@ remove_pkg()
|
||||||
|
|
||||||
if [ -z "$pkg" ]; then
|
if [ -z "$pkg" ]; then
|
||||||
msg_error "unexistent package, aborting."
|
msg_error "unexistent package, aborting."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -f "$XBPS_TEMPLATESDIR/$pkg.tmpl" ]; then
|
if [ ! -f "$XBPS_TEMPLATESDIR/$pkg.tmpl" ]; then
|
||||||
msg_error "cannot find template build file."
|
msg_error "cannot find template build file."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
run_file $XBPS_TEMPLATESDIR/$pkg.tmpl
|
run_file $XBPS_TEMPLATESDIR/$pkg.tmpl
|
||||||
|
@ -1436,15 +1371,14 @@ remove_pkg()
|
||||||
#
|
#
|
||||||
if [ "$build_style" = "meta-template" ]; then
|
if [ "$build_style" = "meta-template" ]; then
|
||||||
register_pkg_handler unregister $pkgname $version
|
register_pkg_handler unregister $pkgname $version
|
||||||
[ $? -eq 0 ] && set_color green && \
|
[ $? -eq 0 ] && \
|
||||||
echo "=> Removed meta-template: $pkg." && \
|
echo "=> Removed meta-template: $pkg."
|
||||||
restore_color
|
|
||||||
return $?
|
return $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d "$XBPS_DESTDIR/$pkg-$version" ]; then
|
if [ ! -d "$XBPS_DESTDIR/$pkg-$version" ]; then
|
||||||
msg_error "cannot find package on $XBPS_DESTDIR."
|
msg_error "cannot find package on $XBPS_DESTDIR."
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unstow_pkg $pkg
|
unstow_pkg $pkg
|
||||||
|
@ -1475,7 +1409,7 @@ stow_pkg()
|
||||||
[ "$build_style" = "meta-template" ] && return 0
|
[ "$build_style" = "meta-template" ] && return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $XBPS_DESTDIR/$pkgname-$version || bye 1
|
cd $XBPS_DESTDIR/$pkgname-$version || exit 1
|
||||||
find . > $flist
|
find . > $flist
|
||||||
sed -i -e "s|^.$||g;s|^./||g;s|.xbps-filelist||g;/^$/d" $flist
|
sed -i -e "s|^.$||g;s|^./||g;s|.xbps-filelist||g;/^$/d" $flist
|
||||||
cp -ar . $XBPS_MASTERDIR
|
cp -ar . $XBPS_MASTERDIR
|
||||||
|
@ -1506,7 +1440,7 @@ unstow_pkg()
|
||||||
|
|
||||||
if [ -z "$pkg" ]; then
|
if [ -z "$pkg" ]; then
|
||||||
msg_error "template wasn't specified?"
|
msg_error "template wasn't specified?"
|
||||||
bye 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$pkgname" != "$pkg" ]; then
|
if [ "$pkgname" != "$pkg" ]; then
|
||||||
|
@ -1518,17 +1452,14 @@ unstow_pkg()
|
||||||
#
|
#
|
||||||
[ "$build_style" = "meta-template" ] && return 0
|
[ "$build_style" = "meta-template" ] && return 0
|
||||||
|
|
||||||
cd $XBPS_DESTDIR/$pkgname-$version || bye 1
|
cd $XBPS_DESTDIR/$pkgname-$version || exit 1
|
||||||
[ ! -f .xbps-filelist ] && bye 1
|
[ ! -f .xbps-filelist ] && exit 1
|
||||||
|
|
||||||
for f in $(cat .xbps-filelist|sort -ur); do
|
for f in $(cat .xbps-filelist|sort -ur); do
|
||||||
if [ -f $XBPS_MASTERDIR/$f -o -h $XBPS_MASTERDIR/$f ]; then
|
if [ -f $XBPS_MASTERDIR/$f -o -h $XBPS_MASTERDIR/$f ]; then
|
||||||
rm $XBPS_MASTERDIR/$f >/dev/null 2>&1
|
rm $XBPS_MASTERDIR/$f >/dev/null 2>&1
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
echo -n "Removing file: "
|
echo "Removing file: $f"
|
||||||
set_color bold
|
|
||||||
echo "$f"
|
|
||||||
restore_color
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
@ -1537,14 +1468,10 @@ unstow_pkg()
|
||||||
if [ -d $XBPS_MASTERDIR/$f ]; then
|
if [ -d $XBPS_MASTERDIR/$f ]; then
|
||||||
rmdir $XBPS_MASTERDIR/$f >/dev/null 2>&1
|
rmdir $XBPS_MASTERDIR/$f >/dev/null 2>&1
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
echo -n "Removing directory: "
|
echo "Removing directory: $f"
|
||||||
set_color bold
|
|
||||||
echo "$f"
|
|
||||||
restore_color
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
restore_color
|
|
||||||
|
|
||||||
register_pkg_handler unregister $pkgname $version
|
register_pkg_handler unregister $pkgname $version
|
||||||
}
|
}
|
||||||
|
@ -1552,7 +1479,7 @@ unstow_pkg()
|
||||||
#
|
#
|
||||||
# main()
|
# main()
|
||||||
#
|
#
|
||||||
while getopts "Cc:e" opt; do
|
while getopts "Cc:" opt; do
|
||||||
case $opt in
|
case $opt in
|
||||||
C)
|
C)
|
||||||
dontrm_builddir=yes
|
dontrm_builddir=yes
|
||||||
|
@ -1562,9 +1489,6 @@ while getopts "Cc:e" opt; do
|
||||||
XBPS_CONFIG_FILE="$OPTARG"
|
XBPS_CONFIG_FILE="$OPTARG"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
e)
|
|
||||||
disable_colors=yes
|
|
||||||
;;
|
|
||||||
--)
|
--)
|
||||||
shift
|
shift
|
||||||
break
|
break
|
||||||
|
@ -1670,4 +1594,4 @@ unstow)
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Agur
|
# Agur
|
||||||
bye 0
|
exit 0
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue