From 2fd57282f0262ca084e05b0f2c63fbada395d02b Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 16 Jan 2022 20:27:28 +0000 Subject: gentoo resync : 16.01.2021 --- net-dialup/freeradius/Manifest | 8 +- net-dialup/freeradius/freeradius-3.0.20-r3.ebuild | 271 ---------------------- net-dialup/freeradius/freeradius-3.0.20-r4.ebuild | 271 ++++++++++++++++++++++ net-dialup/freeradius/freeradius-3.0.21-r3.ebuild | 267 --------------------- net-dialup/freeradius/freeradius-3.0.21-r4.ebuild | 267 +++++++++++++++++++++ net-dialup/freeradius/freeradius-3.0.22-r2.ebuild | 267 --------------------- net-dialup/freeradius/freeradius-3.0.22-r3.ebuild | 267 +++++++++++++++++++++ net-dialup/freeradius/freeradius-3.0.25-r1.ebuild | 267 +++++++++++++++++++++ net-dialup/freeradius/freeradius-3.0.25.ebuild | 267 --------------------- 9 files changed, 1076 insertions(+), 1076 deletions(-) delete mode 100644 net-dialup/freeradius/freeradius-3.0.20-r3.ebuild create mode 100644 net-dialup/freeradius/freeradius-3.0.20-r4.ebuild delete mode 100644 net-dialup/freeradius/freeradius-3.0.21-r3.ebuild create mode 100644 net-dialup/freeradius/freeradius-3.0.21-r4.ebuild delete mode 100644 net-dialup/freeradius/freeradius-3.0.22-r2.ebuild create mode 100644 net-dialup/freeradius/freeradius-3.0.22-r3.ebuild create mode 100644 net-dialup/freeradius/freeradius-3.0.25-r1.ebuild delete mode 100644 net-dialup/freeradius/freeradius-3.0.25.ebuild (limited to 'net-dialup/freeradius') diff --git a/net-dialup/freeradius/Manifest b/net-dialup/freeradius/Manifest index cd11f1612fd1..7db8b318b6cc 100644 --- a/net-dialup/freeradius/Manifest +++ b/net-dialup/freeradius/Manifest @@ -9,8 +9,8 @@ DIST freeradius-3.0.25.tar.gz 5300245 BLAKE2B bf8908aa7bfabb9e15fa841457f176a4f2 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 -EBUILD freeradius-3.0.20-r3.ebuild 7545 BLAKE2B c9e6c473b8fa186133a681391b322a7d11c2190048b69e2f35c77e41ea358aef88e8215c394be9a10fc6424c09e3585b7b478834e6b3ff475373d60195903671 SHA512 2ab65d11ae220d28c90ef1ccee7b4e772efe50cb8cd33eed683c5532fbf6ef1cd49e1769525bc810d26a666ea22d40dc41323774f5ba307a8bf048bf5b2ef774 -EBUILD freeradius-3.0.21-r3.ebuild 7442 BLAKE2B 9344d3219d270877287f69bc5f1d88abc2385ca42a414897829703a012479156eea54b885fd96ab9ef9c0bf7f8ef0eb4042bc97535b9a3aba46b2606e81ecf0f SHA512 934aacb7aa9fc53b27954fc86c5859032e33d81ebb53046e30bffff419711c1d0041aa5d5154dcd37b7618992a656ceb3eab7ed8ad0ccd9ccf5e985da57aab1a -EBUILD freeradius-3.0.22-r2.ebuild 7445 BLAKE2B 22cc611d38c07ac5ed21818cf4f70fee126b7fab8f9e34f44643641371057464708b7b4fa7a1d7ed5ff692710f41b8b42912e4553649b6afcf7ce10489955195 SHA512 67640e9c637dd61599af21d67d7583dee47eefc5ac49d49d313647f09e3a37d14ddf3c2aa38efeb7d670d5e8363ae690c67bf17fbb663402dd54df2a4d31ce04 -EBUILD freeradius-3.0.25.ebuild 7518 BLAKE2B 43eb543970930ae30ddc285712ee584c1495ba4d111195e667b2494e7d8f2d7c44ba8ac2d0aae98e33ae5f355ea23747265e747555b8b5fdcebb7a74b09f83a6 SHA512 2668a62267ccdd984582b667d583275054bf424b803672e72078c32aee7b43ca7f07b6637c986457a5bcac6bd22e6ec1ed19b6a3dbbdb3f60409fe42f1690358 +EBUILD freeradius-3.0.20-r4.ebuild 7544 BLAKE2B e48ab035bd1460d453a04429730061d104d237396e5a9ec1eb298183d19e8ddd6e200d70d348d6939b6e67427257b3ec579e69bf393920f646ee376ce38bec2a SHA512 ab94e84dcc958fea500a5a7c914ba000fb4c634a001c69d3383de90b241ba2ff77b60faea1cd955aed93209b1fc1a6b4610070f1e9907e8e3eed7ab2b74813b4 +EBUILD freeradius-3.0.21-r4.ebuild 7441 BLAKE2B bfefbef42cfa88bc18be744ee2f572abb27307d8f1fc01b214a71d6977b1c4ace1e3f90542657af4a3cbd3fac86101c7f03bf12f5c56a11991e0330cfcd6c89b SHA512 cbcc4aa3c371655c4fed0cb3104b56198f8c763f3bea4e085eb0aff8fef5c11d5088b95fa616de292b5228ddb6fc4d86fc857d6b071beff6645b6b3783106fd2 +EBUILD freeradius-3.0.22-r3.ebuild 7444 BLAKE2B e718bc5ece2cff1986af8ab8367326adaaec632db2f79c1198428e57ff40b2c3f1e745c699ca92972e4ed474661ac43174a84e92391a4f7bdca36bbcfb00b052 SHA512 04824858ccdbd44165b315a5ab71c121a44ded889a97bc692b2dadec70c31112e01cfc5e115b01bb73350ec4ef99a8d6cb00b565779218c4e807ba2931899173 +EBUILD freeradius-3.0.25-r1.ebuild 7517 BLAKE2B f92ca2cc1485896511a47b184aa45daec4109586facd9d181e0c8aae85086190deb87d45ce4683299e924b53d8b49394d4040f04941316c61bf37e676131df8f SHA512 60263a666ab7c6b7605cb1fa9580df4a293e6b12bccf2a61253c33dd57831bd689cab492a1dda8e8b68a9b798888cd7c1db33c82bde115e4bc051fe242125580 MISC metadata.xml 657 BLAKE2B 4ae124b2f8a4e2230ff696f06056c4d9ca2a03b989362b6465ba42b9a1d730f1f35776b3de8a455f40956d7d2e0746ddfeb304d13fa44f69347f88e97443a72a SHA512 21137127c400a99a024012defe01c3546178492ef608428e673008ae3e7d677f97a2b33bd6efbd6737b60144e0697cacb583e7d9b477187a109b3e7482d899b1 diff --git a/net-dialup/freeradius/freeradius-3.0.20-r3.ebuild b/net-dialup/freeradius/freeradius-3.0.20-r3.ebuild deleted file mode 100644 index f544d277e524..000000000000 --- a/net-dialup/freeradius/freeradius-3.0.20-r3.ebuild +++ /dev/null @@ -1,271 +0,0 @@ -# Copyright 1999-2021 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-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? ( - 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 -} diff --git a/net-dialup/freeradius/freeradius-3.0.20-r4.ebuild b/net-dialup/freeradius/freeradius-3.0.20-r4.ebuild new file mode 100644 index 000000000000..be87dbf9966f --- /dev/null +++ b/net-dialup/freeradius/freeradius-3.0.20-r4.ebuild @@ -0,0 +1,271 @@ +# 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 +} diff --git a/net-dialup/freeradius/freeradius-3.0.21-r3.ebuild b/net-dialup/freeradius/freeradius-3.0.21-r3.ebuild deleted file mode 100644 index e2af05f86df8..000000000000 --- a/net-dialup/freeradius/freeradius-3.0.21-r3.ebuild +++ /dev/null @@ -1,267 +0,0 @@ -# Copyright 1999-2021 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-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? ( - 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.21-r4.ebuild b/net-dialup/freeradius/freeradius-3.0.21-r4.ebuild new file mode 100644 index 000000000000..896766f075a7 --- /dev/null +++ b/net-dialup/freeradius/freeradius-3.0.21-r4.ebuild @@ -0,0 +1,267 @@ +# 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-r2.ebuild b/net-dialup/freeradius/freeradius-3.0.22-r2.ebuild deleted file mode 100644 index e0e9e91e1e60..000000000000 --- a/net-dialup/freeradius/freeradius-3.0.22-r2.ebuild +++ /dev/null @@ -1,267 +0,0 @@ -# Copyright 1999-2021 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-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? ( - 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-r3.ebuild b/net-dialup/freeradius/freeradius-3.0.22-r3.ebuild new file mode 100644 index 000000000000..06341165e705 --- /dev/null +++ b/net-dialup/freeradius/freeradius-3.0.22-r3.ebuild @@ -0,0 +1,267 @@ +# 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.25-r1.ebuild b/net-dialup/freeradius/freeradius-3.0.25-r1.ebuild new file mode 100644 index 000000000000..88d3a312f0ad --- /dev/null +++ b/net-dialup/freeradius/freeradius-3.0.25-r1.ebuild @@ -0,0 +1,267 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit autotools pam python-single-r1 systemd + +MY_PV=$(ver_rs 1- "_") + +DESCRIPTION="Highly configurable free RADIUS server" +HOMEPAGE="https://freeradius.org/" +SRC_URI="https://github.com/FreeRADIUS/freeradius-server/archive/release_${MY_PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/freeradius-server-release_${MY_PV}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86" + +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} )" + +# 721040 +QA_SONAME="usr/lib.*/libfreeradius-.*.so" + +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-r6" 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." + chown root:radius "${ROOT}"/etc/raddb/certs || die + chown root:radius "${ROOT}"/etc/raddb/certs/ca.pem || die + chown root:radius "${ROOT}"/etc/raddb/certs/server.{key,crt,pem} || die + 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.25.ebuild b/net-dialup/freeradius/freeradius-3.0.25.ebuild deleted file mode 100644 index 9479f1209c3d..000000000000 --- a/net-dialup/freeradius/freeradius-3.0.25.ebuild +++ /dev/null @@ -1,267 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..10} ) -inherit autotools pam python-single-r1 systemd - -MY_PV=$(ver_rs 1- "_") - -DESCRIPTION="Highly configurable free RADIUS server" -HOMEPAGE="https://freeradius.org/" -SRC_URI="https://github.com/FreeRADIUS/freeradius-server/archive/release_${MY_PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}/freeradius-server-release_${MY_PV}" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86" - -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-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? ( - dev-libs/openssl:0=[-bindist(-)] - ) - systemd? ( sys-apps/systemd )" -DEPEND="${RDEPEND}" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -# 721040 -QA_SONAME="usr/lib.*/libfreeradius-.*.so" - -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-r6" 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." - chown root:radius "${ROOT}"/etc/raddb/certs || die - chown root:radius "${ROOT}"/etc/raddb/certs/ca.pem || die - chown root:radius "${ROOT}"/etc/raddb/certs/server.{key,crt,pem} || die - 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 -} -- cgit v1.2.3