* [gentoo-commits] repo/gentoo:master commit in: net-dialup/freeradius/files/, net-dialup/freeradius/
@ 2016-04-28 22:00 Austin English
0 siblings, 0 replies; 9+ messages in thread
From: Austin English @ 2016-04-28 22:00 UTC (permalink / raw
To: gentoo-commits
commit: 6a4799a8fabd7cc88f281b5f4f447e8ad705f48e
Author: Austin English <wizardedit <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 28 21:44:18 2016 +0000
Commit: Austin English <wizardedit <AT> gentoo <DOT> org>
CommitDate: Thu Apr 28 21:59:32 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a4799a8
net-dialup/freeradius: use #!/sbin/openrc-run instead of #!/sbin/runscript
Gentoo-Bug: https://bugs.gentoo.org/573846
Package-Manager: portage-2.2.26
net-dialup/freeradius/files/radius.init-r3 | 4 +-
net-dialup/freeradius/freeradius-2.2.5-r1.ebuild | 195 +++++++++++++++++++
net-dialup/freeradius/freeradius-2.2.9-r1.ebuild | 196 ++++++++++++++++++++
net-dialup/freeradius/freeradius-3.0.11-r1.ebuild | 216 ++++++++++++++++++++++
4 files changed, 609 insertions(+), 2 deletions(-)
diff --git a/net-dialup/freeradius/files/radius.init-r3 b/net-dialup/freeradius/files/radius.init-r3
index e5e607c..9c16ac5 100644
--- a/net-dialup/freeradius/files/radius.init-r3
+++ b/net-dialup/freeradius/files/radius.init-r3
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2014 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
command=/usr/sbin/radiusd
diff --git a/net-dialup/freeradius/freeradius-2.2.5-r1.ebuild b/net-dialup/freeradius/freeradius-2.2.5-r1.ebuild
new file mode 100644
index 0000000..d219168
--- /dev/null
+++ b/net-dialup/freeradius/freeradius-2.2.5-r1.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit autotools eutils pam python-any-r1 user
+
+PATCHSET=4
+
+MY_P="${PN}-server-${PV}"
+
+DESCRIPTION="Highly configurable free RADIUS server"
+SRC_URI="
+ ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz
+ ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz
+ https://dev.gentoo.org/~flameeyes/${PN}/${PN}-2.2.0-patches-${PATCHSET}.tar.xz
+
+"
+HOMEPAGE="http://www.freeradius.org/"
+
+KEYWORDS="amd64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="
+ debug firebird iodbc kerberos ldap mysql odbc oracle pam pcap
+ postgres python readline sqlite ssl
+"
+RESTRICT="firebird? ( bindist )"
+
+RDEPEND="!net-dialup/cistronradius
+ !net-dialup/gnuradius
+ sys-devel/libtool
+ dev-lang/perl
+ sys-libs/gdbm
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline )
+ pcap? ( net-libs/libpcap )
+ mysql? ( virtual/mysql )
+ postgres? ( dev-db/postgresql )
+ firebird? ( dev-db/firebird )
+ pam? ( virtual/pam )
+ ssl? ( dev-libs/openssl )
+ ldap? ( net-nds/openldap )
+ kerberos? ( virtual/krb5 )
+ sqlite? ( dev-db/sqlite:3 )
+ odbc? ( dev-db/unixODBC )
+ iodbc? ( dev-db/libiodbc )
+ oracle? ( dev-db/oracle-instantclient-basic )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ enewgroup radius
+ enewuser radius -1 -1 /var/log/radius radius
+
+ python-any-r1_pkg_setup
+ export PYTHONBIN="${EPYTHON}"
+}
+
+src_prepare() {
+ epatch \
+ "${WORKDIR}"/patches/0002*patch \
+ "${WORKDIR}"/patches/0004*patch \
+ "${FILESDIR}"/${P}-gentoo.patch
+
+ # most of the configuration options do not appear as ./configure
+ # switches. Instead it identifies the directories that are available
+ # and run through them. These might check for the presence of
+ # various libraries, in which case they are not built. To avoid
+ # automagic dependencies, we just remove all the modules that we're
+ # not interested in using.
+
+ use ssl || rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap}
+ use ldap || rm -r src/modules/rlm_ldap
+ use kerberos || rm -r src/modules/rlm_krb5
+ use pam || rm -r src/modules/rlm_pam
+ use python || rm -r src/modules/rlm_python
+ # Do not install ruby rlm module, bug #483108
+ rm -r src/modules/rlm_ruby
+
+ # these are all things we don't have in portage/I don't want to deal
+ # with myself
+ rm -r src/modules/rlm_eap/types/rlm_eap_tnc # requires TNCS library
+ rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 # requires libeap-ikev2
+ rm -r src/modules/rlm_opendirectory # requires some membership.h
+ rm -r src/modules/rlm_redis{,who} # requires redis
+ rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds,sybase}
+
+ # sql drivers that are not part of experimental are loaded from a
+ # file, so we have to remove them from the file itself when we
+ # remove them.
+ usesqldriver() {
+ local flag=$1
+ local driver=rlm_sql_${2:-${flag}}
+
+ if ! use ${flag}; then
+ rm -r src/modules/rlm_sql/drivers/${driver} || die
+ sed -i -e /${driver}/d src/modules/rlm_sql/stable || die
+ fi
+ }
+
+ usesqldriver mysql
+ usesqldriver postgres postgresql
+ usesqldriver firebird
+ usesqldriver iodbc
+ usesqldriver odbc unixodbc
+ usesqldriver oracle
+ usesqldriver sqlite
+
+ # remove bundled ltdl to avoid conflicts
+ rm -r libltdl
+
+ epatch_user
+
+ eautoreconf
+}
+
+src_configure() {
+ # fix bug #77613
+ if has_version app-crypt/heimdal; then
+ myconf="${myconf} --enable-heimdal-krb5"
+ fi
+
+ use readline || export ac_cv_lib_readline=no
+ use pcap || export ac_cv_lib_pcap_pcap_open_live=no
+
+ # do not try to enable static with static-libs; upstream is a
+ # massacre of libtool best practices so you also have to make sure
+ # to --enable-shared explicitly.
+ econf \
+ --enable-shared --disable-static \
+ --disable-ltdl-install \
+ --with-system-libtool \
+ --with-system-libltdl \
+ --with-ascend-binary \
+ --with-udpfromto \
+ --with-dhcp \
+ --with-iodbc-include-dir=/usr/include/iodbc \
+ --with-experimental-modules \
+ --with-docdir=/usr/share/doc/${PF} \
+ --with-logdir=/var/log/radius \
+ $(use_enable debug developer) \
+ $(use_with ldap edir) \
+ $(use_with ssl openssl) \
+ ${myconf}
+}
+
+src_compile() {
+ emake LIBTOOL=libtool
+}
+
+src_install() {
+ dodir /etc
+ diropts -m0750 -o root -g radius
+ dodir /etc/raddb
+ diropts -m0750 -o radius -g radius
+ dodir /var/log/radius
+ keepdir /var/log/radius/radacct
+ diropts
+
+ emake LIBTOOL=libtool R="${D}" install
+
+ fowners -R root:radius /etc/raddb
+
+ sed -i \
+ -e 's:/var/run/radiusd:/run/radiusd:' \
+ "${D}"/etc/raddb/radiusd.conf || die
+
+ pamd_mimic_system radiusd auth account password session
+
+ dodoc CREDITS
+
+ rm "${D}/usr/sbin/rc.radiusd"
+
+ newinitd "${FILESDIR}/radius.init-r3" radiusd
+ newconfd "${FILESDIR}/radius.conf-r3" radiusd
+}
+
+pkg_config() {
+ if use ssl; then
+ cd "${ROOT}"/etc/raddb/certs
+ ./bootstrap
+ fi
+}
+
+pkg_preinst() {
+ if ! has_version ${CATEGORY}/${PN} && use ssl; then
+ elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able"
+ elog "to start the radiusd service."
+ fi
+}
diff --git a/net-dialup/freeradius/freeradius-2.2.9-r1.ebuild b/net-dialup/freeradius/freeradius-2.2.9-r1.ebuild
new file mode 100644
index 0000000..27f0126
--- /dev/null
+++ b/net-dialup/freeradius/freeradius-2.2.9-r1.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit autotools eutils pam python-any-r1 user
+
+PATCHSET=4
+
+MY_P="${PN}-server-${PV}"
+
+DESCRIPTION="Highly configurable free RADIUS server"
+SRC_URI="
+ ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz
+ ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz
+ https://dev.gentoo.org/~flameeyes/${PN}/${PN}-2.2.0-patches-${PATCHSET}.tar.xz
+
+"
+HOMEPAGE="http://www.freeradius.org/"
+
+KEYWORDS="amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="
+ debug firebird iodbc kerberos ldap mysql odbc oracle pam pcap
+ postgres python readline sqlite ssl
+"
+RESTRICT="firebird? ( bindist )"
+
+RDEPEND="!net-dialup/cistronradius
+ !net-dialup/gnuradius
+ sys-devel/libtool
+ dev-lang/perl
+ sys-libs/gdbm
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:0= )
+ pcap? ( net-libs/libpcap )
+ mysql? ( virtual/mysql )
+ postgres? ( dev-db/postgresql:= )
+ firebird? ( dev-db/firebird )
+ pam? ( virtual/pam )
+ ssl? ( dev-libs/openssl:0= )
+ ldap? ( net-nds/openldap )
+ kerberos? ( virtual/krb5 )
+ sqlite? ( dev-db/sqlite:3 )
+ odbc? ( dev-db/unixODBC )
+ iodbc? ( dev-db/libiodbc )
+ oracle? ( dev-db/oracle-instantclient-basic )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ enewgroup radius
+ enewuser radius -1 -1 /var/log/radius radius
+
+ python-any-r1_pkg_setup
+ export PYTHONBIN="${EPYTHON}"
+}
+
+src_prepare() {
+ eapply \
+ "${WORKDIR}"/patches/0002*patch \
+ "${WORKDIR}"/patches/0004*patch \
+ "${FILESDIR}"/${PN}-2.2.5-gentoo.patch
+
+ # most of the configuration options do not appear as ./configure
+ # switches. Instead it identifies the directories that are available
+ # and run through them. These might check for the presence of
+ # various libraries, in which case they are not built. To avoid
+ # automagic dependencies, we just remove all the modules that we're
+ # not interested in using.
+
+ use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; }
+ use ldap || { rm -r src/modules/rlm_ldap || die ; }
+ use kerberos || { rm -r src/modules/rlm_krb5 || die ; }
+ use pam || { rm -r src/modules/rlm_pam || die ; }
+ use python || { rm -r src/modules/rlm_python || die ; }
+ # Do not install ruby rlm module, bug #483108
+ rm -r src/modules/rlm_ruby || die
+
+ # these are all things we don't have in portage/I don't want to deal
+ # with myself
+ rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die # requires TNCS library
+ rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die # requires libeap-ikev2
+ rm -r src/modules/rlm_opendirectory || die # requires some membership.h
+ rm -r src/modules/rlm_redis{,who} || die # requires redis
+ rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds,sybase} || die
+
+ # sql drivers that are not part of experimental are loaded from a
+ # file, so we have to remove them from the file itself when we
+ # remove them.
+ usesqldriver() {
+ local flag=$1
+ local driver=rlm_sql_${2:-${flag}}
+
+ if ! use ${flag}; then
+ rm -r src/modules/rlm_sql/drivers/${driver} || die
+ sed -i -e /${driver}/d src/modules/rlm_sql/stable || die
+ fi
+ }
+
+ usesqldriver mysql
+ usesqldriver postgres postgresql
+ usesqldriver firebird
+ usesqldriver iodbc
+ usesqldriver odbc unixodbc
+ usesqldriver oracle
+ usesqldriver sqlite
+
+ # remove bundled ltdl to avoid conflicts
+ rm -r libltdl
+
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ # fix bug #77613
+ if has_version app-crypt/heimdal; then
+ myconf+=( --enable-heimdal-krb5 )
+ fi
+
+ use readline || export ac_cv_lib_readline=no
+ use pcap || export ac_cv_lib_pcap_pcap_open_live=no
+
+ # do not try to enable static with static-libs; upstream is a
+ # massacre of libtool best practices so you also have to make sure
+ # to --enable-shared explicitly.
+ econf \
+ --enable-shared --disable-static \
+ --disable-ltdl-install \
+ --with-system-libtool \
+ --with-system-libltdl \
+ --with-ascend-binary \
+ --with-udpfromto \
+ --with-dhcp \
+ --with-iodbc-include-dir=/usr/include/iodbc \
+ --with-experimental-modules \
+ --with-docdir=/usr/share/doc/${PF} \
+ --with-logdir=/var/log/radius \
+ $(use_enable debug developer) \
+ $(use_with ldap edir) \
+ $(use_with ssl openssl) \
+ ${myconf[@]}
+}
+
+src_compile() {
+ emake LIBTOOL=libtool
+}
+
+src_install() {
+ dodir /etc
+ diropts -m0750 -o root -g radius
+ dodir /etc/raddb
+ diropts -m0750 -o radius -g radius
+ dodir /var/log/radius
+ keepdir /var/log/radius/radacct
+ diropts
+
+ emake LIBTOOL=libtool R="${D}" install
+
+ fowners -R root:radius /etc/raddb
+
+ # Fixing pidfile location (#546482)
+ sed \
+ '/^run_dir =/s@${localstatedir}@@' \
+ -i "${D}"/etc/raddb/radiusd.conf || die
+
+ pamd_mimic_system radiusd auth account password session
+
+ dodoc CREDITS
+
+ rm "${D}/usr/sbin/rc.radiusd" || die
+
+ newinitd "${FILESDIR}/radius.init-r3" radiusd
+ newconfd "${FILESDIR}/radius.conf-r3" radiusd
+}
+
+pkg_config() {
+ if use ssl; then
+ cd "${ROOT}"/etc/raddb/certs
+ ./bootstrap
+ fi
+}
+
+pkg_preinst() {
+ if ! has_version ${CATEGORY}/${PN} && use ssl; then
+ elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able"
+ elog "to start the radiusd service."
+ fi
+}
diff --git a/net-dialup/freeradius/freeradius-3.0.11-r1.ebuild b/net-dialup/freeradius/freeradius-3.0.11-r1.ebuild
new file mode 100644
index 0000000..900a8f8
--- /dev/null
+++ b/net-dialup/freeradius/freeradius-3.0.11-r1.ebuild
@@ -0,0 +1,216 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit autotools eutils pam python-any-r1 user
+
+#PATCHSET=4
+
+MY_P="${PN}-server-${PV}"
+
+DESCRIPTION="Highly configurable free RADIUS server"
+SRC_URI="
+ ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz
+ ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz
+"
+HOMEPAGE="http://www.freeradius.org/"
+
+KEYWORDS=""
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="
+ debug firebird iodbc kerberos ldap mysql odbc oracle pam pcap
+ postgres python readline sqlite ssl
+"
+RESTRICT="test firebird? ( bindist )"
+
+RDEPEND="!net-dialup/cistronradius
+ !net-dialup/gnuradius
+ sys-devel/libtool
+ dev-lang/perl
+ sys-libs/gdbm
+ sys-libs/talloc
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:0= )
+ pcap? ( net-libs/libpcap )
+ mysql? ( virtual/mysql )
+ postgres? ( dev-db/postgresql:= )
+ firebird? ( dev-db/firebird )
+ pam? ( virtual/pam )
+ ssl? ( dev-libs/openssl:0= )
+ ldap? ( net-nds/openldap )
+ kerberos? ( virtual/krb5 )
+ sqlite? ( dev-db/sqlite:3 )
+ odbc? ( dev-db/unixODBC )
+ iodbc? ( dev-db/libiodbc )
+ oracle? ( dev-db/oracle-instantclient-basic )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ enewgroup radius
+ enewuser radius -1 -1 /var/log/radius radius
+
+ python-any-r1_pkg_setup
+ export PYTHONBIN="${EPYTHON}"
+}
+
+src_prepare() {
+ # most of the configuration options do not appear as ./configure
+ # switches. Instead it identifies the directories that are available
+ # and run through them. These might check for the presence of
+ # various libraries, in which case they are not built. To avoid
+ # automagic dependencies, we just remove all the modules that we're
+ # not interested in using.
+
+ use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; }
+ use ldap || { rm -r src/modules/rlm_ldap || die ; }
+ use kerberos || { rm -r src/modules/rlm_krb5 || die ; }
+ use pam || { rm -r src/modules/rlm_pam || die ; }
+ use python || { rm -r src/modules/rlm_python || die ; }
+ # Do not install ruby rlm module, bug #483108
+ rm -r src/modules/rlm_ruby || die
+
+ # these are all things we don't have in portage/I don't want to deal
+ # with myself
+ rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die # requires TNCS library
+ rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die # requires libeap-ikev2
+ rm -r src/modules/rlm_opendirectory || die # requires some membership.h
+ rm -r src/modules/rlm_redis{,who} || die # requires redis
+ rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds} || die
+
+ # sql drivers that are not part of experimental are loaded from a
+ # file, so we have to remove them from the file itself when we
+ # remove them.
+ usesqldriver() {
+ local flag=$1
+ local driver=rlm_sql_${2:-${flag}}
+
+ if ! use ${flag}; then
+ rm -r src/modules/rlm_sql/drivers/${driver} || die
+ sed -i -e /${driver}/d src/modules/rlm_sql/stable || die
+ fi
+ }
+
+ sed -i \
+ -e 's:/var/run/radiusd:/run/radiusd:g' \
+ -e '/^run_dir/s:${localstatedir}::g' \
+ raddb/radiusd.conf.in || die
+
+ # verbosity
+ # build shared libraries using jlibtool --shared
+ sed -i \
+ -e '/$(LIBTOOL)/s|--quiet ||g' \
+ -e 's:--mode=\(compile\|link\):& --shared:g' \
+ Make.inc.in || die
+
+ sed -i \
+ -e 's|--silent ||g' \
+ -e 's:--mode=\(compile\|link\):& --shared:g' \
+ scripts/libtool.mk || die
+
+ # crude measure to stop jlibtool from running ranlib and ar
+ sed -i \
+ -e '/LIBRARIAN/s|".*"|"true"|g' \
+ -e '/RANLIB/s|".*"|"true"|g' \
+ scripts/jlibtool.c || die
+
+ usesqldriver mysql
+ usesqldriver postgres postgresql
+ usesqldriver firebird
+ usesqldriver iodbc
+ usesqldriver odbc unixodbc
+ usesqldriver oracle
+ usesqldriver sqlite
+
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ # fix bug #77613
+ if has_version app-crypt/heimdal; then
+ myconf+=( --enable-heimdal-krb5 )
+ fi
+
+ use readline || export ac_cv_lib_readline=no
+ use pcap || export ac_cv_lib_pcap_pcap_open_live=no
+
+ # do not try to enable static with static-libs; upstream is a
+ # massacre of libtool best practices so you also have to make sure
+ # to --enable-shared explicitly.
+ econf \
+ --enable-shared \
+ --disable-static \
+ --disable-ltdl-install \
+ --with-system-libtool \
+ --with-system-libltdl \
+ --with-ascend-binary \
+ --with-udpfromto \
+ --with-dhcp \
+ --with-iodbc-include-dir=/usr/include/iodbc \
+ --with-experimental-modules \
+ --with-docdir=/usr/share/doc/${PF} \
+ --with-logdir=/var/log/radius \
+ $(use_enable debug developer) \
+ $(use_with ldap edir) \
+ $(use_with ssl openssl) \
+ ${myconf[@]}
+}
+
+src_compile() {
+ # verbose, do not generate certificates
+ emake \
+ Q='' ECHO=true \
+ LOCAL_CERT_PRODUCTS=''
+}
+
+src_install() {
+ dodir /etc
+ diropts -m0750 -o root -g radius
+ dodir /etc/raddb
+ diropts -m0750 -o radius -g radius
+ dodir /var/log/radius
+ keepdir /var/log/radius/radacct
+ diropts
+
+ # verbose, do not install certificates
+ emake -j1 \
+ Q='' ECHO=true \
+ LOCAL_CERT_PRODUCTS='' \
+ R="${D}" \
+ install
+
+ fowners -R root:radius /etc/raddb
+
+ pamd_mimic_system radiusd auth account password session
+
+ dodoc CREDITS
+
+ rm "${D}/usr/sbin/rc.radiusd" || die
+
+ newinitd "${FILESDIR}/radius.init-r3" radiusd
+ newconfd "${FILESDIR}/radius.conf-r3" radiusd
+
+ prune_libtool_files
+}
+
+pkg_config() {
+ if use ssl; then
+ cd "${ROOT}"/etc/raddb/certs
+ ./bootstrap
+ fi
+}
+
+pkg_preinst() {
+ if ! has_version ${CATEGORY}/${PN} && use ssl; then
+ elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able"
+ elog "to start the radiusd service."
+ fi
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-dialup/freeradius/files/, net-dialup/freeradius/
@ 2019-04-24 21:53 Aaron Bauman
0 siblings, 0 replies; 9+ messages in thread
From: Aaron Bauman @ 2019-04-24 21:53 UTC (permalink / raw
To: gentoo-commits
commit: 38617412a915ab7a6e992f22205d1aaa7a9e90cf
Author: Stefan Strogin <stefan.strogin <AT> gmail <DOT> com>
AuthorDate: Wed Apr 24 07:34:59 2019 +0000
Commit: Aaron Bauman <bman <AT> gentoo <DOT> org>
CommitDate: Wed Apr 24 21:53:17 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38617412
net-dialup/freeradius: add patch for LibreSSL support
Closes: https://bugs.gentoo.org/680066
Package-Manager: Portage-2.3.64, Repoman-2.3.12
Signed-off-by: Stefan Strogin <stefan.strogin <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/11811
Signed-off-by: Aaron Bauman <bman <AT> gentoo.org>
.../files/freeradius-3.0.18-libressl.patch | 63 ++++++++++++++++++++++
net-dialup/freeradius/freeradius-3.0.18.ebuild | 2 +
2 files changed, 65 insertions(+)
diff --git a/net-dialup/freeradius/files/freeradius-3.0.18-libressl.patch b/net-dialup/freeradius/files/freeradius-3.0.18-libressl.patch
new file mode 100644
index 00000000000..129e251d87b
--- /dev/null
+++ b/net-dialup/freeradius/files/freeradius-3.0.18-libressl.patch
@@ -0,0 +1,63 @@
+From 39e4ac0cf8d415b41dc2ff1fc329de0522b135ca Mon Sep 17 00:00:00 2001
+From: Stefan Strogin <stefan.strogin@gmail.com>
+Date: Wed, 24 Apr 2019 09:16:12 +0300
+Subject: [PATCH] Fix build to LibreSSL
+
+Upstream-Status: Inappropriate
+[https://github.com/FreeRADIUS/freeradius-server/commit/9652affe38f41ba2484e013cf9d2c0bcb8c80d67]
+Signed-off-by: Stefan Strogin <stefan.strogin@gmail.com>
+---
+ src/main/tls.c | 9 ++++++---
+ src/modules/rlm_eap/types/rlm_eap_fast/eap_fast.c | 3 ++-
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/src/main/tls.c b/src/main/tls.c
+index 9726953234..840724bf61 100644
+--- a/src/main/tls.c
++++ b/src/main/tls.c
+@@ -1579,7 +1579,8 @@ done:
+ return 0;
+ }
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
++ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2090100fL)
+ static SSL_SESSION *cbtls_get_session(SSL *ssl, unsigned char *data, int len, int *copy)
+ #else
+ static SSL_SESSION *cbtls_get_session(SSL *ssl, const unsigned char *data, int len, int *copy)
+@@ -3379,14 +3380,16 @@ post_ca:
+ */
+ SSL_CTX_sess_set_cache_size(ctx, conf->session_cache_size);
+
+-#if OPENSSL_VERSION_NUMBER >= 0x10101000L
++/* Not implemented in LibreSSL 2.9.1 */
++#if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER)
+ SSL_CTX_set_num_tickets(ctx, 1);
+ #endif
+
+ } else {
+ SSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF);
+
+-#if OPENSSL_VERSION_NUMBER >= 0x10101000L
++/* Not implemented in LibreSSL 2.9.1 */
++#if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER)
+ /*
+ * This controls the number of stateful or stateless tickets
+ * generated with TLS 1.3. In OpenSSL 1.1.1 it's also
+diff --git a/src/modules/rlm_eap/types/rlm_eap_fast/eap_fast.c b/src/modules/rlm_eap/types/rlm_eap_fast/eap_fast.c
+index fa9c58f3c3..a53341fc20 100644
+--- a/src/modules/rlm_eap/types/rlm_eap_fast/eap_fast.c
++++ b/src/modules/rlm_eap/types/rlm_eap_fast/eap_fast.c
+@@ -44,7 +44,8 @@ static int openssl_get_keyblock_size(REQUEST *request, SSL *ssl)
+ {
+ const EVP_CIPHER *c;
+ const EVP_MD *h;
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
++ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2090100fL)
+ int md_size;
+
+ if (ssl->enc_read_ctx == NULL || ssl->enc_read_ctx->cipher == NULL ||
+--
+2.21.0
+
diff --git a/net-dialup/freeradius/freeradius-3.0.18.ebuild b/net-dialup/freeradius/freeradius-3.0.18.ebuild
index 939365c85fc..6b772f41f1f 100644
--- a/net-dialup/freeradius/freeradius-3.0.18.ebuild
+++ b/net-dialup/freeradius/freeradius-3.0.18.ebuild
@@ -60,6 +60,8 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
S="${WORKDIR}/${MY_P}"
+PATCHES=( "${FILESDIR}"/${P}-libressl.patch )
+
pkg_setup() {
enewgroup radius
enewuser radius -1 -1 /var/log/radius radius
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-dialup/freeradius/files/, net-dialup/freeradius/
@ 2019-06-13 19:51 Aaron W. Swenson
0 siblings, 0 replies; 9+ messages in thread
From: Aaron W. Swenson @ 2019-06-13 19:51 UTC (permalink / raw
To: gentoo-commits
commit: 9eb376c782868c81a284901adfdffe0143ee79d3
Author: Daniele Rondina <geaaru <AT> gmail <DOT> com>
AuthorDate: Sun Jun 9 09:21:32 2019 +0000
Commit: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Thu Jun 13 19:49:53 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9eb376c7
net-dialup/freeradius: Bump v.3.0.18-r1 and review freeradius.service
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Closes: https://bugs.gentoo.org/681696
Signed-off-by: Daniele Rondina <geaaru <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/11492
Signed-off-by: Aaron W. Swenson <titanofold <AT> gentoo.org>
.../files/freeradius-3.0.18-systemd-service.patch | 34 +++
net-dialup/freeradius/freeradius-3.0.18-r1.ebuild | 244 +++++++++++++++++++++
2 files changed, 278 insertions(+)
diff --git a/net-dialup/freeradius/files/freeradius-3.0.18-systemd-service.patch b/net-dialup/freeradius/files/freeradius-3.0.18-systemd-service.patch
new file mode 100644
index 00000000000..3da4b422f5d
--- /dev/null
+++ b/net-dialup/freeradius/files/freeradius-3.0.18-systemd-service.patch
@@ -0,0 +1,34 @@
+diff --git a/debian/freeradius.service b/debian/freeradius.service
+index 99873c0..97efc66 100644
+--- a/debian/freeradius.service
++++ b/debian/freeradius.service
+@@ -17,12 +17,26 @@ Environment=HOSTNAME=%H
+ # a leak somewhere.
+ MemoryLimit=2G
+
+-RuntimeDirectory=freeradius
++RuntimeDirectory=radiusd
+ RuntimeDirectoryMode=0775
+-ExecStartPre=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cx -lstdout
+-ExecStart=/usr/sbin/freeradius $FREERADIUS_OPTIONS
++Group=radius
++User=radius
++ExecStartPre=/usr/sbin/radiusd $RADIUSD_OPTS -Cx -lstdout
++ExecStart=/usr/sbin/radiusd -f $RADIUSD_OPTS
++ExecReload=/usr/sbin/radiusd -C $RADIUSD_OPTS
++ExecReload=/bin/kill -HUP $MAINPID
+ Restart=on-failure
+ RestartSec=5
++ReadOnlyDirectories=/etc/raddb/
++ReadWriteDirectories=/var/log/radius/
++# Security options (https://github.com/FreeRADIUS/freeradius-server/issues/2637)
++NoNewPrivileges=true
++CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW
++PrivateTmp=true
++ProtectControlGroups=true
++ProtectKernelModules=true
++ProtectKernelTunables=true
++SystemCallArchitectures=native
+
+ [Install]
+ WantedBy=multi-user.target
diff --git a/net-dialup/freeradius/freeradius-3.0.18-r1.ebuild b/net-dialup/freeradius/freeradius-3.0.18-r1.ebuild
new file mode 100644
index 00000000000..44d5b7baa7e
--- /dev/null
+++ b/net-dialup/freeradius/freeradius-3.0.18-r1.ebuild
@@ -0,0 +1,244 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+inherit autotools pam python-single-r1 systemd user
+
+MY_P="${PN}-server-${PV}"
+
+DESCRIPTION="Highly configurable free RADIUS server"
+SRC_URI="
+ ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz
+ ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz
+"
+HOMEPAGE="http://www.freeradius.org/"
+
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="
+ debug firebird iodbc kerberos ldap libressl memcached mysql odbc oracle pam
+ pcap postgres python readline rest samba sqlite ssl redis
+"
+RESTRICT="test firebird? ( bindist )"
+
+# NOTE: Temporary freeradius doesn't support linking with mariadb client
+# libs also if code is compliant, will be available in the next release.
+# (http://lists.freeradius.org/pipermail/freeradius-devel/2018-October/013228.html)
+RDEPEND="!net-dialup/cistronradius
+ !net-dialup/gnuradius
+ dev-lang/perl:=
+ sys-libs/gdbm:=
+ sys-libs/talloc
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:0= )
+ pcap? ( net-libs/libpcap )
+ memcached? ( dev-libs/libmemcached )
+ mysql? ( dev-db/mysql-connector-c )
+ postgres? ( dev-db/postgresql:= )
+ firebird? ( dev-db/firebird )
+ pam? ( virtual/pam )
+ rest? ( dev-libs/json-c:= )
+ samba? ( net-fs/samba )
+ redis? ( dev-libs/hiredis:= )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0=[-bindist] )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ ldap? ( net-nds/openldap )
+ kerberos? ( virtual/krb5 )
+ sqlite? ( dev-db/sqlite:3 )
+ odbc? ( dev-db/unixODBC )
+ iodbc? ( dev-db/libiodbc )
+ oracle? ( dev-db/oracle-instantclient-basic )"
+DEPEND="${RDEPEND}"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-libressl.patch
+ "${FILESDIR}"/${P}-systemd-service.patch
+)
+
+pkg_setup() {
+ enewgroup radius
+ enewuser radius -1 -1 /var/log/radius radius
+
+ if use python ; then
+ python-single-r1_pkg_setup
+ export PYTHONBIN="${EPYTHON}"
+ fi
+}
+
+src_prepare() {
+ # most of the configuration options do not appear as ./configure
+ # switches. Instead it identifies the directories that are available
+ # and run through them. These might check for the presence of
+ # various libraries, in which case they are not built. To avoid
+ # automagic dependencies, we just remove all the modules that we're
+ # not interested in using.
+
+ use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; }
+ use ldap || { rm -r src/modules/rlm_ldap || die ; }
+ use kerberos || { rm -r src/modules/rlm_krb5 || die ; }
+ use memcached || { rm -r src/modules/rlm_cache/drivers/rlm_cache_memcached || die ; }
+ use pam || { rm -r src/modules/rlm_pam || die ; }
+ use python || { rm -r src/modules/rlm_python || die ; }
+ use rest || { rm -r src/modules/rlm_rest || die ; }
+ use redis || { rm -r src/modules/rlm_redis{,who} || die ; }
+ # can't just nuke rlm_mschap because many modules rely on smbdes.h
+ use samba || { rm -r src/modules/rlm_mschap/{configure,*.mk} || die ; }
+ # Do not install ruby rlm module, bug #483108
+ rm -r src/modules/rlm_ruby || die
+
+ # these are all things we don't have in portage/I don't want to deal
+ # with myself
+ rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die # requires TNCS library
+ rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die # requires libeap-ikev2
+ rm -r src/modules/rlm_opendirectory || die # requires some membership.h
+ rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds} || die
+
+ # sql drivers that are not part of experimental are loaded from a
+ # file, so we have to remove them from the file itself when we
+ # remove them.
+ usesqldriver() {
+ local flag=$1
+ local driver=rlm_sql_${2:-${flag}}
+
+ if ! use ${flag}; then
+ rm -r src/modules/rlm_sql/drivers/${driver} || die
+ sed -i -e /${driver}/d src/modules/rlm_sql/stable || die
+ fi
+ }
+
+ sed -i \
+ -e 's:^#\tuser = :\tuser = :g' \
+ -e 's:^#\tgroup = :\tgroup = :g' \
+ -e 's:/var/run/radiusd:/run/radiusd:g' \
+ -e '/^run_dir/s:${localstatedir}::g' \
+ raddb/radiusd.conf.in || die
+
+ # verbosity
+ # build shared libraries using jlibtool --shared
+ sed -i \
+ -e '/$(LIBTOOL)/s|--quiet ||g' \
+ -e 's:--mode=\(compile\|link\):& --shared:g' \
+ Make.inc.in || die
+
+ sed -i \
+ -e 's|--silent ||g' \
+ -e 's:--mode=\(compile\|link\):& --shared:g' \
+ scripts/libtool.mk || die
+
+ # crude measure to stop jlibtool from running ranlib and ar
+ sed -i \
+ -e '/LIBRARIAN/s|".*"|"true"|g' \
+ -e '/RANLIB/s|".*"|"true"|g' \
+ scripts/jlibtool.c || die
+
+ usesqldriver mysql
+ usesqldriver postgres postgresql
+ usesqldriver firebird
+ usesqldriver iodbc
+ usesqldriver odbc unixodbc
+ usesqldriver oracle
+ usesqldriver sqlite
+
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ # do not try to enable static with static-libs; upstream is a
+ # massacre of libtool best practices so you also have to make sure
+ # to --enable-shared explicitly.
+ local myeconfargs=(
+ --enable-shared
+ --disable-static
+ --disable-ltdl-install
+ --with-system-libtool
+ --with-system-libltdl
+ --with-ascend-binary
+ --with-udpfromto
+ --with-dhcp
+ --with-iodbc-include-dir=/usr/include/iodbc
+ --with-experimental-modules
+ --with-docdir=/usr/share/doc/${PF}
+ --with-logdir=/var/log/radius
+ $(use_enable debug developer)
+ $(use_with ldap edir)
+ $(use_with ssl openssl)
+ )
+ # fix bug #77613
+ if has_version app-crypt/heimdal; then
+ myeconfargs+=( --enable-heimdal-krb5 )
+ fi
+
+ use readline || export ac_cv_lib_readline=no
+ use pcap || export ac_cv_lib_pcap_pcap_open_live=no
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ # verbose, do not generate certificates
+ emake \
+ Q='' ECHO=true \
+ LOCAL_CERT_PRODUCTS=''
+}
+
+src_install() {
+ dodir /etc
+ diropts -m0750 -o root -g radius
+ dodir /etc/raddb
+ diropts -m0750 -o radius -g radius
+ dodir /var/log/radius
+ keepdir /var/log/radius/radacct
+ diropts
+
+ # verbose, do not install certificates
+ # Parallel install fails (#509498)
+ emake -j1 \
+ Q='' ECHO=true \
+ LOCAL_CERT_PRODUCTS='' \
+ R="${D}" \
+ install
+
+ fowners -R root:radius /etc/raddb
+ fowners -R radius:radius /var/log/radius
+
+ pamd_mimic_system radiusd auth account password session
+
+ dodoc CREDITS
+
+ rm "${ED}/usr/sbin/rc.radiusd" || die
+
+ newinitd "${FILESDIR}/radius.init-r3" radiusd
+ newconfd "${FILESDIR}/radius.conf-r4" radiusd
+
+ systemd_newtmpfilesd "${FILESDIR}"/freeradius.tmpfiles freeradius.conf
+ systemd_dounit "${S}"/debian/freeradius.service
+
+ find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
+}
+
+pkg_config() {
+ if use ssl; then
+ cd "${ROOT}"/etc/raddb/certs || die
+ ./bootstrap || die "Error while running ./bootstrap script."
+ fowners -R root:radius "${ROOT}"/etc/raddb/certs
+ fi
+}
+
+pkg_preinst() {
+ if ! has_version ${CATEGORY}/${PN} && use ssl; then
+ elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able"
+ elog "to start the radiusd service."
+ fi
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-dialup/freeradius/files/, net-dialup/freeradius/
@ 2020-02-11 19:13 Matt Turner
0 siblings, 0 replies; 9+ messages in thread
From: Matt Turner @ 2020-02-11 19:13 UTC (permalink / raw
To: gentoo-commits
commit: 2cc4267b345ed2589ecda8b7a35a0f68bff19bf8
Author: Daniele Rondina <geaaru <AT> gmail <DOT> com>
AuthorDate: Sun Feb 9 09:34:19 2020 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Feb 11 19:13:13 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2cc4267b
net-dialup/freeradius: Bump v.3.0.20
Bug: https://bugs.gentoo.org/701822
Closes: https://bugs.gentoo.org/696458
Closes: https://bugs.gentoo.org/708970
Closes: https://github.com/gentoo/gentoo/pull/14488
Signed-off-by: Daniele Rondina <geaaru <AT> gmail.com>
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
net-dialup/freeradius/Manifest | 1 +
.../files/freeradius-3.0.20-py3-fixes.patch | 472 +++++++++++++++++++++
.../files/freeradius-3.0.20-systemd-service.patch | 57 +++
net-dialup/freeradius/freeradius-3.0.20.ebuild | 267 ++++++++++++
net-dialup/freeradius/metadata.xml | 3 +
5 files changed, 800 insertions(+)
diff --git a/net-dialup/freeradius/Manifest b/net-dialup/freeradius/Manifest
index c997772def9..9b65bbd2cbf 100644
--- a/net-dialup/freeradius/Manifest
+++ b/net-dialup/freeradius/Manifest
@@ -2,3 +2,4 @@ DIST freeradius-server-3.0.15.tar.gz 4818244 BLAKE2B 24cded2c4f0c6fc6a6135058c40
DIST freeradius-server-3.0.17.tar.gz 4843020 BLAKE2B 9e1f54a9f5ad8ede471881ffe4ec987c3ac655a3c39fcd920094760c006102be02f3b7f25b14379a0bac876ac0944e8698c2781bbd804cd22d8b915b6c13a693 SHA512 381222e452288c56a1bf68953be57379a5568f0c92de022abc3004cc6a15078d46535b867b31801de3eb096ba7af92e745e79decfa7cc8151a1ffb371b1aea79
DIST freeradius-server-3.0.18.tar.gz 4884192 BLAKE2B 21df490f5eba4e0eca42127181fa02a9451abf5fc2b0d7c5e6d0c5c287eda739585500a31f480dccc618c3bbb4096fbe9258c1b2d3a2047951abf85d68784862 SHA512 b81c40cd22170adb1126b9dde6dd84411dfafce33e27da6c4665cb4fc524aab854a7cd4c80757db50899604d7980aec7216e1c53b8184af482c7113692a26458
DIST freeradius-server-3.0.19.tar.gz 4886632 BLAKE2B 6e9b73eaa29344e4efca6ad19d8e86df8c625921441712b71cb54c2b0db78fc909748da42be837a9170fb6312be22f236956f0d2b169050a37ac8c4de143cc96 SHA512 8a914e2ad1fbeb4cf8c00aaf7eaa154ea17f70e4d58734716bfaf71b3ddef9f8f63a4d3217bdc07dfa776273e5bf090bc98f7bb16f5b565339ddc3b9c13e091f
+DIST freeradius-server-3.0.20.tar.gz 5002727 BLAKE2B f481ad22105694a4af3f0f0c1b4f6e395e8da0fe65274e32ebeed07e3c9b1869029e6ffbc655cfa41d5de2a1dcba54acee33a7a10d28bfbfce791b7ccd0fc57a SHA512 513ed0a5d9e6b9a8d89a9b02c86ff528a9ff14d928f4c1040ca44702465abd711588fe6afa35554cb2c8e8bd7f19dd5be3dbc78445c62c7b00bf5cbc4c621312
diff --git a/net-dialup/freeradius/files/freeradius-3.0.20-py3-fixes.patch b/net-dialup/freeradius/files/freeradius-3.0.20-py3-fixes.patch
new file mode 100644
index 00000000000..83dc20090ed
--- /dev/null
+++ b/net-dialup/freeradius/files/freeradius-3.0.20-py3-fixes.patch
@@ -0,0 +1,472 @@
+diff --git a/raddb/mods-available/python3 b/raddb/mods-available/python3
+index 246dfd74ce..0593c69f1a 100644
+--- a/raddb/mods-available/python3
++++ b/raddb/mods-available/python3
+@@ -13,7 +13,7 @@ python3 {
+ # item is GLOBAL TO THE SERVER. That is, you cannot have two
+ # instances of the python module, each with a different path.
+ #
+-# python_path="/path/to/python/files:/another_path/to/python_files/"
++# python_path="${modconfdir}/${.:name}:/another_path/to/python_files"
+
+ module = example
+
+diff --git a/src/modules/rlm_python3/configure.ac b/src/modules/rlm_python3/configure.ac
+index a00320fda4..295a2486d2 100644
+--- a/src/modules/rlm_python3/configure.ac
++++ b/src/modules/rlm_python3/configure.ac
+@@ -8,128 +8,75 @@ if test x$with_[]modname != xno; then
+ AC_PROG_CC
+ AC_PROG_CPP
+
+- dnl extra argument: --with-rlm-python3-bin
+- PYTHON3_BIN=
+- AC_ARG_WITH(rlm-python3-bin,
+- [ --with-rlm-python3-bin=PATH Path to python3 binary []],
++ dnl extra argument: --with-rlm-python3-config-bin
++ PYTHON3_CONFIG_BIN=
++ AC_ARG_WITH(rlm-python3-config-bin,
++ [ --with-rlm-python3-config-bin=PATH Path to python-config3 binary []],
+ [ case "$withval" in
+ no)
+- AC_MSG_ERROR(Need rlm-python3-bin)
++ AC_MSG_ERROR(Need rlm-python3-config-bin)
+ ;;
+ yes)
+ ;;
+ *)
+- PYTHON3_BIN="$withval"
++ PYTHON3_CONFIG_BIN="$withval"
+ ;;
+ esac ]
+ )
+
+- if test "x$PYTHON3_BIN" = x; then
+- AC_CHECK_PROGS(PYTHON3_BIN, [ python3 ], not-found, [${PATH}:/usr/bin:/usr/local/bin])
++ if test "x$PYTHON3_CONFIG_BIN" = x; then
++ AC_CHECK_PROGS(PYTHON3_CONFIG_BIN, [ python3-config ], not-found, [${PATH}:/usr/bin:/usr/local/bin])
+ fi
+
+- if test "x$PYTHON3_BIN" = "xnot-found"; then
+- fail="python-binary"
+- fi
+-
+- dnl extra argument: --with-rlm-python3-lib-dir
+- PY_LIB_DIR=
+- AC_ARG_WITH(rlm-python3-lib-dir,
+- [ --with-rlm-python3-lib-dir=DIR Directory for Python library files []],
+- [ case "$withval" in
+- no)
+- AC_MSG_ERROR(Need rlm-python3-lib-dir)
+- ;;
+- yes)
+- ;;
+- *)
+- PY_LIB_DIR="$withval"
+- ;;
+- esac ]
+- )
+-
+- dnl extra argument: --with-rlm-python3-include-dir
+- PY_INC_DIR=
+- AC_ARG_WITH(rlm-python3-include-dir,
+- [ --with-rlm-python3-include-dir=DIR Directory for Python include files []],
+- [ case "$withval" in
+- no)
+- AC_MSG_ERROR(Need rlm-python3-include-dir)
+- ;;
+- yes)
+- ;;
+- *)
+- PY_INC_DIR="$withval"
+- ;;
+- esac ]
+- )
+-
+- if test x$fail = x; then
+- PY_PREFIX=`${PYTHON3_BIN} -c 'import sys ; print(sys.prefix)'`
+- AC_MSG_NOTICE([Python sys.prefix \"${PY_PREFIX}\"])
+-
+- PY_EXEC_PREFIX=`${PYTHON3_BIN} -c 'import sys ; print(sys.exec_prefix)'`
+- AC_MSG_NOTICE([Python sys.exec_prefix \"${PY_EXEC_PREFIX}\"])
+-
+- PY_SYS_VERSION=`${PYTHON3_BIN} -c 'import sys ; print(sys.version[[0:3]])'`
+- AC_MSG_NOTICE([Python sys.version \"${PY_SYS_VERSION}\"])
+-
+- if test "x$PY_LIB_DIR" = "x"; then
+- PY_LIB_DIR="$PY_EXEC_PREFIX/lib/python${PY_SYS_VERSION}/config"
+- PY_LIB_LOC="-L$PY_EXEC_PREFIX/lib/python${PY_SYS_VERSION}/config"
+- fi
+-
+- PY_MAKEFILE="$PY_EXEC_PREFIX/lib/python${PY_SYS_VERSION}/config/Makefile"
+- if test -f ${PY_MAKEFILE}; then
+- PY_LOCAL_MOD_LIBS=`sed -n -e 's/^LOCALMODLIBS=\(.*\)/\1/p' $PY_MAKEFILE | sed -e 's/[[[:blank:]]]/ /g;s/^ *//;s/ *$//'`
+- AC_MSG_NOTICE([Python local_mod_libs \"${PY_LOCAL_MOD_LIBS}\"])
+-
+- PY_BASE_MOD_LIBS=`sed -n -e 's/^BASEMODLIBS=\(.*\)/\1/p' $PY_MAKEFILE | sed -e 's/[[[:blank:]]]/ /g;s/^ *//;s/ *$//'`
+- AC_MSG_NOTICE([Python base_mod_libs \"${PY_BASE_MOD_LIBS}\"])
+-
+- PY_OTHER_LIBS=`sed -n -e 's/^LIBS=\(.*\)/\1/p' $PY_MAKEFILE | sed -e 's/[[[:blank:]]]/ /g;s/ / /g;s/^ *//;s/ *$//'`
+- PY_OTHER_LDFLAGS=`sed -n -e 's/^LINKFORSHARED=\(.*\)/\1/p' $PY_MAKEFILE | sed -e 's/[[[:blank:]]]/ /g;s/ / /g;s/^ *//;s/ *$//'`
+- AC_MSG_NOTICE([Python other_libs \"${PY_OTHER_LDFLAGS} ${PY_OTHER_LIBS}\"])
+- fi
+- PY_EXTRA_LIBS="$PY_LOCALMODLIBS $PY_BASE_MOD_LIBS $PY_OTHER_LIBS"
++ if test "x$PYTHON3_CONFIG_BIN" = xnot-found; then
++ fail="$fail python3-config"
++ else
++ dnl #
++ dnl # It is necessary due to a weird behavior with 'python3-config'
++ dnl #
++ old_CFLAGS="$CFLAGS"
++ unset CFLAGS
++
++ python3_cflags=`${PYTHON3_CONFIG_BIN} --cflags`
++ AC_MSG_NOTICE([${PYTHON3_CONFIG_BIN}'s cflags were \"${python3_cflags}\"])
++
++ dnl # Convert -I to -isystem to get rid of warnings about issues in Python headers
++ dnl # Strip -systemroot
++ dnl # Strip optimisation flags (-O[0-9]?). We decide our optimisation level, not python.
++ dnl # -D_FORTIFY_SOURCE needs -O.
++ dnl # Strip debug symbol flags (-g[0-9]?). We decide on debugging symbols, not python
++ dnl # Strip -W*, we decide what warnings are important
++ dnl # Strip -DNDEBUG
++ mod_cflags=`echo $python3_cflags | sed -e '\
++ s/-I/-isystem/g;\
++ s/-isysroot[[ =]]\{0,1\}[[^-]]*//g;\
++ s/-O[[^[[:blank:]]]]*//g;\
++ s/-Wp,-D_FORTIFY_SOURCE=[[[:digit:]]]//g;\
++ s/-g[[^ ]]*//g;\
++ s/-W[[^ ]]*//g;\
++ s/-DNDEBUG[[[:blank:]]]*//g;
++ '`
++ AC_MSG_NOTICE([Sanitized cflags were \"${mod_cflags}\"])
++
++ python3_ldflags=`${PYTHON3_CONFIG_BIN} --ldflags`
++ AC_MSG_NOTICE([${PYTHON3_CONFIG_BIN}'s ldflags were \"$python3_ldflags}\"])
++
++ dnl # Strip -Wl,-O1... Is -O even a valid linker flag??
++ dnl # Strip -Wl,-Bsymbolic-functions as thats not always supported or required
++ dnl # Strip -Xlinker -export-dynamic as it causes weird linking issues on Linux
++ dnl # See: https://bugs.python.org/issue36508
++ mod_ldflags=`echo $python3_ldflags | sed -e '\
++ s/-Wl,-O[[[:digit:]]][[[:blank:]]]*//g;\
++ s/-Wl,-Bsymbolic-functions[[[:blank:]]]*//g;\
++ s/-Xlinker -export-dynamic//g;\
++ s/-Wl,-stack_size,[[[:digit:]]]*[[[:blank:]]]//g;
++ '`
++ AC_MSG_NOTICE([Sanitized ldflags were \"${mod_ldflags}\"])
+
+- old_CFLAGS=$CFLAGS
+- CFLAGS="$CFLAGS $PY_CFLAGS"
+- smart_try_dir="$PY_PREFIX/include/python$PY_SYS_VERSION"
+- FR_SMART_CHECK_INCLUDE(Python.h)
+ CFLAGS=$old_CFLAGS
+
+- if test "x$ac_cv_header_Python_h" = "xyes"; then
+- mod_cflags="$SMART_CPPFLAGS"
+- else
+- fail="$fail Python.h"
+- targetname=
+- fi
+-
+- old_LIBS=$LIBS
+- LIBS="$LIBS $PY_LIB_LOC $PY_EXTRA_LIBS -lm"
+- smart_try_dir=$PY_LIB_DIR
+- FR_SMART_CHECK_LIB(python${PY_SYS_VERSION}, Py_Initialize)
+- LIBS=$old_LIBS
+-
+- eval t=\${ac_cv_lib_${sm_lib_safe}_${sm_func_safe}}
+- if test "x$t" = "xyes"; then
+- mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS $SMART_LIBS -lm"
+- targetname=modname
+- else
+- FR_SMART_CHECK_LIB(python${PY_SYS_VERSION}m, Py_Initialize)
+- eval t=\${ac_cv_lib_${sm_lib_safe}_${sm_func_safe}}
+- if test "x$t" = "xyes"; then
+- mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS $SMART_LIBS -lm"
+- targetname=modname
+- else
+- targetname=
+- fail="$fail libpython$PY_SYS_VERSION"
+- fi
+- fi
++ targetname="rlm_python3"
+ fi
+-
+- AC_CHECK_FUNCS([dl_iterate_phdr])
+ else
+ targetname=
+ echo \*\*\* module modname is disabled.
+diff --git a/src/modules/rlm_python3/rlm_python3.c b/src/modules/rlm_python3/rlm_python3.c
+index 06187e4ffa..8e893a0eaa 100644
+--- a/src/modules/rlm_python3/rlm_python3.c
++++ b/src/modules/rlm_python3/rlm_python3.c
+@@ -67,8 +67,10 @@ static CONF_PARSER module_config[] = {
+ A(preacct)
+ A(accounting)
+ A(checksimul)
++#ifdef WITH_PROXY
+ A(pre_proxy)
+ A(post_proxy)
++#endif
+ A(post_auth)
+ #ifdef WITH_COA
+ A(recv_coa)
+@@ -98,7 +100,9 @@ static struct {
+ A(L_AUTH)
+ A(L_INFO)
+ A(L_ERR)
++#ifdef WITH_PROXY
+ A(L_PROXY)
++#endif
+ A(L_ACCT)
+ A(L_DBG_WARN)
+ A(L_DBG_ERR)
+@@ -510,6 +514,7 @@ static rlm_rcode_t do_python_single(REQUEST *request, PyObject *pFunc, char cons
+ goto finish;
+ }
+
++#ifdef WITH_PROXY
+ /* fill proxy vps */
+ if (request->proxy) {
+ if (!mod_populate_vps(pArgs, 4, request->proxy->vps)) {
+@@ -517,10 +522,13 @@ static rlm_rcode_t do_python_single(REQUEST *request, PyObject *pFunc, char cons
+ ret = RLM_MODULE_FAIL;
+ goto finish;
+ }
+- } else {
++ } else
++#endif
++ {
+ mod_populate_vps(pArgs, 4, NULL);
+ }
+
++#ifdef WITH_PROXY
+ /* fill proxy_reply vps */
+ if (request->proxy_reply) {
+ if (!mod_populate_vps(pArgs, 5, request->proxy_reply->vps)) {
+@@ -528,7 +536,9 @@ static rlm_rcode_t do_python_single(REQUEST *request, PyObject *pFunc, char cons
+ ret = RLM_MODULE_FAIL;
+ goto finish;
+ }
+- } else {
++ } else
++#endif
++ {
+ mod_populate_vps(pArgs, 5, NULL);
+ }
+
+@@ -550,9 +560,14 @@ static rlm_rcode_t do_python_single(REQUEST *request, PyObject *pFunc, char cons
+ PyDict_SetItemString(pDictInput, "request", PyTuple_GET_ITEM(pArgs, 0)) ||
+ PyDict_SetItemString(pDictInput, "reply", PyTuple_GET_ITEM(pArgs, 1)) ||
+ PyDict_SetItemString(pDictInput, "config", PyTuple_GET_ITEM(pArgs, 2)) ||
+- PyDict_SetItemString(pDictInput, "session-state", PyTuple_GET_ITEM(pArgs, 3)) ||
++ PyDict_SetItemString(pDictInput, "session-state", PyTuple_GET_ITEM(pArgs, 3))
++#ifdef WITH_PROXY
++ ||
+ PyDict_SetItemString(pDictInput, "proxy-request", PyTuple_GET_ITEM(pArgs, 4)) ||
+- PyDict_SetItemString(pDictInput, "proxy-reply", PyTuple_GET_ITEM(pArgs, 5))) {
++ PyDict_SetItemString(pDictInput, "proxy-reply", PyTuple_GET_ITEM(pArgs, 5))
++#endif
++ ) {
++
+ ERROR("%s:%d, %s - PyDict_SetItemString failed", __func__, __LINE__, funcname);
+ ret = RLM_MODULE_FAIL;
+ goto finish;
+@@ -819,8 +834,10 @@ MOD_FUNC(authorize)
+ MOD_FUNC(preacct)
+ MOD_FUNC(accounting)
+ MOD_FUNC(checksimul)
++#ifdef WITH_PROXY
+ MOD_FUNC(pre_proxy)
+ MOD_FUNC(post_proxy)
++#endif
+ MOD_FUNC(post_auth)
+ #ifdef WITH_COA
+ MOD_FUNC(recv_coa)
+@@ -1102,7 +1119,7 @@ static int python_interpreter_init(rlm_python_t *inst, CONF_SECTION *conf)
+ python_dlhandle = dlopen_libpython(RTLD_NOW | RTLD_GLOBAL);
+ if (!python_dlhandle) WARN("Failed loading libpython symbols into global symbol table");
+
+-#if PY_VERSION_HEX > 0x03050000
++#if PY_VERSION_HEX >= 0x03050000
+ {
+ wchar_t *name;
+
+@@ -1110,13 +1127,6 @@ static int python_interpreter_init(rlm_python_t *inst, CONF_SECTION *conf)
+ Py_SetProgramName(name); /* The value of argv[0] as a wide char string */
+ PyMem_RawFree(name);
+ }
+-#elif PY_VERSION_HEX > 0x0300000
+- {
+- wchar_t *name;
+-
+- MEM(name = _Py_char2wchar(main_config.name, NULL));
+- Py_SetProgramName(inst->wide_name); /* The value of argv[0] as a wide char string */
+- }
+ #else
+ {
+ char *name;
+@@ -1163,37 +1173,34 @@ static int python_interpreter_init(rlm_python_t *inst, CONF_SECTION *conf)
+ * the lifetime of the module.
+ */
+ if (inst->python_path) {
++ char *p, *path;
++ PyObject *sys = PyImport_ImportModule("sys");
++ PyObject *sys_path = PyObject_GetAttrString(sys, "path");
++
++ memcpy(&p, &inst->python_path, sizeof(path));
++
++ for (path = strtok(p, ":"); path != NULL; path = strtok(NULL, ":")) {
+ #if PY_VERSION_HEX > 0x03050000
+- {
+- wchar_t *path;
+- PyObject* sys = PyImport_ImportModule("sys");
+- PyObject* sys_path = PyObject_GetAttrString(sys,"path");
+-
+- MEM(path = Py_DecodeLocale(inst->python_path, NULL));
+- PyList_Append(sys_path, PyUnicode_FromWideChar(path,-1));
+- PyObject_SetAttrString(sys,"path",sys_path);
+- PyMem_RawFree(path);
+- }
++ wchar_t *py_path;
++
++ MEM(py_path = Py_DecodeLocale(path, NULL));
++ PyList_Append(sys_path, PyUnicode_FromWideChar(py_path, -1));
++ PyMem_RawFree(py_path);
+ #elif PY_VERSION_HEX > 0x03000000
+- {
+- wchar_t *path;
+- PyObject* sys = PyImport_ImportModule("sys");
+- PyObject* sys_path = PyObject_GetAttrString(sys,"path");
+-
+- MEM(path = _Py_char2wchar(inst->python_path, NULL));
+- PyList_Append(sys_path, PyUnicode_FromWideChar(path,-1));
+- PyObject_SetAttrString(sys,"path",sys_path);
+- }
+-#else
+- {
+- char *path;
++ wchar_t *py_path;
+
+- memcpy(&path, &inst->python_path, sizeof(path));
+- Py_SetPath(path);
+- }
++ MEM(py_path = _Py_char2wchar(path, NULL));
++ PyList_Append(sys_path, PyUnicode_FromWideChar(py_path, -1));
++ PyMem_RawFree(py_path);
++#else
++ PyList_Append(sys_path, PyLong_FromString(path));
+ #endif
+- }
++ }
+
++ PyObject_SetAttrString(sys, "path", sys_path);
++ Py_DecRef(sys);
++ Py_DecRef(sys_path);
++ }
+ } else {
+ inst->module = main_module;
+ Py_IncRef(inst->module);
+@@ -1220,7 +1227,7 @@ static int python_interpreter_init(rlm_python_t *inst, CONF_SECTION *conf)
+ static int mod_instantiate(CONF_SECTION *conf, void *instance)
+ {
+ rlm_python_t *inst = instance;
+- int code = 0;
++ int code = RLM_MODULE_OK;
+
+ inst->name = cf_section_name2(conf);
+ if (!inst->name) inst->name = cf_section_name1(conf);
+@@ -1245,8 +1252,10 @@ static int mod_instantiate(CONF_SECTION *conf, void *instance)
+ PYTHON_FUNC_LOAD(preacct);
+ PYTHON_FUNC_LOAD(accounting);
+ PYTHON_FUNC_LOAD(checksimul);
++#ifdef WITH_PROXY
+ PYTHON_FUNC_LOAD(pre_proxy);
+ PYTHON_FUNC_LOAD(post_proxy);
++#endif
+ PYTHON_FUNC_LOAD(post_auth);
+ #ifdef WITH_COA
+ PYTHON_FUNC_LOAD(recv_coa);
+@@ -1257,12 +1266,14 @@ static int mod_instantiate(CONF_SECTION *conf, void *instance)
+ /*
+ * Call the instantiate function.
+ */
+- code = do_python_single(NULL, inst->instantiate.function, "instantiate", inst->pass_all_vps, inst->pass_all_vps_dict);
+- if (code < 0) {
+- error:
+- python_error_log(); /* Needs valid thread with GIL */
+- PyEval_SaveThread();
+- return -1;
++ if (inst->instantiate.function) {
++ code = do_python_single(NULL, inst->instantiate.function, "instantiate", inst->pass_all_vps, inst->pass_all_vps_dict);
++ if (code < 0) {
++ error:
++ python_error_log(); /* Needs valid thread with GIL */
++ PyEval_SaveThread();
++ return -1;
++ }
+ }
+ PyEval_SaveThread();
+
+@@ -1272,22 +1283,31 @@ static int mod_instantiate(CONF_SECTION *conf, void *instance)
+ static int mod_detach(void *instance)
+ {
+ rlm_python_t *inst = instance;
+- int ret;
++ int ret = RLM_MODULE_OK;
+
+ /*
+ * Call module destructor
+ */
+ PyEval_RestoreThread(inst->sub_interpreter);
+
+- ret = do_python_single(NULL, inst->detach.function, "detach", inst->pass_all_vps, inst->pass_all_vps_dict);
++ if (inst->detach.function) ret = do_python_single(NULL, inst->detach.function, "detach", inst->pass_all_vps, inst->pass_all_vps_dict);
+
+ #define PYTHON_FUNC_DESTROY(_x) python_function_destroy(&inst->_x)
+ PYTHON_FUNC_DESTROY(instantiate);
+- PYTHON_FUNC_DESTROY(authorize);
+ PYTHON_FUNC_DESTROY(authenticate);
++ PYTHON_FUNC_DESTROY(authorize);
+ PYTHON_FUNC_DESTROY(preacct);
+ PYTHON_FUNC_DESTROY(accounting);
+ PYTHON_FUNC_DESTROY(checksimul);
++#ifdef WITH_PROXY
++ PYTHON_FUNC_DESTROY(pre_proxy);
++ PYTHON_FUNC_DESTROY(post_proxy);
++#endif
++ PYTHON_FUNC_DESTROY(post_auth);
++#ifdef WITH_COA
++ PYTHON_FUNC_DESTROY(recv_coa);
++ PYTHON_FUNC_DESTROY(send_coa);
++#endif
+ PYTHON_FUNC_DESTROY(detach);
+
+ Py_DecRef(inst->pythonconf_dict);
+@@ -1313,14 +1333,8 @@ static int mod_detach(void *instance)
+ PyThreadState_Swap(main_interpreter); /* Swap to the main thread */
+ Py_Finalize();
+ dlclose(python_dlhandle);
+-
+-#if PY_VERSION_HEX > 0x03050000
+- //if (inst->wide_name) PyMem_RawFree(inst->wide_name);
+- //if (inst->wide_path) PyMem_RawFree(inst->wide_path);
+-#endif
+ }
+
+-
+ return ret;
+ }
+
+@@ -1348,8 +1362,10 @@ module_t rlm_python3 = {
+ [MOD_PREACCT] = mod_preacct,
+ [MOD_ACCOUNTING] = mod_accounting,
+ [MOD_SESSION] = mod_checksimul,
++#ifdef WITH_PROXY
+ [MOD_PRE_PROXY] = mod_pre_proxy,
+ [MOD_POST_PROXY] = mod_post_proxy,
++#endif
+ [MOD_POST_AUTH] = mod_post_auth,
+ #ifdef WITH_COA
+ [MOD_RECV_COA] = mod_recv_coa,
diff --git a/net-dialup/freeradius/files/freeradius-3.0.20-systemd-service.patch b/net-dialup/freeradius/files/freeradius-3.0.20-systemd-service.patch
new file mode 100644
index 00000000000..04223657d5f
--- /dev/null
+++ b/net-dialup/freeradius/files/freeradius-3.0.20-systemd-service.patch
@@ -0,0 +1,57 @@
+diff --git a/debian/freeradius.service b/debian/freeradius.service
+index 378702d184..ee33c2a294 100644
+--- a/debian/freeradius.service
++++ b/debian/freeradius.service
+@@ -7,7 +7,6 @@ Documentation=man:radiusd(8) man:radiusd.conf(5) http://wiki.freeradius.org/ htt
+ Type=notify
+ WatchdogSec=60
+ NotifyAccess=all
+-EnvironmentFile=-/etc/default/freeradius
+
+ # FreeRADIUS can do static evaluation of policy language rules based
+ # on environmental variables which is very useful for doing per-host
+@@ -25,16 +24,15 @@ MemoryLimit=2G
+ # Ensure the daemon can still write its pidfile after it drops
+ # privileges. Combination of options that work on a variety of
+ # systems. Test very carefully if you alter these lines.
+-RuntimeDirectory=freeradius
++RuntimeDirectory=radiusd
+ RuntimeDirectoryMode=0775
+ # This does not work on Debian Jessie:
+-User=freerad
+-Group=freerad
+-# This does not work on Ubuntu Bionic:
+-ExecStartPre=/bin/chown freerad:freerad /var/run/freeradius
++User=radius
++Group=radius
+
+-ExecStartPre=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cx -lstdout
+-ExecStart=/usr/sbin/freeradius -f $FREERADIUS_OPTIONS
++ExecStartPre=/usr/sbin/radiusd $RADIUSD_OPTIONS -Cx -lstdout
++ExecStart=/usr/sbin/radiusd -f $RADIUSD_OPTIONS
++ExecReload=/bin/kill -HUP $MAINPID
+ Restart=on-failure
+ RestartSec=5
+
+@@ -42,7 +40,7 @@ RestartSec=5
+ NoNewPrivileges=true
+
+ # Allow binding to secure ports, broadcast addresses, and raw interfaces.
+-#CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW CAP_SETUID CAP_SETGID CAP_CHOWN CAP_DAC_OVERRIDE
++CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW CAP_SETUID CAP_SETGID CAP_CHOWN CAP_DAC_OVERRIDE
+
+ # Private /tmp that isn't shared by other processes
+ PrivateTmp=true
+@@ -60,10 +58,10 @@ ProtectKernelTunables=true
+ SystemCallArchitectures=native
+
+ # We shouldn't be writing to the configuration directory
+-ReadOnlyDirectories=/etc/freeradius/
++ReadOnlyDirectories=/etc/raddb/
+
+ # We can read and write to the log directory.
+-ReadWriteDirectories=/var/log/freeradius/
++ReadWriteDirectories=/var/log/radius/
+
+ [Install]
+ WantedBy=multi-user.target
diff --git a/net-dialup/freeradius/freeradius-3.0.20.ebuild b/net-dialup/freeradius/freeradius-3.0.20.ebuild
new file mode 100644
index 00000000000..533b388bf6c
--- /dev/null
+++ b/net-dialup/freeradius/freeradius-3.0.20.ebuild
@@ -0,0 +1,267 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit autotools pam python-single-r1 systemd
+
+MY_P="${PN}-server-${PV}"
+
+DESCRIPTION="Highly configurable free RADIUS server"
+SRC_URI="
+ ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz
+ ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz
+"
+HOMEPAGE="http://www.freeradius.org/"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="
+ debug firebird iodbc kerberos ldap libressl memcached mysql mongodb odbc oracle pam
+ pcap postgres python readline redis rest samba sqlite ssl systemd
+"
+RESTRICT="test firebird? ( bindist )"
+
+# NOTE: Temporary freeradius doesn't support linking with mariadb client
+# libs also if code is compliant, will be available in the next release.
+# (http://lists.freeradius.org/pipermail/freeradius-devel/2018-October/013228.html)a
+
+# TODO: rlm_mschap works with both samba library or without. I need to avoid
+# linking of samba library if -samba is used.
+RDEPEND="acct-group/radius
+ acct-user/radius
+ !net-dialup/cistronradius
+ dev-lang/perl:=
+ sys-libs/gdbm:=
+ sys-libs/talloc
+ firebird? ( dev-db/firebird )
+ iodbc? ( dev-db/libiodbc )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap )
+ memcached? ( dev-libs/libmemcached )
+ mysql? ( dev-db/mysql-connector-c )
+ mongodb? ( >=dev-libs/mongo-c-driver-1.13.0-r1 )
+ odbc? ( dev-db/unixODBC )
+ oracle? ( dev-db/oracle-instantclient-basic )
+ pam? ( sys-libs/pam )
+ pcap? ( net-libs/libpcap )
+ postgres? ( dev-db/postgresql:= )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:0= )
+ redis? ( dev-libs/hiredis:= )
+ rest? ( dev-libs/json-c:= )
+ samba? ( net-fs/samba )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0=[-bindist] )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ systemd? ( sys-apps/systemd )"
+DEPEND="${RDEPEND}"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.18-libressl.patch
+ "${FILESDIR}"/${P}-systemd-service.patch
+ # Fix rlm_python3 build
+ # Backport from rlm_python changes to rlm_python3
+ "${FILESDIR}"/${P}-py3-fixes.patch
+)
+
+pkg_setup() {
+ if use python ; then
+ python-single-r1_pkg_setup
+ export PYTHONBIN="${EPYTHON}"
+ fi
+}
+
+src_prepare() {
+ # most of the configuration options do not appear as ./configure
+ # switches. Instead it identifies the directories that are available
+ # and run through them. These might check for the presence of
+ # various libraries, in which case they are not built. To avoid
+ # automagic dependencies, we just remove all the modules that we're
+ # not interested in using.
+
+ eapply_user
+
+ use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; }
+ use ldap || { rm -r src/modules/rlm_ldap || die ; }
+ use kerberos || { rm -r src/modules/rlm_krb5 || die ; }
+ use memcached || { rm -r src/modules/rlm_cache/drivers/rlm_cache_memcached || die ; }
+ use pam || { rm -r src/modules/rlm_pam || die ; }
+ # Drop support of python2
+ rm -r src/modules/rlm_python || die
+ use python || { rm -r src/modules/rlm_python3 || die ; }
+ use rest || { rm -r src/modules/rlm_rest || die ; }
+ use redis || { rm -r src/modules/rlm_redis{,who} || die ; }
+ # Do not install ruby rlm module, bug #483108
+ rm -r src/modules/rlm_ruby || die
+
+ # these are all things we don't have in portage/I don't want to deal
+ # with myself
+ rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die # requires TNCS library
+ rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die # requires libeap-ikev2
+ rm -r src/modules/rlm_opendirectory || die # requires some membership.h
+ rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds} || die
+
+ # sql drivers that are not part of experimental are loaded from a
+ # file, so we have to remove them from the file itself when we
+ # remove them.
+ usesqldriver() {
+ local flag=$1
+ local driver=rlm_sql_${2:-${flag}}
+
+ if ! use ${flag}; then
+ rm -r src/modules/rlm_sql/drivers/${driver} || die
+ sed -i -e /${driver}/d src/modules/rlm_sql/stable || die
+ fi
+ }
+
+ sed -i \
+ -e 's:^#\tuser = :\tuser = :g' \
+ -e 's:^#\tgroup = :\tgroup = :g' \
+ -e 's:/var/run/radiusd:/run/radiusd:g' \
+ -e '/^run_dir/s:${localstatedir}::g' \
+ raddb/radiusd.conf.in || die
+
+ # verbosity
+ # build shared libraries using jlibtool --shared
+ sed -i \
+ -e '/$(LIBTOOL)/s|--quiet ||g' \
+ -e 's:--mode=\(compile\|link\):& --shared:g' \
+ Make.inc.in || die
+
+ sed -i \
+ -e 's|--silent ||g' \
+ -e 's:--mode=\(compile\|link\):& --shared:g' \
+ scripts/libtool.mk || die
+
+ # crude measure to stop jlibtool from running ranlib and ar
+ sed -i \
+ -e '/LIBRARIAN/s|".*"|"true"|g' \
+ -e '/RANLIB/s|".*"|"true"|g' \
+ scripts/jlibtool.c || die
+
+ usesqldriver mysql
+ usesqldriver postgres postgresql
+ usesqldriver firebird
+ usesqldriver iodbc
+ usesqldriver odbc unixodbc
+ usesqldriver oracle
+ usesqldriver sqlite
+ usesqldriver mongodb mongo
+
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ # do not try to enable static with static-libs; upstream is a
+ # massacre of libtool best practices so you also have to make sure
+ # to --enable-shared explicitly.
+ local myeconfargs=(
+ --enable-shared
+ --disable-static
+ --disable-ltdl-install
+ --with-system-libtool
+ --with-system-libltdl
+ --with-ascend-binary
+ --with-udpfromto
+ --with-dhcp
+ --with-iodbc-include-dir=/usr/include/iodbc
+ --with-experimental-modules
+ --with-docdir=/usr/share/doc/${PF}
+ --with-logdir=/var/log/radius
+ $(use_enable debug developer)
+ $(use_with ldap edir)
+ $(use_with ssl openssl)
+ $(use_with systemd systemd)
+ )
+ # fix bug #77613
+ if has_version app-crypt/heimdal; then
+ myeconfargs+=( --enable-heimdal-krb5 )
+ fi
+
+ if use python ; then
+ myeconfargs+=(
+ --with-rlm-python3-bin=${EPYTHON}
+ --with-rlm-python3-config-bin=${EPYTHON}-config
+ )
+ fi
+
+ use readline || export ac_cv_lib_readline=no
+ use pcap || export ac_cv_lib_pcap_pcap_open_live=no
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ # verbose, do not generate certificates
+ emake \
+ Q='' ECHO=true \
+ LOCAL_CERT_PRODUCTS=''
+}
+
+src_install() {
+ dodir /etc
+ diropts -m0750 -o root -g radius
+ dodir /etc/raddb
+ diropts -m0750 -o radius -g radius
+ dodir /var/log/radius
+ keepdir /var/log/radius/radacct
+ diropts
+
+ # verbose, do not install certificates
+ # Parallel install fails (#509498)
+ emake -j1 \
+ Q='' ECHO=true \
+ LOCAL_CERT_PRODUCTS='' \
+ R="${D}" \
+ install
+
+ pamd_mimic_system radiusd auth account password session
+
+ dodoc CREDITS
+
+ rm "${ED}/usr/sbin/rc.radiusd" || die
+
+ newinitd "${FILESDIR}/radius.init-r3" radiusd
+ newconfd "${FILESDIR}/radius.conf-r4" radiusd
+
+ if ! use systemd ; then
+ # If systemd builtin is not enabled we need use Type=Simple
+ # as systemd .service
+ sed -i -e 's:^Type=.*::g' \
+ -e 's:^WatchdogSec=.*::g' -e 's:^NotifyAccess=all.*::g' \
+ "${S}"/debian/freeradius.service
+ fi
+ systemd_newtmpfilesd "${FILESDIR}"/freeradius.tmpfiles freeradius.conf
+ systemd_dounit "${S}"/debian/freeradius.service
+
+ find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
+}
+
+pkg_config() {
+ if use ssl; then
+ cd "${ROOT}"/etc/raddb/certs || die
+ ./bootstrap || die "Error while running ./bootstrap script."
+ fowners root:radius "${ROOT}"/etc/raddb/certs
+ fowners root:radius "${ROOT}"/etc/raddb/certs/ca.pem
+ fowners root:radius "${ROOT}"/etc/raddb/certs/server.{key,crt,pem}
+ fi
+}
+
+pkg_preinst() {
+ if ! has_version ${CATEGORY}/${PN} && use ssl; then
+ elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able"
+ elog "to start the radiusd service."
+ fi
+}
diff --git a/net-dialup/freeradius/metadata.xml b/net-dialup/freeradius/metadata.xml
index 0f82cd9f9ed..6d8b1cc6623 100644
--- a/net-dialup/freeradius/metadata.xml
+++ b/net-dialup/freeradius/metadata.xml
@@ -22,5 +22,8 @@
<flag name="redis">
Include support for Redis database
</flag>
+ <flag name="mongodb">
+ Include support for MongoDB database
+ </flag>
</use>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-dialup/freeradius/files/, net-dialup/freeradius/
@ 2020-04-17 7:36 Joonas Niilola
0 siblings, 0 replies; 9+ messages in thread
From: Joonas Niilola @ 2020-04-17 7:36 UTC (permalink / raw
To: gentoo-commits
commit: 8475a815d7bb356fa09d69b130833ae08f63873c
Author: Daniele Rondina <geaaru <AT> gmail <DOT> com>
AuthorDate: Thu Apr 16 16:44:49 2020 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Apr 17 07:35:56 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8475a815
net-dialup/freeradius: Drop old
Package-Manager: Portage-2.3.69, Repoman-2.3.14
Bug: https://bugs.gentoo.org/685840
Signed-off-by: Daniele Rondina <geaaru <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/15369
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
net-dialup/freeradius/Manifest | 4 -
.../files/freeradius-3.0.18-systemd-service.patch | 34 ---
.../files/freeradius-3.0.19-systemd-service.patch | 53 -----
net-dialup/freeradius/files/freeradius.service | 15 --
net-dialup/freeradius/freeradius-3.0.15.ebuild | 227 -------------------
net-dialup/freeradius/freeradius-3.0.17.ebuild | 240 --------------------
net-dialup/freeradius/freeradius-3.0.18-r1.ebuild | 244 ---------------------
net-dialup/freeradius/freeradius-3.0.19.ebuild | 242 --------------------
8 files changed, 1059 deletions(-)
diff --git a/net-dialup/freeradius/Manifest b/net-dialup/freeradius/Manifest
index 9b65bbd2cbf..b0ca97f73df 100644
--- a/net-dialup/freeradius/Manifest
+++ b/net-dialup/freeradius/Manifest
@@ -1,5 +1 @@
-DIST freeradius-server-3.0.15.tar.gz 4818244 BLAKE2B 24cded2c4f0c6fc6a6135058c40bb2c9d100a55161f2edfc388efba991ff85ecd0f546bc2008cc0c50f2753cf93ece8e67dc3fc0fe13a8b935193ff1f68514b9 SHA512 9b92045b445032bde9d421499fdc0f6a08d602c501730c31a8d3974b21cc5c12c78abb024ed62a176c7aa7fe260fe1d19386aaf558e0fecfcd3a0ba7aa47499c
-DIST freeradius-server-3.0.17.tar.gz 4843020 BLAKE2B 9e1f54a9f5ad8ede471881ffe4ec987c3ac655a3c39fcd920094760c006102be02f3b7f25b14379a0bac876ac0944e8698c2781bbd804cd22d8b915b6c13a693 SHA512 381222e452288c56a1bf68953be57379a5568f0c92de022abc3004cc6a15078d46535b867b31801de3eb096ba7af92e745e79decfa7cc8151a1ffb371b1aea79
-DIST freeradius-server-3.0.18.tar.gz 4884192 BLAKE2B 21df490f5eba4e0eca42127181fa02a9451abf5fc2b0d7c5e6d0c5c287eda739585500a31f480dccc618c3bbb4096fbe9258c1b2d3a2047951abf85d68784862 SHA512 b81c40cd22170adb1126b9dde6dd84411dfafce33e27da6c4665cb4fc524aab854a7cd4c80757db50899604d7980aec7216e1c53b8184af482c7113692a26458
-DIST freeradius-server-3.0.19.tar.gz 4886632 BLAKE2B 6e9b73eaa29344e4efca6ad19d8e86df8c625921441712b71cb54c2b0db78fc909748da42be837a9170fb6312be22f236956f0d2b169050a37ac8c4de143cc96 SHA512 8a914e2ad1fbeb4cf8c00aaf7eaa154ea17f70e4d58734716bfaf71b3ddef9f8f63a4d3217bdc07dfa776273e5bf090bc98f7bb16f5b565339ddc3b9c13e091f
DIST freeradius-server-3.0.20.tar.gz 5002727 BLAKE2B f481ad22105694a4af3f0f0c1b4f6e395e8da0fe65274e32ebeed07e3c9b1869029e6ffbc655cfa41d5de2a1dcba54acee33a7a10d28bfbfce791b7ccd0fc57a SHA512 513ed0a5d9e6b9a8d89a9b02c86ff528a9ff14d928f4c1040ca44702465abd711588fe6afa35554cb2c8e8bd7f19dd5be3dbc78445c62c7b00bf5cbc4c621312
diff --git a/net-dialup/freeradius/files/freeradius-3.0.18-systemd-service.patch b/net-dialup/freeradius/files/freeradius-3.0.18-systemd-service.patch
deleted file mode 100644
index 3da4b422f5d..00000000000
--- a/net-dialup/freeradius/files/freeradius-3.0.18-systemd-service.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git a/debian/freeradius.service b/debian/freeradius.service
-index 99873c0..97efc66 100644
---- a/debian/freeradius.service
-+++ b/debian/freeradius.service
-@@ -17,12 +17,26 @@ Environment=HOSTNAME=%H
- # a leak somewhere.
- MemoryLimit=2G
-
--RuntimeDirectory=freeradius
-+RuntimeDirectory=radiusd
- RuntimeDirectoryMode=0775
--ExecStartPre=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cx -lstdout
--ExecStart=/usr/sbin/freeradius $FREERADIUS_OPTIONS
-+Group=radius
-+User=radius
-+ExecStartPre=/usr/sbin/radiusd $RADIUSD_OPTS -Cx -lstdout
-+ExecStart=/usr/sbin/radiusd -f $RADIUSD_OPTS
-+ExecReload=/usr/sbin/radiusd -C $RADIUSD_OPTS
-+ExecReload=/bin/kill -HUP $MAINPID
- Restart=on-failure
- RestartSec=5
-+ReadOnlyDirectories=/etc/raddb/
-+ReadWriteDirectories=/var/log/radius/
-+# Security options (https://github.com/FreeRADIUS/freeradius-server/issues/2637)
-+NoNewPrivileges=true
-+CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW
-+PrivateTmp=true
-+ProtectControlGroups=true
-+ProtectKernelModules=true
-+ProtectKernelTunables=true
-+SystemCallArchitectures=native
-
- [Install]
- WantedBy=multi-user.target
diff --git a/net-dialup/freeradius/files/freeradius-3.0.19-systemd-service.patch b/net-dialup/freeradius/files/freeradius-3.0.19-systemd-service.patch
deleted file mode 100644
index 37b67dfb21a..00000000000
--- a/net-dialup/freeradius/files/freeradius-3.0.19-systemd-service.patch
+++ /dev/null
@@ -1,53 +0,0 @@
---- a/debian/freeradius.service 2019-12-01 10:02:31.453150556 +0100
-+++ b/debian/freeradius.service 2019-12-01 10:08:16.781370632 +0100
-@@ -4,11 +4,10 @@
- Documentation=man:radiusd(8) man:radiusd.conf(5) http://wiki.freeradius.org/ http://networkradius.com/doc/
-
- [Service]
--Type=notify
--WatchdogSec=60
--NotifyAccess=all
--PIDFile=/run/freeradius/freeradius.pid
--EnvironmentFile=-/etc/default/freeradius
-+# In 3.0.19 SystemD integration is broken.
-+# Type=notify
-+# WatchdogSec=60
-+# NotifyAccess=all
-
- # FreeRADIUS can do static evaluation of policy language rules based
- # on environmental variables which is very useful for doing per-host
-@@ -26,17 +25,27 @@
- # Ensure the daemon can still write its pidfile after it drops
- # privileges. Combination of options that work on a variety of
- # systems. Test very carefully if you alter these lines.
--RuntimeDirectory=freeradius
-+RuntimeDirectory=radiusd
- RuntimeDirectoryMode=0775
- # This does not work on Debian Jessie:
--Group=freerad
--# This does not work on Ubuntu Bionic:
--ExecStartPre=/bin/chown freerad:freerad /var/run/freeradius
--
--ExecStartPre=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cx -lstdout
--ExecStart=/usr/sbin/freeradius $FREERADIUS_OPTIONS
-+Group=radius
-+User=radius
-+ExecStartPre=/usr/sbin/radiusd $RADIUSD_OPTS -Cx -lstdout
-+ExecStart=/usr/sbin/radiusd -f $RADIUSD_OPTS
-+ExecReload=/usr/sbin/radiusd -C $RADIUSD_OPTS
-+ExecReload=/bin/kill -HUP $MAINPID
- Restart=on-failure
- RestartSec=5
-+ReadOnlyDirectories=/etc/raddb/
-+ReadWriteDirectories=/var/log/radius/
-+# Security options (https://github.com/FreeRADIUS/freeradius-server/issues/2637)
-+NoNewPrivileges=true
-+CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW
-+PrivateTmp=true
-+ProtectControlGroups=true
-+ProtectKernelModules=true
-+ProtectKernelTunables=true
-+SystemCallArchitectures=native
-
- [Install]
- WantedBy=multi-user.target
diff --git a/net-dialup/freeradius/files/freeradius.service b/net-dialup/freeradius/files/freeradius.service
deleted file mode 100644
index 5304f076119..00000000000
--- a/net-dialup/freeradius/files/freeradius.service
+++ /dev/null
@@ -1,15 +0,0 @@
-[Unit]
-Description=FreeRADIUS high performance RADIUS server.
-After=syslog.target network.target
-
-[Service]
-Type=simple
-PIDFile=/run/radiusd/radiusd.pid
-ExecStartPre=-/bin/chown -R radius.radius /run/radiusd
-ExecStartPre=/usr/sbin/radiusd -C
-ExecStart=/usr/sbin/radiusd -d /etc/raddb -f
-ExecReload=/usr/sbin/radiusd -C
-ExecReload=/bin/kill -HUP $MAINPID
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-dialup/freeradius/freeradius-3.0.15.ebuild b/net-dialup/freeradius/freeradius-3.0.15.ebuild
deleted file mode 100644
index 84422b0b316..00000000000
--- a/net-dialup/freeradius/freeradius-3.0.15.ebuild
+++ /dev/null
@@ -1,227 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-inherit autotools pam python-single-r1 systemd user
-
-MY_P="${PN}-server-${PV}"
-
-DESCRIPTION="Highly configurable free RADIUS server"
-SRC_URI="
- ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz
- ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz
-"
-HOMEPAGE="http://www.freeradius.org/"
-
-KEYWORDS="amd64 ~arm ~ppc ~ppc64 ~sparc x86"
-LICENSE="GPL-2+"
-SLOT="0"
-
-IUSE="
- debug firebird iodbc kerberos ldap libressl mysql odbc oracle pam pcap
- postgres python readline sqlite ssl
-"
-RESTRICT="test firebird? ( bindist )"
-
-RDEPEND="!net-dialup/cistronradius
- !net-dialup/gnuradius
- sys-devel/libtool
- dev-lang/perl:=
- sys-libs/gdbm:=
- sys-libs/talloc
- python? ( ${PYTHON_DEPS} )
- readline? ( sys-libs/readline:0= )
- pcap? ( net-libs/libpcap )
- mysql? ( dev-db/mysql-connector-c:= )
- postgres? ( dev-db/postgresql:= )
- firebird? ( dev-db/firebird )
- pam? ( sys-libs/pam )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- ldap? ( net-nds/openldap )
- kerberos? ( virtual/krb5 )
- sqlite? ( dev-db/sqlite:3 )
- odbc? ( dev-db/unixODBC )
- iodbc? ( dev-db/libiodbc )
- oracle? ( dev-db/oracle-instantclient-basic )"
-DEPEND="${RDEPEND}"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_setup() {
- enewgroup radius
- enewuser radius -1 -1 /var/log/radius radius
-
- python-single-r1_pkg_setup
- export PYTHONBIN="${EPYTHON}"
-}
-
-src_prepare() {
- # most of the configuration options do not appear as ./configure
- # switches. Instead it identifies the directories that are available
- # and run through them. These might check for the presence of
- # various libraries, in which case they are not built. To avoid
- # automagic dependencies, we just remove all the modules that we're
- # not interested in using.
-
- use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; }
- use ldap || { rm -r src/modules/rlm_ldap || die ; }
- use kerberos || { rm -r src/modules/rlm_krb5 || die ; }
- use pam || { rm -r src/modules/rlm_pam || die ; }
- use python || { rm -r src/modules/rlm_python || die ; }
- # Do not install ruby rlm module, bug #483108
- rm -r src/modules/rlm_ruby || die
-
- # these are all things we don't have in portage/I don't want to deal
- # with myself
- rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die # requires TNCS library
- rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die # requires libeap-ikev2
- rm -r src/modules/rlm_opendirectory || die # requires some membership.h
- rm -r src/modules/rlm_redis{,who} || die # requires redis
- rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds} || die
-
- # sql drivers that are not part of experimental are loaded from a
- # file, so we have to remove them from the file itself when we
- # remove them.
- usesqldriver() {
- local flag=$1
- local driver=rlm_sql_${2:-${flag}}
-
- if ! use ${flag}; then
- rm -r src/modules/rlm_sql/drivers/${driver} || die
- sed -i -e /${driver}/d src/modules/rlm_sql/stable || die
- fi
- }
-
- sed -i \
- -e 's:^#\tuser = :\tuser = :g' \
- -e 's:^#\tgroup = :\tgroup = :g' \
- -e 's:/var/run/radiusd:/run/radiusd:g' \
- -e '/^run_dir/s:${localstatedir}::g' \
- raddb/radiusd.conf.in || die
-
- # verbosity
- # build shared libraries using jlibtool --shared
- sed -i \
- -e '/$(LIBTOOL)/s|--quiet ||g' \
- -e 's:--mode=\(compile\|link\):& --shared:g' \
- Make.inc.in || die
-
- sed -i \
- -e 's|--silent ||g' \
- -e 's:--mode=\(compile\|link\):& --shared:g' \
- scripts/libtool.mk || die
-
- # crude measure to stop jlibtool from running ranlib and ar
- sed -i \
- -e '/LIBRARIAN/s|".*"|"true"|g' \
- -e '/RANLIB/s|".*"|"true"|g' \
- scripts/jlibtool.c || die
-
- usesqldriver mysql
- usesqldriver postgres postgresql
- usesqldriver firebird
- usesqldriver iodbc
- usesqldriver odbc unixodbc
- usesqldriver oracle
- usesqldriver sqlite
-
- default
-
- eautoreconf
-}
-
-src_configure() {
- # fix bug #77613
- local myeconfargs=()
- if has_version app-crypt/heimdal; then
- myeconfargs+=( --enable-heimdal-krb5 )
- fi
-
- use readline || export ac_cv_lib_readline=no
- use pcap || export ac_cv_lib_pcap_pcap_open_live=no
-
- # do not try to enable static with static-libs; upstream is a
- # massacre of libtool best practices so you also have to make sure
- # to --enable-shared explicitly.
- myeconfargs+=(
- --enable-shared
- --disable-static
- --disable-ltdl-install
- --with-system-libtool
- --with-system-libltdl
- --with-ascend-binary
- --with-udpfromto
- --with-dhcp
- --with-iodbc-include-dir=/usr/include/iodbc
- --with-experimental-modules
- --with-docdir=/usr/share/doc/${PF}
- --with-logdir=/var/log/radius
- $(use_enable debug developer)
- $(use_with ldap edir)
- $(use_with ssl openssl)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # verbose, do not generate certificates
- emake \
- Q='' ECHO=true \
- LOCAL_CERT_PRODUCTS=''
-}
-
-src_install() {
- dodir /etc
- diropts -m0750 -o root -g radius
- dodir /etc/raddb
- diropts -m0750 -o radius -g radius
- dodir /var/log/radius
- keepdir /var/log/radius/radacct
- diropts
-
- # verbose, do not install certificates
- # Parallel install fails (#509498)
- emake -j1 \
- Q='' ECHO=true \
- LOCAL_CERT_PRODUCTS='' \
- R="${D}" \
- install
-
- fowners -R root:radius /etc/raddb
-
- pamd_mimic_system radiusd auth account password session
-
- dodoc CREDITS
-
- rm "${D}/usr/sbin/rc.radiusd" || die
-
- newinitd "${FILESDIR}/radius.init-r3" radiusd
- newconfd "${FILESDIR}/radius.conf-r4" radiusd
-
- systemd_newtmpfilesd "${FILESDIR}"/freeradius.tmpfiles freeradius.conf
- systemd_dounit "${FILESDIR}"/freeradius.service
-
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
-}
-
-pkg_config() {
- if use ssl; then
- cd "${ROOT}"/etc/raddb/certs || die
- ./bootstrap || die "Error while running ./bootstrap script."
- fowners -R root:radius "${ROOT}"/etc/raddb/certs
- fi
-}
-
-pkg_preinst() {
- if ! has_version ${CATEGORY}/${PN} && use ssl; then
- elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able"
- elog "to start the radiusd service."
- fi
-}
diff --git a/net-dialup/freeradius/freeradius-3.0.17.ebuild b/net-dialup/freeradius/freeradius-3.0.17.ebuild
deleted file mode 100644
index 513bffb3f38..00000000000
--- a/net-dialup/freeradius/freeradius-3.0.17.ebuild
+++ /dev/null
@@ -1,240 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_6} )
-inherit autotools pam python-single-r1 systemd user
-
-MY_P="${PN}-server-${PV}"
-
-DESCRIPTION="Highly configurable free RADIUS server"
-SRC_URI="
- ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz
- ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz
-"
-HOMEPAGE="http://www.freeradius.org/"
-
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~sparc ~x86"
-LICENSE="GPL-2+"
-SLOT="0"
-
-IUSE="
- debug firebird iodbc kerberos ldap libressl memcached mysql odbc oracle pam
- pcap postgres python readline rest samba sqlite ssl redis
-"
-RESTRICT="test firebird? ( bindist )"
-
-# NOTE: Temporary freeradius doesn't support linking with mariadb client
-# libs also if code is compliant, will be available in the next release.
-# (http://lists.freeradius.org/pipermail/freeradius-devel/2018-October/013228.html)
-RDEPEND="!net-dialup/cistronradius
- !net-dialup/gnuradius
- dev-lang/perl:=
- sys-libs/gdbm:=
- sys-libs/talloc
- python? ( ${PYTHON_DEPS} )
- readline? ( sys-libs/readline:0= )
- pcap? ( net-libs/libpcap )
- memcached? ( dev-libs/libmemcached )
- mysql? ( dev-db/mysql-connector-c )
- postgres? ( dev-db/postgresql:= )
- firebird? ( dev-db/firebird )
- pam? ( sys-libs/pam )
- rest? ( dev-libs/json-c:= )
- samba? ( net-fs/samba )
- redis? ( dev-libs/hiredis:= )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[-bindist] )
- libressl? ( dev-libs/libressl:0= )
- )
- ldap? ( net-nds/openldap )
- kerberos? ( virtual/krb5 )
- sqlite? ( dev-db/sqlite:3 )
- odbc? ( dev-db/unixODBC )
- iodbc? ( dev-db/libiodbc )
- oracle? ( dev-db/oracle-instantclient-basic )"
-DEPEND="${RDEPEND}"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_setup() {
- enewgroup radius
- enewuser radius -1 -1 /var/log/radius radius
-
- if use python ; then
- python-single-r1_pkg_setup
- export PYTHONBIN="${EPYTHON}"
- fi
-}
-
-src_prepare() {
- # most of the configuration options do not appear as ./configure
- # switches. Instead it identifies the directories that are available
- # and run through them. These might check for the presence of
- # various libraries, in which case they are not built. To avoid
- # automagic dependencies, we just remove all the modules that we're
- # not interested in using.
-
- use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; }
- use ldap || { rm -r src/modules/rlm_ldap || die ; }
- use kerberos || { rm -r src/modules/rlm_krb5 || die ; }
- use memcached || { rm -r src/modules/rlm_cache/drivers/rlm_cache_memcached || die ; }
- use pam || { rm -r src/modules/rlm_pam || die ; }
- use python || { rm -r src/modules/rlm_python || die ; }
- use rest || { rm -r src/modules/rlm_rest || die ; }
- use redis || { rm -r src/modules/rlm_redis{,who} || die ; }
- # can't just nuke rlm_mschap because many modules rely on smbdes.h
- use samba || { rm -r src/modules/rlm_mschap/{configure,*.mk} || die ; }
- # Do not install ruby rlm module, bug #483108
- rm -r src/modules/rlm_ruby || die
-
- # these are all things we don't have in portage/I don't want to deal
- # with myself
- rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die # requires TNCS library
- rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die # requires libeap-ikev2
- rm -r src/modules/rlm_opendirectory || die # requires some membership.h
- rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds} || die
-
- # sql drivers that are not part of experimental are loaded from a
- # file, so we have to remove them from the file itself when we
- # remove them.
- usesqldriver() {
- local flag=$1
- local driver=rlm_sql_${2:-${flag}}
-
- if ! use ${flag}; then
- rm -r src/modules/rlm_sql/drivers/${driver} || die
- sed -i -e /${driver}/d src/modules/rlm_sql/stable || die
- fi
- }
-
- sed -i \
- -e 's:^#\tuser = :\tuser = :g' \
- -e 's:^#\tgroup = :\tgroup = :g' \
- -e 's:/var/run/radiusd:/run/radiusd:g' \
- -e '/^run_dir/s:${localstatedir}::g' \
- raddb/radiusd.conf.in || die
-
- # verbosity
- # build shared libraries using jlibtool --shared
- sed -i \
- -e '/$(LIBTOOL)/s|--quiet ||g' \
- -e 's:--mode=\(compile\|link\):& --shared:g' \
- Make.inc.in || die
-
- sed -i \
- -e 's|--silent ||g' \
- -e 's:--mode=\(compile\|link\):& --shared:g' \
- scripts/libtool.mk || die
-
- # crude measure to stop jlibtool from running ranlib and ar
- sed -i \
- -e '/LIBRARIAN/s|".*"|"true"|g' \
- -e '/RANLIB/s|".*"|"true"|g' \
- scripts/jlibtool.c || die
-
- usesqldriver mysql
- usesqldriver postgres postgresql
- usesqldriver firebird
- usesqldriver iodbc
- usesqldriver odbc unixodbc
- usesqldriver oracle
- usesqldriver sqlite
-
- default
-
- eautoreconf
-}
-
-src_configure() {
- # do not try to enable static with static-libs; upstream is a
- # massacre of libtool best practices so you also have to make sure
- # to --enable-shared explicitly.
- local myeconfargs=(
- --enable-shared
- --disable-static
- --disable-ltdl-install
- --with-system-libtool
- --with-system-libltdl
- --with-ascend-binary
- --with-udpfromto
- --with-dhcp
- --with-iodbc-include-dir=/usr/include/iodbc
- --with-experimental-modules
- --with-docdir=/usr/share/doc/${PF}
- --with-logdir=/var/log/radius
- $(use_enable debug developer)
- $(use_with ldap edir)
- $(use_with ssl openssl)
- )
- # fix bug #77613
- if has_version app-crypt/heimdal; then
- myeconfargs+=( --enable-heimdal-krb5 )
- fi
-
- use readline || export ac_cv_lib_readline=no
- use pcap || export ac_cv_lib_pcap_pcap_open_live=no
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # verbose, do not generate certificates
- emake \
- Q='' ECHO=true \
- LOCAL_CERT_PRODUCTS=''
-}
-
-src_install() {
- dodir /etc
- diropts -m0750 -o root -g radius
- dodir /etc/raddb
- diropts -m0750 -o radius -g radius
- dodir /var/log/radius
- keepdir /var/log/radius/radacct
- diropts
-
- # verbose, do not install certificates
- # Parallel install fails (#509498)
- emake -j1 \
- Q='' ECHO=true \
- LOCAL_CERT_PRODUCTS='' \
- R="${D}" \
- install
-
- fowners -R root:radius /etc/raddb
- fowners -R radius:radius /var/log/radius
-
- pamd_mimic_system radiusd auth account password session
-
- dodoc CREDITS
-
- rm "${D}/usr/sbin/rc.radiusd" || die
-
- newinitd "${FILESDIR}/radius.init-r3" radiusd
- newconfd "${FILESDIR}/radius.conf-r4" radiusd
-
- systemd_newtmpfilesd "${FILESDIR}"/freeradius.tmpfiles freeradius.conf
- systemd_dounit "${FILESDIR}"/freeradius.service
-
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
-}
-
-pkg_config() {
- if use ssl; then
- cd "${ROOT}"/etc/raddb/certs
- ./bootstrap
-
- chown -R root:radius "${ROOT}"/etc/raddb/certs
- fi
-}
-
-pkg_preinst() {
- if ! has_version ${CATEGORY}/${PN} && use ssl; then
- elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able"
- elog "to start the radiusd service."
- fi
-}
diff --git a/net-dialup/freeradius/freeradius-3.0.18-r1.ebuild b/net-dialup/freeradius/freeradius-3.0.18-r1.ebuild
deleted file mode 100644
index ecc6226870a..00000000000
--- a/net-dialup/freeradius/freeradius-3.0.18-r1.ebuild
+++ /dev/null
@@ -1,244 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_{6,7}} )
-inherit autotools pam python-single-r1 systemd user
-
-MY_P="${PN}-server-${PV}"
-
-DESCRIPTION="Highly configurable free RADIUS server"
-SRC_URI="
- ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz
- ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz
-"
-HOMEPAGE="http://www.freeradius.org/"
-
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86"
-LICENSE="GPL-2+"
-SLOT="0"
-
-IUSE="
- debug firebird iodbc kerberos ldap libressl memcached mysql odbc oracle pam
- pcap postgres python readline rest samba sqlite ssl redis
-"
-RESTRICT="test firebird? ( bindist )"
-
-# NOTE: Temporary freeradius doesn't support linking with mariadb client
-# libs also if code is compliant, will be available in the next release.
-# (http://lists.freeradius.org/pipermail/freeradius-devel/2018-October/013228.html)
-RDEPEND="!net-dialup/cistronradius
- !net-dialup/gnuradius
- dev-lang/perl:=
- sys-libs/gdbm:=
- sys-libs/talloc
- python? ( ${PYTHON_DEPS} )
- readline? ( sys-libs/readline:0= )
- pcap? ( net-libs/libpcap )
- memcached? ( dev-libs/libmemcached )
- mysql? ( dev-db/mysql-connector-c )
- postgres? ( dev-db/postgresql:= )
- firebird? ( dev-db/firebird )
- pam? ( sys-libs/pam )
- rest? ( dev-libs/json-c:= )
- samba? ( net-fs/samba )
- redis? ( dev-libs/hiredis:= )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[-bindist] )
- libressl? ( dev-libs/libressl:0= )
- )
- ldap? ( net-nds/openldap )
- kerberos? ( virtual/krb5 )
- sqlite? ( dev-db/sqlite:3 )
- odbc? ( dev-db/unixODBC )
- iodbc? ( dev-db/libiodbc )
- oracle? ( dev-db/oracle-instantclient-basic )"
-DEPEND="${RDEPEND}"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-libressl.patch
- "${FILESDIR}"/${P}-systemd-service.patch
-)
-
-pkg_setup() {
- enewgroup radius
- enewuser radius -1 -1 /var/log/radius radius
-
- if use python ; then
- python-single-r1_pkg_setup
- export PYTHONBIN="${EPYTHON}"
- fi
-}
-
-src_prepare() {
- # most of the configuration options do not appear as ./configure
- # switches. Instead it identifies the directories that are available
- # and run through them. These might check for the presence of
- # various libraries, in which case they are not built. To avoid
- # automagic dependencies, we just remove all the modules that we're
- # not interested in using.
-
- use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; }
- use ldap || { rm -r src/modules/rlm_ldap || die ; }
- use kerberos || { rm -r src/modules/rlm_krb5 || die ; }
- use memcached || { rm -r src/modules/rlm_cache/drivers/rlm_cache_memcached || die ; }
- use pam || { rm -r src/modules/rlm_pam || die ; }
- use python || { rm -r src/modules/rlm_python || die ; }
- use rest || { rm -r src/modules/rlm_rest || die ; }
- use redis || { rm -r src/modules/rlm_redis{,who} || die ; }
- # can't just nuke rlm_mschap because many modules rely on smbdes.h
- use samba || { rm -r src/modules/rlm_mschap/{configure,*.mk} || die ; }
- # Do not install ruby rlm module, bug #483108
- rm -r src/modules/rlm_ruby || die
-
- # these are all things we don't have in portage/I don't want to deal
- # with myself
- rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die # requires TNCS library
- rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die # requires libeap-ikev2
- rm -r src/modules/rlm_opendirectory || die # requires some membership.h
- rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds} || die
-
- # sql drivers that are not part of experimental are loaded from a
- # file, so we have to remove them from the file itself when we
- # remove them.
- usesqldriver() {
- local flag=$1
- local driver=rlm_sql_${2:-${flag}}
-
- if ! use ${flag}; then
- rm -r src/modules/rlm_sql/drivers/${driver} || die
- sed -i -e /${driver}/d src/modules/rlm_sql/stable || die
- fi
- }
-
- sed -i \
- -e 's:^#\tuser = :\tuser = :g' \
- -e 's:^#\tgroup = :\tgroup = :g' \
- -e 's:/var/run/radiusd:/run/radiusd:g' \
- -e '/^run_dir/s:${localstatedir}::g' \
- raddb/radiusd.conf.in || die
-
- # verbosity
- # build shared libraries using jlibtool --shared
- sed -i \
- -e '/$(LIBTOOL)/s|--quiet ||g' \
- -e 's:--mode=\(compile\|link\):& --shared:g' \
- Make.inc.in || die
-
- sed -i \
- -e 's|--silent ||g' \
- -e 's:--mode=\(compile\|link\):& --shared:g' \
- scripts/libtool.mk || die
-
- # crude measure to stop jlibtool from running ranlib and ar
- sed -i \
- -e '/LIBRARIAN/s|".*"|"true"|g' \
- -e '/RANLIB/s|".*"|"true"|g' \
- scripts/jlibtool.c || die
-
- usesqldriver mysql
- usesqldriver postgres postgresql
- usesqldriver firebird
- usesqldriver iodbc
- usesqldriver odbc unixodbc
- usesqldriver oracle
- usesqldriver sqlite
-
- default
-
- eautoreconf
-}
-
-src_configure() {
- # do not try to enable static with static-libs; upstream is a
- # massacre of libtool best practices so you also have to make sure
- # to --enable-shared explicitly.
- local myeconfargs=(
- --enable-shared
- --disable-static
- --disable-ltdl-install
- --with-system-libtool
- --with-system-libltdl
- --with-ascend-binary
- --with-udpfromto
- --with-dhcp
- --with-iodbc-include-dir=/usr/include/iodbc
- --with-experimental-modules
- --with-docdir=/usr/share/doc/${PF}
- --with-logdir=/var/log/radius
- $(use_enable debug developer)
- $(use_with ldap edir)
- $(use_with ssl openssl)
- )
- # fix bug #77613
- if has_version app-crypt/heimdal; then
- myeconfargs+=( --enable-heimdal-krb5 )
- fi
-
- use readline || export ac_cv_lib_readline=no
- use pcap || export ac_cv_lib_pcap_pcap_open_live=no
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # verbose, do not generate certificates
- emake \
- Q='' ECHO=true \
- LOCAL_CERT_PRODUCTS=''
-}
-
-src_install() {
- dodir /etc
- diropts -m0750 -o root -g radius
- dodir /etc/raddb
- diropts -m0750 -o radius -g radius
- dodir /var/log/radius
- keepdir /var/log/radius/radacct
- diropts
-
- # verbose, do not install certificates
- # Parallel install fails (#509498)
- emake -j1 \
- Q='' ECHO=true \
- LOCAL_CERT_PRODUCTS='' \
- R="${D}" \
- install
-
- fowners -R root:radius /etc/raddb
- fowners -R radius:radius /var/log/radius
-
- pamd_mimic_system radiusd auth account password session
-
- dodoc CREDITS
-
- rm "${ED}/usr/sbin/rc.radiusd" || die
-
- newinitd "${FILESDIR}/radius.init-r3" radiusd
- newconfd "${FILESDIR}/radius.conf-r4" radiusd
-
- systemd_newtmpfilesd "${FILESDIR}"/freeradius.tmpfiles freeradius.conf
- systemd_dounit "${S}"/debian/freeradius.service
-
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
-}
-
-pkg_config() {
- if use ssl; then
- cd "${ROOT}"/etc/raddb/certs || die
- ./bootstrap || die "Error while running ./bootstrap script."
- fowners -R root:radius "${ROOT}"/etc/raddb/certs
- fi
-}
-
-pkg_preinst() {
- if ! has_version ${CATEGORY}/${PN} && use ssl; then
- elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able"
- elog "to start the radiusd service."
- fi
-}
diff --git a/net-dialup/freeradius/freeradius-3.0.19.ebuild b/net-dialup/freeradius/freeradius-3.0.19.ebuild
deleted file mode 100644
index ce636555ba0..00000000000
--- a/net-dialup/freeradius/freeradius-3.0.19.ebuild
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-inherit autotools pam python-single-r1 systemd
-
-MY_P="${PN}-server-${PV}"
-
-DESCRIPTION="Highly configurable free RADIUS server"
-SRC_URI="
- ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz
- ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz
-"
-HOMEPAGE="http://www.freeradius.org/"
-
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
-LICENSE="GPL-2"
-SLOT="0"
-
-IUSE="
- debug firebird iodbc kerberos ldap libressl memcached mysql odbc oracle pam
- pcap postgres python readline rest samba sqlite ssl redis
-"
-RESTRICT="test firebird? ( bindist )"
-
-# NOTE: Temporary freeradius doesn't support linking with mariadb client
-# libs also if code is compliant, will be available in the next release.
-# (http://lists.freeradius.org/pipermail/freeradius-devel/2018-October/013228.html)a
-
-# TODO: rlm_mschap works with both samba library or without. I need to avoid
-# linking of samba library if -samba is used.
-RDEPEND="acct-group/radius
- acct-user/radius
- !net-dialup/cistronradius
- dev-lang/perl:=
- sys-libs/gdbm:=
- sys-libs/talloc
- python? ( ${PYTHON_DEPS} )
- readline? ( sys-libs/readline:0= )
- pcap? ( net-libs/libpcap )
- memcached? ( dev-libs/libmemcached )
- mysql? ( dev-db/mysql-connector-c )
- postgres? ( dev-db/postgresql:= )
- firebird? ( dev-db/firebird )
- pam? ( sys-libs/pam )
- rest? ( dev-libs/json-c:= )
- samba? ( net-fs/samba )
- redis? ( dev-libs/hiredis:= )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[-bindist] )
- libressl? ( dev-libs/libressl:0= )
- )
- ldap? ( net-nds/openldap )
- kerberos? ( virtual/krb5 )
- sqlite? ( dev-db/sqlite:3 )
- odbc? ( dev-db/unixODBC )
- iodbc? ( dev-db/libiodbc )
- oracle? ( dev-db/oracle-instantclient-basic )"
-DEPEND="${RDEPEND}"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.0.18-libressl.patch
- "${FILESDIR}"/${P}-systemd-service.patch
-)
-
-pkg_setup() {
- if use python ; then
- python-single-r1_pkg_setup
- export PYTHONBIN="${EPYTHON}"
- fi
-}
-
-src_prepare() {
- # most of the configuration options do not appear as ./configure
- # switches. Instead it identifies the directories that are available
- # and run through them. These might check for the presence of
- # various libraries, in which case they are not built. To avoid
- # automagic dependencies, we just remove all the modules that we're
- # not interested in using.
-
- use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; }
- use ldap || { rm -r src/modules/rlm_ldap || die ; }
- use kerberos || { rm -r src/modules/rlm_krb5 || die ; }
- use memcached || { rm -r src/modules/rlm_cache/drivers/rlm_cache_memcached || die ; }
- use pam || { rm -r src/modules/rlm_pam || die ; }
- use python || { rm -r src/modules/rlm_python || die ; }
- use rest || { rm -r src/modules/rlm_rest || die ; }
- use redis || { rm -r src/modules/rlm_redis{,who} || die ; }
- # Do not install ruby rlm module, bug #483108
- rm -r src/modules/rlm_ruby || die
-
- # these are all things we don't have in portage/I don't want to deal
- # with myself
- rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die # requires TNCS library
- rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die # requires libeap-ikev2
- rm -r src/modules/rlm_opendirectory || die # requires some membership.h
- rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds} || die
-
- # sql drivers that are not part of experimental are loaded from a
- # file, so we have to remove them from the file itself when we
- # remove them.
- usesqldriver() {
- local flag=$1
- local driver=rlm_sql_${2:-${flag}}
-
- if ! use ${flag}; then
- rm -r src/modules/rlm_sql/drivers/${driver} || die
- sed -i -e /${driver}/d src/modules/rlm_sql/stable || die
- fi
- }
-
- sed -i \
- -e 's:^#\tuser = :\tuser = :g' \
- -e 's:^#\tgroup = :\tgroup = :g' \
- -e 's:/var/run/radiusd:/run/radiusd:g' \
- -e '/^run_dir/s:${localstatedir}::g' \
- raddb/radiusd.conf.in || die
-
- # verbosity
- # build shared libraries using jlibtool --shared
- sed -i \
- -e '/$(LIBTOOL)/s|--quiet ||g' \
- -e 's:--mode=\(compile\|link\):& --shared:g' \
- Make.inc.in || die
-
- sed -i \
- -e 's|--silent ||g' \
- -e 's:--mode=\(compile\|link\):& --shared:g' \
- scripts/libtool.mk || die
-
- # crude measure to stop jlibtool from running ranlib and ar
- sed -i \
- -e '/LIBRARIAN/s|".*"|"true"|g' \
- -e '/RANLIB/s|".*"|"true"|g' \
- scripts/jlibtool.c || die
-
- usesqldriver mysql
- usesqldriver postgres postgresql
- usesqldriver firebird
- usesqldriver iodbc
- usesqldriver odbc unixodbc
- usesqldriver oracle
- usesqldriver sqlite
-
- default
-
- eautoreconf
-}
-
-src_configure() {
- # do not try to enable static with static-libs; upstream is a
- # massacre of libtool best practices so you also have to make sure
- # to --enable-shared explicitly.
- local myeconfargs=(
- --enable-shared
- --disable-static
- --disable-ltdl-install
- --with-system-libtool
- --with-system-libltdl
- --with-ascend-binary
- --with-udpfromto
- --with-dhcp
- --with-iodbc-include-dir=/usr/include/iodbc
- --with-experimental-modules
- --with-docdir=/usr/share/doc/${PF}
- --with-logdir=/var/log/radius
- $(use_enable debug developer)
- $(use_with ldap edir)
- $(use_with ssl openssl)
- )
- # fix bug #77613
- if has_version app-crypt/heimdal; then
- myeconfargs+=( --enable-heimdal-krb5 )
- fi
-
- use readline || export ac_cv_lib_readline=no
- use pcap || export ac_cv_lib_pcap_pcap_open_live=no
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # verbose, do not generate certificates
- emake \
- Q='' ECHO=true \
- LOCAL_CERT_PRODUCTS=''
-}
-
-src_install() {
- dodir /etc
- diropts -m0750 -o root -g radius
- dodir /etc/raddb
- diropts -m0750 -o radius -g radius
- dodir /var/log/radius
- keepdir /var/log/radius/radacct
- diropts
-
- # verbose, do not install certificates
- # Parallel install fails (#509498)
- emake -j1 \
- Q='' ECHO=true \
- LOCAL_CERT_PRODUCTS='' \
- R="${D}" \
- install
-
- pamd_mimic_system radiusd auth account password session
-
- dodoc CREDITS
-
- rm "${ED}/usr/sbin/rc.radiusd" || die
-
- newinitd "${FILESDIR}/radius.init-r3" radiusd
- newconfd "${FILESDIR}/radius.conf-r4" radiusd
-
- systemd_newtmpfilesd "${FILESDIR}"/freeradius.tmpfiles freeradius.conf
- systemd_dounit "${S}"/debian/freeradius.service
-
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
-}
-
-pkg_config() {
- if use ssl; then
- cd "${ROOT}"/etc/raddb/certs || die
- ./bootstrap || die "Error while running ./bootstrap script."
- fowners root:radius "${ROOT}"/etc/raddb/certs
- fowners root:radius "${ROOT}"/etc/raddb/certs/ca.pem
- fowners root:radius "${ROOT}"/etc/raddb/certs/server.{key,crt,pem}
- fi
-}
-
-pkg_preinst() {
- if ! has_version ${CATEGORY}/${PN} && use ssl; then
- elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able"
- elog "to start the radiusd service."
- fi
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-dialup/freeradius/files/, net-dialup/freeradius/
@ 2020-10-17 13:19 Joonas Niilola
0 siblings, 0 replies; 9+ messages in thread
From: Joonas Niilola @ 2020-10-17 13:19 UTC (permalink / raw
To: gentoo-commits
commit: 48cd44905411daf0c9914d0df63b387e29e75b10
Author: Daniele Rondina <geaaru <AT> gmail <DOT> com>
AuthorDate: Fri Sep 18 10:15:27 2020 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sat Oct 17 13:19:14 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48cd4490
net-dialup/freeradius: Bump v.3.0.20-r1
Drop unneeded systemd's tmpfiles
Package-Manager: Portage-2.3.89, Repoman-2.3.22
Signed-off-by: Daniele Rondina <geaaru <AT> gmail.com>
Bug: https://bugs.gentoo.org/630910
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
net-dialup/freeradius/files/freeradius.tmpfiles | 1 -
.../freeradius/{freeradius-3.0.20.ebuild => freeradius-3.0.20-r1.ebuild} | 1 -
2 files changed, 2 deletions(-)
diff --git a/net-dialup/freeradius/files/freeradius.tmpfiles b/net-dialup/freeradius/files/freeradius.tmpfiles
deleted file mode 100644
index 21620c97706..00000000000
--- a/net-dialup/freeradius/files/freeradius.tmpfiles
+++ /dev/null
@@ -1 +0,0 @@
-d /run/radiusd 0755 radius radius -
diff --git a/net-dialup/freeradius/freeradius-3.0.20.ebuild b/net-dialup/freeradius/freeradius-3.0.20-r1.ebuild
similarity index 99%
rename from net-dialup/freeradius/freeradius-3.0.20.ebuild
rename to net-dialup/freeradius/freeradius-3.0.20-r1.ebuild
index eb74f42057c..f29428cfc91 100644
--- a/net-dialup/freeradius/freeradius-3.0.20.ebuild
+++ b/net-dialup/freeradius/freeradius-3.0.20-r1.ebuild
@@ -246,7 +246,6 @@ src_install() {
-e 's:^WatchdogSec=.*::g' -e 's:^NotifyAccess=all.*::g' \
"${S}"/debian/freeradius.service
fi
- systemd_newtmpfilesd "${FILESDIR}"/freeradius.tmpfiles freeradius.conf
systemd_dounit "${S}"/debian/freeradius.service
find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-dialup/freeradius/files/, net-dialup/freeradius/
@ 2020-11-06 21:00 Matt Turner
0 siblings, 0 replies; 9+ messages in thread
From: Matt Turner @ 2020-11-06 21:00 UTC (permalink / raw
To: gentoo-commits
commit: 0823e666186e722c7786a6ae5caaec47ee2b982e
Author: Daniel M. Weeks <dan <AT> danweeks <DOT> net>
AuthorDate: Mon Nov 2 16:53:58 2020 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Fri Nov 6 21:00:48 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0823e666
net-dialup/freeradius: Support alternate log path in initscript
Closes: https://github.com/gentoo/gentoo/pull/18112
Signed-off-by: Daniel M. Weeks <dan <AT> danweeks.net>
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
net-dialup/freeradius/files/radius.conf-r5 | 18 ++
net-dialup/freeradius/files/radius.init-r4 | 31 +++
net-dialup/freeradius/freeradius-3.0.21-r1.ebuild | 265 ++++++++++++++++++++++
3 files changed, 314 insertions(+)
diff --git a/net-dialup/freeradius/files/radius.conf-r5 b/net-dialup/freeradius/files/radius.conf-r5
new file mode 100644
index 00000000000..7114c32ef92
--- /dev/null
+++ b/net-dialup/freeradius/files/radius.conf-r5
@@ -0,0 +1,18 @@
+# Config file for /etc/init.d/radiusd
+
+# see man pages for radiusd run `radiusd -h`
+# for valid cmdline options
+#RADIUSD_OPTS=""
+
+# Change this value if you change it in /etc/raddb/radiusd.conf
+pidfile=/var/run/radiusd/radiusd.pid
+
+# Change these values if you change them in /etc/raddb/radiusd.conf
+RADIUSD_USER=radius
+RADIUSD_GROUP=radius
+
+RADIUSD_LOGPATH=/var/log/radius
+
+# If you set up logging to syslog in /etc/raddb/radiusd.conf, you want
+# to uncomment the following line.
+#rc_use="logger"
diff --git a/net-dialup/freeradius/files/radius.init-r4 b/net-dialup/freeradius/files/radius.init-r4
new file mode 100644
index 00000000000..dee1842e5cb
--- /dev/null
+++ b/net-dialup/freeradius/files/radius.init-r4
@@ -0,0 +1,31 @@
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+command=/usr/sbin/radiusd
+command_args="${RADIUSD_OPTS}"
+pidfile="${pidfile:-/run/radiusd/radiusd.pid}"
+extra_started_commands="reload"
+
+depend() {
+ need localmount
+ use dns
+}
+
+start_pre() {
+ if [ ! -f /etc/raddb/radiusd.conf ] ; then
+ eerror "No /etc/raddb/radiusd.conf file exists!"
+ return 1
+ fi
+
+ checkpath -m0750 -o "${RADIUSD_USER:-root}:${RADIUSD_GROUP:-root}" -d \
+ $(dirname ${pidfile}) "${RADIUSD_LOGPATH:-/var/log/radius}"
+ checkpath -m0750 -o "${RADIUSD_USER:-root}:${RADIUSD_GROUP:-root}" -d \
+ $(dirname ${pidfile}) /run/radiusd
+}
+
+reload() {
+ ebegin "Reloading radiusd"
+ kill -HUP $(cat ${pidfile})
+ eend $?
+}
diff --git a/net-dialup/freeradius/freeradius-3.0.21-r1.ebuild b/net-dialup/freeradius/freeradius-3.0.21-r1.ebuild
new file mode 100644
index 00000000000..3c1737e539a
--- /dev/null
+++ b/net-dialup/freeradius/freeradius-3.0.21-r1.ebuild
@@ -0,0 +1,265 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit autotools pam python-single-r1 systemd
+
+MY_P="${PN}-server-${PV}"
+
+DESCRIPTION="Highly configurable free RADIUS server"
+SRC_URI="
+ ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz
+ ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz
+"
+HOMEPAGE="http://www.freeradius.org/"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="
+ debug firebird iodbc kerberos ldap libressl memcached mysql mongodb odbc oracle pam
+ pcap postgres python readline redis rest samba sqlite ssl systemd
+"
+RESTRICT="test firebird? ( bindist )"
+
+# NOTE: Temporary freeradius doesn't support linking with mariadb client
+# libs also if code is compliant, will be available in the next release.
+# (http://lists.freeradius.org/pipermail/freeradius-devel/2018-October/013228.html)a
+
+# TODO: rlm_mschap works with both samba library or without. I need to avoid
+# linking of samba library if -samba is used.
+RDEPEND="acct-group/radius
+ acct-user/radius
+ !net-dialup/cistronradius
+ dev-lang/perl:=
+ sys-libs/gdbm:=
+ sys-libs/talloc
+ firebird? ( dev-db/firebird )
+ iodbc? ( dev-db/libiodbc )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap )
+ memcached? ( dev-libs/libmemcached )
+ mysql? ( dev-db/mysql-connector-c )
+ mongodb? ( >=dev-libs/mongo-c-driver-1.13.0-r1 )
+ odbc? ( dev-db/unixODBC )
+ oracle? ( dev-db/oracle-instantclient-basic )
+ pam? ( sys-libs/pam )
+ pcap? ( net-libs/libpcap )
+ postgres? ( dev-db/postgresql:= )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:0= )
+ redis? ( dev-libs/hiredis:= )
+ rest? ( dev-libs/json-c:= )
+ samba? ( net-fs/samba )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0=[-bindist] )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ systemd? ( sys-apps/systemd )"
+DEPEND="${RDEPEND}"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.20-systemd-service.patch
+)
+
+pkg_setup() {
+ if use python ; then
+ python-single-r1_pkg_setup
+ export PYTHONBIN="${EPYTHON}"
+ fi
+}
+
+src_prepare() {
+ # most of the configuration options do not appear as ./configure
+ # switches. Instead it identifies the directories that are available
+ # and run through them. These might check for the presence of
+ # various libraries, in which case they are not built. To avoid
+ # automagic dependencies, we just remove all the modules that we're
+ # not interested in using.
+
+ eapply_user
+ default
+
+ use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; }
+ use ldap || { rm -r src/modules/rlm_ldap || die ; }
+ use kerberos || { rm -r src/modules/rlm_krb5 || die ; }
+ use memcached || { rm -r src/modules/rlm_cache/drivers/rlm_cache_memcached || die ; }
+ use pam || { rm -r src/modules/rlm_pam || die ; }
+ # Drop support of python2
+ rm -r src/modules/rlm_python || die
+ use python || { rm -r src/modules/rlm_python3 || die ; }
+ use rest || { rm -r src/modules/rlm_rest || die ; }
+ use redis || { rm -r src/modules/rlm_redis{,who} || die ; }
+ # Do not install ruby rlm module, bug #483108
+ rm -r src/modules/rlm_ruby || die
+
+ # these are all things we don't have in portage/I don't want to deal
+ # with myself
+ rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die # requires TNCS library
+ rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die # requires libeap-ikev2
+ rm -r src/modules/rlm_opendirectory || die # requires some membership.h
+ rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds} || die
+
+ # sql drivers that are not part of experimental are loaded from a
+ # file, so we have to remove them from the file itself when we
+ # remove them.
+ usesqldriver() {
+ local flag=$1
+ local driver=rlm_sql_${2:-${flag}}
+
+ if ! use ${flag}; then
+ rm -r src/modules/rlm_sql/drivers/${driver} || die
+ sed -i -e /${driver}/d src/modules/rlm_sql/stable || die
+ fi
+ }
+
+ sed -i \
+ -e 's:^#\tuser = :\tuser = :g' \
+ -e 's:^#\tgroup = :\tgroup = :g' \
+ -e 's:/var/run/radiusd:/run/radiusd:g' \
+ -e '/^run_dir/s:${localstatedir}::g' \
+ raddb/radiusd.conf.in || die
+
+ # verbosity
+ # build shared libraries using jlibtool --shared
+ sed -i \
+ -e '/$(LIBTOOL)/s|--quiet ||g' \
+ -e 's:--mode=\(compile\|link\):& --shared:g' \
+ Make.inc.in || die
+
+ sed -i \
+ -e 's|--silent ||g' \
+ -e 's:--mode=\(compile\|link\):& --shared:g' \
+ scripts/libtool.mk || die
+
+ # crude measure to stop jlibtool from running ranlib and ar
+ sed -i \
+ -e '/LIBRARIAN/s|".*"|"true"|g' \
+ -e '/RANLIB/s|".*"|"true"|g' \
+ scripts/jlibtool.c || die
+
+ usesqldriver mysql
+ usesqldriver postgres postgresql
+ usesqldriver firebird
+ usesqldriver iodbc
+ usesqldriver odbc unixodbc
+ usesqldriver oracle
+ usesqldriver sqlite
+ usesqldriver mongodb mongo
+
+ eautoreconf
+}
+
+src_configure() {
+ # do not try to enable static with static-libs; upstream is a
+ # massacre of libtool best practices so you also have to make sure
+ # to --enable-shared explicitly.
+ local myeconfargs=(
+ --enable-shared
+ --disable-static
+ --disable-ltdl-install
+ --with-system-libtool
+ --with-system-libltdl
+ --with-ascend-binary
+ --with-udpfromto
+ --with-dhcp
+ --with-iodbc-include-dir=/usr/include/iodbc
+ --with-experimental-modules
+ --with-docdir=/usr/share/doc/${PF}
+ --with-logdir=/var/log/radius
+ $(use_enable debug developer)
+ $(use_with ldap edir)
+ $(use_with ssl openssl)
+ $(use_with systemd systemd)
+ )
+ # fix bug #77613
+ if has_version app-crypt/heimdal; then
+ myeconfargs+=( --enable-heimdal-krb5 )
+ fi
+
+ if use python ; then
+ myeconfargs+=(
+ --with-rlm-python3-bin=${EPYTHON}
+ --with-rlm-python3-config-bin=${EPYTHON}-config
+ )
+ fi
+
+ use readline || export ac_cv_lib_readline=no
+ use pcap || export ac_cv_lib_pcap_pcap_open_live=no
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ # verbose, do not generate certificates
+ emake \
+ Q='' ECHO=true \
+ LOCAL_CERT_PRODUCTS=''
+}
+
+src_install() {
+ dodir /etc
+ diropts -m0750 -o root -g radius
+ dodir /etc/raddb
+ diropts -m0750 -o radius -g radius
+ dodir /var/log/radius
+ keepdir /var/log/radius/radacct
+ diropts
+
+ # verbose, do not install certificates
+ # Parallel install fails (#509498)
+ emake -j1 \
+ Q='' ECHO=true \
+ LOCAL_CERT_PRODUCTS='' \
+ R="${D}" \
+ install
+
+ pamd_mimic_system radiusd auth account password session
+
+ # fix #711756
+ fowners -R radius:radius /etc/raddb
+ fowners -R radius:radius /var/log/radius
+
+ dodoc CREDITS
+
+ rm "${ED}/usr/sbin/rc.radiusd" || die
+
+ newinitd "${FILESDIR}/radius.init-r4" radiusd
+ newconfd "${FILESDIR}/radius.conf-r5" radiusd
+
+ if ! use systemd ; then
+ # If systemd builtin is not enabled we need use Type=Simple
+ # as systemd .service
+ sed -i -e 's:^Type=.*::g' \
+ -e 's:^WatchdogSec=.*::g' -e 's:^NotifyAccess=all.*::g' \
+ "${S}"/debian/freeradius.service
+ fi
+ systemd_dounit "${S}"/debian/freeradius.service
+
+ find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
+}
+
+pkg_config() {
+ if use ssl; then
+ cd "${ROOT}"/etc/raddb/certs || die
+ ./bootstrap || die "Error while running ./bootstrap script."
+ fowners root:radius "${ROOT}"/etc/raddb/certs
+ fowners root:radius "${ROOT}"/etc/raddb/certs/ca.pem
+ fowners root:radius "${ROOT}"/etc/raddb/certs/server.{key,crt,pem}
+ fi
+}
+
+pkg_preinst() {
+ if ! has_version ${CATEGORY}/${PN} && use ssl; then
+ elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able"
+ elog "to start the radiusd service."
+ fi
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-dialup/freeradius/files/, net-dialup/freeradius/
@ 2022-11-15 18:17 Michał Górny
0 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2022-11-15 18:17 UTC (permalink / raw
To: gentoo-commits
commit: b36c75033bcad48f871efdf74deb5267d7d9b175
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 15 18:13:42 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov 15 18:16:58 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b36c7503
net-dialup/freeradius: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
net-dialup/freeradius/Manifest | 3 -
net-dialup/freeradius/files/radius.conf-r4 | 16 --
net-dialup/freeradius/files/radius.conf-r5 | 18 --
net-dialup/freeradius/files/radius.init-r3 | 31 ---
net-dialup/freeradius/freeradius-3.0.21-r5.ebuild | 267 ----------------------
net-dialup/freeradius/freeradius-3.0.22-r4.ebuild | 267 ----------------------
6 files changed, 602 deletions(-)
diff --git a/net-dialup/freeradius/Manifest b/net-dialup/freeradius/Manifest
index 0114b1e4c4fd..50b41597c0d5 100644
--- a/net-dialup/freeradius/Manifest
+++ b/net-dialup/freeradius/Manifest
@@ -1,5 +1,2 @@
DIST freeradius-3.0.25.tar.gz 5300245 BLAKE2B bf8908aa7bfabb9e15fa841457f176a4f2697bdec7994485516ef338908b46f2168260b7acf1a7120a687e543f0381bb787567bb4d564b9d14a3eb464a0e9ed6 SHA512 13382a53e6a1a4495c6f53e662ce21b80d73b6134a72f099f05495b64c56ae1a6c1cd1281311f1c3695d8532207fe5bd3d2026ed2c45f3cb5adb1011f1505ee7
-DIST freeradius-server-3.0.20.tar.gz 5002727 BLAKE2B f481ad22105694a4af3f0f0c1b4f6e395e8da0fe65274e32ebeed07e3c9b1869029e6ffbc655cfa41d5de2a1dcba54acee33a7a10d28bfbfce791b7ccd0fc57a SHA512 513ed0a5d9e6b9a8d89a9b02c86ff528a9ff14d928f4c1040ca44702465abd711588fe6afa35554cb2c8e8bd7f19dd5be3dbc78445c62c7b00bf5cbc4c621312
-DIST freeradius-server-3.0.21.tar.gz 5028506 BLAKE2B 3ccf9704a1f8b1ec5f6f066a475083fe7cefa793e8f53ecd287866fc505a832bf8031a4d07c2e07f79da6c6fb82e6a3435b0154d1f135167ebddfc9b8d401544 SHA512 85af1c305e99a56400b04be5c966900e7df8beb7b54626d6aa0cb300dc124817e43b424f9b27d86966bb76cca87dce741812ed8d681a568c7d7b63b3b53a9dfa
-DIST freeradius-server-3.0.22.tar.gz 5248422 BLAKE2B b48170a02a354562dc2dd27230476d2ce0823fa2f577dde3f3947ee14653d912a562eb480c2d2ed53b0ff536f63ce4482b24f2777b4a41ff2ed4aba88f4c196e SHA512 8ee05350b1a5e811a51030a3ef0c511c58275407171f0ce41775e3695f3e9a4477e2fc288541015d314be5457154201d4e95f4c45cf7f503bc8829909c2551a8
DIST freeradius-server-3.2.0.tar.bz2 3399380 BLAKE2B 103cb1faf7efd78520dd613da51671ff37b870fcd356d7d11454d655cf460bcb4132cd91b99be70557242907dd5e4d741b6a776de81c37a24ab9d04a4fe5866b SHA512 e7aa7bfc5a6968cdb860bb565ebd45bc1b3f78a665a9888a8b8dacaa1c5256755468aed33bdffe39465f8678c1fb9d6f47f0dbcf0178dfdcb38d99e3bc4b747d
diff --git a/net-dialup/freeradius/files/radius.conf-r4 b/net-dialup/freeradius/files/radius.conf-r4
deleted file mode 100644
index a5760d29f7b9..000000000000
--- a/net-dialup/freeradius/files/radius.conf-r4
+++ /dev/null
@@ -1,16 +0,0 @@
-# Config file for /etc/init.d/radiusd
-
-# see man pages for radiusd run `radiusd -h`
-# for valid cmdline options
-#RADIUSD_OPTS=""
-
-# Change this value if you change it in /etc/raddb/radiusd.conf
-pidfile=/var/run/radiusd/radiusd.pid
-
-# Change these values if you change them in /etc/raddb/radiusd.conf
-RADIUSD_USER=radius
-RADIUSD_GROUP=radius
-
-# If you set up logging to syslog in /etc/raddb/radiusd.conf, you want
-# to uncomment the following line.
-#rc_use="logger"
diff --git a/net-dialup/freeradius/files/radius.conf-r5 b/net-dialup/freeradius/files/radius.conf-r5
deleted file mode 100644
index 7114c32ef923..000000000000
--- a/net-dialup/freeradius/files/radius.conf-r5
+++ /dev/null
@@ -1,18 +0,0 @@
-# Config file for /etc/init.d/radiusd
-
-# see man pages for radiusd run `radiusd -h`
-# for valid cmdline options
-#RADIUSD_OPTS=""
-
-# Change this value if you change it in /etc/raddb/radiusd.conf
-pidfile=/var/run/radiusd/radiusd.pid
-
-# Change these values if you change them in /etc/raddb/radiusd.conf
-RADIUSD_USER=radius
-RADIUSD_GROUP=radius
-
-RADIUSD_LOGPATH=/var/log/radius
-
-# If you set up logging to syslog in /etc/raddb/radiusd.conf, you want
-# to uncomment the following line.
-#rc_use="logger"
diff --git a/net-dialup/freeradius/files/radius.init-r3 b/net-dialup/freeradius/files/radius.init-r3
deleted file mode 100644
index 9c16ac59b41e..000000000000
--- a/net-dialup/freeradius/files/radius.init-r3
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-command=/usr/sbin/radiusd
-command_args="${RADIUSD_OPTS}"
-pidfile="${pidfile:-/run/radiusd/radiusd.pid}"
-extra_started_commands="reload"
-
-depend() {
- need localmount
- use dns
-}
-
-start_pre() {
- if [ ! -f /etc/raddb/radiusd.conf ] ; then
- eerror "No /etc/raddb/radiusd.conf file exists!"
- return 1
- fi
-
- checkpath -m0750 -o "${RADIUSD_USER:-root}:${RADIUSD_GROUP:-root}" -d \
- $(dirname ${pidfile}) /var/log/radius
- checkpath -m0750 -o "${RADIUSD_USER:-root}:${RADIUSD_GROUP:-root}" -d \
- $(dirname ${pidfile}) /run/radiusd
-}
-
-reload() {
- ebegin "Reloading radiusd"
- kill -HUP $(cat ${pidfile})
- eend $?
-}
diff --git a/net-dialup/freeradius/freeradius-3.0.21-r5.ebuild b/net-dialup/freeradius/freeradius-3.0.21-r5.ebuild
deleted file mode 100644
index 0446eb5f201c..000000000000
--- a/net-dialup/freeradius/freeradius-3.0.21-r5.ebuild
+++ /dev/null
@@ -1,267 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-inherit autotools pam python-single-r1 systemd
-
-MY_P="${PN}-server-${PV}"
-
-DESCRIPTION="Highly configurable free RADIUS server"
-SRC_URI="
- ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz
- ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz
-"
-HOMEPAGE="http://www.freeradius.org/"
-
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~sparc x86"
-LICENSE="GPL-2"
-SLOT="0"
-
-IUSE="
- debug firebird iodbc kerberos ldap memcached mysql mongodb odbc oracle pam
- pcap postgres python readline redis rest samba sqlite ssl systemd
-"
-RESTRICT="test firebird? ( bindist )"
-
-# NOTE: Temporary freeradius doesn't support linking with mariadb client
-# libs also if code is compliant, will be available in the next release.
-# (http://lists.freeradius.org/pipermail/freeradius-devel/2018-October/013228.html)a
-
-# TODO: rlm_mschap works with both samba library or without. I need to avoid
-# linking of samba library if -samba is used.
-RDEPEND="acct-group/radius
- acct-user/radius
- !net-dialup/cistronradius
- dev-lang/perl:=
- sys-libs/gdbm:=
- sys-libs/talloc
- virtual/libcrypt:=
- firebird? ( dev-db/firebird )
- iodbc? ( dev-db/libiodbc )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- memcached? ( dev-libs/libmemcached )
- mysql? ( dev-db/mysql-connector-c:= )
- mongodb? ( >=dev-libs/mongo-c-driver-1.13.0-r1 )
- odbc? ( dev-db/unixODBC )
- oracle? ( dev-db/oracle-instantclient[sdk] )
- pam? ( sys-libs/pam )
- pcap? ( net-libs/libpcap )
- postgres? ( dev-db/postgresql:= )
- python? ( ${PYTHON_DEPS} )
- readline? ( sys-libs/readline:0= )
- redis? ( dev-libs/hiredis:= )
- rest? ( dev-libs/json-c:= )
- samba? ( net-fs/samba )
- sqlite? ( dev-db/sqlite:3 )
- ssl? (
- dev-libs/openssl:0=[-bindist(-)]
- )
- systemd? ( sys-apps/systemd )"
-DEPEND="${RDEPEND}"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.0.20-systemd-service.patch
-)
-
-pkg_setup() {
- if use python ; then
- python-single-r1_pkg_setup
- export PYTHONBIN="${EPYTHON}"
- fi
-}
-
-src_prepare() {
- # most of the configuration options do not appear as ./configure
- # switches. Instead it identifies the directories that are available
- # and run through them. These might check for the presence of
- # various libraries, in which case they are not built. To avoid
- # automagic dependencies, we just remove all the modules that we're
- # not interested in using.
-
- eapply_user
- default
-
- use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; }
- use ldap || { rm -r src/modules/rlm_ldap || die ; }
- use kerberos || { rm -r src/modules/rlm_krb5 || die ; }
- use memcached || { rm -r src/modules/rlm_cache/drivers/rlm_cache_memcached || die ; }
- use pam || { rm -r src/modules/rlm_pam || die ; }
- # Drop support of python2
- rm -r src/modules/rlm_python || die
- use python || { rm -r src/modules/rlm_python3 || die ; }
- use rest || { rm -r src/modules/rlm_rest || die ; }
- use redis || { rm -r src/modules/rlm_redis{,who} || die ; }
- # Do not install ruby rlm module, bug #483108
- rm -r src/modules/rlm_ruby || die
-
- # these are all things we don't have in portage/I don't want to deal
- # with myself
- rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die # requires TNCS library
- rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die # requires libeap-ikev2
- rm -r src/modules/rlm_opendirectory || die # requires some membership.h
- rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds} || die
-
- # sql drivers that are not part of experimental are loaded from a
- # file, so we have to remove them from the file itself when we
- # remove them.
- usesqldriver() {
- local flag=$1
- local driver=rlm_sql_${2:-${flag}}
-
- if ! use ${flag}; then
- rm -r src/modules/rlm_sql/drivers/${driver} || die
- sed -i -e /${driver}/d src/modules/rlm_sql/stable || die
- fi
- }
-
- sed -i \
- -e 's:^#\tuser = :\tuser = :g' \
- -e 's:^#\tgroup = :\tgroup = :g' \
- -e 's:/var/run/radiusd:/run/radiusd:g' \
- -e '/^run_dir/s:${localstatedir}::g' \
- raddb/radiusd.conf.in || die
-
- # verbosity
- # build shared libraries using jlibtool --shared
- sed -i \
- -e '/$(LIBTOOL)/s|--quiet ||g' \
- -e 's:--mode=\(compile\|link\):& --shared:g' \
- Make.inc.in || die
-
- sed -i \
- -e 's|--silent ||g' \
- -e 's:--mode=\(compile\|link\):& --shared:g' \
- scripts/libtool.mk || die
-
- # crude measure to stop jlibtool from running ranlib and ar
- sed -i \
- -e '/LIBRARIAN/s|".*"|"true"|g' \
- -e '/RANLIB/s|".*"|"true"|g' \
- scripts/jlibtool.c || die
-
- usesqldriver mysql
- usesqldriver postgres postgresql
- usesqldriver firebird
- usesqldriver iodbc
- usesqldriver odbc unixodbc
- usesqldriver oracle
- usesqldriver sqlite
- usesqldriver mongodb mongo
-
- eautoreconf
-}
-
-src_configure() {
- # do not try to enable static with static-libs; upstream is a
- # massacre of libtool best practices so you also have to make sure
- # to --enable-shared explicitly.
- local myeconfargs=(
- --enable-shared
- --disable-static
- --disable-ltdl-install
- --with-system-libtool
- --with-system-libltdl
- --with-ascend-binary
- --with-udpfromto
- --with-dhcp
- --with-iodbc-include-dir=/usr/include/iodbc
- --with-experimental-modules
- --with-docdir=/usr/share/doc/${PF}
- --with-logdir=/var/log/radius
- $(use_enable debug developer)
- $(use_with ldap edir)
- $(use_with ssl openssl)
- $(use_with systemd systemd)
- )
- # fix bug #77613
- if has_version app-crypt/heimdal; then
- myeconfargs+=( --enable-heimdal-krb5 )
- fi
-
- if use python ; then
- myeconfargs+=(
- --with-rlm-python3-bin=${EPYTHON}
- --with-rlm-python3-config-bin=${EPYTHON}-config
- )
- fi
-
- use readline || export ac_cv_lib_readline=no
- use pcap || export ac_cv_lib_pcap_pcap_open_live=no
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # verbose, do not generate certificates
- emake \
- Q='' ECHO=true \
- LOCAL_CERT_PRODUCTS=''
-}
-
-src_install() {
- dodir /etc
- diropts -m0750 -o root -g radius
- dodir /etc/raddb
- diropts -m0750 -o radius -g radius
- dodir /var/log/radius
- keepdir /var/log/radius/radacct
- diropts
-
- # verbose, do not install certificates
- # Parallel install fails (#509498)
- emake -j1 \
- Q='' ECHO=true \
- LOCAL_CERT_PRODUCTS='' \
- R="${D}" \
- install
-
- if use pam; then
- pamd_mimic_system radiusd auth account password session
- fi
-
- # fix #711756
- fowners -R radius:radius /etc/raddb
- fowners -R radius:radius /var/log/radius
-
- dodoc CREDITS
-
- rm "${ED}/usr/sbin/rc.radiusd" || die
-
- newinitd "${FILESDIR}/radius.init-r4" radiusd
- newconfd "${FILESDIR}/radius.conf-r5" radiusd
-
- if ! use systemd ; then
- # If systemd builtin is not enabled we need use Type=Simple
- # as systemd .service
- sed -i -e 's:^Type=.*::g' \
- -e 's:^WatchdogSec=.*::g' -e 's:^NotifyAccess=all.*::g' \
- "${S}"/debian/freeradius.service
- fi
- systemd_dounit "${S}"/debian/freeradius.service
-
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
-}
-
-pkg_config() {
- if use ssl; then
- cd "${ROOT}"/etc/raddb/certs || die
- ./bootstrap || die "Error while running ./bootstrap script."
- fowners root:radius "${ROOT}"/etc/raddb/certs
- fowners root:radius "${ROOT}"/etc/raddb/certs/ca.pem
- fowners root:radius "${ROOT}"/etc/raddb/certs/server.{key,crt,pem}
- fi
-}
-
-pkg_preinst() {
- if ! has_version ${CATEGORY}/${PN} && use ssl; then
- elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able"
- elog "to start the radiusd service."
- fi
-}
diff --git a/net-dialup/freeradius/freeradius-3.0.22-r4.ebuild b/net-dialup/freeradius/freeradius-3.0.22-r4.ebuild
deleted file mode 100644
index 1f36dfb9b760..000000000000
--- a/net-dialup/freeradius/freeradius-3.0.22-r4.ebuild
+++ /dev/null
@@ -1,267 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-inherit autotools pam python-single-r1 systemd
-
-MY_P="${PN}-server-${PV}"
-
-DESCRIPTION="Highly configurable free RADIUS server"
-SRC_URI="
- ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz
- ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz
-"
-HOMEPAGE="http://www.freeradius.org/"
-
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
-LICENSE="GPL-2"
-SLOT="0"
-
-IUSE="
- debug firebird iodbc kerberos ldap memcached mysql mongodb odbc oracle pam
- pcap postgres python readline redis rest samba sqlite ssl systemd
-"
-RESTRICT="test firebird? ( bindist )"
-
-# NOTE: Temporary freeradius doesn't support linking with mariadb client
-# libs also if code is compliant, will be available in the next release.
-# (http://lists.freeradius.org/pipermail/freeradius-devel/2018-October/013228.html)a
-
-# TODO: rlm_mschap works with both samba library or without. I need to avoid
-# linking of samba library if -samba is used.
-RDEPEND="acct-group/radius
- acct-user/radius
- !net-dialup/cistronradius
- dev-lang/perl:=
- sys-libs/gdbm:=
- sys-libs/talloc
- virtual/libcrypt:=
- firebird? ( dev-db/firebird )
- iodbc? ( dev-db/libiodbc )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- memcached? ( dev-libs/libmemcached )
- mysql? ( dev-db/mysql-connector-c:= )
- mongodb? ( >=dev-libs/mongo-c-driver-1.13.0-r1 )
- odbc? ( dev-db/unixODBC )
- oracle? ( dev-db/oracle-instantclient[sdk] )
- pam? ( sys-libs/pam )
- pcap? ( net-libs/libpcap )
- postgres? ( dev-db/postgresql:= )
- python? ( ${PYTHON_DEPS} )
- readline? ( sys-libs/readline:0= )
- redis? ( dev-libs/hiredis:= )
- rest? ( dev-libs/json-c:= )
- samba? ( net-fs/samba )
- sqlite? ( dev-db/sqlite:3 )
- ssl? (
- dev-libs/openssl:0=[-bindist(-)]
- )
- systemd? ( sys-apps/systemd )"
-DEPEND="${RDEPEND}"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.0.20-systemd-service.patch
-)
-
-pkg_setup() {
- if use python ; then
- python-single-r1_pkg_setup
- export PYTHONBIN="${EPYTHON}"
- fi
-}
-
-src_prepare() {
- # most of the configuration options do not appear as ./configure
- # switches. Instead it identifies the directories that are available
- # and run through them. These might check for the presence of
- # various libraries, in which case they are not built. To avoid
- # automagic dependencies, we just remove all the modules that we're
- # not interested in using.
-
- eapply_user
- default
-
- use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; }
- use ldap || { rm -r src/modules/rlm_ldap || die ; }
- use kerberos || { rm -r src/modules/rlm_krb5 || die ; }
- use memcached || { rm -r src/modules/rlm_cache/drivers/rlm_cache_memcached || die ; }
- use pam || { rm -r src/modules/rlm_pam || die ; }
- # Drop support of python2
- rm -r src/modules/rlm_python || die
- use python || { rm -r src/modules/rlm_python3 || die ; }
- use rest || { rm -r src/modules/rlm_rest || die ; }
- use redis || { rm -r src/modules/rlm_redis{,who} || die ; }
- # Do not install ruby rlm module, bug #483108
- rm -r src/modules/rlm_ruby || die
-
- # these are all things we don't have in portage/I don't want to deal
- # with myself
- rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die # requires TNCS library
- rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die # requires libeap-ikev2
- rm -r src/modules/rlm_opendirectory || die # requires some membership.h
- rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds} || die
-
- # sql drivers that are not part of experimental are loaded from a
- # file, so we have to remove them from the file itself when we
- # remove them.
- usesqldriver() {
- local flag=$1
- local driver=rlm_sql_${2:-${flag}}
-
- if ! use ${flag}; then
- rm -r src/modules/rlm_sql/drivers/${driver} || die
- sed -i -e /${driver}/d src/modules/rlm_sql/stable || die
- fi
- }
-
- sed -i \
- -e 's:^#\tuser = :\tuser = :g' \
- -e 's:^#\tgroup = :\tgroup = :g' \
- -e 's:/var/run/radiusd:/run/radiusd:g' \
- -e '/^run_dir/s:${localstatedir}::g' \
- raddb/radiusd.conf.in || die
-
- # verbosity
- # build shared libraries using jlibtool --shared
- sed -i \
- -e '/$(LIBTOOL)/s|--quiet ||g' \
- -e 's:--mode=\(compile\|link\):& --shared:g' \
- Make.inc.in || die
-
- sed -i \
- -e 's|--silent ||g' \
- -e 's:--mode=\(compile\|link\):& --shared:g' \
- scripts/libtool.mk || die
-
- # crude measure to stop jlibtool from running ranlib and ar
- sed -i \
- -e '/LIBRARIAN/s|".*"|"true"|g' \
- -e '/RANLIB/s|".*"|"true"|g' \
- scripts/jlibtool.c || die
-
- usesqldriver mysql
- usesqldriver postgres postgresql
- usesqldriver firebird
- usesqldriver iodbc
- usesqldriver odbc unixodbc
- usesqldriver oracle
- usesqldriver sqlite
- usesqldriver mongodb mongo
-
- eautoreconf
-}
-
-src_configure() {
- # do not try to enable static with static-libs; upstream is a
- # massacre of libtool best practices so you also have to make sure
- # to --enable-shared explicitly.
- local myeconfargs=(
- --enable-shared
- --disable-static
- --disable-ltdl-install
- --with-system-libtool
- --with-system-libltdl
- --with-ascend-binary
- --with-udpfromto
- --with-dhcp
- --with-iodbc-include-dir=/usr/include/iodbc
- --with-experimental-modules
- --with-docdir=/usr/share/doc/${PF}
- --with-logdir=/var/log/radius
- $(use_enable debug developer)
- $(use_with ldap edir)
- $(use_with ssl openssl)
- $(use_with systemd systemd)
- )
- # fix bug #77613
- if has_version app-crypt/heimdal; then
- myeconfargs+=( --enable-heimdal-krb5 )
- fi
-
- if use python ; then
- myeconfargs+=(
- --with-rlm-python3-bin=${EPYTHON}
- --with-rlm-python3-config-bin=${EPYTHON}-config
- )
- fi
-
- use readline || export ac_cv_lib_readline=no
- use pcap || export ac_cv_lib_pcap_pcap_open_live=no
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # verbose, do not generate certificates
- emake \
- Q='' ECHO=true \
- LOCAL_CERT_PRODUCTS=''
-}
-
-src_install() {
- dodir /etc
- diropts -m0750 -o root -g radius
- dodir /etc/raddb
- diropts -m0750 -o radius -g radius
- dodir /var/log/radius
- keepdir /var/log/radius/radacct
- diropts
-
- # verbose, do not install certificates
- # Parallel install fails (#509498)
- emake -j1 \
- Q='' ECHO=true \
- LOCAL_CERT_PRODUCTS='' \
- R="${D}" \
- install
-
- if use pam; then
- pamd_mimic_system radiusd auth account password session
- fi
-
- # fix #711756
- fowners -R radius:radius /etc/raddb
- fowners -R radius:radius /var/log/radius
-
- dodoc CREDITS
-
- rm "${ED}/usr/sbin/rc.radiusd" || die
-
- newinitd "${FILESDIR}/radius.init-r4" radiusd
- newconfd "${FILESDIR}/radius.conf-r5" radiusd
-
- if ! use systemd ; then
- # If systemd builtin is not enabled we need use Type=Simple
- # as systemd .service
- sed -i -e 's:^Type=.*::g' \
- -e 's:^WatchdogSec=.*::g' -e 's:^NotifyAccess=all.*::g' \
- "${S}"/debian/freeradius.service
- fi
- systemd_dounit "${S}"/debian/freeradius.service
-
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
-}
-
-pkg_config() {
- if use ssl; then
- cd "${ROOT}"/etc/raddb/certs || die
- ./bootstrap || die "Error while running ./bootstrap script."
- fowners root:radius "${ROOT}"/etc/raddb/certs
- fowners root:radius "${ROOT}"/etc/raddb/certs/ca.pem
- fowners root:radius "${ROOT}"/etc/raddb/certs/server.{key,crt,pem}
- fi
-}
-
-pkg_preinst() {
- if ! has_version ${CATEGORY}/${PN} && use ssl; then
- elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able"
- elog "to start the radiusd service."
- fi
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-dialup/freeradius/files/, net-dialup/freeradius/
@ 2022-11-15 18:17 Michał Górny
0 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2022-11-15 18:17 UTC (permalink / raw
To: gentoo-commits
commit: 85dea602dd8491d8b2457b933a36508bced8cb74
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 15 18:12:43 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov 15 18:16:58 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85dea602
net-dialup/freeradius: Remove py3.8-only versions
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
.../files/freeradius-3.0.20-py3-fixes.patch | 472 ---------------------
.../files/freeradius-3.0.20-systemd-service.patch | 57 ---
net-dialup/freeradius/freeradius-3.0.20-r5.ebuild | 271 ------------
3 files changed, 800 deletions(-)
diff --git a/net-dialup/freeradius/files/freeradius-3.0.20-py3-fixes.patch b/net-dialup/freeradius/files/freeradius-3.0.20-py3-fixes.patch
deleted file mode 100644
index 83dc20090ed2..000000000000
--- a/net-dialup/freeradius/files/freeradius-3.0.20-py3-fixes.patch
+++ /dev/null
@@ -1,472 +0,0 @@
-diff --git a/raddb/mods-available/python3 b/raddb/mods-available/python3
-index 246dfd74ce..0593c69f1a 100644
---- a/raddb/mods-available/python3
-+++ b/raddb/mods-available/python3
-@@ -13,7 +13,7 @@ python3 {
- # item is GLOBAL TO THE SERVER. That is, you cannot have two
- # instances of the python module, each with a different path.
- #
--# python_path="/path/to/python/files:/another_path/to/python_files/"
-+# python_path="${modconfdir}/${.:name}:/another_path/to/python_files"
-
- module = example
-
-diff --git a/src/modules/rlm_python3/configure.ac b/src/modules/rlm_python3/configure.ac
-index a00320fda4..295a2486d2 100644
---- a/src/modules/rlm_python3/configure.ac
-+++ b/src/modules/rlm_python3/configure.ac
-@@ -8,128 +8,75 @@ if test x$with_[]modname != xno; then
- AC_PROG_CC
- AC_PROG_CPP
-
-- dnl extra argument: --with-rlm-python3-bin
-- PYTHON3_BIN=
-- AC_ARG_WITH(rlm-python3-bin,
-- [ --with-rlm-python3-bin=PATH Path to python3 binary []],
-+ dnl extra argument: --with-rlm-python3-config-bin
-+ PYTHON3_CONFIG_BIN=
-+ AC_ARG_WITH(rlm-python3-config-bin,
-+ [ --with-rlm-python3-config-bin=PATH Path to python-config3 binary []],
- [ case "$withval" in
- no)
-- AC_MSG_ERROR(Need rlm-python3-bin)
-+ AC_MSG_ERROR(Need rlm-python3-config-bin)
- ;;
- yes)
- ;;
- *)
-- PYTHON3_BIN="$withval"
-+ PYTHON3_CONFIG_BIN="$withval"
- ;;
- esac ]
- )
-
-- if test "x$PYTHON3_BIN" = x; then
-- AC_CHECK_PROGS(PYTHON3_BIN, [ python3 ], not-found, [${PATH}:/usr/bin:/usr/local/bin])
-+ if test "x$PYTHON3_CONFIG_BIN" = x; then
-+ AC_CHECK_PROGS(PYTHON3_CONFIG_BIN, [ python3-config ], not-found, [${PATH}:/usr/bin:/usr/local/bin])
- fi
-
-- if test "x$PYTHON3_BIN" = "xnot-found"; then
-- fail="python-binary"
-- fi
--
-- dnl extra argument: --with-rlm-python3-lib-dir
-- PY_LIB_DIR=
-- AC_ARG_WITH(rlm-python3-lib-dir,
-- [ --with-rlm-python3-lib-dir=DIR Directory for Python library files []],
-- [ case "$withval" in
-- no)
-- AC_MSG_ERROR(Need rlm-python3-lib-dir)
-- ;;
-- yes)
-- ;;
-- *)
-- PY_LIB_DIR="$withval"
-- ;;
-- esac ]
-- )
--
-- dnl extra argument: --with-rlm-python3-include-dir
-- PY_INC_DIR=
-- AC_ARG_WITH(rlm-python3-include-dir,
-- [ --with-rlm-python3-include-dir=DIR Directory for Python include files []],
-- [ case "$withval" in
-- no)
-- AC_MSG_ERROR(Need rlm-python3-include-dir)
-- ;;
-- yes)
-- ;;
-- *)
-- PY_INC_DIR="$withval"
-- ;;
-- esac ]
-- )
--
-- if test x$fail = x; then
-- PY_PREFIX=`${PYTHON3_BIN} -c 'import sys ; print(sys.prefix)'`
-- AC_MSG_NOTICE([Python sys.prefix \"${PY_PREFIX}\"])
--
-- PY_EXEC_PREFIX=`${PYTHON3_BIN} -c 'import sys ; print(sys.exec_prefix)'`
-- AC_MSG_NOTICE([Python sys.exec_prefix \"${PY_EXEC_PREFIX}\"])
--
-- PY_SYS_VERSION=`${PYTHON3_BIN} -c 'import sys ; print(sys.version[[0:3]])'`
-- AC_MSG_NOTICE([Python sys.version \"${PY_SYS_VERSION}\"])
--
-- if test "x$PY_LIB_DIR" = "x"; then
-- PY_LIB_DIR="$PY_EXEC_PREFIX/lib/python${PY_SYS_VERSION}/config"
-- PY_LIB_LOC="-L$PY_EXEC_PREFIX/lib/python${PY_SYS_VERSION}/config"
-- fi
--
-- PY_MAKEFILE="$PY_EXEC_PREFIX/lib/python${PY_SYS_VERSION}/config/Makefile"
-- if test -f ${PY_MAKEFILE}; then
-- PY_LOCAL_MOD_LIBS=`sed -n -e 's/^LOCALMODLIBS=\(.*\)/\1/p' $PY_MAKEFILE | sed -e 's/[[[:blank:]]]/ /g;s/^ *//;s/ *$//'`
-- AC_MSG_NOTICE([Python local_mod_libs \"${PY_LOCAL_MOD_LIBS}\"])
--
-- PY_BASE_MOD_LIBS=`sed -n -e 's/^BASEMODLIBS=\(.*\)/\1/p' $PY_MAKEFILE | sed -e 's/[[[:blank:]]]/ /g;s/^ *//;s/ *$//'`
-- AC_MSG_NOTICE([Python base_mod_libs \"${PY_BASE_MOD_LIBS}\"])
--
-- PY_OTHER_LIBS=`sed -n -e 's/^LIBS=\(.*\)/\1/p' $PY_MAKEFILE | sed -e 's/[[[:blank:]]]/ /g;s/ / /g;s/^ *//;s/ *$//'`
-- PY_OTHER_LDFLAGS=`sed -n -e 's/^LINKFORSHARED=\(.*\)/\1/p' $PY_MAKEFILE | sed -e 's/[[[:blank:]]]/ /g;s/ / /g;s/^ *//;s/ *$//'`
-- AC_MSG_NOTICE([Python other_libs \"${PY_OTHER_LDFLAGS} ${PY_OTHER_LIBS}\"])
-- fi
-- PY_EXTRA_LIBS="$PY_LOCALMODLIBS $PY_BASE_MOD_LIBS $PY_OTHER_LIBS"
-+ if test "x$PYTHON3_CONFIG_BIN" = xnot-found; then
-+ fail="$fail python3-config"
-+ else
-+ dnl #
-+ dnl # It is necessary due to a weird behavior with 'python3-config'
-+ dnl #
-+ old_CFLAGS="$CFLAGS"
-+ unset CFLAGS
-+
-+ python3_cflags=`${PYTHON3_CONFIG_BIN} --cflags`
-+ AC_MSG_NOTICE([${PYTHON3_CONFIG_BIN}'s cflags were \"${python3_cflags}\"])
-+
-+ dnl # Convert -I to -isystem to get rid of warnings about issues in Python headers
-+ dnl # Strip -systemroot
-+ dnl # Strip optimisation flags (-O[0-9]?). We decide our optimisation level, not python.
-+ dnl # -D_FORTIFY_SOURCE needs -O.
-+ dnl # Strip debug symbol flags (-g[0-9]?). We decide on debugging symbols, not python
-+ dnl # Strip -W*, we decide what warnings are important
-+ dnl # Strip -DNDEBUG
-+ mod_cflags=`echo $python3_cflags | sed -e '\
-+ s/-I/-isystem/g;\
-+ s/-isysroot[[ =]]\{0,1\}[[^-]]*//g;\
-+ s/-O[[^[[:blank:]]]]*//g;\
-+ s/-Wp,-D_FORTIFY_SOURCE=[[[:digit:]]]//g;\
-+ s/-g[[^ ]]*//g;\
-+ s/-W[[^ ]]*//g;\
-+ s/-DNDEBUG[[[:blank:]]]*//g;
-+ '`
-+ AC_MSG_NOTICE([Sanitized cflags were \"${mod_cflags}\"])
-+
-+ python3_ldflags=`${PYTHON3_CONFIG_BIN} --ldflags`
-+ AC_MSG_NOTICE([${PYTHON3_CONFIG_BIN}'s ldflags were \"$python3_ldflags}\"])
-+
-+ dnl # Strip -Wl,-O1... Is -O even a valid linker flag??
-+ dnl # Strip -Wl,-Bsymbolic-functions as thats not always supported or required
-+ dnl # Strip -Xlinker -export-dynamic as it causes weird linking issues on Linux
-+ dnl # See: https://bugs.python.org/issue36508
-+ mod_ldflags=`echo $python3_ldflags | sed -e '\
-+ s/-Wl,-O[[[:digit:]]][[[:blank:]]]*//g;\
-+ s/-Wl,-Bsymbolic-functions[[[:blank:]]]*//g;\
-+ s/-Xlinker -export-dynamic//g;\
-+ s/-Wl,-stack_size,[[[:digit:]]]*[[[:blank:]]]//g;
-+ '`
-+ AC_MSG_NOTICE([Sanitized ldflags were \"${mod_ldflags}\"])
-
-- old_CFLAGS=$CFLAGS
-- CFLAGS="$CFLAGS $PY_CFLAGS"
-- smart_try_dir="$PY_PREFIX/include/python$PY_SYS_VERSION"
-- FR_SMART_CHECK_INCLUDE(Python.h)
- CFLAGS=$old_CFLAGS
-
-- if test "x$ac_cv_header_Python_h" = "xyes"; then
-- mod_cflags="$SMART_CPPFLAGS"
-- else
-- fail="$fail Python.h"
-- targetname=
-- fi
--
-- old_LIBS=$LIBS
-- LIBS="$LIBS $PY_LIB_LOC $PY_EXTRA_LIBS -lm"
-- smart_try_dir=$PY_LIB_DIR
-- FR_SMART_CHECK_LIB(python${PY_SYS_VERSION}, Py_Initialize)
-- LIBS=$old_LIBS
--
-- eval t=\${ac_cv_lib_${sm_lib_safe}_${sm_func_safe}}
-- if test "x$t" = "xyes"; then
-- mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS $SMART_LIBS -lm"
-- targetname=modname
-- else
-- FR_SMART_CHECK_LIB(python${PY_SYS_VERSION}m, Py_Initialize)
-- eval t=\${ac_cv_lib_${sm_lib_safe}_${sm_func_safe}}
-- if test "x$t" = "xyes"; then
-- mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS $SMART_LIBS -lm"
-- targetname=modname
-- else
-- targetname=
-- fail="$fail libpython$PY_SYS_VERSION"
-- fi
-- fi
-+ targetname="rlm_python3"
- fi
--
-- AC_CHECK_FUNCS([dl_iterate_phdr])
- else
- targetname=
- echo \*\*\* module modname is disabled.
-diff --git a/src/modules/rlm_python3/rlm_python3.c b/src/modules/rlm_python3/rlm_python3.c
-index 06187e4ffa..8e893a0eaa 100644
---- a/src/modules/rlm_python3/rlm_python3.c
-+++ b/src/modules/rlm_python3/rlm_python3.c
-@@ -67,8 +67,10 @@ static CONF_PARSER module_config[] = {
- A(preacct)
- A(accounting)
- A(checksimul)
-+#ifdef WITH_PROXY
- A(pre_proxy)
- A(post_proxy)
-+#endif
- A(post_auth)
- #ifdef WITH_COA
- A(recv_coa)
-@@ -98,7 +100,9 @@ static struct {
- A(L_AUTH)
- A(L_INFO)
- A(L_ERR)
-+#ifdef WITH_PROXY
- A(L_PROXY)
-+#endif
- A(L_ACCT)
- A(L_DBG_WARN)
- A(L_DBG_ERR)
-@@ -510,6 +514,7 @@ static rlm_rcode_t do_python_single(REQUEST *request, PyObject *pFunc, char cons
- goto finish;
- }
-
-+#ifdef WITH_PROXY
- /* fill proxy vps */
- if (request->proxy) {
- if (!mod_populate_vps(pArgs, 4, request->proxy->vps)) {
-@@ -517,10 +522,13 @@ static rlm_rcode_t do_python_single(REQUEST *request, PyObject *pFunc, char cons
- ret = RLM_MODULE_FAIL;
- goto finish;
- }
-- } else {
-+ } else
-+#endif
-+ {
- mod_populate_vps(pArgs, 4, NULL);
- }
-
-+#ifdef WITH_PROXY
- /* fill proxy_reply vps */
- if (request->proxy_reply) {
- if (!mod_populate_vps(pArgs, 5, request->proxy_reply->vps)) {
-@@ -528,7 +536,9 @@ static rlm_rcode_t do_python_single(REQUEST *request, PyObject *pFunc, char cons
- ret = RLM_MODULE_FAIL;
- goto finish;
- }
-- } else {
-+ } else
-+#endif
-+ {
- mod_populate_vps(pArgs, 5, NULL);
- }
-
-@@ -550,9 +560,14 @@ static rlm_rcode_t do_python_single(REQUEST *request, PyObject *pFunc, char cons
- PyDict_SetItemString(pDictInput, "request", PyTuple_GET_ITEM(pArgs, 0)) ||
- PyDict_SetItemString(pDictInput, "reply", PyTuple_GET_ITEM(pArgs, 1)) ||
- PyDict_SetItemString(pDictInput, "config", PyTuple_GET_ITEM(pArgs, 2)) ||
-- PyDict_SetItemString(pDictInput, "session-state", PyTuple_GET_ITEM(pArgs, 3)) ||
-+ PyDict_SetItemString(pDictInput, "session-state", PyTuple_GET_ITEM(pArgs, 3))
-+#ifdef WITH_PROXY
-+ ||
- PyDict_SetItemString(pDictInput, "proxy-request", PyTuple_GET_ITEM(pArgs, 4)) ||
-- PyDict_SetItemString(pDictInput, "proxy-reply", PyTuple_GET_ITEM(pArgs, 5))) {
-+ PyDict_SetItemString(pDictInput, "proxy-reply", PyTuple_GET_ITEM(pArgs, 5))
-+#endif
-+ ) {
-+
- ERROR("%s:%d, %s - PyDict_SetItemString failed", __func__, __LINE__, funcname);
- ret = RLM_MODULE_FAIL;
- goto finish;
-@@ -819,8 +834,10 @@ MOD_FUNC(authorize)
- MOD_FUNC(preacct)
- MOD_FUNC(accounting)
- MOD_FUNC(checksimul)
-+#ifdef WITH_PROXY
- MOD_FUNC(pre_proxy)
- MOD_FUNC(post_proxy)
-+#endif
- MOD_FUNC(post_auth)
- #ifdef WITH_COA
- MOD_FUNC(recv_coa)
-@@ -1102,7 +1119,7 @@ static int python_interpreter_init(rlm_python_t *inst, CONF_SECTION *conf)
- python_dlhandle = dlopen_libpython(RTLD_NOW | RTLD_GLOBAL);
- if (!python_dlhandle) WARN("Failed loading libpython symbols into global symbol table");
-
--#if PY_VERSION_HEX > 0x03050000
-+#if PY_VERSION_HEX >= 0x03050000
- {
- wchar_t *name;
-
-@@ -1110,13 +1127,6 @@ static int python_interpreter_init(rlm_python_t *inst, CONF_SECTION *conf)
- Py_SetProgramName(name); /* The value of argv[0] as a wide char string */
- PyMem_RawFree(name);
- }
--#elif PY_VERSION_HEX > 0x0300000
-- {
-- wchar_t *name;
--
-- MEM(name = _Py_char2wchar(main_config.name, NULL));
-- Py_SetProgramName(inst->wide_name); /* The value of argv[0] as a wide char string */
-- }
- #else
- {
- char *name;
-@@ -1163,37 +1173,34 @@ static int python_interpreter_init(rlm_python_t *inst, CONF_SECTION *conf)
- * the lifetime of the module.
- */
- if (inst->python_path) {
-+ char *p, *path;
-+ PyObject *sys = PyImport_ImportModule("sys");
-+ PyObject *sys_path = PyObject_GetAttrString(sys, "path");
-+
-+ memcpy(&p, &inst->python_path, sizeof(path));
-+
-+ for (path = strtok(p, ":"); path != NULL; path = strtok(NULL, ":")) {
- #if PY_VERSION_HEX > 0x03050000
-- {
-- wchar_t *path;
-- PyObject* sys = PyImport_ImportModule("sys");
-- PyObject* sys_path = PyObject_GetAttrString(sys,"path");
--
-- MEM(path = Py_DecodeLocale(inst->python_path, NULL));
-- PyList_Append(sys_path, PyUnicode_FromWideChar(path,-1));
-- PyObject_SetAttrString(sys,"path",sys_path);
-- PyMem_RawFree(path);
-- }
-+ wchar_t *py_path;
-+
-+ MEM(py_path = Py_DecodeLocale(path, NULL));
-+ PyList_Append(sys_path, PyUnicode_FromWideChar(py_path, -1));
-+ PyMem_RawFree(py_path);
- #elif PY_VERSION_HEX > 0x03000000
-- {
-- wchar_t *path;
-- PyObject* sys = PyImport_ImportModule("sys");
-- PyObject* sys_path = PyObject_GetAttrString(sys,"path");
--
-- MEM(path = _Py_char2wchar(inst->python_path, NULL));
-- PyList_Append(sys_path, PyUnicode_FromWideChar(path,-1));
-- PyObject_SetAttrString(sys,"path",sys_path);
-- }
--#else
-- {
-- char *path;
-+ wchar_t *py_path;
-
-- memcpy(&path, &inst->python_path, sizeof(path));
-- Py_SetPath(path);
-- }
-+ MEM(py_path = _Py_char2wchar(path, NULL));
-+ PyList_Append(sys_path, PyUnicode_FromWideChar(py_path, -1));
-+ PyMem_RawFree(py_path);
-+#else
-+ PyList_Append(sys_path, PyLong_FromString(path));
- #endif
-- }
-+ }
-
-+ PyObject_SetAttrString(sys, "path", sys_path);
-+ Py_DecRef(sys);
-+ Py_DecRef(sys_path);
-+ }
- } else {
- inst->module = main_module;
- Py_IncRef(inst->module);
-@@ -1220,7 +1227,7 @@ static int python_interpreter_init(rlm_python_t *inst, CONF_SECTION *conf)
- static int mod_instantiate(CONF_SECTION *conf, void *instance)
- {
- rlm_python_t *inst = instance;
-- int code = 0;
-+ int code = RLM_MODULE_OK;
-
- inst->name = cf_section_name2(conf);
- if (!inst->name) inst->name = cf_section_name1(conf);
-@@ -1245,8 +1252,10 @@ static int mod_instantiate(CONF_SECTION *conf, void *instance)
- PYTHON_FUNC_LOAD(preacct);
- PYTHON_FUNC_LOAD(accounting);
- PYTHON_FUNC_LOAD(checksimul);
-+#ifdef WITH_PROXY
- PYTHON_FUNC_LOAD(pre_proxy);
- PYTHON_FUNC_LOAD(post_proxy);
-+#endif
- PYTHON_FUNC_LOAD(post_auth);
- #ifdef WITH_COA
- PYTHON_FUNC_LOAD(recv_coa);
-@@ -1257,12 +1266,14 @@ static int mod_instantiate(CONF_SECTION *conf, void *instance)
- /*
- * Call the instantiate function.
- */
-- code = do_python_single(NULL, inst->instantiate.function, "instantiate", inst->pass_all_vps, inst->pass_all_vps_dict);
-- if (code < 0) {
-- error:
-- python_error_log(); /* Needs valid thread with GIL */
-- PyEval_SaveThread();
-- return -1;
-+ if (inst->instantiate.function) {
-+ code = do_python_single(NULL, inst->instantiate.function, "instantiate", inst->pass_all_vps, inst->pass_all_vps_dict);
-+ if (code < 0) {
-+ error:
-+ python_error_log(); /* Needs valid thread with GIL */
-+ PyEval_SaveThread();
-+ return -1;
-+ }
- }
- PyEval_SaveThread();
-
-@@ -1272,22 +1283,31 @@ static int mod_instantiate(CONF_SECTION *conf, void *instance)
- static int mod_detach(void *instance)
- {
- rlm_python_t *inst = instance;
-- int ret;
-+ int ret = RLM_MODULE_OK;
-
- /*
- * Call module destructor
- */
- PyEval_RestoreThread(inst->sub_interpreter);
-
-- ret = do_python_single(NULL, inst->detach.function, "detach", inst->pass_all_vps, inst->pass_all_vps_dict);
-+ if (inst->detach.function) ret = do_python_single(NULL, inst->detach.function, "detach", inst->pass_all_vps, inst->pass_all_vps_dict);
-
- #define PYTHON_FUNC_DESTROY(_x) python_function_destroy(&inst->_x)
- PYTHON_FUNC_DESTROY(instantiate);
-- PYTHON_FUNC_DESTROY(authorize);
- PYTHON_FUNC_DESTROY(authenticate);
-+ PYTHON_FUNC_DESTROY(authorize);
- PYTHON_FUNC_DESTROY(preacct);
- PYTHON_FUNC_DESTROY(accounting);
- PYTHON_FUNC_DESTROY(checksimul);
-+#ifdef WITH_PROXY
-+ PYTHON_FUNC_DESTROY(pre_proxy);
-+ PYTHON_FUNC_DESTROY(post_proxy);
-+#endif
-+ PYTHON_FUNC_DESTROY(post_auth);
-+#ifdef WITH_COA
-+ PYTHON_FUNC_DESTROY(recv_coa);
-+ PYTHON_FUNC_DESTROY(send_coa);
-+#endif
- PYTHON_FUNC_DESTROY(detach);
-
- Py_DecRef(inst->pythonconf_dict);
-@@ -1313,14 +1333,8 @@ static int mod_detach(void *instance)
- PyThreadState_Swap(main_interpreter); /* Swap to the main thread */
- Py_Finalize();
- dlclose(python_dlhandle);
--
--#if PY_VERSION_HEX > 0x03050000
-- //if (inst->wide_name) PyMem_RawFree(inst->wide_name);
-- //if (inst->wide_path) PyMem_RawFree(inst->wide_path);
--#endif
- }
-
--
- return ret;
- }
-
-@@ -1348,8 +1362,10 @@ module_t rlm_python3 = {
- [MOD_PREACCT] = mod_preacct,
- [MOD_ACCOUNTING] = mod_accounting,
- [MOD_SESSION] = mod_checksimul,
-+#ifdef WITH_PROXY
- [MOD_PRE_PROXY] = mod_pre_proxy,
- [MOD_POST_PROXY] = mod_post_proxy,
-+#endif
- [MOD_POST_AUTH] = mod_post_auth,
- #ifdef WITH_COA
- [MOD_RECV_COA] = mod_recv_coa,
diff --git a/net-dialup/freeradius/files/freeradius-3.0.20-systemd-service.patch b/net-dialup/freeradius/files/freeradius-3.0.20-systemd-service.patch
deleted file mode 100644
index 04223657d5f5..000000000000
--- a/net-dialup/freeradius/files/freeradius-3.0.20-systemd-service.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-diff --git a/debian/freeradius.service b/debian/freeradius.service
-index 378702d184..ee33c2a294 100644
---- a/debian/freeradius.service
-+++ b/debian/freeradius.service
-@@ -7,7 +7,6 @@ Documentation=man:radiusd(8) man:radiusd.conf(5) http://wiki.freeradius.org/ htt
- Type=notify
- WatchdogSec=60
- NotifyAccess=all
--EnvironmentFile=-/etc/default/freeradius
-
- # FreeRADIUS can do static evaluation of policy language rules based
- # on environmental variables which is very useful for doing per-host
-@@ -25,16 +24,15 @@ MemoryLimit=2G
- # Ensure the daemon can still write its pidfile after it drops
- # privileges. Combination of options that work on a variety of
- # systems. Test very carefully if you alter these lines.
--RuntimeDirectory=freeradius
-+RuntimeDirectory=radiusd
- RuntimeDirectoryMode=0775
- # This does not work on Debian Jessie:
--User=freerad
--Group=freerad
--# This does not work on Ubuntu Bionic:
--ExecStartPre=/bin/chown freerad:freerad /var/run/freeradius
-+User=radius
-+Group=radius
-
--ExecStartPre=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cx -lstdout
--ExecStart=/usr/sbin/freeradius -f $FREERADIUS_OPTIONS
-+ExecStartPre=/usr/sbin/radiusd $RADIUSD_OPTIONS -Cx -lstdout
-+ExecStart=/usr/sbin/radiusd -f $RADIUSD_OPTIONS
-+ExecReload=/bin/kill -HUP $MAINPID
- Restart=on-failure
- RestartSec=5
-
-@@ -42,7 +40,7 @@ RestartSec=5
- NoNewPrivileges=true
-
- # Allow binding to secure ports, broadcast addresses, and raw interfaces.
--#CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW CAP_SETUID CAP_SETGID CAP_CHOWN CAP_DAC_OVERRIDE
-+CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW CAP_SETUID CAP_SETGID CAP_CHOWN CAP_DAC_OVERRIDE
-
- # Private /tmp that isn't shared by other processes
- PrivateTmp=true
-@@ -60,10 +58,10 @@ ProtectKernelTunables=true
- SystemCallArchitectures=native
-
- # We shouldn't be writing to the configuration directory
--ReadOnlyDirectories=/etc/freeradius/
-+ReadOnlyDirectories=/etc/raddb/
-
- # We can read and write to the log directory.
--ReadWriteDirectories=/var/log/freeradius/
-+ReadWriteDirectories=/var/log/radius/
-
- [Install]
- WantedBy=multi-user.target
diff --git a/net-dialup/freeradius/freeradius-3.0.20-r5.ebuild b/net-dialup/freeradius/freeradius-3.0.20-r5.ebuild
deleted file mode 100644
index e1d17f101601..000000000000
--- a/net-dialup/freeradius/freeradius-3.0.20-r5.ebuild
+++ /dev/null
@@ -1,271 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8} )
-inherit autotools pam python-single-r1 systemd
-
-MY_P="${PN}-server-${PV}"
-
-DESCRIPTION="Highly configurable free RADIUS server"
-SRC_URI="
- ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz
- ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz
-"
-HOMEPAGE="http://www.freeradius.org/"
-
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~sparc x86"
-LICENSE="GPL-2"
-SLOT="0"
-
-IUSE="
- debug firebird iodbc kerberos ldap memcached mysql mongodb odbc oracle pam
- pcap postgres python readline redis rest samba sqlite ssl systemd
-"
-RESTRICT="test firebird? ( bindist )"
-
-# NOTE: Temporary freeradius doesn't support linking with mariadb client
-# libs also if code is compliant, will be available in the next release.
-# (http://lists.freeradius.org/pipermail/freeradius-devel/2018-October/013228.html)a
-
-# TODO: rlm_mschap works with both samba library or without. I need to avoid
-# linking of samba library if -samba is used.
-RDEPEND="acct-group/radius
- acct-user/radius
- !net-dialup/cistronradius
- dev-lang/perl:=
- sys-libs/gdbm:=
- sys-libs/talloc
- virtual/libcrypt:=
- firebird? ( dev-db/firebird )
- iodbc? ( dev-db/libiodbc )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- memcached? ( dev-libs/libmemcached )
- mysql? ( dev-db/mysql-connector-c:= )
- mongodb? ( >=dev-libs/mongo-c-driver-1.13.0-r1 )
- odbc? ( dev-db/unixODBC )
- oracle? ( dev-db/oracle-instantclient[sdk] )
- pam? ( sys-libs/pam )
- pcap? ( net-libs/libpcap )
- postgres? ( dev-db/postgresql:= )
- python? ( ${PYTHON_DEPS} )
- readline? ( sys-libs/readline:0= )
- redis? ( dev-libs/hiredis:= )
- rest? ( dev-libs/json-c:= )
- samba? ( net-fs/samba )
- sqlite? ( dev-db/sqlite:3 )
- ssl? (
- dev-libs/openssl:0=[-bindist(-)]
- )
- systemd? ( sys-apps/systemd )"
-DEPEND="${RDEPEND}"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-systemd-service.patch
- # Fix rlm_python3 build
- # Backport from rlm_python changes to rlm_python3
- "${FILESDIR}"/${P}-py3-fixes.patch
-)
-
-pkg_setup() {
- if use python ; then
- python-single-r1_pkg_setup
- export PYTHONBIN="${EPYTHON}"
- fi
-}
-
-src_prepare() {
- # most of the configuration options do not appear as ./configure
- # switches. Instead it identifies the directories that are available
- # and run through them. These might check for the presence of
- # various libraries, in which case they are not built. To avoid
- # automagic dependencies, we just remove all the modules that we're
- # not interested in using.
-
- eapply_user
- default
-
- use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; }
- use ldap || { rm -r src/modules/rlm_ldap || die ; }
- use kerberos || { rm -r src/modules/rlm_krb5 || die ; }
- use memcached || { rm -r src/modules/rlm_cache/drivers/rlm_cache_memcached || die ; }
- use pam || { rm -r src/modules/rlm_pam || die ; }
- # Drop support of python2
- rm -r src/modules/rlm_python || die
- use python || { rm -r src/modules/rlm_python3 || die ; }
- use rest || { rm -r src/modules/rlm_rest || die ; }
- use redis || { rm -r src/modules/rlm_redis{,who} || die ; }
- # Do not install ruby rlm module, bug #483108
- rm -r src/modules/rlm_ruby || die
-
- # these are all things we don't have in portage/I don't want to deal
- # with myself
- rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die # requires TNCS library
- rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die # requires libeap-ikev2
- rm -r src/modules/rlm_opendirectory || die # requires some membership.h
- rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds} || die
-
- # sql drivers that are not part of experimental are loaded from a
- # file, so we have to remove them from the file itself when we
- # remove them.
- usesqldriver() {
- local flag=$1
- local driver=rlm_sql_${2:-${flag}}
-
- if ! use ${flag}; then
- rm -r src/modules/rlm_sql/drivers/${driver} || die
- sed -i -e /${driver}/d src/modules/rlm_sql/stable || die
- fi
- }
-
- sed -i \
- -e 's:^#\tuser = :\tuser = :g' \
- -e 's:^#\tgroup = :\tgroup = :g' \
- -e 's:/var/run/radiusd:/run/radiusd:g' \
- -e '/^run_dir/s:${localstatedir}::g' \
- raddb/radiusd.conf.in || die
-
- # verbosity
- # build shared libraries using jlibtool --shared
- sed -i \
- -e '/$(LIBTOOL)/s|--quiet ||g' \
- -e 's:--mode=\(compile\|link\):& --shared:g' \
- Make.inc.in || die
-
- sed -i \
- -e 's|--silent ||g' \
- -e 's:--mode=\(compile\|link\):& --shared:g' \
- scripts/libtool.mk || die
-
- # crude measure to stop jlibtool from running ranlib and ar
- sed -i \
- -e '/LIBRARIAN/s|".*"|"true"|g' \
- -e '/RANLIB/s|".*"|"true"|g' \
- scripts/jlibtool.c || die
-
- usesqldriver mysql
- usesqldriver postgres postgresql
- usesqldriver firebird
- usesqldriver iodbc
- usesqldriver odbc unixodbc
- usesqldriver oracle
- usesqldriver sqlite
- usesqldriver mongodb mongo
-
- eautoreconf
-}
-
-src_configure() {
- # do not try to enable static with static-libs; upstream is a
- # massacre of libtool best practices so you also have to make sure
- # to --enable-shared explicitly.
- local myeconfargs=(
- --enable-shared
- --disable-static
- --disable-ltdl-install
- --with-system-libtool
- --with-system-libltdl
- --with-ascend-binary
- --with-udpfromto
- --with-dhcp
- --with-iodbc-include-dir=/usr/include/iodbc
- --with-experimental-modules
- --with-docdir=/usr/share/doc/${PF}
- --with-logdir=/var/log/radius
- $(use_enable debug developer)
- $(use_with ldap edir)
- $(use_with ssl openssl)
- $(use_with systemd systemd)
- )
- # fix bug #77613
- if has_version app-crypt/heimdal; then
- myeconfargs+=( --enable-heimdal-krb5 )
- fi
-
- if use python ; then
- myeconfargs+=(
- --with-rlm-python3-bin=${EPYTHON}
- --with-rlm-python3-config-bin=${EPYTHON}-config
- )
- fi
-
- use readline || export ac_cv_lib_readline=no
- use pcap || export ac_cv_lib_pcap_pcap_open_live=no
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # verbose, do not generate certificates
- emake \
- Q='' ECHO=true \
- LOCAL_CERT_PRODUCTS=''
-}
-
-src_install() {
- dodir /etc
- diropts -m0750 -o root -g radius
- dodir /etc/raddb
- diropts -m0750 -o radius -g radius
- dodir /var/log/radius
- keepdir /var/log/radius/radacct
- diropts
-
- # verbose, do not install certificates
- # Parallel install fails (#509498)
- emake -j1 \
- Q='' ECHO=true \
- LOCAL_CERT_PRODUCTS='' \
- R="${D}" \
- install
-
- if use pam; then
- pamd_mimic_system radiusd auth account password session
- fi
-
- # fix #711756
- fowners -R radius:radius /etc/raddb
- fowners -R radius:radius /var/log/radius
-
- dodoc CREDITS
-
- rm "${ED}/usr/sbin/rc.radiusd" || die
-
- newinitd "${FILESDIR}/radius.init-r3" radiusd
- newconfd "${FILESDIR}/radius.conf-r4" radiusd
-
- if ! use systemd ; then
- # If systemd builtin is not enabled we need use Type=Simple
- # as systemd .service
- sed -i -e 's:^Type=.*::g' \
- -e 's:^WatchdogSec=.*::g' -e 's:^NotifyAccess=all.*::g' \
- "${S}"/debian/freeradius.service
- fi
- systemd_dounit "${S}"/debian/freeradius.service
-
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
-
-}
-
-pkg_config() {
- if use ssl; then
- cd "${ROOT}"/etc/raddb/certs || die
- ./bootstrap || die "Error while running ./bootstrap script."
- fowners root:radius "${ROOT}"/etc/raddb/certs
- fowners root:radius "${ROOT}"/etc/raddb/certs/ca.pem
- fowners root:radius "${ROOT}"/etc/raddb/certs/server.{key,crt,pem}
- fi
-}
-
-pkg_preinst() {
- if ! has_version ${CATEGORY}/${PN} && use ssl; then
- elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able"
- elog "to start the radiusd service."
- fi
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2022-11-15 18:17 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-15 18:17 [gentoo-commits] repo/gentoo:master commit in: net-dialup/freeradius/files/, net-dialup/freeradius/ Michał Górny
-- strict thread matches above, loose matches on Subject: below --
2022-11-15 18:17 Michał Górny
2020-11-06 21:00 Matt Turner
2020-10-17 13:19 Joonas Niilola
2020-04-17 7:36 Joonas Niilola
2020-02-11 19:13 Matt Turner
2019-06-13 19:51 Aaron W. Swenson
2019-04-24 21:53 Aaron Bauman
2016-04-28 22:00 Austin English
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox