aboutsummaryrefslogtreecommitdiffstats
path: root/src/getname.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/getname.sh')
-rwxr-xr-xsrc/getname.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/getname.sh b/src/getname.sh
new file mode 100755
index 0000000..f9ed5ec
--- /dev/null
+++ b/src/getname.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+# Usage:
+# getname.sh
+# Returns the list of all known .udeb files.
+# getname.sh [name]
+# Returns the canonical name of a package name.
+
+set -ue
+
+if [ $# -gt 0 ]; then
+ name="${1#src/}"
+ case "$1" in
+ src/*-udeb/*) name="${name%%/*}";;
+ *-udeb);;
+ *) name="${name%.udeb}"; name="${name%%_*}-udeb";;
+ esac
+ echo $name
+else
+ for dir in src/*-udeb/; do
+ if [ -r "$dir/debian/files" ]; then
+ echo src/$(cut -d' ' -f1 "$dir/debian/files")
+ else
+ sed -nr 's@^(\S+) \(([0-9.]+)\).*@src/\1_\2_all.udeb@p' "$dir/debian/changelog"
+ fi
+ done
+fi
+