aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcontrib/kiss-new45
1 files changed, 45 insertions, 0 deletions
diff --git a/contrib/kiss-new b/contrib/kiss-new
new file mode 100755
index 0000000..c5ded48
--- /dev/null
+++ b/contrib/kiss-new
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+die() {
+ printf 'error: %s.\n' "$*" >&2
+ exit 1
+}
+
+log() {
+ printf '=> %s.\n' "$*"
+}
+
+main() {
+ [ "$1" ] || {
+ log Create boilerplate KISS packages
+ log Usage: kiss-new name version source
+
+ exit
+ }
+
+ [ -d "$1" ] &&
+ die Package "$1" already exists.
+
+ mkdir -p "$1" ||
+ die Couldn\'t create directory in "$PWD"
+
+ cd "$1" ||
+ die Couldn\'t enter directory "$1/"
+
+ log Creating build file; {
+ printf '#!/bin/sh -e\n' > build
+ chmod +x build
+ }
+
+ log Creating version file with "'${2%% *} 1'"; {
+ printf '%s\n' "${2%% *} 1" > version
+ }
+
+ log Creating sources file with "'$3'"; {
+ printf '%s\n' "$3" > sources
+ }
+
+ log Package "$1" created in "$PWD"
+}
+
+main "$@"