summaryrefslogtreecommitdiff
path: root/build-aux/get-dscname
diff options
context:
space:
mode:
Diffstat (limited to 'build-aux/get-dscname')
-rwxr-xr-xbuild-aux/get-dscname28
1 files changed, 26 insertions, 2 deletions
diff --git a/build-aux/get-dscname b/build-aux/get-dscname
index c8b3681..34a1b08 100755
--- a/build-aux/get-dscname
+++ b/build-aux/get-dscname
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/bin/env bash
# build-aux/get-dscname - Get a file's self-described filename
#
# Copyright (C) 2024-2025 Luke T. Shumaker <lukeshu@lukeshu.com>
@@ -9,4 +9,28 @@ if [ $# -ne 1 ]; then
exit 2
fi
-sed -n '1,3{ /^\#!/d; /^<!--$/d; /-\*- .* -\*-/d; s,[/*\# ]*,,; s/ - .*//;p; q; }' -- "$1"
+if [[ $1 == */Documentation/* ]] && [[ "$(sed 1q -- "$1")" == 'NAME' ]]; then
+ sed -n '
+ 2{
+ s,[/.],_,g;
+ s,^\s*_,Documentation/,;
+ s,$,.txt,;
+
+ p;
+ q;
+ }
+ ' -- "$1"
+else
+ sed -n '
+ 1,3{
+ /^\#!/d;
+ /^<!--$/d;
+ /-\*- .* -\*-/d;
+ s,[/*\# ]*,,;
+ s/ - .*//;
+
+ p;
+ q;
+ }
+ ' -- "$1"
+fi