drupal-module-from-svn.sh

Printer-friendly versionPrinter-friendly version
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/bin/bash
 
# (c)2009 Samuele ~redShadow~ Santi <redshadowAThackzineDOTorg>
# Under GPL v3
# Please visit: http://www.hackzine.org
 
# Download from: http://svn.hackzine.org/misc/scripts/drupal/drupal-module-from-svn.sh
 
# samu 2009-12-30
 
MODNAME="$1"
SVNREPO="$2"
 
if [ "$MODNAME" == ""  ] || [  "$SVNREPO" == "" ]; then
  echo "Usage: $0 <modname> <svnrepo>"
  exit 1
fi
 
CDATE="$( date +%s )"
ORIGPWD="$( pwd )"
 
TEMPDIR="/tmp/.drupal-module-${MODNAME}-${CDATE}"
mkdir -p "$TEMPDIR"
cd "$TEMPDIR"
echo "Exporting $SVNREPO -> $MODNAME"
svn export "$SVNREPO" "./$MODNAME"
 
echo "Finding info files.."
INFOS="$( find "./$MODNAME" -name "*.info" )"
echo "$INFOS"
echo
 
if [ -e "./${MODNAME}/${MODNAME}.info" ]; then
  VERSION="$( cat "./${MODNAME}/${MODNAME}.info" | grep "^version\b" | sed "s/version\b *= *\"\?\([^\"]*\)\"\? *\$/\1/" | tail -1 )"
  echo "Found version: $VERSION"
else
  VERSION="unknown"
fi
 
echo "Package version: $VERSION"
 
OFS="$IFS"
IFS="
"
 
for f in $INFOS; do
  echo "Updating version/package/datestamp in info file: $f"
  #sed -i "s/datestamp\b *= *\"\?\([^\"]*\)\"\? *\$/datestamp = \"$(date +%s)\"/" "$f"
  sed -i "/^datestamp\b.*\$/d;/^version\b.*\$/d;/^package\b.*\$/d" "$f"
  cat >> "$f" <<EOF
 
; Informations added by unofficial packaging script
; Date: $(date "+%Y-%m-%d %H:%M:%S")
; Author: $(whoami)@$(hostname)
version = "$VERSION"
datestamp = "$CDATE"
package = "$MODNAME"
EOF
done
 
IFS="$OFS"
 
TARBALL_NAME="${MODNAME}-${VERSION}_${CDATE}.tar.gz"
echo "Tarball name: $TARBALL_NAME"
 
tar czf "${ORIGPWD}/${TARBALL_NAME}" "./${MODNAME}"
echo "Module tarball created to: ${ORIGPWD}/${TARBALL_NAME}"
 
cd "$ORIGPWD"
echo "Removing temporary directory.."
rm -rf "$TEMPDIR"

Who Am I?

~redShadow~ A.K.A. Samuele Santi is an Italian Open Source developer, currently working as a freelance developer, mainly in the web applications sector. Favourite programming languages: PHP and, of course, Python!

algorythms (1) documentation (2) cars (1) como lake rovers (1) aircrack (1) awstats (3) aoe (1) cartoons (1) C++ (2) blogroll (7) curl (1) Drupal Forms (1) bash (11) debian (1) audio (1) arduino (1) apt (1) backup (3) archive (1) doku (1) dmcrypt (1) e-mail (2) contact manager (1) development (11) blender (3) cryptography (1) alcool (1) cocktails (1) citroen (1) 3d (3) circuits (1) apache (1) Drupal (21) database (3) debug (1) camera mia (1) caos (1) 2v (1) address book (2) code (3)