From bb00a1dfa75f1a9a0a9ff55afc0da3d6510ab613 Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Thu, 15 Feb 2018 20:30:59 +0100 Subject: [pkg] life is better among hunter-gatherers aka, get *all* of the dynamic libraries into the bundle. This probably won't work like this, but I think it's more comfortable to strip libraries from the list rather than hunting for them one by one. --- Makefile | 2 +- pkg/bundle_riseupvpn_from_docker | 21 ++++++++++++--------- pkg/hunter/gatherer | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+), 10 deletions(-) create mode 100755 pkg/hunter/gatherer diff --git a/Makefile b/Makefile index 76ba25a5..e11b4280 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ DIST_VERSION = $(DIST)-$(NEXT_VERSION)/ HEADLESS_DIST=dist/bitmask-nox HEADLESS_DIST_VERSION = $(HEADLESS_DIST)-$(NEXT_VERSION)/ -ANONVPN_DIST=dist/RiseupVPN +ANONVPN_DIST=dist/anonvpn ANONVPN_DIST_VERSION = $(ANONVPN_DIST)-$(NEXT_VERSION)/ BITMASK_ROOT = src/leap/bitmask/vpn/helpers/linux/bitmask-root diff --git a/pkg/bundle_riseupvpn_from_docker b/pkg/bundle_riseupvpn_from_docker index 4bac916e..8aec50c3 100644 --- a/pkg/bundle_riseupvpn_from_docker +++ b/pkg/bundle_riseupvpn_from_docker @@ -12,10 +12,13 @@ export SYSTRAY_SRC=/srv/go/src/0xacab.org/leap/bitmask-systray/ export GOPATH=/srv/go export CGO_CPPFLAGS="-I/usr/include" export CGO_LDFLAGS="-L/usr/lib -L/usr/lib/z86_64-linux-gnu -lzmq -lpthread -lsodium -lrt -lstdc++ -lm -lc -lgcc" +export BITMASK_HOME=${HOME}/bitmaskbuild echo "[+] building systray" cd ${SYSTRAY_SRC} git pull +# XXX FIXME ----- master is broken. +git checkout 352b8df go build . cd $HOME @@ -23,9 +26,12 @@ echo "[+] CLONING REPO from $REPO [$BRANCH]" rm -rf bitmaskbuild git clone --depth 1 --single-branch --branch $BRANCH $REPO bitmaskbuild cd bitmaskbuild -RELEASE=RiseupVPN-`cat pkg/next-version` -echo "[+] RELEASE: $RELEASE" git fetch --tags + +RELEASE=anonvpn-`cat pkg/next-version` +BRANDED=RiseupVPN-`cat pkg/next-version` + +echo "[+] RELEASE: $RELEASE" # uninstall bitmask-dev from base image and install bitmask-vpn pip uninstall --yes leap.bitmask pip install -e '.[vpn]' @@ -40,18 +46,14 @@ VIRTUAL_ENV=/usr/local make bundle_anonvpn_linux # copy systray binary and libs echo "[+] Copy systray binary" cp ${SYSTRAY_SRC}/bitmask-systray dist/${RELEASE}/lib/ -cp /usr/lib/x86_64-linux-gnu/libsodium.so.18 dist/${RELEASE}/lib/ -cp /usr/lib/x86_64-linux-gnu/libzmq.so.5.1.1 dist/${RELEASE}/lib/libzmq.so.5 -cp /usr/lib/x86_64-linux-gnu/libappindicator3.so.1 dist/${RELEASE}/lib/ -cp /usr/lib/x86_64-linux-gnu/libpng16.so.16 dist/${RELEASE}/lib/libpng.so.16 -cp /usr/lib/x86_64-linux-gnu/libz.so dist/${RELEASE}/lib/libz.so +# really, get all the things, and the kitchen sink... time to trim later on. +pkg/hunter/gatherer dist/${RELEASE}/lib/bitmask-systray dist/${RELEASE}/lib/ # copy assets -cp /src/leap/bitmask-systray/riseupvpn.svg dist/${RELEASE}/lib/riseupvpn.svg +cp ${SYSTRAY_SRC}/riseupvpn.svg dist/${RELEASE}/lib/riseupvpn.svg # trim some bytes rm dist/${RELEASE}/lib/pysqlcipher._sqlite.so -rm dist/${RELEASE}/lib/libzmq-0576c57a.so.5.0.2 rm dist/${RELEASE}/lib/libsqlite3.so.0 # rename entrypoint and put wrapper in place @@ -60,6 +62,7 @@ cd $HOME/bitmaskbuild/pkg/launcher && make cd $HOME/bitmaskbuild cp pkg/launcher/bitmask dist/${RELEASE}/RiseupVPN mv dist/${RELEASE}/lib/anonvpn dist/${RELEASE}/lib/bitmask +mv dist/${RELEASE} dist/${BRANDED} cp -r dist/* /dist echo "[+] DONE" diff --git a/pkg/hunter/gatherer b/pkg/hunter/gatherer new file mode 100755 index 00000000..5412748e --- /dev/null +++ b/pkg/hunter/gatherer @@ -0,0 +1,36 @@ +#!/bin/bash +# Author : Hemanth.HM +# Email : hemanth[dot]hm[at]gmail[dot]com +# License : GNU GPLv3 +# + +function useage() +{ + cat << EOU +Useage: bash $0 +EOU +exit 1 +} + +#Validate the inputs +[[ $# < 2 ]] && useage + +#Check if the paths are vaild +[[ ! -e $1 ]] && echo "Not a vaild input $1" && exit 1 +[[ -d $2 ]] || echo "No such directory $2 creating..."&& mkdir -p "$2" + +#Get the library dependencies +echo "Collecting the shared library dependencies for $1..." +deps=$(ldd $1 | awk 'BEGIN{ORS=" "}$1\ +~/^\//{print $1}$3~/^\//{print $3}'\ + | sed 's/,$/\n/') +echo "Copying the dependencies to $2" + +#Copy the deps +for dep in $deps +do + echo "Copying $dep to $2" + cp "$dep" "$2" +done + +echo "Done!" -- cgit v1.2.3