aboutsummaryrefslogtreecommitdiff
path: root/trunk/mkbuild
diff options
context:
space:
mode:
authorrhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58>2008-04-21 00:27:14 +0000
committerrhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58>2008-04-21 00:27:14 +0000
commitd6da42fad22f9aaf132d87c1e2e760c035fe53c4 (patch)
treef4c4c649110967910e6e2d7cb5ce166652ca876e /trunk/mkbuild
parent3aac045d82d2e874d200f7a492260ba4000138f9 (diff)
downloadsimplepkg-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')
-rw-r--r--trunk/mkbuild/generic.mkSlackBuild72
-rw-r--r--trunk/mkbuild/model.mkbuild3
-rw-r--r--trunk/mkbuild/perl.mkSlackBuild31
3 files changed, 98 insertions, 8 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>
diff --git a/trunk/mkbuild/model.mkbuild b/trunk/mkbuild/model.mkbuild
index 00acbe2..73d8c7d 100644
--- a/trunk/mkbuild/model.mkbuild
+++ b/trunk/mkbuild/model.mkbuild
@@ -99,6 +99,7 @@
#[[MD5SUM EXTENSION]]=""
#[[SIGNING KEY]]=""
#[[SIGNING KEY URL]]=""
+#[[CONFIG FILES]]=""
[[PATCH FILES]]=""
[[NUMBER OF PREFIX SLASHES TO STRIP]]="1"
@@ -123,6 +124,7 @@
on: slkflags
on: error_codes
on: start_structure
+off: create_build_user_and_group
on: download_source
off: md5sum_download_and_check_0
off: md5sum_download_and_check_1
@@ -137,6 +139,7 @@ off: compress_manpages
off: compress_info_files
on: install_documentation
on: slackdesc
+off: move_config_files
off: postinstall_script
on: build_package
on: clean_builds
diff --git a/trunk/mkbuild/perl.mkSlackBuild b/trunk/mkbuild/perl.mkSlackBuild
index 617283a..856513a 100644
--- a/trunk/mkbuild/perl.mkSlackBuild
+++ b/trunk/mkbuild/perl.mkSlackBuild
@@ -135,12 +135,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