LDAPAccountManager/lam-packaging/buildPackages

226 lines
7.0 KiB
Plaintext
Raw Normal View History

2006-01-20 16:40:30 +00:00
#!/bin/bash
#
2016-03-25 11:50:28 +00:00
# Builds LDAP Account Manager packages.
2006-01-20 16:40:30 +00:00
if [ $# -lt 1 ]
then
2016-03-25 11:50:28 +00:00
echo -e "Usage: buildPackage <tag>"
2006-01-20 16:40:30 +00:00
exit
fi
2010-02-13 18:02:24 +00:00
set -e
2006-01-20 16:40:30 +00:00
cd /daten/projekte/lam/pakete
2016-03-25 11:50:28 +00:00
if [ "$1" = "develop" ]
2013-01-19 18:53:28 +00:00
then
2016-03-25 11:50:28 +00:00
export REPO_BRANCH="develop"
2013-01-19 18:53:28 +00:00
else
2016-03-25 11:50:28 +00:00
export REPO_BRANCH="tags/$1"
2013-01-19 18:53:28 +00:00
fi
2006-01-20 16:40:30 +00:00
2014-03-08 10:34:47 +00:00
# minifies the JavaScript files
function minify {
local dir="$1"
2014-03-08 13:26:51 +00:00
echo "Minify JS files in $dir"
local files=`ls $dir/*.js`
for file in $files; do
2017-04-02 13:42:57 +00:00
closure-compiler --charset UTF-8 --js $file --js_output_file ${file}-MIN
2014-03-08 13:26:51 +00:00
rm $file
mv ${file}-MIN $file
# add final new line to supress Debian warnings
echo "" >> $file
done
2014-03-08 10:34:47 +00:00
}
2016-08-27 20:28:37 +00:00
# minifies the CSS files
function minifyCSS {
local dir="$1"
echo "Minify CSS files in $dir"
local files=`ls $dir/*.css`
for file in $files; do
2017-04-02 13:42:57 +00:00
cleancss -o ${file}-MIN $file
2016-08-27 20:28:37 +00:00
rm $file
mv ${file}-MIN $file
# add final new line to supress Debian warnings
echo "" >> $file
done
}
2016-03-25 11:50:28 +00:00
echo "Getting files..."
git clone git@github.com:LDAPAccountManager/lam.git github
cd github
git checkout $REPO_BRANCH
mv lam ../
mv lam-packaging ../
cd ..
rm -rf github
2013-05-12 09:13:59 +00:00
2016-08-27 10:05:24 +00:00
git clone git@gitlab.com:LDAPAccountManager/lamPro.git lamPro
cd lamPro
2016-03-25 11:50:28 +00:00
git checkout $REPO_BRANCH
2016-08-27 10:05:24 +00:00
rm -rf .git
2016-03-25 11:50:28 +00:00
cd ..
2006-01-20 16:40:30 +00:00
cp lam-packaging/getVersion ./
export VERSION=`./getVersion`
# remove files which are not in the final release
rm -r lam/po
rm -r lam/tests
2009-04-05 19:22:34 +00:00
rm lam/lib/font/*.ttf
2013-01-19 18:53:28 +00:00
find . -name .svnignore -exec rm {} \;
2016-03-25 11:50:28 +00:00
find . -name .gitignore -exec rm {} \;
2006-01-20 16:40:30 +00:00
mv lam ldap-account-manager-$VERSION
2009-11-07 18:38:19 +00:00
# create LAM manual
cd ldap-account-manager-$VERSION/docs/manual-sources
./make.sh
cd ../../..
rm -r ldap-account-manager-$VERSION/docs/manual-sources
2007-01-14 18:43:19 +00:00
# create LAM Pro build directory
2006-07-30 13:36:18 +00:00
mkdir LAMPro
2008-02-04 22:23:51 +00:00
cp -a ldap-account-manager-$VERSION LAMPro/ldap-account-manager-$VERSION
2007-11-06 17:27:11 +00:00
cp -a lamPro/* LAMPro/ldap-account-manager-$VERSION
rm -r lamPro
2006-07-30 13:36:18 +00:00
2014-03-08 10:34:47 +00:00
# create Debian build dirs
mkdir Debian
mkdir LAMPro/Debian
2013-05-12 09:13:59 +00:00
rm ldap-account-manager-$VERSION/phpdoc.sh
rm LAMPro/ldap-account-manager-$VERSION/phpdoc.sh
2008-02-04 22:23:51 +00:00
2013-07-23 18:29:53 +00:00
# tar.bz2
2006-03-09 19:07:46 +00:00
cp lam-packaging/autoconf/configure.ac ldap-account-manager-$VERSION/
cp lam-packaging/autoconf/Makefile.in ldap-account-manager-$VERSION/
cd ldap-account-manager-$VERSION
touch install.sh
perl -pi -e "s/\\@\\@VERSION\\@\\@/$VERSION/g" configure.ac
2006-03-09 19:07:46 +00:00
autoconf
rm -r autom4te.cache
2006-03-09 19:07:46 +00:00
cd ..
2017-04-02 13:35:06 +00:00
# Debian gets orig.tar.bz2 with original JS files
2014-03-08 10:34:47 +00:00
tar cfj ldap-account-manager-$VERSION.tar.bz2 --owner=root --group=root --mtime=now ldap-account-manager-$VERSION
mv ldap-account-manager-$VERSION.tar.bz2 Debian/ldap-account-manager_$VERSION.orig.tar.bz2
2014-03-08 13:26:51 +00:00
cp -ar ldap-account-manager-$VERSION Debian/
2014-03-08 10:34:47 +00:00
# build other packages with minified JS files
2014-03-08 13:26:51 +00:00
minify ldap-account-manager-$VERSION/templates/lib
2016-08-27 20:28:37 +00:00
minifyCSS ldap-account-manager-$VERSION/style
2013-07-23 18:29:53 +00:00
tar cfj ldap-account-manager-$VERSION.tar.bz2 --owner=root --group=root --mtime=now ldap-account-manager-$VERSION
2014-03-08 13:26:51 +00:00
rm -r ldap-account-manager-$VERSION
2006-07-30 13:36:18 +00:00
2013-07-23 18:29:53 +00:00
# tar.bz2 of LAM Pro
2006-07-30 13:36:18 +00:00
cd LAMPro
cp ../lam-packaging/autoconf/configure.ac ldap-account-manager-$VERSION/
cp ../lam-packaging/autoconf/Makefile.in ldap-account-manager-$VERSION/
cd ldap-account-manager-$VERSION
touch install.sh
perl -pi -e "s/\\@\\@VERSION\\@\\@/$VERSION/g" configure.ac
autoconf
rm -r autom4te.cache
cd ..
2017-04-02 13:35:06 +00:00
# Debian gets orig.tar.bz2 with original JS files
2014-03-08 10:34:47 +00:00
tar cfj ldap-account-manager-$VERSION.tar.bz2 --owner=root --group=root --mtime=now ldap-account-manager-$VERSION
mv ldap-account-manager-$VERSION.tar.bz2 Debian/ldap-account-manager_$VERSION.orig.tar.bz2
2014-03-08 13:26:51 +00:00
cp -ar ldap-account-manager-$VERSION Debian/
2014-03-08 10:34:47 +00:00
# build other packages with minified JS files
2014-03-08 13:26:51 +00:00
minify ldap-account-manager-$VERSION/templates/lib
2016-08-27 20:28:37 +00:00
minifyCSS ldap-account-manager-$VERSION/style
2013-07-23 18:29:53 +00:00
tar cfj ldap-account-manager-$VERSION.tar.bz2 --owner=root --group=root --mtime=now ldap-account-manager-$VERSION
2014-03-08 13:26:51 +00:00
rm -r ldap-account-manager-$VERSION
2006-07-30 13:36:18 +00:00
cd ..
2006-01-20 16:40:30 +00:00
# Debian
cp -r lam-packaging/debian Debian/ldap-account-manager-$VERSION/
cd Debian/ldap-account-manager-$VERSION
debuild
cd ..
rm -r ldap-account-manager-$VERSION
cd ..
2006-07-30 13:36:18 +00:00
# Debian for LAM Pro
cd LAMPro
cp -r ../lam-packaging/debian Debian/ldap-account-manager-$VERSION/
cd Debian/ldap-account-manager-$VERSION
debuild
cd ..
rm -r ldap-account-manager-$VERSION
cd ..
cd ..
2006-01-20 16:40:30 +00:00
# RPM
perl -pi -e "s/\\@\\@VERSION\\@\\@/$VERSION/g" lam-packaging/RPM/ldap-account-manager.spec
2008-08-03 19:08:27 +00:00
2008-07-29 18:29:24 +00:00
cp lam-packaging/RPM/ldap-account-manager.spec lam-packaging/RPM/ldap-account-manager-fedora.spec
2008-08-03 18:03:48 +00:00
perl -pi -e "s/\\@\\@DISTRIBUTION\\@\\@/fedora/g" lam-packaging/RPM/ldap-account-manager-fedora.spec
perl -pi -e "s/\\@\\@USER\\@\\@/apache/g" lam-packaging/RPM/ldap-account-manager-fedora.spec
perl -pi -e "s/\\@\\@GROUP\\@\\@/apache/g" lam-packaging/RPM/ldap-account-manager-fedora.spec
2011-06-08 18:12:50 +00:00
perl -pi -e "s/\\@\\@HTTP_CONF_DIR\\@\\@/\\/etc\\/httpd\\/conf.d/g" lam-packaging/RPM/ldap-account-manager-fedora.spec
2008-08-03 19:08:27 +00:00
2008-07-29 18:29:24 +00:00
cp lam-packaging/RPM/ldap-account-manager.spec lam-packaging/RPM/ldap-account-manager-suse.spec
2008-08-03 18:03:48 +00:00
perl -pi -e "s/\\@\\@DISTRIBUTION\\@\\@/suse/g" lam-packaging/RPM/ldap-account-manager-suse.spec
perl -pi -e "s/\\@\\@USER\\@\\@/wwwrun/g" lam-packaging/RPM/ldap-account-manager-suse.spec
perl -pi -e "s/\\@\\@GROUP\\@\\@/www/g" lam-packaging/RPM/ldap-account-manager-suse.spec
2011-06-08 18:12:50 +00:00
perl -pi -e "s/\\@\\@HTTP_CONF_DIR\\@\\@/\\/etc\\/apache2\\/conf.d/g" lam-packaging/RPM/ldap-account-manager-suse.spec
2008-08-03 19:08:27 +00:00
2008-07-29 18:43:22 +00:00
mkdir RPM
mkdir LAMPro/RPM
2008-07-29 18:29:24 +00:00
2008-08-03 19:08:27 +00:00
2008-07-29 18:29:24 +00:00
# Fedora RPM
2013-07-23 18:29:53 +00:00
cp ldap-account-manager-$VERSION.tar.bz2 ~/rpmbuild/SOURCES
2011-06-11 12:51:01 +00:00
cp lam-packaging/RPM/lam.apache.conf ~/rpmbuild/SOURCES
2014-09-14 19:59:43 +00:00
cp lam-packaging/RPM/lam.nginx.conf ~/rpmbuild/SOURCES
2008-07-29 18:43:22 +00:00
rpmbuild --sign --clean --rmsource -bb lam-packaging/RPM/ldap-account-manager-fedora.spec
2009-08-05 18:01:26 +00:00
mv ~/rpmbuild/RPMS/noarch/ldap-account-manager*-$VERSION-*1.noarch.rpm RPM/
2008-07-29 18:29:24 +00:00
# Fedora RPM for LAM Pro
cd LAMPro
2013-07-23 18:29:53 +00:00
cp ldap-account-manager-$VERSION.tar.bz2 ~/rpmbuild/SOURCES/ldap-account-manager-$VERSION.tar.bz2
2011-06-11 13:51:02 +00:00
cp ../lam-packaging/RPM/lam.apache.conf ~/rpmbuild/SOURCES
2014-09-14 19:59:43 +00:00
cp ../lam-packaging/RPM/lam.nginx.conf ~/rpmbuild/SOURCES
2008-07-29 18:43:22 +00:00
rpmbuild --sign --clean --rmsource -bb ../lam-packaging/RPM/ldap-account-manager-fedora.spec
2009-08-05 18:01:26 +00:00
mv ~/rpmbuild/RPMS/noarch/ldap-account-manager*-$VERSION-*1.noarch.rpm RPM/
2008-07-29 18:29:24 +00:00
cd ..
# Suse RPM
2013-07-23 18:29:53 +00:00
cp ldap-account-manager-$VERSION.tar.bz2 ~/rpmbuild/SOURCES
2011-06-11 12:51:01 +00:00
cp lam-packaging/RPM/lam.apache.conf ~/rpmbuild/SOURCES
2014-09-14 19:59:43 +00:00
cp lam-packaging/RPM/lam.nginx.conf ~/rpmbuild/SOURCES
2008-07-29 18:43:22 +00:00
rpmbuild --sign --clean --rmsource -bb lam-packaging/RPM/ldap-account-manager-suse.spec
2009-08-05 18:01:26 +00:00
mv ~/rpmbuild/RPMS/noarch/ldap-account-manager*-$VERSION-*1.noarch.rpm RPM/
2006-01-20 16:40:30 +00:00
2008-07-29 18:29:24 +00:00
# Suse RPM for LAM Pro
2006-07-30 13:36:18 +00:00
cd LAMPro
2013-07-23 18:29:53 +00:00
cp ldap-account-manager-$VERSION.tar.bz2 ~/rpmbuild/SOURCES/ldap-account-manager-$VERSION.tar.bz2
2011-06-11 13:51:02 +00:00
cp ../lam-packaging/RPM/lam.apache.conf ~/rpmbuild/SOURCES
2014-09-14 19:59:43 +00:00
cp ../lam-packaging/RPM/lam.nginx.conf ~/rpmbuild/SOURCES
2008-07-29 18:43:22 +00:00
rpmbuild --sign --clean --rmsource -bb ../lam-packaging/RPM/ldap-account-manager-suse.spec
2009-08-05 18:01:26 +00:00
mv ~/rpmbuild/RPMS/noarch/ldap-account-manager*-$VERSION-*1.noarch.rpm RPM/
2006-07-30 13:36:18 +00:00
cd ..
2013-07-23 18:57:46 +00:00
# generate checksum files
sha256sum *.tar.bz2 >> checksums.txt
cd RPM
sha256sum *.rpm >> ../checksums.txt
cd ../Debian
sha256sum *.deb >> ../checksums.txt
cd ..
# generate checksum files for LAM Pro
cd LAMPro
sha256sum *.tar.bz2 >> checksums.txt
cd RPM
sha256sum *.rpm >> ../checksums.txt
cd ../Debian
sha256sum *.deb >> ../checksums.txt
cd ../..
2006-01-20 16:40:30 +00:00
# clean up
rm -r lam-packaging
rm getVersion
2013-09-16 18:17:14 +00:00
rm -f *.log