OSDN Git Service

[update] : Added exception handling when channel name is not specified
authorhayao <shun819.mail@gmail.com>
Sun, 4 Oct 2020 13:03:45 +0000 (22:03 +0900)
committerhayao <shun819.mail@gmail.com>
Sun, 4 Oct 2020 13:03:45 +0000 (22:03 +0900)
allarch.sh
build.sh

index 50ea716..97aa074 100755 (executable)
@@ -1367,19 +1367,21 @@ msg_debug "Use the default configuration file (${defaultconfig})."
 set +eu
 
 # Check for a valid channel name
-case "$(bash "${script_path}/tools/channel.sh" -m check "${1}")" in
-    "incorrect")
-        msg_error "Invalid channel ${1}" "1"
-        ;;
-    "directory")
-        channel_dir="${1}"
-        channel_name="$(basename "${1%/}")"
-        ;;
-    "correct")
-        channel_dir="${script_path}/channels/${1}"
-        channel_name="${1}"
-        ;;
-esac
+if [[ -n "${1}" ]]; then
+    case "$(bash "${script_path}/tools/channel.sh" -m check "${1}")" in
+        "incorrect")
+            msg_error "Invalid channel ${1}" "1"
+            ;;
+        "directory")
+            channel_dir="${1}"
+            channel_name="$(basename "${1%/}")"
+            ;;
+        "correct")
+            channel_dir="${script_path}/channels/${1}"
+            channel_name="${1}"
+            ;;
+    esac
+fi
 
 # Set for special channels
 if [[ -d "${channel_dir}.add" ]]; then
@@ -1394,6 +1396,8 @@ elif [[ "${channel_name}" = "rebuild" ]]; then
 elif [[ "${channel_name}" = "clean" ]]; then
    "${script_path}/tools/clean.sh" -w $(realpath "${work_dir}") $([[ "${debug}" = true ]] && echo -n "-d")
     exit 0
+else
+    channel_dir="${script_path}/channels/${channel_name}"
 fi
 
 # Check channel version
index 42344be..5f24254 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -1449,19 +1449,21 @@ rebuildfile="${work_dir}/alteriso_config"
 set +eu
 
 # Check for a valid channel name
-case "$(bash "${script_path}/tools/channel.sh" check "${1}")" in
-    "incorrect")
-        msg_error "Invalid channel ${1}" "1"
-        ;;
-    "directory")
-        channel_dir="${1}"
-        channel_name="$(basename "${1%/}")"
-        ;;
-    "correct")
-        channel_dir="${script_path}/channels/${1}"
-        channel_name="${1}"
-        ;;
-esac
+if [[ -n "${1}" ]]; then
+    case "$(bash "${script_path}/tools/channel.sh" -m check "${1}")" in
+        "incorrect")
+            msg_error "Invalid channel ${1}" "1"
+            ;;
+        "directory")
+            channel_dir="${1}"
+            channel_name="$(basename "${1%/}")"
+            ;;
+        "correct")
+            channel_dir="${script_path}/channels/${1}"
+            channel_name="${1}"
+            ;;
+    esac
+fi
 
 # Set for special channels
 if [[ -d "${channel_dir}.add" ]]; then
@@ -1476,6 +1478,8 @@ elif [[ "${channel_name}" = "rebuild" ]]; then
 elif [[ "${channel_name}" = "clean" ]]; then
    "${script_path}/tools/clean.sh" -w $(realpath "${work_dir}") $([[ "${debug}" = true ]] && echo -n "-d")
     exit 0
+else
+    channel_dir="${script_path}/channels/${channel_name}"
 fi
 
 # Check channel version