New README and devtools created
This commit is contained in:
98
devtools/gpc
Executable file
98
devtools/gpc
Executable file
@@ -0,0 +1,98 @@
|
||||
#!/bin/sh
|
||||
# Glacier package checker
|
||||
|
||||
INSCRIPT=INSTALL.sh
|
||||
UPSCRIPT=UPDATE.sh
|
||||
RMSCRIPT=REMOVE.sh
|
||||
|
||||
PKGINFO=*-pkginfo.json
|
||||
|
||||
TIMESTAMP=*.ts.sh
|
||||
|
||||
check_dir() {
|
||||
printf "Searching for package directory...\n"
|
||||
if [ -d "$2" ]; then
|
||||
printf "${green}$2 exists.${reset}\n"
|
||||
else
|
||||
printf "${red}$2 does not exist.${reset}\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd $2
|
||||
printf "Searching for instruction scripts...\n"
|
||||
if [ -f $INSCRIPT -a -f $UPSCRIPT -a -f $RMSCRIPT ]; then
|
||||
printf "${green}Instruction scripts exist.${reset}\n"
|
||||
else
|
||||
printf "${red}Instruction scripts do not exist.${reset}\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
printf "Searching for miscellaneous files...\n"
|
||||
if [ -f $PKGINFO -a -f $TIMESTAMP ]; then
|
||||
printf "${green}$2-pkginfo.json and $2.ts.sh exist.${reset}\n"
|
||||
else
|
||||
printf "${red}$2-pkginfo.json and $2.ts.sh do not exist.${reset}\n"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
mkpkg() {
|
||||
printf "${blue} Making package...${reset}\n"
|
||||
cd $2
|
||||
tar -czvf $2.tar.gz *
|
||||
printf "${blue}Generating package checksum...${reset}\n"
|
||||
cd ..
|
||||
sha256sum $2/$2.tar.gz >> $2.checksum
|
||||
printf "${green}Finished making package${reset}\n"
|
||||
exit 0
|
||||
}
|
||||
|
||||
helpmsg() {
|
||||
printf "gpc - test and create Glacier compatible packages\n"
|
||||
printf "usage: gpc [check] [mkpkg] [-h/--help] [-v/--version] pkg-dir\n"
|
||||
printf "\n"
|
||||
printf "gpc {-h|--help} show this message and exit\n"
|
||||
printf "gpc {-v|--version} show the version and exit\n"
|
||||
printf "gpc {check} check a package directory for compliance\n"
|
||||
printf "gpc {mkpkg} create a package from a directory\n"
|
||||
printf "\n"
|
||||
printf "This program is free software.\n"
|
||||
printf "See the GNU GPL version 3 for details.\n"
|
||||
exit 0
|
||||
}
|
||||
|
||||
helpmsg_small() {
|
||||
printf "usage: gpc [check] [mkpkg] [-h/--help] [-v/--version] pkg-dir\n"
|
||||
exit 1
|
||||
}
|
||||
|
||||
printver() {
|
||||
printf "gpc v2.0.0\n"
|
||||
exit 0
|
||||
}
|
||||
|
||||
preload() {
|
||||
. $(pwd)/gpc.conf
|
||||
if [ "$?" != "0" ]; then
|
||||
printf "error while parsing gpc config file\n"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
case $1 in
|
||||
-h|--help)
|
||||
helpmsg "$@"
|
||||
;;
|
||||
-v|--version)
|
||||
printver "$@"
|
||||
;;
|
||||
check)
|
||||
check_dir "$@"
|
||||
;;
|
||||
mkpkg)
|
||||
mkpkg "$@"
|
||||
;;
|
||||
*)
|
||||
helpmsg_small "$@"
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user