diff options
Diffstat (limited to 'main/freeradius/APKBUILD')
-rw-r--r-- | main/freeradius/APKBUILD | 380 |
1 files changed, 249 insertions, 131 deletions
diff --git a/main/freeradius/APKBUILD b/main/freeradius/APKBUILD index f6e2804d852..6cdb837f4ad 100644 --- a/main/freeradius/APKBUILD +++ b/main/freeradius/APKBUILD @@ -1,38 +1,88 @@ # Contributor: Vladyslav Frolov <frolvlad@gmail.com> # Contributor: Ćukasz Jendrysik <scadu@yandex.com> # Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Contributor: Jakub Jirutka <jakub@jirutka.cz> # Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> pkgname=freeradius -_realname=freeradius -pkgver=3.0.19 -pkgrel=4 +pkgver=3.0.26 +pkgrel=7 pkgdesc="RADIUS (Remote Authentication Dial-In User Service) server" url="https://freeradius.org/" arch="all" license="GPL-2.0-or-later" -makedepends="openssl-dev mariadb-connector-c-dev postgresql-dev gdbm-dev readline-dev - bash libtool autoconf automake perl-dev python2-dev openldap-dev krb5-dev - unixodbc-dev linux-pam-dev sqlite-dev talloc-dev libpcap-dev - linux-headers curl-dev hiredis-dev json-c-dev net-snmp-tools" +makedepends=" + autoconf + automake + bash + curl-dev + gdbm-dev + hiredis-dev + json-c-dev + krb5-dev + libpcap-dev + libpq-dev + libtool + linux-headers + linux-pam-dev + mariadb-connector-c-dev + net-snmp-tools + openldap-dev + openssl-dev>3 + perl-dev + python3-dev + readline-dev + sqlite-dev + talloc-dev + unixodbc-dev + " pkggroups="radius" pkgusers="radius" -install="$pkgname.pre-install" -subpackages="$pkgname-dbg $pkgname-doc $pkgname-dev $pkgname-ldap $pkgname-lib - $pkgname-mssql $pkgname-mysql $pkgname-sql $pkgname-perl - $pkgname-postgresql $pkgname-python $pkgname-radclient $pkgname-sqlite - $pkgname-unixodbc $pkgname-pam $pkgname-eap $pkgname-krb5 - $pkgname-rest $pkgname-redis $pkgname-checkrad" +install="$pkgname.pre-install $pkgname.post-install $pkgname.post-upgrade" +subpackages=" + $pkgname-dbg + $pkgname-doc + $pkgname-static + $pkgname-dev + $pkgname-eap + $pkgname-ldap + $pkgname-dhcp + $pkgname-lib + $pkgname-mssql + $pkgname-mysql + $pkgname-sql + $pkgname-perl + $pkgname-postgresql + $pkgname-python3 + $pkgname-sqlite + $pkgname-unixodbc + $pkgname-pam + $pkgname-krb5 + $pkgname-rest + $pkgname-redis + $pkgname-checkrad + $pkgname-utils + $pkgname-openrc + " provides="freeradius3=$pkgver-r$pkgrel" -source="ftp://ftp.freeradius.org/pub/freeradius/$_realname-server-$pkgver.tar.gz - $pkgname.confd - $pkgname.initd +source="https://github.com/FreeRADIUS/freeradius-server/releases/download/release_${pkgver//./_}/freeradius-server-$pkgver.tar.gz + $pkgname.logrotated + radiusd.confd + radiusd.initd + setup-freeradius.in + print-var.mk + radacct-rotate + radacct-rotate.conf + radacct-rotate.crond musl-fix-headers.patch fix-scopeid.patch - freeradius-313-default-config.patch - CVE-2019-10143.patch + default-config.patch + remove-eap-from-default-mods.patch + readme-setup-script.patch + dont-install-test-tools.patch " -builddir="$srcdir"/$_realname-server-$pkgver +builddir="$srcdir/$pkgname-server-$pkgver" +options="!check" # secfixes: # 3.0.19-r3: @@ -41,21 +91,24 @@ builddir="$srcdir"/$_realname-server-$pkgver # - CVE-2019-11234 # - CVE-2019-11235 -_radconfdir="/etc/raddb" +_radconfdir="etc/raddb" _radmodsdir="$_radconfdir/mods-available" -_radlibdir="/usr/lib/freeradius" +_radlibdir="usr/lib/freeradius" _radmodsconfdir="$_radconfdir/mods-config" ldpath="$_radlibdir" prepare() { default_prepare update_config_sub - # remove certs generation - # rm -rf raddb/certs + + local default_mods + default_mods=$(make -f "$srcdir"/print-var.mk -f raddb/all.mk \ + print-DEFAULT_MODULES 2>/dev/null) + sed "s|@@DEFAULT_MODULES@@|$default_mods|" \ + "$srcdir"/setup-freeradius.in > setup-freeradius } build() { - cd "$builddir" # freeradius requries json.h to be in a dir called 'json'. We fool # the configure script with a symlink pointing to proper location. ln -s /usr/include/json-c json @@ -69,7 +122,7 @@ build() { --infodir=/usr/share/info \ --localstatedir=/var \ --datarootdir=/usr/share \ - --libdir="$_radlibdir" \ + --libdir="/$_radlibdir" \ --with-logdir=/var/log/radius \ --with-radacctdir=/var/log/radius/radacct \ --with-system-libtool \ @@ -83,6 +136,7 @@ build() { --with-rlm_rest \ --with-rlm_redis \ --with-rlm_rediswho \ + --with-modules="rlm_python3" \ --without-rlm_eap_tnc \ --without-rlm_eap_ikev2 \ --without-rlm_sql_iodbc \ @@ -95,199 +149,263 @@ build() { } package() { - cd "$builddir" install -d -m0750 -o root -g radius \ - "${pkgdir}"${_radconfdir} - install -d -m0750 -o radius -g radius \ - "$pkgdir"/var/run/radius - install -d -m0750 -o radius -g radius \ - "$pkgdir"/var/log/radius + "$pkgdir"/$_radconfdir + install -d -m0750 -o radius -g radius \ + "$pkgdir"/var/cache/radiusd \ + "$pkgdir"/var/lib/radiusd \ + "$pkgdir"/var/log/radius \ "$pkgdir"/var/log/radius/radacct PACKAGE=yes make -j1 R="$pkgdir" install + chown -R root:radius "$pkgdir"/etc/raddb/* + + # Ensure that files generated by Makefile or bootstrap scripts are + # readable by the radiusd daemin. + chmod 2750 "$pkgdir"/etc/raddb/certs + + install -m755 -D "$srcdir"/radiusd.initd "$pkgdir"/etc/init.d/radiusd + install -m644 -D "$srcdir"/radiusd.confd "$pkgdir"/etc/conf.d/radiusd + install -m644 -D "$srcdir"/$pkgname.logrotated "$pkgdir"/etc/logrotate.d/$pkgname + install -m755 -D setup-freeradius "$pkgdir"/usr/sbin/setup-freeradius + + install -m755 -D "$srcdir"/radacct-rotate -t "$pkgdir"/usr/bin/ + install -m644 -D "$srcdir"/radacct-rotate.conf -t "$pkgdir"/etc/raddb/ + install -m755 -D "$srcdir"/radacct-rotate.crond "$pkgdir"/etc/periodic/daily/radacct-rotate + + # Install misses to create this + mkdir -p "$pkgdir"/$_radmodsconfdir/sql/ippool-dhcp/postgresql + + # Default modules are enabled by post-install script. + # The reason for this is that when we include these symlinks + # in the package, the user basically cannot permanently disable any + # default module by removing the symlink because apk will install them + # back on every upgrade of the package. + rm -f "$pkgdir"/$_radconfdir/mods-enabled/* + + # Remove unneeded and unused stuff (e.g. for disabled modules). + rm -f "$pkgdir"/usr/sbin/rc.radiusd - install -m755 -D "$srcdir"/$pkgname.initd \ - "$pkgdir"/etc/init.d/radiusd - install -m644 -D "$srcdir"/$pkgname.confd \ - "$pkgdir"/etc/conf.d/radiusd - #Install misses to create this - mkdir -p "${pkgdir}"${_radmodsconfdir}/sql/ippool-dhcp/postgresql -} + rm -f "$pkgdir"/$_radlibdir/rlm_test.so + rm -f "$pkgdir"/$_radconfdir/experimental.conf -_mvdb() { - for dir in ippool-dhcp ippool counter main cui; do - mkdir -p "${subpkgdir}"${_radmodsconfdir}/sql/$dir - mv "${pkgdir}"${_radmodsconfdir}/sql/$dir/$1 \ - "${subpkgdir}"${_radmodsconfdir}/sql/$dir - done - mkdir -p "${subpkgdir}"${_radlibdir} - mv "${pkgdir}"${_radlibdir}/rlm_sql_${1}.so "${subpkgdir}"${_radlibdir} + # https://github.com/FreeRADIUS/freeradius-server/issues/1734#issuecomment-247848277 + rm -f "$pkgdir"/usr/bin/dhcpclient + rm -f "$pkgdir"/usr/share/man/man1/dhcpclient.1* + + cd "$pkgdir"/$_radmodsdir + rm -f couchbase python unbound yubikey + + cd "$pkgdir"/$_radmodsconfdir + rm -rf sql/*/mongo + rm -rf sql/*/oracle + rm -rf unbound + + cd "$pkgdir"/$_radconfdir/sites-available + rm -f *.orig } eap() { + pkgdesc="EAP module for FreeRADIUS server" depends="freeradius=$pkgver-r$pkgrel" provides="freeradius3-eap=$pkgver-r$pkgrel" - pkgdesc="EAP module for FreeRADIUS server" - mkdir -p "${subpkgdir}"${_radlibdir} "$subpkgdir"/usr/bin - mv "${pkgdir}"${_radlibdir}/rlm_eap*.so "${subpkgdir}"${_radlibdir} - mv "$pkgdir"/usr/bin/radeapclient "$subpkgdir"/usr/bin - mkdir -p "${subpkgdir}"${_radmodsdir} "$subpkgdir"$_radconfdir/mods-enabled - mv "${pkgdir}"${_radmodsdir}/eap "${subpkgdir}"${_radmodsdir} - mv "$pkgdir"$_radconfdir/mods-enabled/eap \ - "$subpkgdir"$_radconfdir/mods-enabled/ - - mkdir -p "${subpkgdir}"${_radconfdir} - mv "${pkgdir}"${_radconfdir}/certs "${subpkgdir}"${_radconfdir} + + amove $_radlibdir/rlm_eap*.so $_radlibdir/libfreeradius-eap.so + amove usr/bin/radeapclient + + amove $_radmodsdir/eap $_radmodsdir/inner-eap + amove $_radconfdir/sites-available/check-eap-tls + _enable_mod eap } ldap() { + pkgdesc="LDAP module for FreeRADIUS server" depends="freeradius=$pkgver-r$pkgrel" provides="freeradius3-ldap=$pkgver-r$pkgrel" - pkgdesc="LDAP module for FreeRADIUS server" - mkdir -p "${subpkgdir}"${_radlibdir} - mv "${pkgdir}"${_radlibdir}/rlm_ldap* "${subpkgdir}"${_radlibdir} + + amove $_radlibdir/rlm_ldap* + amove $_radmodsdir/ldap + _enable_mod ldap } krb5() { + pkgdesc="Kerberos module for FreeRADIUS server" depends="freeradius=$pkgver-r$pkgrel" provides="freeradius3-krb5=$pkgver-r$pkgrel" - pkgdesc="Kerberos module for FreeRADIUS server" - mkdir -p "${subpkgdir}"${_radlibdir} - mv "${pkgdir}"${_radlibdir}/rlm_krb5* "${subpkgdir}"${_radlibdir} + + amove $_radlibdir/rlm_krb5* + amove $_radmodsdir/krb5 + _enable_mod krb5 +} + +dhcp() { + pkgdesc="DHCP module for FreeRADIUS server" + depends="freeradius=$pkgver-r$pkgrel" + + amove $_radlibdir/*_dhcp.so $_radlibdir/libfreeradius-dhcp.so + amove $_radmodsdir/dhcp + amove $_radconfdir/sites-available/dhcp + _enable_mod dhcp } lib() { - depends="" pkgdesc="Freeradius shared libraries" - mkdir -p "${subpkgdir}"${_radlibdir} "${subpkgdir}"${_radconfdir} \ - "$subpkgdir"/usr/share/freeradius - mv "${pkgdir}"${_radlibdir}/libfreeradius-*.so \ - "${subpkgdir}"${_radlibdir} - mv "${pkgdir}"/usr/share/freeradius/* \ - "${subpkgdir}"/usr/share/freeradius + depends="" + + amove $_radlibdir/libfreeradius-*.so + amove usr/share/freeradius/* } sql() { + pkgdesc="SQL module for FreeRADIUS server" depends="freeradius=$pkgver-r$pkgrel" provides="freeradius3-sql=$pkgver-r$pkgrel" - pkgdesc="SQL module for FreeRADIUS server" - mkdir -p "${subpkgdir}"${_radlibdir} - for lib in sql sqlippool sql_null sqlcounter; do - mv "${pkgdir}"${_radlibdir}/rlm_${lib}.so \ - "${subpkgdir}"${_radlibdir} + + local lib; for lib in sql sqlippool sql_null sqlcounter; do + amove $_radlibdir/rlm_$lib.so done - mkdir -p "${subpkgdir}"${_radconfdir}/sites-available - mv "${pkgdir}"${_radconfdir}/sites-available/buffered-sql \ - "${subpkgdir}"${_radconfdir}/sites-available - mkdir -p "${subpkgdir}"${_radmodsdir} - mv "${pkgdir}"${_radmodsdir}/*sql* "${subpkgdir}"${_radmodsdir} + + amove $_radconfdir/sites-available/buffered-sql + amove $_radmodsdir/*sql* + _enable_mod sql } mysql() { + pkgdesc="MySQL module for FreeRADIUS server" depends="freeradius-sql=$pkgver-r$pkgrel" provides="freeradius3-mysql=$pkgver-r$pkgrel" - pkgdesc="MySQL module for FreeRADIUS server" + _mvdb mysql + amove $_radmodsconfdir/sql/*/ndb } mssql() { + pkgdesc="MSSQL module for FreeRADIUS server" depends="freeradius-sql=$pkgver-r$pkgrel" provides="freeradius3-mssql=$pkgver-r$pkgrel" - pkgdesc="MSSQL module for FreeRADIUS server" - mkdir -p "${subpkgdir}"${_radmodsconfdir}/sql/main - mv "${pkgdir}"${_radmodsconfdir}/sql/main/mssql \ - "${subpkgdir}"${_radmodsconfdir}/sql/main + + amove $_radmodsconfdir/sql/main/mssql } perl() { + pkgdesc="Perl module for FreeRADIUS server" depends="freeradius=$pkgver-r$pkgrel perl" provides="freeradius3-perl=$pkgver-r$pkgrel" - pkgdesc="Perl module for FreeRADIUS server" - mkdir -p "${subpkgdir}"${_radlibdir} - mv "${pkgdir}"${_radlibdir}/rlm_perl* "${subpkgdir}"${_radlibdir} - mkdir -p "${subpkgdir}"${_radconfdir}/mods-available - mv "${pkgdir}"${_radconfdir}/mods-available/perl \ - "${subpkgdir}"${_radconfdir}/mods-available/perl + + amove $_radlibdir/rlm_perl* + amove $_radconfdir/mods-available/perl + amove $_radmodsconfdir/perl + _enable_mod perl } checkrad() { - depends="perl perl-net-telnet perl-snmp-session net-snmp-tools" pkgdesc="Check if a user is (still) logged in on a certain port" - mkdir -p "$subpkgdir"/usr/sbin - mv "$pkgdir"/usr/sbin/checkrad "$subpkgdir"/usr/sbin/checkrad + depends="perl perl-net-telnet perl-snmp-session net-snmp-tools" + + amove usr/sbin/checkrad } postgresql() { + pkgdesc="PostgreSQL module for FreeRADIUS server" depends="freeradius-sql=$pkgver-r$pkgrel" provides="freeradius3-postgresql=$pkgver-r$pkgrel" - pkgdesc="PostgreSQL module for FreeRADIUS server" + _mvdb postgresql } -python() { - depends="freeradius=$pkgver-r$pkgrel python2" - provides="freeradius3-python=$pkgver-r$pkgrel" - pkgdesc="Python module for FreeRADIUS server" - mkdir -p "${subpkgdir}"${_radlibdir} - mv "${pkgdir}"${_radlibdir}/rlm_python* "${subpkgdir}"${_radlibdir} - for dir in $_radmodsdir $_radmodsconfdir; do - mkdir -p "${subpkgdir}"$dir - mv "${pkgdir}"$dir/python "${subpkgdir}"$dir - done -} +python3() { + depends="freeradius=$pkgver-r$pkgrel" + pkgdesc="Python 3 module for FreeRADIUS server" -radclient() { - depends="" - provides="freeradius3-radclient=$pkgver-r$pkgrel" - pkgdesc="Client for FreeRADIUS server" - mkdir -p "$subpkgdir"/usr/bin - mv "$pkgdir"/usr/bin/radclient "$subpkgdir"/usr/bin/radclient + amove $_radlibdir/rlm_python* + amove $_radmodsdir/python3 + amove $_radmodsconfdir/python3 + _enable_mod python3 } sqlite() { + pkgdesc="SQLite module for FreeRADIUS server" depends="freeradius-sql=$pkgver-r$pkgrel" provides="freeradius3-sqlite=$pkgver-r$pkgrel" - pkgdesc="SQLite module for FreeRADIUS server" + _mvdb sqlite } unixodbc() { + pkgdesc="ODBC module for FreeRADIUS server" depends="freeradius=$pkgver-r$pkgrel" provides="freeradius3-unixodbc=$pkgver-r$pkgrel" - pkgdesc="ODBC module for FreeRADIUS server" - mkdir -p "${subpkgdir}"${_radlibdir} - mv "${pkgdir}"${_radlibdir}/rlm_sql_unixodbc.so \ - "${subpkgdir}"${_radlibdir} + + amove $_radlibdir/rlm_sql_unixodbc.so } pam() { + pkgdesc="PAM module for FreeRADIUS server" depends="freeradius=$pkgver-r$pkgrel" provides="freeradius3-pam=$pkgver-r$pkgrel" - pkgdesc="PAM module for FreeRADIUS server" - mkdir -p "${subpkgdir}"${_radlibdir} - mv "${pkgdir}"${_radlibdir}/rlm_pam* "${subpkgdir}"${_radlibdir} + + amove $_radlibdir/rlm_pam* + amove $_radmodsdir/pam + _enable_mod pam } rest() { - depends="freeradius=$pkgver-r$pkgrel" pkgdesc="REST module for FreeRADIUS server" - mkdir -p "${subpkgdir}"${_radlibdir} - mv "${pkgdir}"${_radlibdir}/rlm_rest* "${subpkgdir}"${_radlibdir} + depends="freeradius=$pkgver-r$pkgrel" + + amove $_radlibdir/rlm_rest* + amove $_radmodsdir/rest + _enable_mod rest } redis() { - depends="freeradius=$pkgver-r$pkgrel" pkgdesc="Redis modules for FreeRADIUS server" - mkdir -p "${subpkgdir}"${_radlibdir} - mv "${pkgdir}"${_radlibdir}/rlm_redis* "${subpkgdir}"${_radlibdir} + depends="freeradius=$pkgver-r$pkgrel" + + amove $_radlibdir/rlm_redis* + amove $_radmodsdir/redis* + _enable_mod redis +} + +utils() { + pkgdesc="FreeRADIUS utilities" + # provides/replaces for backward compatibility + provides="freeradius-radclient=$pkgver-r$pkgrel + freeradius3-radclient=$pkgver-r$pkgrel" + replaces="freeradius-radclient" + + amove usr/bin/* + + mkdir -p "$pkgdir"/usr/bin + mv "$subpkgdir"/usr/bin/radacct-rotate "$pkgdir"/usr/bin/ +} + +_mvdb() { + amove $_radmodsconfdir/sql/*/$1 + amove $_radlibdir/rlm_sql_$1.so +} + +_enable_mod() { + mkdir -p "$subpkgdir"/$_radconfdir/mods-enabled + ln -s ../mods-available/$1 "$subpkgdir"/$_radconfdir/mods-enabled/$1 } -sha512sums="8a914e2ad1fbeb4cf8c00aaf7eaa154ea17f70e4d58734716bfaf71b3ddef9f8f63a4d3217bdc07dfa776273e5bf090bc98f7bb16f5b565339ddc3b9c13e091f freeradius-server-3.0.19.tar.gz -e248159c0a44f722e405c51c8015d9ad672e42ad0d38ca28f8a051ff911aa4d3e630b9bd4543e9d610940bc4ae50c022594e219ce341b36abe85c572acad418b freeradius.confd -ba3c424d4eabb147c7aa3e31575a87ddb26b6a792d2a8714e73d8763e07854326a03a83991a7420246ca06bf0b93d0a6f23ec198f5e48647f9d25b40067e852a freeradius.initd +sha512sums=" +5ffc7389ed76c40eb249f4588b8b1199f21537fe2718585d6886eefe16871055e4602c841e278c557879766df45d5f3ac351e36037dfbbdfed3c2381ad748855 freeradius-server-3.0.26.tar.gz +52ecccd479bb22c80d5cc298d9d1c12bd2d1a9d80e1265ba032201f3942370910fa78f3bb429031d91bc89712fa2127f16cd68814489cbc99d174fbf5789875f freeradius.logrotated +bb3df1fa2c9ed95514ae090e0f6619c4e3280f424c4351bc79f5254bf1a327fa7d27e5fe3add5ab8d9e5ba3792c9553bd9a0481fe9c5bc34945ce46627ef2638 radiusd.confd +5a8579f06e905117c67f87f0833d0760e81e64f97de7672ecee45775733fae05763edb91c472e313bf58523c713f86815e47cc39c841f4c141aa59a5930113c6 radiusd.initd +9f6a4f76fd06e81cfcfe4536f1f8be494634b07e548a6f7e651e5501aded24b030ed7d57dbdc867ae0eb39ee4a090234c4122a89bed84c13733c77de36b9c2cf setup-freeradius.in +5f940e200aa39b2fbbfaf5b24f2ad99869fa75bb7e2008876940ea96cb9dbc7f2b27dd1672aa56cdb5243faabdcbc38875594dd8792af965987183c0aa2aefd1 print-var.mk +4fbd774618d41a28a5874fd5bd96ccf6ab5ea38e4a97b1671bd51f6d07476985629dabc0a7300b3287bd223c62496c930bc555bb617739d6383afd5d55c97501 radacct-rotate +2cecaae9bf9dd88f7c4344f2b08977c46d4831e733b82adcf6cf9553c1a77363dac9f1784f9eb9cf93d46c3da10a10d548a1071cdb0cd49e1319a62b7d5a357b radacct-rotate.conf +52c477b4d13009bc3776ed889feeb4b1ea8d85bb97b0031b1d2d4c04e6466fcb4e9a16e556e861e7ec56acb54624bea39d73d44802535aa39d3dc84580d95775 radacct-rotate.crond c49e5eec7497fccde5fd09dba1ea9b846e57bc88015bd81640aa531fb5c9b449f37136f42c85fe1d7940c5963aed664b85da28442b388c9fb8cc27873df03b2d musl-fix-headers.patch 41d478c0e40ff82fc36232964037c1ab8ffca9fdbb7dca02ed49319906e751c133b5d7bc7773c645cec6d9d39d1de69cba25e8d59afa8d6662563dd17f35f234 fix-scopeid.patch -666e15a3c3e5b98ff8c3168de85b341606af5e2790af379ddec46464e9d7de14a715876a34ba1eb7fa47ddead23f7134128d591db32309db0e4acbdb6f21ef5e freeradius-313-default-config.patch -5506cc095553c2024319f0818fd317c02c0aa52f306b506e44f661f2f600874426118decdc2313a2da8313bff3578d364262f947faa9198595a830764a336b57 CVE-2019-10143.patch" +caf85ffb96e08ad8314fe72aac052948b2461f94bb21e20ea34925534ee1ef682284457318d50df813ba167a8cb4b520c5a0f38d86de21cd56e8391f299a5dd6 default-config.patch +5fba0394073cd32a0cd80dea0c27e4474cd44c7d52fdf4e1dafb98025ffa3439bbab6112e091ca5e548713d071c026b280b1f205e8e51e57e4fda4bb6336b020 remove-eap-from-default-mods.patch +55e179d5e6b31d289c2da7f907e494a6a6f5900483fdff8d3bb25ee15a583b8705942eca1f0d5390e91376966e66e457dce9b2cf1a1f61c8eac6d8fb825404dd readme-setup-script.patch +908c4408ab6538ddd96577e47d5e509b19e227e144655eaa0fd7569ddadbe5b2298e6599b8370847b3bcb5e788067b163b0cb66e1b3afa4d83dc3f724e058674 dont-install-test-tools.patch +" |