From 9156fe61706054985f2534fffc8702548b43f574 Mon Sep 17 00:00:00 2001 From: blshkv Date: Thu, 23 Mar 2017 08:53:45 +0800 Subject: [PATCH] freeradius: fix python class and sync with gentoo --- net-dialup/freeradius/Manifest | 1 - .../freeradius/freeradius-2.2.0-r1.ebuild | 191 ------------------ .../freeradius/freeradius-2.2.5-r1.ebuild | 51 +++-- 3 files changed, 25 insertions(+), 218 deletions(-) delete mode 100644 net-dialup/freeradius/freeradius-2.2.0-r1.ebuild diff --git a/net-dialup/freeradius/Manifest b/net-dialup/freeradius/Manifest index 5c3af421a..16a20b0a1 100644 --- a/net-dialup/freeradius/Manifest +++ b/net-dialup/freeradius/Manifest @@ -1,3 +1,2 @@ DIST freeradius-2.2.0-patches-4.tar.xz 3140 SHA256 9fd7b6f7e1501d63a073e6279b20eb6d8154e7898d81c85a5c548543ab33c1af SHA512 38ebd65d9ad8ce8f513f2f5c7fd9ff43b81cf468038a49f9eb7f4a54d13783e88866c3031e7abc0fc8b65d2aec4f347efa358b9e7e2aadb2d15567ce7e125d1d WHIRLPOOL a532444f6bfebe260a6b4bf43157fa1624ce9920a86635172ac94e0f757263904bac6ca6a472e12df73e32a8d25d6f7b094272bd743d13c566f23bfcbff6df27 -DIST freeradius-server-2.2.0.tar.gz 4289865 SHA256 ac22eefe7bd7c1c2b4de28613e628fd3e9ccae08a00a103e5f75aac0927bf009 SHA512 8652d27a292c3a8627c13b0bf12b829d3f2c50d82ed85eb342d1ec5c84ceabf8963907d50464a5907d2934f1b069a491411b1d5129efaaecefe4a30251b2b607 WHIRLPOOL 9f7dc926da7a33bfb425cb668bc9cf940a7a2dafa2a73ba8847a15f0d725476fdb4afc41963426ade9175709007f6f72892c3e9cd33d82c6601f57b873f92471 DIST freeradius-server-2.2.5.tar.gz 4415950 SHA256 8c4c2a0b600a8d85d2235589a5e80d4fefd1f52317e9daf8193731566fa9d012 SHA512 511599b4f4f5906441d0cda61946341f2226b9aae69b6f68b03a19898b6385499a8221933c191232d50f736cab93f0f6f271e4defe4552e7738cb21e2415f053 WHIRLPOOL 629ac42749b736a7cd606c97fb149ea6f3b11d0e77bc5fc69785e4c7956f073131eb16420f276de5664e977a37a6784d0bbff08a15c1c23389f5369320a4cb12 diff --git a/net-dialup/freeradius/freeradius-2.2.0-r1.ebuild b/net-dialup/freeradius/freeradius-2.2.0-r1.ebuild deleted file mode 100644 index 1ad28290b..000000000 --- a/net-dialup/freeradius/freeradius-2.2.0-r1.ebuild +++ /dev/null @@ -1,191 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/freeradius-2.2.0.ebuild,v 1.5 2013/02/11 15:24:55 pinkbyte Exp $ - -EAPI=4 - -PATCHSET=4 - -inherit eutils pam autotools user python - -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 - http://dev.gentoo.org/~flameeyes/${PN}/${P}-patches-${PATCHSET}.tar.xz" -HOMEPAGE="http://www.freeradius.org/" - -KEYWORDS="amd64 ~ppc ~ppc64 ~sparc x86" -LICENSE="GPL-2" -SLOT="0" - -IUSE="bindist debug firebird kerberos ldap mysql -pam postgres ssl pcap readline ruby sqlite python odbc iodbc -oracle +wpe" - -RDEPEND="!net-dialup/cistronradius - !net-dialup/gnuradius - sys-devel/libtool - dev-lang/perl - sys-libs/gdbm - python? ( >=dev-lang/python-2.4 ) - readline? ( sys-libs/readline ) - pcap? ( net-libs/libpcap ) - mysql? ( virtual/mysql ) - postgres? ( dev-db/postgresql-base ) - firebird? ( dev-db/firebird ) - pam? ( sys-libs/pam ) - ssl? ( dev-libs/openssl ) - ldap? ( net-nds/openldap ) - kerberos? ( virtual/krb5 ) - ruby? ( dev-lang/ruby:1.8 ) - sqlite? ( dev-db/sqlite:3 ) - odbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) - oracle? ( dev-db/oracle-instantclient-basic )" -DEPEND="${RDEPEND}" - -REQUIRED_USE="bindist? ( !firebird )" - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - enewgroup radius - enewuser radius -1 -1 /var/log/radius radius -} - -src_prepare() { - epatch "${WORKDIR}"/patches/*.patch - if use wpe; then - epatch "${FILESDIR}/${P}-wpe.patch" - -# einfo "fixing wpe settings for windows" -# sed -i 's/^# with_ntdomain_hack = no/ with_ntdomain_hack = yes/g' raddb/modules/mschap -# sed -i 's/with_ntdomain_hack = no/with_ntdomain_hack = yes/g' raddb/modules/preprocess - cp "${FILESDIR}"/clients_wpe.conf raddb/clients.conf || die "failed to copy config files" - cp "${FILESDIR}"/eap_wpe.conf raddb/eap.conf || die "failed to copy config files" - cp "${FILESDIR}"/users_wpe raddb/users || die "failed to copy config files" - fi - - # 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 - use ruby || 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 - - 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_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 R="${D}" install - chown -R root:radius "${D}"/etc/raddb - - sed -i -e '/run_dir =/s:=.*:=/var/run/radiusd:' \ - "${D}"/etc/raddb/radiusd.conf - - 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_postinst() { - elog "Users are no longer read from /etc/raddb/radiusd.conf. Please" - elog "configure them in /etc/conf.d/radius instead." - elog "Also make sure that if you change the pidfile in /etc/raddb/radiusd.conf" - elog "you change the pidfile definition in /etc/conf.d/radius as well." - if use ssl; then - ewarn "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able" - ewarn "to start the radiusd service." - fi -} diff --git a/net-dialup/freeradius/freeradius-2.2.5-r1.ebuild b/net-dialup/freeradius/freeradius-2.2.5-r1.ebuild index bdf4b71ad..3ada1bc16 100644 --- a/net-dialup/freeradius/freeradius-2.2.5-r1.ebuild +++ b/net-dialup/freeradius/freeradius-2.2.5-r1.ebuild @@ -1,8 +1,7 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ -EAPI=5 +EAPI=6 PYTHON_COMPAT=( python2_7 ) inherit autotools eutils pam python-any-r1 user @@ -29,20 +28,19 @@ IUSE=" postgres python readline sqlite ssl +wpe " -#openssl:= fix, see #517908 RDEPEND="!net-dialup/cistronradius !net-dialup/gnuradius sys-devel/libtool - dev-lang/perl + dev-lang/perl:= sys-libs/gdbm python? ( ${PYTHON_DEPS} ) - readline? ( sys-libs/readline ) + readline? ( sys-libs/readline:0= ) pcap? ( net-libs/libpcap ) mysql? ( virtual/mysql ) - postgres? ( dev-db/postgresql-base ) + postgres? ( dev-db/postgresql:= ) firebird? ( dev-db/firebird ) pam? ( virtual/pam ) - ssl? ( dev-libs/openssl:= ) + ssl? ( dev-libs/openssl:0= ) ldap? ( net-nds/openldap ) kerberos? ( virtual/krb5 ) sqlite? ( dev-db/sqlite:3 ) @@ -83,21 +81,21 @@ src_prepare() { # 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 + 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 + 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 # 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} + 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 @@ -123,7 +121,7 @@ src_prepare() { # remove bundled ltdl to avoid conflicts rm -r libltdl - epatch_user + default eautoreconf } @@ -131,7 +129,7 @@ src_prepare() { src_configure() { # fix bug #77613 if has_version app-crypt/heimdal; then - myconf="${myconf} --enable-heimdal-krb5" + myconf+=( --enable-heimdal-krb5 ) fi use readline || export ac_cv_lib_readline=no @@ -155,7 +153,7 @@ src_configure() { $(use_enable debug developer) \ $(use_with ldap edir) \ $(use_with ssl openssl) \ - ${myconf} + ${myconf[@]} } src_compile() { @@ -175,15 +173,16 @@ src_install() { fowners -R root:radius /etc/raddb - sed -i \ - -e 's:/var/run/radiusd:/run/radiusd:' \ - "${D}"/etc/raddb/radiusd.conf || die + # 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" + rm "${D}/usr/sbin/rc.radiusd" || die newinitd "${FILESDIR}/radius.init-r3" radiusd newconfd "${FILESDIR}/radius.conf-r3" radiusd