GENAPP(8) System Administration Utilities GENAPP(8)
NAME
Genapp - shell-api
SYNOPSIS
genapp OPTIONS <application name>
Arguments:
<application name>
a word identifying the app, starting with an uppercase (will be enforced)
OPTIONS:
--verbose
Verbose mode
--email =<TEXTE>
app's official contact email
--help, -h
Displays app usage
-y Assume 'Yes' when prompted for confirmation
--github-id =<TEXTE>
User id to use to build the github URL for the debian package homepage definition
-v, --version
Displays the app version
--root-release-dir =<FOLDER PATH> Path to the root folder where are stored software release
--author =<TEXTE>
Author of the app
--desc =<TEXTE>
Description of the app
--http =<URL>
URL for the debian package homepage of the app
--man Displays the manual page
DESCRIPTION
Genapp tool generates shell script app skeletons based the shell-api library. The generated skeletons are immediately operational and just need to be adapted to the specific app to be imple‐
mented. It will generate the following files:
- COPYRIGHT.txt : copyright notice
- LICENSE.txt: MIT by default, to be replaced if necessary
- CHANGELOG.txt: to be filled out as versions are released
- EXAMPLES.txt: List of examples. Indentation matters for manpage.
- <yourapp>__options.sh: file for managing options. For default ones, see doc.
- <yourapp>__help.h: file providing help functions.
- <yourapp>__vars.h: file containing the app-specific global variables
- <yourapp>: application skeleton
- pack/debian/control : for packaging with dpkg
EXAMPLES
Generating a test app
# An app named 'TestApp' is generated, inside folder 'testapp', main script will be 'testapp'. The home page URL for the app will be https://github/michelm33/testapp
genapp TestApp -y --author="George Washington" --email="george.washington@whitehouse.org" --desc="A test application" --github-id="michelm33" --root-release-dir="../release"
# Same as previous example, but the home page URL for the app is explicitely defind as 'https://slashetc/testapp'
genapp TestApp -y --author="George Washington" --email="george.washington@whitehouse.org" --desc="A test application" --http="https://slashetc/testapp" --root-release-dir="../release"
Executing the generated app
# 'TestApp' is the generated app
./testapp
Showing the app help
# 'TestApp' is the generated app
./testapp -h
Showing the last 30 log lines
# 'TestApp' is the generated app
./testapp --log=30
Showing the files managed by the app
# 'TestApp' is the generated app
./testapp --files
Generating a debian package
# This generates a release file tree and a debian package
make release
Generating the man pages
# This generates the manpage which can be open using 'man testapp'
make man
man testapp
AUTHOR
Written by Michel Mehl
REPORTING BUGS
Report bugs to <michel.mehl@slashetc.fr>
All rights reserved.
Tous droits réservés (France).
License terms written down in file LICENSE.txt
Les termes de la licence sont détaillés dans le fichier LICENSE.txt
Genapp 1.0.0 May 2026 GENAPP(8)