diff options
author | Michał Łyszczek <michal.lyszczek@bofc.pl> | 2018-11-03 12:27:54 +0100 |
---|---|---|
committer | Michał Łyszczek <michal.lyszczek@bofc.pl> | 2018-11-03 19:55:03 +0100 |
commit | 52d90d2bcbba6517fd14ae2b4000c3f558aa7907 (patch) | |
tree | 9afb830f2359c4b0cff299c02f36c4a33d0640cd | |
parent | 0e7b2693ab482c4f5ff146c74e940da19954ca4b (diff) | |
download | librb-52d90d2bcbba6517fd14ae2b4000c3f558aa7907.tar.gz librb-52d90d2bcbba6517fd14ae2b4000c3f558aa7907.tar.bz2 librb-52d90d2bcbba6517fd14ae2b4000c3f558aa7907.zip |
add script to build slackware tgz packge
no_buildbot
-rwxr-xr-x | pkg/tgz/create-pkg.sh | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/pkg/tgz/create-pkg.sh b/pkg/tgz/create-pkg.sh new file mode 100755 index 0000000..35e5de6 --- /dev/null +++ b/pkg/tgz/create-pkg.sh @@ -0,0 +1,77 @@ +#!/bin/sh + +project="librb" +scp_server="pkgs@kurwik" +revision="1" + +if [ ${#} -ne 3 ] +then + echo "usage: ${0} <version> <arch> <host_os>" + echo "" + echo "where" + echo " <version> git tag version" + echo " <arch> target architecture" + echo " <host_os> target os (slackware-14.2 etc)" + exit 1 +fi + +git_version="${1}" +arch="${2}" +host_os="${3}" +workdir="/tmp/${project}-${arch}-${git_version}" + +set -e + +rm -rf "${workdir}" +mkdir "${workdir}" +cd "${workdir}" + +wget "https://git.kurwinet.pl/${project}/snapshot/${project}-${git_version}.tar.gz" +tar xf "${project}-${git_version}.tar.gz" +cd "${project}-${git_version}" + +version="$(grep "AC_INIT(" "configure.ac" | cut -f3 -d\[ | cut -f1 -d\])" +./autogen.sh +./configure --prefix=/usr +make check + +mkdir "${workdir}/root" +mkdir "${workdir}/root/install" +DESTDIR="${workdir}/root" make install + +[ -f "pkg/tgz/doinst.sh" ] && cp "pkg/tgz/doinst.sh" "${workdir}/root/install" +cd "${workdir}/root" +find . \( -name *.3 -or -name *.7 \) | xargs gzip +makepkg -l y -c n "${workdir}/${project}-${version}-${arch}-${revision}.tgz" +installpkg "${workdir}/${project}-${version}-${arch}-${revision}.tgz" + +failed=0 +gcc "${workdir}/${project}-${git_version}/pkg/test.c" -o "${workdir}/testprog" \ + -lrb || failed=1 + +if ldd "${workdir}/testprog" | grep "\/usr\/bofc" +then + # sanity check to make sure test program uses system libraries + # and not locally installed ones (which are used as build + # dependencies for other programs + + echo "test prog uses libs from manually installed /usr/bofc \ + instead of system path!" + failed=1 +fi + +"${workdir}/testprog" || failed=1 + +removepkg "${project}" + +if [ ${failed} -eq 1 ] +then + exit 1 +fi + +if [ -n "${scp_server}" ] +then + echo "copying data to ${scp_server}:${project}/${host_os}/${arch}" + scp "${workdir}/${project}-${version}-${arch}-${revision}.tgz" \ + "${scp_server}:${project}/${host_os}/${arch}" || exit 1 +fi |