From 01d3ce17755f77629dd3434bcc40b37fe7decd54 Mon Sep 17 00:00:00 2001 From: Ivan X Date: Fri, 25 Dec 2015 12:37:56 +0900 Subject: [PATCH] libdb5.3+libgcrypt20 on Jessie rather than installing older Wheezy libs removed libdb4.8 support fixed source URL's to use external/source when locally hosting externals --- scripts/a2server-2-tools.txt | 26 +++++++--- scripts/a2server-3-sharing.txt | 78 ++++++++++++------------------ scripts/tools/netatalk-maketar.txt | 1 + setup/index.txt | 2 +- 4 files changed, 52 insertions(+), 55 deletions(-) create mode 100644 scripts/tools/netatalk-maketar.txt diff --git a/scripts/a2server-2-tools.txt b/scripts/a2server-2-tools.txt index c92555d..3cd9009 100755 --- a/scripts/a2server-2-tools.txt +++ b/scripts/a2server-2-tools.txt @@ -16,10 +16,13 @@ esac useExternalURL=1 [[ $A2SERVER_NO_EXTERNAL ]] && useExternalURL= +debianVersion=$(cat /etc/debian_version 2> /dev/null) +isRpi= arch= if [[ -f /usr/bin/raspi-config ]]; then isRpi=1 -elif lsb_release -a 2> /dev/null | grep -q 'Distributor ID:.Debian' && [[ ( -f /etc/debian_version ) && ( $(cut -c 1 < /etc/debian_version) -ge "7" ) ]]; then + arch='rpi' +elif lsb_release -a 2> /dev/null | grep -q 'Distributor ID:.Debian' && [[ $(cut -c 1 <<< $debianVersion) -ge "7" ]]; then uname_m="$(uname -m)" if [[ $uname_m == "i686" ]]; then arch='debian_x86' @@ -28,8 +31,17 @@ elif lsb_release -a 2> /dev/null | grep -q 'Distributor ID:.Debian' && [[ ( -f / fi fi -isJessie= -[[ ( -f /etc/debian_version ) && ( $(cut -c 1-2 < /etc/debian_version) == "8." ) ]] && isJessie=1 +debianName= +if [[ $debianVersion ]]; then + debianMajor=$(cut -c 1-2 <<< $debianVersion) + if [[ $debianMajor == "8." ]]; then + debianName="jessie" + elif [[ $debianMajor == "7." ]]; then + debianName="wheezy" + else + debianName="unknown" + fi +fi echo "A2SERVER: Installing A2SERVER tools..." @@ -63,7 +75,7 @@ if ! command -v nulib2 > /dev/null; then tar zxf nulibdist.tar.gz &> /dev/null fi if [[ ! -d nulib2-220 ]]; then - wget -q -O nulibdist.tar.gz ${binaryURL}external/nulibdist.tar.gz + wget -q -O nulibdist.tar.gz ${binaryURL}external/source/nulibdist.tar.gz tar zxf nulibdist.tar.gz &> /dev/null fi cd nufxlib* @@ -96,7 +108,7 @@ if ! command -v unar > /dev/null; then fi # jessie and later: Just use the unar package - if [[ $isJessie ]]; then + if [[ $debianName == "jessie" ]]; then sudo apt-get -y install unar sudo apt-get clean fi @@ -106,7 +118,7 @@ if ! command -v unar > /dev/null; then # Dependencies: for unar sudo apt-get -y install libgnustep-base1.22 sudo apt-get clean - { wget -qO- "${binaryURL}precompiled/unar-${arch}.tgz" | sudo tar Pzx; } &> /dev/null + { wget -qO- "${binaryURL}precompiled/unar-${arch}_${debianName}.tgz" | sudo tar Pzx; } &> /dev/null fi # If all else fails, compile from source. @@ -124,7 +136,7 @@ if ! command -v unar > /dev/null; then unzip -o unar_1.8.zip &> /dev/null fi if [ ! -d *Unarchiver*/XADMaster ]; then # need single bracket for glob - wget -O unar_1.8.zip ${binaryURL}external/unar-1.8.zip + wget -O unar_1.8.zip ${binaryURL}external/source/unar-1.8.zip unzip -o unar_1.8.zip &> /dev/null fi cd *Unarchiver*/XADMaster diff --git a/scripts/a2server-3-sharing.txt b/scripts/a2server-3-sharing.txt index 68e8fc4..8de4ea8 100755 --- a/scripts/a2server-3-sharing.txt +++ b/scripts/a2server-3-sharing.txt @@ -26,12 +26,13 @@ esac useExternalURL=1 [[ $A2SERVER_NO_EXTERNAL ]] && useExternalURL= +debianVersion=$(cat /etc/debian_version 2> /dev/null) isRpi= arch= if [[ -f /usr/bin/raspi-config ]]; then isRpi=1 arch='rpi' -elif lsb_release -a 2> /dev/null | grep -q 'Distributor ID:.Debian' && [[ ( -f /etc/debian_version ) && ( $(cut -c 1 < /etc/debian_version) -ge "7" ) ]]; then +elif lsb_release -a 2> /dev/null | grep -q 'Distributor ID:.Debian' && [[ $(cut -c 1 <<< $debianVersion) -ge "7" ]]; then uname_m="$(uname -m)" if [[ $uname_m == "i686" ]]; then arch='debian_x86' @@ -40,8 +41,17 @@ elif lsb_release -a 2> /dev/null | grep -q 'Distributor ID:.Debian' && [[ ( -f / fi fi -isJessie= -[[ ( -f /etc/debian_version ) && ( $(cut -c 1-2 < /etc/debian_version) == "8." ) ]] && isJessie=1 +debianName= +if [[ $debianVersion ]]; then + debianMajor=$(cut -c 1-2 <<< $debianVersion) + if [[ $debianMajor == "8." ]]; then + debianName="jessie" + elif [[ $debianMajor == "7." ]]; then + debianName="wheezy" + else + debianName="unknown" + fi +fi # skip this if already done if [[ -f /usr/local/etc/A2SERVER-version ]] && (( $(head -c 3 /usr/local/etc/A2SERVER-version) >= 101 )); then @@ -64,6 +74,7 @@ else touch /tmp/a2server-packageReposUpdated fi + # not being used as of 1.2.9, but it's available if full URL to .deb package is supplied getOldPackage () { for url in $@; do pkgFile=${url##*/} @@ -86,15 +97,10 @@ else urls= while [[ $arch ]]; do # Install runtime libraries needed by Netatalk - if [[ $isJessie ]]; then - if [[ $arch == "rpi" ]]; then - getOldPackage "http://mirrordirector.raspbian.org/raspbian/pool/main/d/db/libdb5.1_5.1.29-5_armhf.deb" - elif [[ $arch == "debian_x86" ]]; then - getOldPackage "http://ftp.debian.org/debian/pool/main/d/db/libdb5.1_5.1.29-5_i386.deb" - elif [[ $arch == "debian_x64" ]]; then - getOldPackage "http://ftp.debian.org/debian/pool/main/d/db/libdb5.1_5.1.29-5_amd64.deb" - fi - elif [[ $(apt-cache search '^libdb5.1$') ]]; then + if [[ $(apt-cache search '^libdb5.3$') ]]; then # Jessie + # Dependencies: netatalk 2.2.4 + sudo apt-get -y install libdb5.3 + elif [[ $(apt-cache search '^libdb5.1$') ]]; then # Wheezy # Dependencies: netatalk 2.2.4 sudo apt-get -y install libdb5.1 else @@ -107,15 +113,10 @@ else break fi - if [[ $isJessie ]]; then - if [[ $arch == "rpi" ]]; then - getOldPackage "http://mirrordirector.raspbian.org/raspbian/pool/main/libg/libgcrypt11/libgcrypt11_1.5.0-5+deb7u3_armhf.deb" - elif [[ $arch == "debian_x86" ]]; then - getOldPackage "http://ftp.debian.org/debian/pool/main/libg/libgcrypt11/libgcrypt11_1.5.0-5+deb7u3_i386.deb" - elif [[ $arch == "debian_x64" ]]; then - getOldPackage "http://ftp.debian.org/debian/pool/main/libg/libgcrypt11/libgcrypt11_1.5.0-5+deb7u3_amd64.deb" - fi - elif [[ $(apt-cache search '^libgcrypt11$') ]]; then + if [[ $(apt-cache search '^libgcrypt20$') ]]; then # Jessie + # Dependencies: netatalk 2.2.4 + sudo apt-get -y install libgcrypt20 + elif [[ $(apt-cache search '^libgcrypt11$') ]]; then # Wheezy # Dependencies: netatalk 2.2.4 sudo apt-get -y install libgcrypt11 else @@ -124,7 +125,7 @@ else # install Netatalk if [[ $arch ]]; then - { wget -qO- "${binaryURL}precompiled/netatalk224-${arch}.tgz" | sudo tar Pzx; } &> /dev/null + { wget -qO- "${binaryURL}precompiled/netatalk224-${arch}_${debianName}.tgz" | sudo tar Pzx; } &> /dev/null fi sudo mandb &> /dev/null @@ -136,35 +137,18 @@ else if [[ $compileFromSource ]]; then # Dependencies: build-deps for netatalk 2.2.4 sudo apt-get -y install build-essential libssl-dev - if [[ $arch ]]; then - if [[ $arch == "rpi" ]]; then - getOldPackage "http://mirrordirector.raspbian.org/raspbian/pool/main/d/db/libdb5.1-dev_5.1.29-5_armhf.deb" - elif [[ $arch == "debian_x86" ]]; then - getOldPackage "http://ftp.us.debian.org/debian/pool/main/d/db/libdb5.1-dev_5.1.29-5_i386.deb" - elif [[ $arch == "debian_x64" ]]; then - getOldPackage "http://ftp.us.debian.org/debian/pool/main/d/db/libdb5.1-dev_5.1.29-5_amd64.deb" - fi - elif [[ $(apt-cache search '^libdb5.1-dev$') ]]; then + if [[ $(apt-cache search '^libdb5.3-dev$') ]]; then # Jessie + # Dependencies: build-deps for netatalk 2.2.4 + sudo apt-get -y install libdb5.3-dev + elif [[ $(apt-cache search '^libdb5.1-dev$') ]]; then # Wheezy # Dependencies: build-deps for netatalk 2.2.4 sudo apt-get -y install libdb5.1-dev - elif [[ $(apt-cache search '^libdb4.8-dev$') ]]; then - # Dependencies: build-deps for netatalk 2.2.4 - sudo apt-get -y install libdb4.8-dev else echo "A2SERVER: WARNING: unknown version of libdb-dev is being installed." # Dependencies: build-deps for netatalk 2.2.4 sudo apt-get -y install libdb-dev fi - if [[ $isJessie ]]; then - sudo apt-get -y install libgpg-error-dev - if [[ $arch == "rpi" ]]; then - getOldPackage "http://mirrordirector.raspbian.org/raspbian/pool/main/libg/libgcrypt11/libgcrypt11-dev_1.5.0-5+deb7u3_armhf.deb" - elif [[ $arch == "debian_x86" ]]; then - getOldPackage "http://ftp.debian.org/debian/pool/main/libg/libgcrypt11/libgcrypt11-dev_1.5.0-5+deb7u3_i386.deb" - elif [[ $arch == "debian_x64" ]]; then - getOldPackage "http://ftp.debian.org/debian/pool/main/libg/libgcrypt11/libgcrypt11-dev_1.5.0-5+deb7u3_amd64.deb" - fi - elif [[ $(apt-cache search '^libgcrypt11-dev$') ]]; then + if [[ $(apt-cache search '^libgcrypt11-dev$') ]]; then # Jessie or Wheezy # Dependencies: build-deps for netatalk 2.2.4 sudo apt-get -y install libgcrypt11-dev else @@ -184,7 +168,7 @@ else tar zxf netatalk-2.2.4.tar.gz &> /dev/null fi if [[ ! -d netatalk-2.2.4 ]]; then - wget -O netatalk-2.2.4.tar.gz "${binaryURL}external/netatalk-2.2.4.tar.gz" + wget -O netatalk-2.2.4.tar.gz "${binaryURL}external/source/netatalk-2.2.4.tar.gz" tar zxf netatalk-2.2.4.tar.gz &> /dev/null fi cd netatalk-2.2.4 @@ -231,7 +215,7 @@ if ! command -v macipgw > /dev/null; then unzip macipgw-src.zip &> /dev/null fi if [[ ! -d macipgw-master ]]; then - wget -qO macipgw-src.zip "${binaryURL}external/macipgw-src.zip" + wget -qO macipgw-src.zip "${binaryURL}external/source/macipgw-src.zip" unzip macipgw-src.zip &> /dev/null fi cd macipgw-master @@ -434,7 +418,7 @@ if ! command -v ciopfs > /dev/null; then tar zxf ciopfs-0.4.tar.gz &> /dev/null fi if [ ! -f ciopfs*/ciopfs.c ]; then # single brackets required for glob - wget -q -O ciopfs-0.4.tar.gz ${binaryURL}external/ciopfs-0.4.tar.gz + wget -q -O ciopfs-0.4.tar.gz ${binaryURL}external/source/ciopfs-0.4.tar.gz tar zxf ciopfs-0.4.tar.gz &> /dev/null fi cd ciopfs* diff --git a/scripts/tools/netatalk-maketar.txt b/scripts/tools/netatalk-maketar.txt new file mode 100644 index 0000000..3591ee9 --- /dev/null +++ b/scripts/tools/netatalk-maketar.txt @@ -0,0 +1 @@ +tar Pzcvf netatalk224-debian_x64_wheezy.tgz /etc/default/netatalk /etc/init.d/netatalk /etc/netatalk /usr/local/bin/ad /usr/local/bin/add_netatalk_printer /usr/local/bin/adv1tov2 /usr/local/bin/aecho /usr/local/bin/afpldaptest /usr/local/bin/afppasswd /usr/local/bin/apple_dump /usr/local/bin/asip-status.pl /usr/local/bin/binheader /usr/local/bin/cnid2_create /usr/local/bin/dbd /usr/local/bin/getzones /usr/local/bin/hqx2bin /usr/local/bin/lp2pap.sh /usr/local/bin/macbinary /usr/local/bin/macusers /usr/local/bin/megatron /usr/local/bin/nadheader /usr/local/bin/nbplkup /usr/local/bin/nbprgstr /usr/local/bin/nbpunrgstr /usr/local/bin/netatalk-config /usr/local/bin/pap /usr/local/bin/papstatus /usr/local/bin/psorder /usr/local/bin/showppd /usr/local/bin/single2bin /usr/local/bin/unbin /usr/local/bin/unhex /usr/local/bin/uniconv /usr/local/bin/unsingle /usr/local/etc/netatalk/afpd.conf /usr/local/etc/netatalk/AppleVolumes.default /usr/local/etc/netatalk/AppleVolumes.system /usr/local/etc/netatalk/atalkd.conf /usr/local/etc/netatalk/papd.conf /usr/local/etc/netatalk/uams/uams_clrtxt.so /usr/local/etc/netatalk/uams/uams_dhx_passwd.a /usr/local/etc/netatalk/uams/uams_dhx_passwd.la /usr/local/etc/netatalk/uams/uams_dhx_passwd.so /usr/local/etc/netatalk/uams/uams_dhx.so /usr/local/etc/netatalk/uams/uams_dhx2_passwd.a /usr/local/etc/netatalk/uams/uams_dhx2_passwd.la /usr/local/etc/netatalk/uams/uams_dhx2_passwd.so /usr/local/etc/netatalk/uams/uams_dhx2.so /usr/local/etc/netatalk/uams/uams_guest.a /usr/local/etc/netatalk/uams/uams_guest.la /usr/local/etc/netatalk/uams/uams_guest.so /usr/local/etc/netatalk/uams/uams_passwd.a /usr/local/etc/netatalk/uams/uams_passwd.la /usr/local/etc/netatalk/uams/uams_passwd.so /usr/local/etc/netatalk/uams/uams_randnum.a /usr/local/etc/netatalk/uams/uams_randnum.la /usr/local/etc/netatalk/uams/uams_randnum.so /usr/local/include/atalk/acl.h /usr/local/include/atalk/adouble.h /usr/local/include/atalk/aep.h /usr/local/include/atalk/afp.h /usr/local/include/atalk/asp.h /usr/local/include/atalk/atp.h /usr/local/include/atalk/cnid.h /usr/local/include/atalk/compat.h /usr/local/include/atalk/ddp.h /usr/local/include/atalk/directory.h /usr/local/include/atalk/dsi.h /usr/local/include/atalk/ea.h /usr/local/include/atalk/hash.h /usr/local/include/atalk/ldapconfig.h /usr/local/include/atalk/list.h /usr/local/include/atalk/logger.h /usr/local/include/atalk/nbp.h /usr/local/include/atalk/netddp.h /usr/local/include/atalk/pap.h /usr/local/include/atalk/paths.h /usr/local/include/atalk/queue.h /usr/local/include/atalk/rtmp.h /usr/local/include/atalk/server_child.h /usr/local/include/atalk/server_ipc.h /usr/local/include/atalk/tdb.h /usr/local/include/atalk/uam.h /usr/local/include/atalk/unicode.h /usr/local/include/atalk/unix.h /usr/local/include/atalk/util.h /usr/local/include/atalk/uuid.h /usr/local/include/atalk/vfs.h /usr/local/include/atalk/volinfo.h /usr/local/include/atalk/volume.h /usr/local/include/atalk/zip.h /usr/local/include/netatalk/aarp.h /usr/local/include/netatalk/at_var.h /usr/local/include/netatalk/at.h /usr/local/include/netatalk/ddp_var.h /usr/local/include/netatalk/ddp.h /usr/local/include/netatalk/endian.h /usr/local/include/netatalk/phase2.h /usr/local/lib/libatalk.a /usr/local/lib/libatalk.la /usr/local/libexec/etc2ps.sh /usr/local/libexec/ifmpap /usr/local/libexec/ifmpaprev /usr/local/libexec/ifpap /usr/local/libexec/ifpaprev /usr/local/libexec/ifwmpap /usr/local/libexec/ifwmpaprev /usr/local/libexec/ifwpap /usr/local/libexec/ifwpaprev /usr/local/libexec/ofmpap /usr/local/libexec/ofpap /usr/local/libexec/ofwmpap /usr/local/libexec/ofwpap /usr/local/libexec/psa /usr/local/libexec/psf /usr/local/libexec/tfmpap /usr/local/libexec/tfmpaprev /usr/local/libexec/tfpap /usr/local/libexec/tfpaprev /usr/local/libexec/tfwmpap /usr/local/libexec/tfwmpaprev /usr/local/libexec/tfwpap /usr/local/libexec/tfwpaprev /usr/local/sbin/a2boot /usr/local/sbin/afpd /usr/local/sbin/atalkd /usr/local/sbin/cnid_dbd /usr/local/sbin/cnid_metad /usr/local/sbin/papd /usr/local/share/aclocal/netatalk.m4 /usr/local/share/man/man1/ad.1 /usr/local/share/man/man1/aecho.1 /usr/local/share/man/man1/afpldaptest.1 /usr/local/share/man/man1/afppasswd.1 /usr/local/share/man/man1/apple_dump.1 /usr/local/share/man/man1/asip-status.pl.1 /usr/local/share/man/man1/dbd.1 /usr/local/share/man/man1/getzones.1 /usr/local/share/man/man1/hqx2bin.1 /usr/local/share/man/man1/macbinary.1 /usr/local/share/man/man1/macusers.1 /usr/local/share/man/man1/megatron.1 /usr/local/share/man/man1/nbp.1 /usr/local/share/man/man1/nbplkup.1 /usr/local/share/man/man1/nbprgstr.1 /usr/local/share/man/man1/nbpunrgstr.1 /usr/local/share/man/man1/netatalk-config.1 /usr/local/share/man/man1/pap.1 /usr/local/share/man/man1/papstatus.1 /usr/local/share/man/man1/psorder.1 /usr/local/share/man/man1/single2bin.1 /usr/local/share/man/man1/unbin.1 /usr/local/share/man/man1/unhex.1 /usr/local/share/man/man1/uniconv.1 /usr/local/share/man/man1/unsingle.1 /usr/local/share/man/man3/atalk_aton.3 /usr/local/share/man/man3/nbp_name.3 /usr/local/share/man/man4/atalk.4 /usr/local/share/man/man5/afp_ldap.conf.5 /usr/local/share/man/man5/afp_signature.conf.5 /usr/local/share/man/man5/afp_voluuid.conf.5 /usr/local/share/man/man5/afpd.conf.5 /usr/local/share/man/man5/AppleVolumes.5 /usr/local/share/man/man5/AppleVolumes.default.5 /usr/local/share/man/man5/AppleVolumes.system.5 /usr/local/share/man/man5/atalkd.conf.5 /usr/local/share/man/man5/netatalk.conf.5 /usr/local/share/man/man5/papd.conf.5 /usr/local/share/man/man8/afpd.8 /usr/local/share/man/man8/atalkd.8 /usr/local/share/man/man8/cnid_dbd.8 /usr/local/share/man/man8/cnid_metad.8 /usr/local/share/man/man8/papd.8 /usr/local/share/man/man8/papstatus.8 /usr/local/share/man/man8/psf.8 /usr/local/share/man/man8/timelord.8 /usr/local/share/netatalk/pagecount.ps /usr/local/etc/netatalk/netatalk.conf \ No newline at end of file diff --git a/setup/index.txt b/setup/index.txt index e347f19..9a064d3 100755 --- a/setup/index.txt +++ b/setup/index.txt @@ -9,7 +9,7 @@ # to download and execute, type: # wget ivanx.com/a2server/setup; source setup -a2serverVersion="128" +a2serverVersion="129d1" # Ensure URL we'll use ends in a / case "$A2SERVER_SCRIPT_URL" in