diff options
author | rhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58> | 2008-04-21 00:27:14 +0000 |
---|---|---|
committer | rhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58> | 2008-04-21 00:27:14 +0000 |
commit | d6da42fad22f9aaf132d87c1e2e760c035fe53c4 (patch) | |
tree | f4c4c649110967910e6e2d7cb5ce166652ca876e /trunk/mkbuild/generic.mkSlackBuild | |
parent | 3aac045d82d2e874d200f7a492260ba4000138f9 (diff) | |
download | simplepkg-d6da42fad22f9aaf132d87c1e2e760c035fe53c4.tar.gz simplepkg-d6da42fad22f9aaf132d87c1e2e760c035fe53c4.tar.bz2 |
see CHANGELOG for details
git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@492 04377dda-e619-0410-9926-eae83683ac58
Diffstat (limited to 'trunk/mkbuild/generic.mkSlackBuild')
-rw-r--r-- | trunk/mkbuild/generic.mkSlackBuild | 72 |
1 files changed, 67 insertions, 5 deletions
diff --git a/trunk/mkbuild/generic.mkSlackBuild b/trunk/mkbuild/generic.mkSlackBuild index 55bfba3..268b709 100644 --- a/trunk/mkbuild/generic.mkSlackBuild +++ b/trunk/mkbuild/generic.mkSlackBuild @@ -1,7 +1,7 @@ ################################################################# ## Generic template for SlackBuilds ## -## Version 0.9.5 - Luis ( luis at riseup d0t net) +## Version 0.9.6 - Luis ( luis at riseup d0t net) ## Alves ( rudsonalves at yahoo d0t com d0t br ) ################################################################# #!/bin/bash @@ -94,6 +94,16 @@ mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR </start_structure> +<create_build_user_and_group> off +# Creating build user and group +if ! grep -qe "^$PKG_NAME:" /etc/group; then + groupadd $PKG_NAME +fi +if ! grep -qe "^$PKG_NAME:" /etc/passwd; then + useradd $PKG_NAME -g $PKG_NAME +fi +</create_build_user_and_group> + <download_source> off # Dowload source if necessary SRC="[[SOURCE NAME CONSTRUCTION STRING]]" @@ -134,12 +144,37 @@ EOKEY fi # Download source's signature if necessary and check it -SIGNATURE="`basename [[SIGNING URL]]`" -if [ ! -s "$SRC_DIR/$SRC.sig" ]; then - wget "[[SIGNING URL]]" -O "$SRC_DIR/$SIGNATURE" || exit $ERROR_WGET +if echo [[SIGNING URL]] | grep -q -v "SIGNING URL"; then + SIGNATURE="`basename [[SIGNING URL]]`" + if [ ! -s "$SRC_DIR/$SIGNATURE" ]; then + wget "[[SIGNING URL]]" -O "$SRC_DIR/$SIGNATURE" || exit $ERROR_WGET + fi +else + if [ -f "$SRC_DIR/$SRC.sig" ]; then + SIGNATURE="$SRC.sig" + elif [ -f "$SRC_DIR/$SRC.asc" ]; then + SIGNATURE="$SRC.asc" + else + echo Trying to get signature file from $URL.sig... + if wget "$URL.sig" -O "$SRC_DIR/$SRC.sig"; then + SIGNATURE="$SRC.sig" + else + rm $SRC_DIR/$SRC.sig + echo Trying to get signature file from $URL.asc... + if wget "$URL.asc" -O "$SRC_DIR/$SRC.asc"; then + SIGNATURE="$SRC.asc" + else + rm $SRC_DIR/$SRC.asc + echo "Error getting source's signature file" + exit $ERROR_GPG + fi + fi + fi fi +echo Checking $SRC_DIR/$SRC with gpg using $SRC_DIR/$SIGNATURE... gpg --verify "$SRC_DIR/$SIGNATURE" "$SRC_DIR/$SRC" || exit $ERROR_GPG +echo Success. </gpg_signature_check> <untar_source> off @@ -246,6 +281,13 @@ cat << EODESC > "$PKG/install/slack-desc" EODESC </slackdesc> +<move_config_files> off +# Move config files to .new to avoid overwriting any system config +for config_file in [[CONFIG FILES]]; do + mv $PKG/$config_file $PKG/$config_file.new +done +</move_config_files> + <postinstall_script> off # Add a post-installation script (doinst.sh) cat << EOSCRIPT > "$PKG/install/doinst.sh" @@ -262,7 +304,27 @@ config() { # Otherwise, we leave the .new copy for the admin to consider... } -config path/to/config_file.new +mkgroup() { + GROUP="\$1" + if ! grep -qe "^\$GROUP:" etc/group; then + echo Creating group \$GROUP... + chroot . /usr/sbin/groupadd \$GROUP + fi +} + +mkuser() { + USER="\$1" + if [ ! -z "\$2" ]; then + GROUP="\$2" + else + GROUP="\$USER" + fi + if ! grep -qe "^\$USER:" etc/passwd; then + echo Creating user \$USER... + chroot . /usr/sbin/useradd \$USER -g \$GROUP + fi +} + [[REST OF DOINST.SH]] EOSCRIPT </postinstall_script> |