История изменений
Исправление Evenik, (текущая версия) :
Это лютое ненужно, оно того не стоит. Если интересно, рассказываю.
Захотелось достойно отметить День труда, а под рукой только древняя макось.
Со старым AnyConnect на работу не пускают, а новый не работает.
Решил воспользоваться юниксовостью макоси и установить openconnect
.
Поиск лёгких путей был напрасным — с Homebrew я тоже опоздал.
Выручила суровая магия autotools: деды могли, а мы чего?
И тут Остапа понесло. Для памяти стал конспектировать сборку в виде баш-скипта:
$ cat mk-openconnect
#!/bin/bash
# http://www.infradead.org/openconnect
# uninstall:
# rm -rf $opt/openconnect
# cfg
ver=20220503
prg=`basename $0`
msg="$prg: Ent|C-c?"
pkg=openconnect
hom=/Users/nikolay
pre="$hom/opt/$pkg"
src="$hom/src"
dep=(pkgconfig zlib libxml2 openssl openconnect)
# 2022-05-02/current
ver_pkgconfig=0.29.2
ver_zlib=1.2.12
ver_libxml2=2.9.14
# openssl-3.0.2: SSL_OP_LEGACY_SERVER_CONNECT
ver_openssl=1.1.1n
ver_openconnect=9.01
# !https: old openssl, cacert
url_vpncscript=https://gitlab.com/openconnect/vpnc-scripts/raw/master
#url_pkgconfig=https://pkgconfig.freedesktop.org/releases
url_pkgconfig="file://$hom/Desktop/dist/mac/openconnect"
url_zlib=https://www.zlib.net
#url_libxml2=https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.9.14
#url_libxml2=https://download.gnome.org/sources/libxml2/2.9/
url_libxml2=http://mirrors.dotsrc.org/gnome/sources/libxml2/2.9
#url_openssl=https://www.openssl.org/source
url_openssl=ftp://ftp.fi.muni.cz/pub/openssl/source
url_openconnect=ftp://ftp.infradead.org/pub/openconnect/
# sha256: most used
chk_vpncscript=48abc54ad462e70ed0e29ca525a33e1d58cf90651e80e49b7d4ff0aaaaeb68b5
chk_pkgconfig=6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591
chk_zlib=91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9
chk_libxml2=60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee
chk_openssl=40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a
chk_openconnect=b3d7faf830e9793299d6a41e81d84cd4a3e2789c148c9e598e4585010090e4c7
tgz=tar.gz
tgz_pkgconfig=$tgz
tgz_zlib=$tgz
tgz_libxml2=tar.xz
tgz_openssl=$tgz
tgz_openconnect=$tgz
cfg=configure
cfg_pkgconfig=$cfg
cfg_zlib=$cfg
cfg_libxml2=$cfg
#cfg_openssl=Configure
cfg_openssl=config
cfg_openconnect=$cfg
opt_pkgconfig='--with-internal-glib'
opt_zlib=''
opt_libxml2=''
opt_openssl="--openssldir=$pre"
opt_openconnect="--with-vpnc-script=$pre/etc/vpnc/vpnc-script --disable-nls"
# lib
chk () {
chk=$1
sum=$2
if [ "$(shasum -a 256 $chk | cut -d' ' -f1)" == "$sum" ]
then
ret=0
else
echo "$prg: $pkg: check: fail"
ret=1
fi
return $ret
}
# main
echo "$prg/$ver"
read -p "$msg"
# vpnc-script
pkg=vpnc-script
echo "$prg: $pkg..."
url=$url_vpncscript
chk=$chk_vpncscript
pre_vpnc="$pre/etc/vpnc"
err=0
echo "$prg: $pkg: mkdir..." \
&& mkdir -p $pre_vpnc \
&& cd $pre_vpnc \
&& echo "$prg: $pkg: fetch..." \
&& curl -O -# $url/$pkg \
&& echo "$prg: $pkg: check..." \
&& chk $pkg $chk \
&& echo "$prg: $pkg: chmod..." \
&& chmod a+x $pkg \
|| err=1
[ $err -gt 0 ] \
&& echo "$prg: $pkg: error" \
&& exit $err
read -p "$msg"
# default
export PATH="$PATH:$pre/bin:$pre/sbin"
for pkg in ${dep[*]}; do
echo "$prg: $pkg..."
eval ver='$'ver_$pkg
eval url='$'url_$pkg
eval chk='$'chk_$pkg
eval tgz='$'tgz_$pkg
eval cfg='$'cfg_$pkg
eval opt='$'opt_$pkg
# f*n dash
[ "$pkg" == 'pkgconfig' ] \
&& pkg=pkg-config
err=0
cd $src \
&& pkg="$pkg-$ver" \
&& echo "$prg: $pkg: fetch..." \
&& curl -O -# $url/$pkg.$tgz \
&& echo "$prg: $pkg: check..." \
&& chk $pkg.$tgz $chk \
&& echo "$prg: $pkg: untar..." \
&& tar -xf $pkg.$tgz \
&& echo "$prg: $pkg: build..." \
&& cd $pkg \
&& echo "$prg: $pkg: build: conf..." \
&& ./$cfg --prefix=$pre $opt \
&& echo "$prg: $pkg: build: make..." \
&& make \
&& echo "$prg: $pkg: build: inst..." \
&& make install \
&& echo "$prg: $pkg: clean..." \
&& cd .. \
&& rm -rf $pkg* \
|| err=2
[ $err -gt 0 ] \
&& echo "$prg: $pkg: error" \
&& exit $err
read -p "$msg"
done
echo "$prg: enjoy"'!'
Контрольные суммы посчитанны с полученных через современный браузер файлов.
Не пользы окаянной ради, а токмо развлечения для) Всем *Мир*-Труд-Май!
Исправление Evenik, :
Это лютое ненужно, оно того не стоит. Если интересно, рассказываю.
Захотелось достойно отметить День труда, а под рукой только древняя макось.
Со старым AnyConnect на работу не пускают, а новый не работает.
Решил воспользоваться юниксовостью макоси и установить openconnect
.
Поиск лёгких путей был напрасным — с Homebrew я тоже опоздал.
Выручила суровая магия autotools: деды же могли, а мы чего?
И тут Остапа понесло. Для памяти стал конспектировать сборку в виде баш-скипта:
$ cat mk-openconnect
#!/bin/bash
# http://www.infradead.org/openconnect
# uninstall:
# rm -rf $opt/openconnect
# cfg
ver=20220503
prg=`basename $0`
msg="$prg: Ent|C-c?"
pkg=openconnect
hom=/Users/nikolay
pre="$hom/opt/$pkg"
src="$hom/src"
dep=(pkgconfig zlib libxml2 openssl openconnect)
# 2022-05-02/current
ver_pkgconfig=0.29.2
ver_zlib=1.2.12
ver_libxml2=2.9.14
# openssl-3.0.2: SSL_OP_LEGACY_SERVER_CONNECT
ver_openssl=1.1.1n
ver_openconnect=9.01
# !https: old openssl, cacert
url_vpncscript=https://gitlab.com/openconnect/vpnc-scripts/raw/master
#url_pkgconfig=https://pkgconfig.freedesktop.org/releases
url_pkgconfig="file://$hom/Desktop/dist/mac/openconnect"
url_zlib=https://www.zlib.net
#url_libxml2=https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.9.14
#url_libxml2=https://download.gnome.org/sources/libxml2/2.9/
url_libxml2=http://mirrors.dotsrc.org/gnome/sources/libxml2/2.9
#url_openssl=https://www.openssl.org/source
url_openssl=ftp://ftp.fi.muni.cz/pub/openssl/source
url_openconnect=ftp://ftp.infradead.org/pub/openconnect/
# sha256: most used
chk_vpncscript=48abc54ad462e70ed0e29ca525a33e1d58cf90651e80e49b7d4ff0aaaaeb68b5
chk_pkgconfig=6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591
chk_zlib=91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9
chk_libxml2=60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee
chk_openssl=40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a
chk_openconnect=b3d7faf830e9793299d6a41e81d84cd4a3e2789c148c9e598e4585010090e4c7
tgz=tar.gz
tgz_pkgconfig=$tgz
tgz_zlib=$tgz
tgz_libxml2=tar.xz
tgz_openssl=$tgz
tgz_openconnect=$tgz
cfg=configure
cfg_pkgconfig=$cfg
cfg_zlib=$cfg
cfg_libxml2=$cfg
#cfg_openssl=Configure
cfg_openssl=config
cfg_openconnect=$cfg
opt_pkgconfig='--with-internal-glib'
opt_zlib=''
opt_libxml2=''
opt_openssl="--openssldir=$pre"
opt_openconnect="--with-vpnc-script=$pre/etc/vpnc/vpnc-script --disable-nls"
# lib
chk () {
chk=$1
sum=$2
if [ "$(shasum -a 256 $chk | cut -d' ' -f1)" == "$sum" ]
then
ret=0
else
echo "$prg: $pkg: check: fail"
ret=1
fi
return $ret
}
# main
echo "$prg/$ver"
read -p "$msg"
# vpnc-script
pkg=vpnc-script
echo "$prg: $pkg..."
url=$url_vpncscript
chk=$chk_vpncscript
pre_vpnc="$pre/etc/vpnc"
err=0
echo "$prg: $pkg: mkdir..." \
&& mkdir -p $pre_vpnc \
&& cd $pre_vpnc \
&& echo "$prg: $pkg: fetch..." \
&& curl -O -# $url/$pkg \
&& echo "$prg: $pkg: check..." \
&& chk $pkg $chk \
&& echo "$prg: $pkg: chmod..." \
&& chmod a+x $pkg \
|| err=1
[ $err -gt 0 ] \
&& echo "$prg: $pkg: error" \
&& exit $err
read -p "$msg"
# default
export PATH="$PATH:$pre/bin:$pre/sbin"
for pkg in ${dep[*]}; do
echo "$prg: $pkg..."
eval ver='$'ver_$pkg
eval url='$'url_$pkg
eval chk='$'chk_$pkg
eval tgz='$'tgz_$pkg
eval cfg='$'cfg_$pkg
eval opt='$'opt_$pkg
# f*n dash
[ "$pkg" == 'pkgconfig' ] \
&& pkg=pkg-config
err=0
cd $src \
&& pkg="$pkg-$ver" \
&& echo "$prg: $pkg: fetch..." \
&& curl -O -# $url/$pkg.$tgz \
&& echo "$prg: $pkg: check..." \
&& chk $pkg.$tgz $chk \
&& echo "$prg: $pkg: untar..." \
&& tar -xf $pkg.$tgz \
&& echo "$prg: $pkg: build..." \
&& cd $pkg \
&& echo "$prg: $pkg: build: conf..." \
&& ./$cfg --prefix=$pre $opt \
&& echo "$prg: $pkg: build: make..." \
&& make \
&& echo "$prg: $pkg: build: inst..." \
&& make install \
&& echo "$prg: $pkg: clean..." \
&& cd .. \
&& rm -rf $pkg* \
|| err=2
[ $err -gt 0 ] \
&& echo "$prg: $pkg: error" \
&& exit $err
read -p "$msg"
done
echo "$prg: enjoy"'!'
Контрольные суммы посчитанны с полученных через современный браузер файлов.
Не пользы окаянной ради, а токмо развлечения для) Всем *Мир*-Труд-Май!
Исправление Evenik, :
Это лютое ненужно, оно того не стоит. Если интересно, рассказываю.
Захотелось достойно отметить День труда, а под рукой только древняя макось.
Со старым AnyConnect на работу не пускают, а новый не работает.
Решил воспользоваться юниксовостью макоси и установить openconnect
.
Поиск лёгких путей был напрасным — с Homebrew я тоже опоздал.
Выручила суровая магия autotools: деды же могли, а мы чего?
И тут Остапа понесло. Для памяти стал конспектировать сборку в виде баш-скипта:
#!/bin/bash
# http://www.infradead.org/openconnect
# uninstall:
# rm -rf $opt/openconnect
# cfg
ver=20220503
prg=`basename $0`
msg="$prg: Ent|C-c?"
pkg=openconnect
hom=/Users/nikolay
pre="$hom/opt/$pkg"
src="$hom/src"
dep=(pkgconfig zlib libxml2 openssl openconnect)
# 2022-05-02/current
ver_pkgconfig=0.29.2
ver_zlib=1.2.12
ver_libxml2=2.9.14
# openssl-3.0.2: SSL_OP_LEGACY_SERVER_CONNECT
ver_openssl=1.1.1n
ver_openconnect=9.01
# !https: old openssl, cacert
url_vpncscript=https://gitlab.com/openconnect/vpnc-scripts/raw/master
#url_pkgconfig=https://pkgconfig.freedesktop.org/releases
url_pkgconfig="file://$hom/Desktop/dist/mac/openconnect"
url_zlib=https://www.zlib.net
#url_libxml2=https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.9.14
#url_libxml2=https://download.gnome.org/sources/libxml2/2.9/
url_libxml2=http://mirrors.dotsrc.org/gnome/sources/libxml2/2.9
#url_openssl=https://www.openssl.org/source
url_openssl=ftp://ftp.fi.muni.cz/pub/openssl/source
url_openconnect=ftp://ftp.infradead.org/pub/openconnect/
# sha256: most used
chk_vpncscript=48abc54ad462e70ed0e29ca525a33e1d58cf90651e80e49b7d4ff0aaaaeb68b5
chk_pkgconfig=6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591
chk_zlib=91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9
chk_libxml2=60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee
chk_openssl=40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a
chk_openconnect=b3d7faf830e9793299d6a41e81d84cd4a3e2789c148c9e598e4585010090e4c7
tgz=tar.gz
tgz_pkgconfig=$tgz
tgz_zlib=$tgz
tgz_libxml2=tar.xz
tgz_openssl=$tgz
tgz_openconnect=$tgz
cfg=configure
cfg_pkgconfig=$cfg
cfg_zlib=$cfg
cfg_libxml2=$cfg
#cfg_openssl=Configure
cfg_openssl=config
cfg_openconnect=$cfg
opt_pkgconfig='--with-internal-glib'
opt_zlib=''
opt_libxml2=''
opt_openssl="--openssldir=$pre"
opt_openconnect="--with-vpnc-script=$pre/etc/vpnc/vpnc-script --disable-nls"
# lib
chk () {
chk=$1
sum=$2
if [ "$(shasum -a 256 $chk | cut -d' ' -f1)" == "$sum" ]
then
ret=0
else
echo "$prg: $pkg: check: fail"
ret=1
fi
return $ret
}
# main
echo "$prg/$ver"
read -p "$msg"
# vpnc-script
pkg=vpnc-script
echo "$prg: $pkg..."
url=$url_vpncscript
chk=$chk_vpncscript
pre_vpnc="$pre/etc/vpnc"
err=0
echo "$prg: $pkg: mkdir..." \
&& mkdir -p $pre_vpnc \
&& cd $pre_vpnc \
&& echo "$prg: $pkg: fetch..." \
&& curl -O -# $url/$pkg \
&& echo "$prg: $pkg: check..." \
&& chk $pkg $chk \
&& echo "$prg: $pkg: chmod..." \
&& chmod a+x $pkg \
|| err=1
[ $err -gt 0 ] \
&& echo "$prg: $pkg: error" \
&& exit $err
read -p "$msg"
# default
export PATH="$PATH:$pre/bin:$pre/sbin"
for pkg in ${dep[*]}; do
echo "$prg: $pkg..."
eval ver='$'ver_$pkg
eval url='$'url_$pkg
eval chk='$'chk_$pkg
eval tgz='$'tgz_$pkg
eval cfg='$'cfg_$pkg
eval opt='$'opt_$pkg
# f*n dash
[ "$pkg" == 'pkgconfig' ] \
&& pkg=pkg-config
err=0
cd $src \
&& pkg="$pkg-$ver" \
&& echo "$prg: $pkg: fetch..." \
&& curl -O -# $url/$pkg.$tgz \
&& echo "$prg: $pkg: check..." \
&& chk $pkg.$tgz $chk \
&& echo "$prg: $pkg: untar..." \
&& tar -xf $pkg.$tgz \
&& echo "$prg: $pkg: build..." \
&& cd $pkg \
&& echo "$prg: $pkg: build: conf..." \
&& ./$cfg --prefix=$pre $opt \
&& echo "$prg: $pkg: build: make..." \
&& make \
&& echo "$prg: $pkg: build: inst..." \
&& make install \
&& echo "$prg: $pkg: clean..." \
&& cd .. \
&& rm -rf $pkg* \
|| err=2
[ $err -gt 0 ] \
&& echo "$prg: $pkg: error" \
&& exit $err
read -p "$msg"
done
echo "$prg: enjoy"'!'
Контрольные суммы посчитанны с полученных через современный браузер файлов.
Не пользы окаянной ради, а токмо развлечения для) Всем *Мир*-Труд-Май!
Исправление Evenik, :
Это лютое ненужно, оно того не стоит. Если интересно, рассказываю.
Захотелось достойно отметить День труда, а под рукой только древняя макось.
Со старым AnyConnect на работу не пускают, а новый не работает.
Решил воспользоваться юниксовостью макоси и установить openconnect
.
Поиск лёгких путей был напрасным — с Homebrew я тоже опоздал.
Выручила суровая магия autotools: деды же могли, а мы чего?
И тут Остапа понесло. Для памяти стал конспектировать сборку в виде баш-скипта:
#!/bin/bash
# http://www.infradead.org/openconnect
# uninstall:
# rm -rf $opt/openconnect
# cfg
ver=20220503
prg=`basename $0`
msg="$prg: Ent|C-c?"
pkg=openconnect
hom=/Users/nikolay
pre="$hom/opt/$pkg"
src="$hom/src"
dep=(pkgconfig zlib libxml2 openssl openconnect)
# 2022-05-02/current
ver_pkgconfig=0.29.2
ver_zlib=1.2.12
ver_libxml2=2.9.14
# openssl-3.0.2: SSL_OP_LEGACY_SERVER_CONNECT
ver_openssl=1.1.1n
ver_openconnect=9.01
# !https: old openssl, cacert
url_vpncscript=https://gitlab.com/openconnect/vpnc-scripts/raw/master
#url_pkgconfig=https://pkgconfig.freedesktop.org/releases
url_pkgconfig="file://$hom/Desktop/dist/mac/openconnect"
url_zlib=https://www.zlib.net
#url_libxml2=https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.9.14
#url_libxml2=https://download.gnome.org/sources/libxml2/2.9/
url_libxml2=http://mirrors.dotsrc.org/gnome/sources/libxml2/2.9
#url_openssl=https://www.openssl.org/source
url_openssl=ftp://ftp.fi.muni.cz/pub/openssl/source
url_openconnect=ftp://ftp.infradead.org/pub/openconnect/
# sha256: most used
chk_vpncscript=48abc54ad462e70ed0e29ca525a33e1d58cf90651e80e49b7d4ff0aaaaeb68b5
chk_pkgconfig=6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591
chk_zlib=91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9
chk_libxml2=60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee
chk_openssl=40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a
chk_openconnect=b3d7faf830e9793299d6a41e81d84cd4a3e2789c148c9e598e4585010090e4c7
tgz=tar.gz
tgz_pkgconfig=$tgz
tgz_zlib=$tgz
tgz_libxml2=tar.xz
tgz_openssl=$tgz
tgz_openconnect=$tgz
cfg=configure
cfg_pkgconfig=$cfg
cfg_zlib=$cfg
cfg_libxml2=$cfg
#cfg_openssl=Configure
cfg_openssl=config
cfg_openconnect=$cfg
opt_pkgconfig='--with-internal-glib'
opt_zlib=''
opt_libxml2=''
opt_openssl="--openssldir=$pre"
opt_openconnect="--with-vpnc-script=$pre/etc/vpnc/vpnc-script --disable-nls"
# lib
chk () {
chk=$1
sum=$2
if [ "$(shasum -a 256 $chk | cut -d' ' -f1)" == "$sum" ]
then
ret=0
else
echo "$prg: $pkg: check: fail"
ret=1
fi
return $ret
}
# main
echo "$prg/$ver"
read -p "$msg"
# vpnc-script
pkg=vpnc-script
echo "$prg: $pkg..."
url=$url_vpncscript
chk=$chk_vpncscript
pre_vpnc="$pre/etc/vpnc"
err=0
echo "$prg: $pkg: mkdir..." \
&& mkdir -p $pre_vpnc \
&& cd $pre_vpnc \
&& echo "$prg: $pkg: fetch..." \
&& curl -O -# $url/$pkg \
&& echo "$prg: $pkg: check..." \
&& chk $pkg $chk \
&& echo "$prg: $pkg: chmod..." \
&& chmod a+x $pkg \
|| err=1
[ $err -gt 0 ] \
&& echo "$prg: $pkg: error" \
&& exit $err
read -p "$msg"
# default
export PATH="$PATH:$pre/bin:$pre/sbin"
for pkg in ${dep[*]}; do
echo "$prg: $pkg..."
eval ver='$'ver_$pkg
eval url='$'url_$pkg
eval chk='$'chk_$pkg
eval tgz='$'tgz_$pkg
eval cfg='$'cfg_$pkg
eval opt='$'opt_$pkg
# f*n dash
[ "$pkg" == 'pkgconfig' ] \
&& pkg=pkg-config
err=0
cd $src \
&& pkg="$pkg-$ver" \
&& echo "$prg: $pkg: fetch..." \
&& curl -O -# $url/$pkg.$tgz \
&& echo "$prg: $pkg: check..." \
&& chk $pkg.$tgz $chk \
&& echo "$prg: $pkg: untar..." \
&& tar -xf $pkg.$tgz \
&& echo "$prg: $pkg: build..." \
&& cd $pkg \
&& echo "$prg: $pkg: build: conf..." \
&& ./$cfg --prefix=$pre $opt \
&& echo "$prg: $pkg: build: make..." \
&& make \
&& echo "$prg: $pkg: build: inst..." \
&& make install \
&& echo "$prg: $pkg: clean..." \
&& cd .. \
&& rm -rf $pkg* \
|| err=2
[ $err -gt 0 ] \
&& echo "$prg: $pkg: error" \
&& exit $err
read -p "$msg"
done
echo "$prg: enjoy"'!'
Констрольные суммы посчитанны с полученных через современный браузер файлов.
Не пользы окаянной ради, а токмо развлечения для) Всем *Мир*-Труд-Май!
Исправление Evenik, :
Это лютое ненужно, оно того не стоит. Если интересно, рассказываю.
Захотелось достойно отметить День труда, а под рукой только древняя макось.
Со старым AnyConnect на работу не пускают, а новый не работает.
Решил воспользоваться юниксовостью макоси и установить openconnect
.
Поиск лёгких путей был напрасным — с Homebrew я тоже опоздал.
Выручила суровая магия autotools: деды могли, а мы чего?
И тут Остапа понесло. Для памяти стал конспектировать сборку в виде баш-скипта:
#!/bin/bash
# http://www.infradead.org/openconnect
# uninstall:
# rm -rf $opt/openconnect
# cfg
ver=20220503
prg=`basename $0`
msg="$prg: Ent|C-c?"
pkg=openconnect
hom=/Users/nikolay
pre="$hom/opt/$pkg"
src="$hom/src"
dep=(pkgconfig zlib libxml2 openssl openconnect)
# 2022-05-02/current
ver_pkgconfig=0.29.2
ver_zlib=1.2.12
ver_libxml2=2.9.14
# openssl-3.0.2: SSL_OP_LEGACY_SERVER_CONNECT
ver_openssl=1.1.1n
ver_openconnect=9.01
# !https: old openssl, cacert
url_vpncscript=https://gitlab.com/openconnect/vpnc-scripts/raw/master
#url_pkgconfig=https://pkgconfig.freedesktop.org/releases
url_pkgconfig="file://$hom/Desktop/dist/mac/openconnect"
url_zlib=https://www.zlib.net
#url_libxml2=https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.9.14
#url_libxml2=https://download.gnome.org/sources/libxml2/2.9/
url_libxml2=http://mirrors.dotsrc.org/gnome/sources/libxml2/2.9
#url_openssl=https://www.openssl.org/source
url_openssl=ftp://ftp.fi.muni.cz/pub/openssl/source
url_openconnect=ftp://ftp.infradead.org/pub/openconnect/
# sha256: most used
chk_vpncscript=48abc54ad462e70ed0e29ca525a33e1d58cf90651e80e49b7d4ff0aaaaeb68b5
chk_pkgconfig=6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591
chk_zlib=91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9
chk_libxml2=60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee
chk_openssl=40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a
chk_openconnect=b3d7faf830e9793299d6a41e81d84cd4a3e2789c148c9e598e4585010090e4c7
tgz=tar.gz
tgz_pkgconfig=$tgz
tgz_zlib=$tgz
tgz_libxml2=tar.xz
tgz_openssl=$tgz
tgz_openconnect=$tgz
cfg=configure
cfg_pkgconfig=$cfg
cfg_zlib=$cfg
cfg_libxml2=$cfg
#cfg_openssl=Configure
cfg_openssl=config
cfg_openconnect=$cfg
opt_pkgconfig='--with-internal-glib'
opt_zlib=''
opt_libxml2=''
opt_openssl="--openssldir=$pre"
opt_openconnect="--with-vpnc-script=$pre/etc/vpnc/vpnc-script --disable-nls"
# lib
chk () {
chk=$1
sum=$2
if [ "$(shasum -a 256 $chk | cut -d' ' -f1)" == "$sum" ]
then
ret=0
else
echo "$prg: $pkg: check: fail"
ret=1
fi
return $ret
}
# main
echo "$prg/$ver"
read -p "$msg"
# vpnc-script
pkg=vpnc-script
echo "$prg: $pkg..."
url=$url_vpncscript
chk=$chk_vpncscript
pre_vpnc="$pre/etc/vpnc"
err=0
echo "$prg: $pkg: mkdir..." \
&& mkdir -p $pre_vpnc \
&& cd $pre_vpnc \
&& echo "$prg: $pkg: fetch..." \
&& curl -O -# $url/$pkg \
&& echo "$prg: $pkg: check..." \
&& chk $pkg $chk \
&& echo "$prg: $pkg: chmod..." \
&& chmod a+x $pkg \
|| err=1
[ $err -gt 0 ] \
&& echo "$prg: $pkg: error" \
&& exit $err
read -p "$msg"
# default
export PATH="$PATH:$pre/bin:$pre/sbin"
for pkg in ${dep[*]}; do
echo "$prg: $pkg..."
eval ver='$'ver_$pkg
eval url='$'url_$pkg
eval chk='$'chk_$pkg
eval tgz='$'tgz_$pkg
eval cfg='$'cfg_$pkg
eval opt='$'opt_$pkg
# f*n dash
[ "$pkg" == 'pkgconfig' ] \
&& pkg=pkg-config
err=0
cd $src \
&& pkg="$pkg-$ver" \
&& echo "$prg: $pkg: fetch..." \
&& curl -O -# $url/$pkg.$tgz \
&& echo "$prg: $pkg: check..." \
&& chk $pkg.$tgz $chk \
&& echo "$prg: $pkg: untar..." \
&& tar -xf $pkg.$tgz \
&& echo "$prg: $pkg: build..." \
&& cd $pkg \
&& echo "$prg: $pkg: build: conf..." \
&& ./$cfg --prefix=$pre $opt \
&& echo "$prg: $pkg: build: make..." \
&& make \
&& echo "$prg: $pkg: build: inst..." \
&& make install \
&& echo "$prg: $pkg: clean..." \
&& cd .. \
&& rm -rf $pkg* \
|| err=2
[ $err -gt 0 ] \
&& echo "$prg: $pkg: error" \
&& exit $err
read -p "$msg"
done
echo "$prg: enjoy"'!'
Констрольные суммы посчитанны с полученных через современный браузер файлов.
Не пользы окаянной ради, а токмо развлечения для) Всем *Мир*-Труд-Май!
Исходная версия Evenik, :
Оно того не стоит, лютое ненужно. Если интересно, рассказываю.
Захотелось достойно отметить День труда, а под рукой только древняя макось.
Со старым AnyConnect на работу не пускают, а новый не работает.
Решил воспользоваться юниксовостью макоси и установить openconnect
.
Поиск лёгких путей был напрасным — с Homebrew я тоже опоздал.
Выручила суровая магия autotools: деды могли, а мы чего?
И тут Остапа понесло. Для памяти стал конспектировать сборку в виде баш-скипта:
#!/bin/bash
# http://www.infradead.org/openconnect
# uninstall:
# rm -rf $opt/openconnect
# cfg
ver=20220503
prg=`basename $0`
msg="$prg: Ent|C-c?"
pkg=openconnect
hom=/Users/nikolay
pre="$hom/opt/$pkg"
src="$hom/src"
dep=(pkgconfig zlib libxml2 openssl openconnect)
# 2022-05-02/current
ver_pkgconfig=0.29.2
ver_zlib=1.2.12
ver_libxml2=2.9.14
# openssl-3.0.2: SSL_OP_LEGACY_SERVER_CONNECT
ver_openssl=1.1.1n
ver_openconnect=9.01
# !https: old openssl, cacert
url_vpncscript=https://gitlab.com/openconnect/vpnc-scripts/raw/master
#url_pkgconfig=https://pkgconfig.freedesktop.org/releases
url_pkgconfig="file://$hom/Desktop/dist/mac/openconnect"
url_zlib=https://www.zlib.net
#url_libxml2=https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.9.14
#url_libxml2=https://download.gnome.org/sources/libxml2/2.9/
url_libxml2=http://mirrors.dotsrc.org/gnome/sources/libxml2/2.9
#url_openssl=https://www.openssl.org/source
url_openssl=ftp://ftp.fi.muni.cz/pub/openssl/source
url_openconnect=ftp://ftp.infradead.org/pub/openconnect/
# sha256: most used
chk_vpncscript=48abc54ad462e70ed0e29ca525a33e1d58cf90651e80e49b7d4ff0aaaaeb68b5
chk_pkgconfig=6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591
chk_zlib=91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9
chk_libxml2=60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee
chk_openssl=40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a
chk_openconnect=b3d7faf830e9793299d6a41e81d84cd4a3e2789c148c9e598e4585010090e4c7
tgz=tar.gz
tgz_pkgconfig=$tgz
tgz_zlib=$tgz
tgz_libxml2=tar.xz
tgz_openssl=$tgz
tgz_openconnect=$tgz
cfg=configure
cfg_pkgconfig=$cfg
cfg_zlib=$cfg
cfg_libxml2=$cfg
#cfg_openssl=Configure
cfg_openssl=config
cfg_openconnect=$cfg
opt_pkgconfig='--with-internal-glib'
opt_zlib=''
opt_libxml2=''
opt_openssl="--openssldir=$pre"
opt_openconnect="--with-vpnc-script=$pre/etc/vpnc/vpnc-script --disable-nls"
# lib
chk () {
chk=$1
sum=$2
if [ "$(shasum -a 256 $chk | cut -d' ' -f1)" == "$sum" ]
then
ret=0
else
echo "$prg: $pkg: check: fail"
ret=1
fi
return $ret
}
# main
echo "$prg/$ver"
read -p "$msg"
# vpnc-script
pkg=vpnc-script
echo "$prg: $pkg..."
url=$url_vpncscript
chk=$chk_vpncscript
pre_vpnc="$pre/etc/vpnc"
err=0
echo "$prg: $pkg: mkdir..." \
&& mkdir -p $pre_vpnc \
&& cd $pre_vpnc \
&& echo "$prg: $pkg: fetch..." \
&& curl -O -# $url/$pkg \
&& echo "$prg: $pkg: check..." \
&& chk $pkg $chk \
&& echo "$prg: $pkg: chmod..." \
&& chmod a+x $pkg \
|| err=1
[ $err -gt 0 ] \
&& echo "$prg: $pkg: error" \
&& exit $err
read -p "$msg"
# default
export PATH="$PATH:$pre/bin:$pre/sbin"
for pkg in ${dep[*]}; do
echo "$prg: $pkg..."
eval ver='$'ver_$pkg
eval url='$'url_$pkg
eval chk='$'chk_$pkg
eval tgz='$'tgz_$pkg
eval cfg='$'cfg_$pkg
eval opt='$'opt_$pkg
# f*n dash
[ "$pkg" == 'pkgconfig' ] \
&& pkg=pkg-config
err=0
cd $src \
&& pkg="$pkg-$ver" \
&& echo "$prg: $pkg: fetch..." \
&& curl -O -# $url/$pkg.$tgz \
&& echo "$prg: $pkg: check..." \
&& chk $pkg.$tgz $chk \
&& echo "$prg: $pkg: untar..." \
&& tar -xf $pkg.$tgz \
&& echo "$prg: $pkg: build..." \
&& cd $pkg \
&& echo "$prg: $pkg: build: conf..." \
&& ./$cfg --prefix=$pre $opt \
&& echo "$prg: $pkg: build: make..." \
&& make \
&& echo "$prg: $pkg: build: inst..." \
&& make install \
&& echo "$prg: $pkg: clean..." \
&& cd .. \
&& rm -rf $pkg* \
|| err=2
[ $err -gt 0 ] \
&& echo "$prg: $pkg: error" \
&& exit $err
read -p "$msg"
done
echo "$prg: enjoy"'!'
Констрольные суммы посчитанны с полученных через современный браузер файлов.
Не пользы окаянной ради, а токмо развлечения для) Всем *Мир*-Труд-Май!