diff options
author | Jeroen Roovers <jer@gentoo.org> | 2014-05-03 15:47:45 +0000 |
---|---|---|
committer | Jeroen Roovers <jer@gentoo.org> | 2014-05-03 15:47:45 +0000 |
commit | 4470b97dd37db2ef6ef2b165c1850794f0c30db2 (patch) | |
tree | 1cb047ce72365377491a855c1947d02a379b7ac1 /net-dialup/freeradius | |
parent | Use python-2 for gtest (bug 509462) (diff) | |
download | gentoo-2-4470b97dd37db2ef6ef2b165c1850794f0c30db2.tar.gz gentoo-2-4470b97dd37db2ef6ef2b165c1850794f0c30db2.tar.bz2 gentoo-2-4470b97dd37db2ef6ef2b165c1850794f0c30db2.zip |
Version bump (bug #489958). Use /run not /var/run. Migrate away from python.eclass.
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key A792A613)
Diffstat (limited to 'net-dialup/freeradius')
-rw-r--r-- | net-dialup/freeradius/ChangeLog | 11 | ||||
-rw-r--r-- | net-dialup/freeradius/files/freeradius-2.2.5-gentoo.patch | 104 | ||||
-rw-r--r-- | net-dialup/freeradius/files/radius.init-r3 | 8 | ||||
-rw-r--r-- | net-dialup/freeradius/freeradius-2.2.5.ebuild | 196 | ||||
-rw-r--r-- | net-dialup/freeradius/freeradius-3.0.2.ebuild | 189 |
5 files changed, 504 insertions, 4 deletions
diff --git a/net-dialup/freeradius/ChangeLog b/net-dialup/freeradius/ChangeLog index 95189666cb5f..2429fdb9bd9a 100644 --- a/net-dialup/freeradius/ChangeLog +++ b/net-dialup/freeradius/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for net-dialup/freeradius # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/ChangeLog,v 1.117 2014/01/03 12:06:30 naota Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/ChangeLog,v 1.118 2014/05/03 15:47:45 jer Exp $ + +*freeradius-3.0.2 (03 May 2014) +*freeradius-2.2.5 (03 May 2014) + + 03 May 2014; Jeroen Roovers <jer@gentoo.org> +freeradius-2.2.5.ebuild, + +freeradius-3.0.2.ebuild, +files/freeradius-2.2.5-gentoo.patch, + files/radius.init-r3: + Version bump (bug #489958). Use /run not /var/run. Migrate away from + python.eclass. 03 Jan 2014; Naohiro Aota <naota@gentoo.org> freeradius-2.2.0.ebuild: Add ~x86-fbsd. #354151 diff --git a/net-dialup/freeradius/files/freeradius-2.2.5-gentoo.patch b/net-dialup/freeradius/files/freeradius-2.2.5-gentoo.patch new file mode 100644 index 000000000000..c51597cbb929 --- /dev/null +++ b/net-dialup/freeradius/files/freeradius-2.2.5-gentoo.patch @@ -0,0 +1,104 @@ +--- a/raddb/radiusd.conf.in ++++ b/raddb/radiusd.conf.in +@@ -103,7 +103,7 @@ + # make + # make install + # +-libdir = @libdir@ ++libdir = @libdir@/freeradius + + # pidfile: Where to place the PID of the RADIUS server. + # +--- a/src/modules/Makefile ++++ b/src/modules/Makefile +@@ -12,7 +12,7 @@ + @$(MAKE) $(MFLAGS) WHAT_TO_MAKE=$@ common + + install: +- $(INSTALL) -d -m 755 $(R)$(libdir) ++ $(INSTALL) -d -m 755 $(R)$(pkglibdir) + @$(MAKE) $(MFLAGS) WHAT_TO_MAKE=$@ common + + clean: +--- a/src/modules/rules.mak ++++ b/src/modules/rules.mak +@@ -122,7 +122,7 @@ + $(TARGET).la: $(RLM_SUBDIRS) $(LT_OBJS) + $(LIBTOOL) --mode=link --tag=CC $(CC) -release $(RADIUSD_VERSION_STRING) \ + -module $(LINK_MODE) $(LDFLAGS) $(RLM_LDFLAGS) -o $@ \ +- -rpath $(libdir) $^ $(LIBRADIUS) $(RLM_LIBS) $(LIBS) ++ -rpath $(pkglibdir) $^ $(LIBRADIUS) $(RLM_LIBS) $(LIBS) + + ####################################################################### + # +@@ -163,13 +163,11 @@ + # Do any module-specific installation. + # + # If there isn't a TARGET defined, then don't do anything. +-# Otherwise, install the libraries into $(libdir) ++# Otherwise, install the libraries into $(pkglibdir) + # + install: + @[ "x$(RLM_INSTALL)" = "x" ] || $(MAKE) $(MFLAGS) $(RLM_INSTALL) + if [ "x$(TARGET)" != "x" ]; then \ + $(LIBTOOL) --mode=install $(INSTALL) -c \ +- $(TARGET).la $(R)$(libdir)/$(TARGET).la || exit $$?; \ +- rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION_STRING).la; \ +- ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION_STRING).la || exit $$?; \ ++ $(TARGET).la $(R)$(pkglibdir)/$(TARGET).la || exit $$?; \ + fi +--- a/src/modules/rlm_sql/drivers/rules.mak ++++ b/src/modules/rlm_sql/drivers/rules.mak +@@ -103,7 +103,7 @@ + $(TARGET).la: $(LT_OBJS) + $(LIBTOOL) --mode=link --tag=CC $(CC) -release $(RADIUSD_VERSION_STRING) \ + -module $(LINK_MODE) $(LDFLAGS) $(RLM_SQL_LDFLAGS) -o $@ \ +- -rpath $(libdir) $^ $(RLM_SQL_LIBS) ++ -rpath $(pkglibdir) $^ $(RLM_SQL_LIBS) + + ####################################################################### + # +@@ -141,12 +141,10 @@ + # Do any module-specific installation. + # + # If there isn't a TARGET defined, then don't do anything. +-# Otherwise, install the libraries into $(libdir) ++# Otherwise, install the libraries into $(pkglibdir) + # + install: + if [ "x$(TARGET)" != "x" ]; then \ + $(LIBTOOL) --mode=install $(INSTALL) -c \ +- $(TARGET).la $(R)$(libdir)/$(TARGET).la || exit $$?; \ +- rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION_STRING).la; \ +- ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION_STRING).la || exit $$?; \ ++ $(TARGET).la $(R)$(pkglibdir)/$(TARGET).la || exit $$?; \ + fi +--- a/src/lib/Makefile ++++ b/src/lib/Makefile +@@ -42,7 +42,7 @@ + + $(TARGET).la: $(LT_OBJS) + $(LIBTOOL) --mode=link --tag=CC $(CC) -release $(RADIUSD_VERSION) \ +- $(LDFLAGS) $(LINK_MODE) -o $@ -rpath $(libdir) $^ ++ $(LDFLAGS) $(LINK_MODE) -o $@ -rpath $(libdir) $^ $(LIBS) + + $(LT_OBJS): $(INCLUDES) + +@@ -54,7 +54,5 @@ + $(INSTALL) -d -m 755 $(R)$(libdir) + $(LIBTOOL) --mode=install $(INSTALL) -c $(TARGET).la \ + $(R)$(libdir)/$(TARGET).la +- rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la; +- ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la + + reconfig: +--- a/Make.inc.in ++++ b/Make.inc.in +@@ -10,6 +10,7 @@ + sysconfdir = @sysconfdir@ + localstatedir = @localstatedir@ + libdir = @libdir@ ++pkglibdir = @libdir@/freeradius + bindir = @bindir@ + sbindir = @sbindir@ + docdir = @docdir@ diff --git a/net-dialup/freeradius/files/radius.init-r3 b/net-dialup/freeradius/files/radius.init-r3 index 73a368a9505e..473c4c569042 100644 --- a/net-dialup/freeradius/files/radius.init-r3 +++ b/net-dialup/freeradius/files/radius.init-r3 @@ -1,11 +1,11 @@ #!/sbin/runscript -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/files/radius.init-r3,v 1.3 2012/12/28 13:08:17 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/files/radius.init-r3,v 1.4 2014/05/03 15:47:45 jer Exp $ command=/usr/sbin/radiusd command_args="${RADIUSD_OPTS}" -pidfile="${pidfile:-/var/run/radiusd/radiusd.pid}" +pidfile="${pidfile:-/run/radiusd/radiusd.pid}" extra_started_commands="reload" depend() { @@ -21,6 +21,8 @@ start_pre() { 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/radius } reload() { diff --git a/net-dialup/freeradius/freeradius-2.2.5.ebuild b/net-dialup/freeradius/freeradius-2.2.5.ebuild new file mode 100644 index 000000000000..e433de5d8ac3 --- /dev/null +++ b/net-dialup/freeradius/freeradius-2.2.5.ebuild @@ -0,0 +1,196 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/freeradius-2.2.5.ebuild,v 1.1 2014/05/03 15:47:45 jer Exp $ + +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 + http://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=" + bindist debug firebird iodbc kerberos ldap mysql odbc oracle pam pcap + postgres python readline sqlite ssl +" + +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-base ) + 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}" + +REQUIRED_USE="bindist? ( !firebird )" + +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_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 + + 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_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-3.0.2.ebuild b/net-dialup/freeradius/freeradius-3.0.2.ebuild new file mode 100644 index 000000000000..353357ef60a3 --- /dev/null +++ b/net-dialup/freeradius/freeradius-3.0.2.ebuild @@ -0,0 +1,189 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/freeradius-3.0.2.ebuild,v 1.1 2014/05/03 15:47:45 jer Exp $ + +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 +" +HOMEPAGE="http://www.freeradius.org/" + +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +LICENSE="GPL-2" +SLOT="0" + +IUSE=" + bindist debug firebird iodbc kerberos ldap mysql odbc oracle pam pcap + postgres python readline sqlite ssl +" + +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-base ) + 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}" + +REQUIRED_USE="bindist? ( !firebird )" + +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} + 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_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 + + 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_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 +} |