[Libreoffice-commits] online.git: Branch 'private/hcvcastro/forking' - loolwsd/loolwsd-systemplate-setup
Henry Castro
hcastro at collabora.com
Thu Jul 23 18:29:04 PDT 2015
loolwsd/loolwsd-systemplate-setup | 92 +++++++++++++++++++++++++++-----------
1 file changed, 66 insertions(+), 26 deletions(-)
New commits:
commit 35e89f4b3eaaf5c3812dd4ac82cb21974a7faec3
Author: Henry Castro <hcastro at collabora.com>
Date: Thu Jul 23 21:28:07 2015 -0400
loolwsd: systemplate Poco libraries setup.
diff --git a/loolwsd/loolwsd-systemplate-setup b/loolwsd/loolwsd-systemplate-setup
index 562bba8..942e39c 100755
--- a/loolwsd/loolwsd-systemplate-setup
+++ b/loolwsd/loolwsd-systemplate-setup
@@ -36,11 +36,7 @@ cd / || exit 1
find lib/libnss_* lib64/libnss_* -type l
find lib/*-linux-gnu/libnss* -type l
- find lib/*-linux-gnu/ld-* -type l
- find lib/*-linux-gnu/libcap* -type l
- find lib/*-linux-gnu/libattr* -type l
-# find lib/*-linux-gnu/libtinfo* -type l
-
+
# Go through the LO shared objects and check what system libraries
# they link to.
find $INSTDIR -name '*.so' -o -name '*.so.[0-9]*' |
@@ -48,14 +44,14 @@ cd / || exit 1
ldd $file 2>/dev/null
done |
grep -v dynamic | cut -d " " -f 3 | grep -E '^(/lib|/usr)' | sort -u | sed -e 's,^/,,'
-
+
# Go through the loolkit
find $POCODIR -name '*Poco*.so' -o -name '*.so.[0-9]*' |
while read file; do
ldd $file 2>/dev/null
done |
grep -v dynamic | cut -d " " -f 3 | grep -E '^(/lib|/usr)' | sort -u | sed -e 's,^/,,'
-
+
else
find usr/lib/dyld \
usr/lib/*.dylib \
@@ -95,35 +91,76 @@ cd / || exit 1
# This will now copy the file a symlink points to, but whatever.
cpio -p -d -L $CHROOT
-cp -v -P --parent $(find /usr/local/lib/libPoco*) $CHROOT
-
mkdir -p $CHROOT/tmp
-mkdir -p $CHROOT/bin
-mkdir -p $CHROOT/usr/bin
+mkdir -p $CHROOT/usr/bin/
+dummy=$CHROOT/usr/bin/dummy
-cp /bin/bash $CHROOT/bin/bash
-cp /usr/bin/env $CHROOT/usr/bin/env
+# checking for library containing Poco::Application
+cat <<_ACEOF >$dummy.cpp
+#include <iostream>
+#include <Poco/Util/Application.h>
-# make sure the link loader are copied
-mkdir -p $CHROOT/lib64
-mkdir -p $CHROOT/lib32
+using Poco::Util::Application;
-LOADER64=$(find /lib64/ld-* -type l)
-LOADER32=$(find /lib32/ld-* -type l)
-LOADER=$(find /lib/ld-* -type l)
+int main ()
+{
+ std::cout << "Poco functionality OK!" << std::endl;
+ return Application::EXIT_OK;
+}
+_ACEOF
-if [ -n "$LOADER64" ]; then
- cp -v $LOADER64 $CHROOT$LOADER64
-fi
+gcc_compile='gcc -o $dummy.o -c $dummy.cpp'
+(eval "$gcc_compile") 2>$dummy.err
-if [ -n "$LOADER32" ]; then
- cp -v $LOADER32 $CHROOT$LOADER32
+if ! test $? = 0; then
+ cat $dummy.err;
+ exit 1;
fi
-if [ -n "$LOADER" ]; then
- cp -v $LOADER $CHROOT$LOADER
+gcc_link='gcc -o $dummy -lcap -lpng -ldl -lPocoNet -lPocoUtil -lPocoXML -lPocoJSON -lPocoFoundation $dummy.o'
+(eval "$gcc_link") 2>$dummy.err
+
+if ! test $? = 0; then
+ cat $dummy.err;
+ exit 1;
fi
+lib_poco=$( echo "$dummy" |
+ while read file; do
+ ldd $file 2>/dev/null
+ done |
+ grep -v dynamic | cut -d " " -f 3 | grep -E '^(/lib|/usr)')
+
+for lib in $lib_poco
+do
+ cp --parent -n $lib $CHROOT
+
+ libs=$( echo $lib |
+ while read file; do
+ ldd $file 2>/dev/null
+ done |
+ grep -v dynamic | cut -d " " -f 3 | grep -E '^(/lib|/usr)')
+
+ for sofile in $libs
+ do
+ cp --parent -n $sofile $CHROOT
+ done
+done
+
+loaders="$(find /lib/ld-* -type l) $(find /lib32/ld-* -type l) $(find /lib64/ld-* -type l)"
+
+for loader in $loaders
+do
+ cp --parent -n $loader $CHROOT
+done
+
+loaders="$(find /lib/ld-* -type l) $(find /lib32/ld-* -type l) $(find /lib64/ld-* -type l)"
+
+for loader in $loaders
+do
+ cp --parent -n $loader $CHROOT
+done
+
# /usr/share/fonts needs to be taken care of separately because the
# directory time stamps must be preserved are for fontconfig to trust
# its cache.
@@ -139,3 +176,6 @@ if [ `uname -s` = Linux ]; then
cp -r -p /usr/share/ghostscript/fonts usr/share/ghostscript
fi
fi
+
+echo "testing if Poco libraries were installed properly"
+sudo chroot $CHROOT /usr/bin/dummy
More information about the Libreoffice-commits
mailing list