summaryrefslogtreecommitdiff
path: root/auto/functions/compat
diff options
context:
space:
mode:
Diffstat (limited to 'auto/functions/compat')
-rw-r--r--auto/functions/compat42
1 files changed, 32 insertions, 10 deletions
diff --git a/auto/functions/compat b/auto/functions/compat
index 250402d..9bb8438 100644
--- a/auto/functions/compat
+++ b/auto/functions/compat
@@ -1,5 +1,8 @@
#!/bin/bash
export LB_VERSION=$VERSION
+export LB_BASE="${LB_BASE:-/usr/share/live/build}"
+
+current_script="$(basename "$0"|sed 's/^lb_//')"
Compat_arguments ()
{
@@ -10,11 +13,11 @@ Compat_arguments ()
case "$arg" in
-r|--repositories) arg="--archives";;
--architecture) arg="--architectures";;
- --packages-lists) arg="--package-lists";;
--syslinux-theme) ;;
# ignore other unsupported arguments
--syslinux-*|--bootstrap-config|-e|--encryption|-l|--language) shift; continue;;
--binary-indices|--packages|--symlinks|--sysvinit|--tasks|--virtual-root-size) shift; continue;;
+ --packages-lists|--package-list|-p) Compat_packagelists $1; shift; continue;;
esac
echo -n "$arg$IFS"
done
@@ -41,6 +44,7 @@ Compat_dir ()
dir3="$2"
ext2="$3"
ext3="$4"
+ [ ! -e "config/$dir2" ] && return 0
if [ -z "$ext2$ext3" ]; then
rm -r "config/$dir3"
ln -s "$(basename "$dir2")" "config/$dir3"
@@ -61,6 +65,19 @@ Compat_dir ()
touch config/$dir3.compat
}
+Compat_packagelists()
+{
+ mkdir -p config/package-lists
+ (
+ echo '# AUTOGENERATED from "lb config -p" option - DO NOT CHANGE'
+ IFS=" "
+ for packagelist in $1
+ do
+ echo "#include <$packagelist>"
+ done
+ ) > config/package-lists/compat.list.chroot
+}
+
Compat_clean()
{
for i in config/*.compat
@@ -75,8 +92,13 @@ Compat_clean()
case "$LB_VERSION" in
3*)
- case "$(basename "$0")" in
- lb_config)
+ case "$current_script" in
+ config)
+ if [ -z "$LB_COMPAT_CONFIG_AUTO" ]; then
+ export LB_COMPAT_CONFIG_AUTO=1
+ auto/config "$@"
+ exit $?
+ fi
OIFS="$IFS"; IFS="$(printf \\a)"
set -- $(Compat_arguments "$@")
IFS="$OIFS"
@@ -88,10 +110,10 @@ case "$LB_VERSION" in
LB_ARCHITECTURE="$LB_ARCHITECTURES"
trap Compat_config EXIT
;;
- lb_chroot_apt)
+ chroot_apt)
Compat_dir chroot_local-packages packages.chroot
;;
- lb_chroot_archives)
+ chroot_archives)
mkdir -p config/archives
touch config/archives.compat
. config/bootstrap
@@ -109,19 +131,19 @@ case "$LB_VERSION" in
done
done
;;
- lb_chroot_preseed)
+ chroot_preseed)
Compat_dir chroot_local-preseed preseed .cfg .preseed
;;
- lb_chroot_includes)
+ chroot_includes)
Compat_dir chroot_local-includes includes.chroot
;;
- lb_chroot_hooks)
+ chroot_hooks)
Compat_dir chroot_local-hooks hooks - .chroot
;;
- lb_binary_hooks)
+ binary_hooks)
Compat_dir binary_local-hooks hooks - .binary
;;
- lb_build|lb_clean)
+ build|clean)
trap Compat_clean EXIT
;;
esac