summaryrefslogtreecommitdiffstats
path: root/po/update-potfiles
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-06 02:42:50 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-06 02:42:50 +0000
commit8cb83eee5a58b1fad74c34094ce3afb9e430b5a4 (patch)
treea9b2e7baeca1be40eb734371e3c8b11b02294497 /po/update-potfiles
parentInitial commit. (diff)
downloadutil-linux-upstream.tar.xz
util-linux-upstream.zip
Adding upstream version 2.33.1.upstream/2.33.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'po/update-potfiles')
-rwxr-xr-xpo/update-potfiles41
1 files changed, 41 insertions, 0 deletions
diff --git a/po/update-potfiles b/po/update-potfiles
new file mode 100755
index 0000000..884e4d9
--- /dev/null
+++ b/po/update-potfiles
@@ -0,0 +1,41 @@
+#!/bin/sh
+#
+# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+#
+
+# find all git-tracked and existing *.c and *.h files
+# exclude some (sub)directories
+# sort the list
+
+if [ ! -f "po/Makevars" ]; then
+ echo "error: update-potfiles must run in the top-level directory" >&2
+ exit 1
+fi
+
+# find all git-tracked files
+source_files=$(git ls-files . 2>/dev/null)
+if [ $? -ne 0 ] || [ -z "$source_files" ]; then
+ echo "$0: warning: update-potfiles requires git" >&2
+ # we still go through the rest of this script to provide at least an empty
+ # list or remove non-existing (deleted) files
+ source_files=$(cat po/POTFILES.in 2>/dev/null)
+fi
+
+# apply include/exclude patterns
+source_files=$(
+ echo "$source_files" \
+ | sed \
+ -e '/\(\.h\|\.c\)$/!d' \
+ -e '/^tests\//d' \
+ -e '/\/samples\//d' \
+ -e '/^Documentation\//d' \
+)
+
+# throw away non-existing files (dirty git repo)
+echo "$source_files" \
+ | xargs -r find 2>/dev/null \
+ | sort \
+ > po/POTFILES.in
+
+# if this script is broken then we have probably an empty list
+[ -s po/POTFILES.in ] || echo "$0: warning: po/POTFILES.in is empty" >&2