| 1 |
#!/bin/bash |
| 2 |
|
| 3 |
# important: you need to use the most general CFLAGS to build the packages |
| 4 |
# recommendation: |
| 5 |
# * for x86 : CFLAGS="-march=i586 -mtune=generic -O2 -pipe -g" |
| 6 |
# * for amd64: CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -g" |
| 7 |
|
| 8 |
die() { |
| 9 |
echo "${1}" |
| 10 |
exit 1 |
| 11 |
} |
| 12 |
|
| 13 |
VERSION="3.5.2.2" |
| 14 |
|
| 15 |
BINRELEASE="-r1" |
| 16 |
|
| 17 |
# first the default subset of useflags |
| 18 |
IUSES_BASE="bash-completion binfilter branding cups dbus graphite gstreamer gtk nsplugin python vba webdav xmlsec -aqua -jemalloc -mysql -nlpsolver -odk -opengl -pdfimport -postgres -svg" |
| 19 |
|
| 20 |
# now for the options |
| 21 |
IUSES_J="java" |
| 22 |
IUSES_NJ="-java" |
| 23 |
IUSES_G="gnome eds" |
| 24 |
IUSES_NG="-gnome -eds" |
| 25 |
IUSES_K="kde" |
| 26 |
IUSES_NK="-kde" |
| 27 |
|
| 28 |
mkdir -p /etc/portage/package.use/ |
| 29 |
|
| 30 |
# compile the flavor |
| 31 |
echo "Base" |
| 32 |
echo "app-office/libreoffice ${IUSES_BASE} ${IUSES_NJ} ${IUSES_NG} ${IUSES_NK}" > /etc/portage/package.use/libreo |
| 33 |
emerge -v =libreoffice-${VERSION} || die "emerge failed" |
| 34 |
quickpkg libreoffice --include-config=y |
| 35 |
mv /tmp/portage/packages/app-office/libreoffice-${VERSION}.tbz2 ./libreoffice-base-${VERSION}${BINRELEASE}.tbz2 || die "Moving package failed" |
| 36 |
|
| 37 |
echo "Base - java" |
| 38 |
echo "app-office/libreoffice ${IUSES_BASE} ${IUSES_J} ${IUSES_NG} ${IUSES_NK}" > /etc/portage/package.use/libreo |
| 39 |
emerge -v =libreoffice-${VERSION} || die "emerge failed" |
| 40 |
quickpkg libreoffice --include-config=y |
| 41 |
mv /tmp/portage/packages/app-office/libreoffice-${VERSION}.tbz2 ./libreoffice-base-java-${VERSION}${BINRELEASE}.tbz2 || die "Moving package failed" |
| 42 |
|
| 43 |
# kde flavor |
| 44 |
echo "KDE" |
| 45 |
echo "app-office/libreoffice ${IUSES_BASE} ${IUSES_NJ} ${IUSES_NG} ${IUSES_K}" > /etc/portage/package.use/libreo |
| 46 |
emerge -v =libreoffice-${VERSION} || die "emerge failed" |
| 47 |
quickpkg libreoffice --include-config=y |
| 48 |
mv /tmp/portage/packages/app-office/libreoffice-${VERSION}.tbz2 ./libreoffice-kde-${VERSION}${BINRELEASE}.tbz2 || die "Moving package failed" |
| 49 |
|
| 50 |
echo "KDE - java" |
| 51 |
echo "app-office/libreoffice ${IUSES_BASE} ${IUSES_J} ${IUSES_NG} ${IUSES_K}" > /etc/portage/package.use/libreo |
| 52 |
emerge -v =libreoffice-${VERSION} || die "emerge failed" |
| 53 |
quickpkg libreoffice --include-config=y |
| 54 |
mv /tmp/portage/packages/app-office/libreoffice-${VERSION}.tbz2 ./libreoffice-kde-java-${VERSION}${BINRELEASE}.tbz2 || die "Moving package failed" |
| 55 |
|
| 56 |
# gnome flavor |
| 57 |
echo "Gnome" |
| 58 |
echo "app-office/libreoffice ${IUSES_BASE} ${IUSES_NJ} ${IUSES_G} ${IUSES_NK}" > /etc/portage/package.use/libreo |
| 59 |
emerge -v =libreoffice-${VERSION} || die "emerge failed" |
| 60 |
quickpkg libreoffice --include-config=y |
| 61 |
mv /tmp/portage/packages/app-office/libreoffice-${VERSION}.tbz2 ./libreoffice-gnome-${VERSION}${BINRELEASE}.tbz2 || die "Moving package failed" |
| 62 |
|
| 63 |
echo "Gnome -java" |
| 64 |
echo "app-office/libreoffice ${IUSES_BASE} ${IUSES_J} ${IUSES_G} ${IUSES_NK}" > /etc/portage/package.use/libreo |
| 65 |
emerge -v =libreoffice-${VERSION} || die "emerge failed" |
| 66 |
quickpkg libreoffice --include-config=y |
| 67 |
mv /tmp/portage/packages/app-office/libreoffice-${VERSION}.tbz2 ./libreoffice-gnome-java-${VERSION}${BINRELEASE}.tbz2 || die "Moving package failed" |
| 68 |
|
| 69 |
|
| 70 |
for name in ./libreoffice-*-${VERSION}${BINRELEASE}.tbz2 ; do |
| 71 |
|
| 72 |
BN=`basename $name .tbz2` |
| 73 |
|
| 74 |
rm -rf tmp.lo |
| 75 |
mkdir -vp tmp.lo/p1 tmp.lo/p2 |
| 76 |
cd tmp.lo/p1 |
| 77 |
|
| 78 |
echo "Unpacking complete archive $BN.tbz2" |
| 79 |
tar xfvjp ../../$BN.tbz2 |
| 80 |
|
| 81 |
echo "Moving debug info" |
| 82 |
mkdir -vp ../p2/usr/lib |
| 83 |
mv -v usr/lib/debug ../p2/usr/lib/ |
| 84 |
|
| 85 |
echo "Re-packing program" |
| 86 |
tar cfvJ ../../bin-$BN.tar.xz --owner root --group root ./* |
| 87 |
|
| 88 |
echo "Re-packing debug info" |
| 89 |
cd ../p2 |
| 90 |
tar cfvJ ../../debug-$BN.tar.xz --owner root --group root ./* |
| 91 |
|
| 92 |
echo "Removing unpacked files" |
| 93 |
cd ../.. |
| 94 |
rm -rf tmp.lo |
| 95 |
|
| 96 |
echo "Done with $BN.tbz2" |
| 97 |
|
| 98 |
done |