Package: live-package
Version: 0.99.6-1
Tags: patch

Attached is a patch to /usr/share/make-live/scripts/02defaults.sh to
fixup LIVE_PACKAGE_LIST handling.

The logic can briefly be described by:
If user sets -p switch or env var then _do_not_ reset to "minimal" if
minimal flavour. The user is always right! If the user did not set -p
(or env var) and "-f minimal" then do set to minimal.
if -p or env var starts with "/" and is readable then that is fine.
if not then check relative to  /usr/share/make-live/lists and again
check if readable.
fall back to standard package list if none found.


However the  code does a better job of decribing itself!!!

Regards
Alex Owen
--- scripts.orig/02defaults.sh	2006-09-10 20:02:56.000000000 +0100
+++ scripts/02defaults.sh	2006-09-18 12:20:56.000000000 +0100
@@ -173,23 +173,28 @@
 		LIVE_MIRROR_SECURITY="http://security.debian.org/";
 	fi
 
-	# Check for package lists
-	if [ -z "${LIVE_PACKAGE_LIST}" ]
-	then
-		LIVE_PACKAGE_LIST="${BASE}/lists/standard"
-	else
-		if [ "${LIVE_FLAVOUR}" = "minimal" ]
-		then
-			LIVE_PACKAGE_LIST="${BASE}/lists/minimal"
-		fi
-
-		if [ -r "${BASE}/lists/${LIVE_PACKAGE_LIST}" ]
-		then
-			LIVE_PACKAGE_LIST="${BASE}/lists/${LIVE_PACKAGE_LIST}"
-		else
-			LIVE_PACKAGE_LIST="${BASE}/lists/standard"
-		fi
-	fi
+        # Check for package lists
+        if [ -z "${LIVE_PACKAGE_LIST}" ]
+        then
+                if [ "${LIVE_FLAVOUR}" = "minimal" ]
+                then
+                        LIVE_PACKAGE_LIST="${BASE}/lists/minimal"
+                else
+                        LIVE_PACKAGE_LIST="${BASE}/lists/standard"
+                fi
+        else
+                #if LIVE_PACKAGE_LIST starts with "/" and file is readable do nothing
+                if ! [ "/" = "${LIVE_PACKAGE_LIST%%${LIVE_PACKAGE_LIST##/}}" -a -r ${LIVE_PACKAGE_LIST} ]
+                then
+                        #otherwise fix up LIVE_PACKAGE_LIST
+                        if [ -r "${BASE}/lists/${LIVE_PACKAGE_LIST}" ]
+                        then
+                                LIVE_PACKAGE_LIST="${BASE}/lists/${LIVE_PACKAGE_LIST}"
+                        else
+                                LIVE_PACKAGE_LIST="${BASE}/lists/standard"
+                        fi
+                fi
+        fi
 
 	# Set debian sections
 	if [ -z "${LIVE_SECTION}" ]

Reply via email to