diff options
author | Yixun Lan <dlan@gentoo.org> | 2014-01-28 09:22:49 +0000 |
---|---|---|
committer | Yixun Lan <dlan@gentoo.org> | 2014-01-28 09:22:49 +0000 |
commit | 070b15426ccf3dbe7a285baf815c245919a1f7dc (patch) | |
tree | f224be4425b16c851cdbfe99d9d3b1cb900c2ff0 /net-dns/ez-ipupdate | |
parent | Version bump to 1.4.2. Drop older. (diff) | |
download | gentoo-2-070b15426ccf3dbe7a285baf815c245919a1f7dc.tar.gz gentoo-2-070b15426ccf3dbe7a285baf815c245919a1f7dc.tar.bz2 gentoo-2-070b15426ccf3dbe7a285baf815c245919a1f7dc.zip |
support ipv6 address via -a option, bug #432764, thanks Andreas Steinmetz
(Portage version: 2.2.8/cvs/Linux x86_64, signed Manifest commit with key 0xAABEFD55)
Diffstat (limited to 'net-dns/ez-ipupdate')
-rw-r--r-- | net-dns/ez-ipupdate/ChangeLog | 11 | ||||
-rw-r--r-- | net-dns/ez-ipupdate/ez-ipupdate-3.0.11.13.3_beta8-r1.ebuild | 124 | ||||
-rw-r--r-- | net-dns/ez-ipupdate/files/ez-ipupdate-3.0.11.13.3_beta8-ipv6.diff | 41 | ||||
-rw-r--r-- | net-dns/ez-ipupdate/files/ez-ipupdate.initd | 14 |
4 files changed, 182 insertions, 8 deletions
diff --git a/net-dns/ez-ipupdate/ChangeLog b/net-dns/ez-ipupdate/ChangeLog index c0b3e6f1f326..fa8cd51d9e70 100644 --- a/net-dns/ez-ipupdate/ChangeLog +++ b/net-dns/ez-ipupdate/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-dns/ez-ipupdate -# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-dns/ez-ipupdate/ChangeLog,v 1.36 2013/10/13 16:00:04 pacho Exp $ +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-dns/ez-ipupdate/ChangeLog,v 1.37 2014/01/28 09:22:49 dlan Exp $ + +*ez-ipupdate-3.0.11.13.3_beta8-r1 (28 Jan 2014) + + 28 Jan 2014; Yixun Lan <dlan@gentoo.org> + +ez-ipupdate-3.0.11.13.3_beta8-r1.ebuild, + +files/ez-ipupdate-3.0.11.13.3_beta8-ipv6.diff, files/ez-ipupdate.initd: + support ipv6 address via -a option, bug #432764, thanks Andreas Steinmetz 13 Oct 2013; Pacho Ramos <pacho@gentoo.org> files/ez-ipupdate.initd: Stop using deprecated stuff for init.d (#466846) diff --git a/net-dns/ez-ipupdate/ez-ipupdate-3.0.11.13.3_beta8-r1.ebuild b/net-dns/ez-ipupdate/ez-ipupdate-3.0.11.13.3_beta8-r1.ebuild new file mode 100644 index 000000000000..d20f2edb19ec --- /dev/null +++ b/net-dns/ez-ipupdate/ez-ipupdate-3.0.11.13.3_beta8-r1.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dns/ez-ipupdate/ez-ipupdate-3.0.11.13.3_beta8-r1.ebuild,v 1.1 2014/01/28 09:22:49 dlan Exp $ + +EAPI="5" + +inherit eutils user versionator + +MY_BETA="$(get_version_component_range 6)" +MY_PATCH="$(get_version_component_range 4-5)" +MY_PV="$(get_version_component_range 1-3)${MY_BETA/beta/b}" + +DESCRIPTION="Dynamic DNS client for lots of dynamic dns services" +HOMEPAGE="http://ez-ipupdate.com/" +SRC_URI="mirror://debian/pool/main/e/ez-ipupdate/${PN}_${MY_PV}.orig.tar.gz + mirror://debian/pool/main/e/ez-ipupdate/${PN}_${MY_PV}-${MY_PATCH}.diff.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="" + +DEPEND="" +RDEPEND="" + +S="${WORKDIR}/${PN}-${MY_PV}" + +src_prepare() { + # apply debian patches + epatch "${WORKDIR}/${PN}_${MY_PV}-${MY_PATCH}.diff" + + # repair/apply additional debian patches + sed -i -e "s|^\(---\s*\)\.\./|\1|g" debian/patches/*.diff + EPATCH_SOURCE="${S}/debian/patches" EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch + + # adding members.3322.org support + epatch "${FILESDIR}/${P}-3322.diff" + + # adding www.dnsexit.com support + epatch "${FILESDIR}/${P}-dnsexit.diff" + + # make ez-ipupdate work with iproute2/dhcpcd under linux (bug #318905) + epatch "${FILESDIR}/${P}-linux.diff" + + # allows to set IPv6 via -a option, (bug #432764) + epatch "${FILESDIR}/${P}-ipv6.diff" + + # repair format mask issues + sed -i -e "s|\(\s*\)\(strlen(putbuf)\)|\1(int)\2|g" ez-ipupdate.c || die + + # comment out obsolete options + sed -i -e "s:^\(run-as-user.*\):#\1:g" \ + -e "s:^\(cache-file.*\):#\1:g" ex*conf || die + + # make 'missing' executable (bug #103480) + chmod +x missing +} + +src_configure() { + econf --bindir=/usr/sbin +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + newinitd "${FILESDIR}/ez-ipupdate.initd" ez-ipupdate + keepdir /etc/ez-ipupdate + + # install docs + dodoc README + newdoc debian/README.Debian README.debian + newdoc debian/changelog ChangeLog.debian + newdoc CHANGELOG ChangeLog + doman debian/ez-ipupdate.8 + + # install example configs + docinto examples + dodoc ex*conf +} + +pkg_preinst() { + enewgroup ez-ipupd + enewuser ez-ipupd -1 -1 /var/cache/ez-ipupdate ez-ipupd +} + +pkg_postinst() { + chmod 750 /etc/ez-ipupdate /var/cache/ez-ipupdate + chown ez-ipupd:ez-ipupd /etc/ez-ipupdate /var/cache/ez-ipupdate + + elog + elog "Please create one or more config files in" + elog "/etc/ez-ipupdate/. A bunch of samples can" + elog "be found in the doc directory." + elog + elog "All config files must have a '.conf' extension." + elog + elog "Please do not use the 'run-as-user', 'run-as-euser'," + elog "'cache-file' and 'pidfile' options, since these are" + elog "handled internally by the init-script!" + elog + elog "If you want to use ez-ipupdate in daemon mode," + elog "please add 'daemon' to the config file(s) and" + elog "add the ez-ipupdate init-script to the default" + elog "runlevel." + elog + elog "Without the 'daemon' option, you can run the" + elog "init-script with the 'update' parameter inside" + elog "your PPP ip-up script." + elog + + if [ -f /etc/ez-ipupdate.conf ]; then + elog "!!! IMPORTANT UPDATE NOTICE !!!" + elog + elog "The ez-ipupdate init-script can now handle more" + elog "than one config file. New config file location is" + elog "/etc/ez-ipupdate/*.conf" + elog + if [ ! -f /etc/ez-ipupdate/default.conf ]; then + mv -f /etc/ez-ipupdate.conf /etc/ez-ipupdate/default.conf + elog "Your old configuration has been moved to" + elog "/etc/ez-ipupdate/default.conf" + elog + fi + fi +} diff --git a/net-dns/ez-ipupdate/files/ez-ipupdate-3.0.11.13.3_beta8-ipv6.diff b/net-dns/ez-ipupdate/files/ez-ipupdate-3.0.11.13.3_beta8-ipv6.diff new file mode 100644 index 000000000000..ec41647e066f --- /dev/null +++ b/net-dns/ez-ipupdate/files/ez-ipupdate-3.0.11.13.3_beta8-ipv6.diff @@ -0,0 +1,41 @@ +diff --git a/ez-ipupdate.c b/ez-ipupdate.c +index ff093a9..eea7624 100644 +--- a/ez-ipupdate.c ++++ b/ez-ipupdate.c +@@ -849,6 +849,27 @@ int is_dotted_quad(char *addr) + return(1); + } + ++int is_ip_addr(char *addr) ++{ ++#if HAVE_ARPA_INET_H ++ char dst[16]; ++ ++ if(inet_pton(AF_INET,addr,dst) == 1) ++ { ++ return(1); ++ } ++ ++ if(inet_pton(AF_INET6,addr,dst) == 1) ++ { ++ return(1); ++ } ++ ++ return(0); ++#else ++ return is_dotted_quad(addr); ++#endif ++} ++ + void parse_service(char *str) + { + int i; +@@ -1859,7 +1880,7 @@ int DYNDNS_check_info(void) + chomp(host); + } + +- if(address != NULL && !is_dotted_quad(address)) ++ if(address != NULL && !is_ip_addr(address)) + { + fprintf(stderr, "the IP address \"%s\" is invalid\n", address); + return(-1); diff --git a/net-dns/ez-ipupdate/files/ez-ipupdate.initd b/net-dns/ez-ipupdate/files/ez-ipupdate.initd index f33b1ee044c1..760bbfb272c1 100644 --- a/net-dns/ez-ipupdate/files/ez-ipupdate.initd +++ b/net-dns/ez-ipupdate/files/ez-ipupdate.initd @@ -1,7 +1,7 @@ #!/sbin/runscript -# Copyright 1999-2013 Gentoo Foundation +# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-dns/ez-ipupdate/files/ez-ipupdate.initd,v 1.4 2013/10/13 16:00:04 pacho Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-dns/ez-ipupdate/files/ez-ipupdate.initd,v 1.5 2014/01/28 09:22:49 dlan Exp $ extra_commands="update" @@ -35,9 +35,11 @@ start() { return 1 fi - if [ ! -d /var/run/ez-ipupdate ]; then - mkdir -p /var/run/ez-ipupdate && chown ez-ipupd:ez-ipupd /var/run/ez-ipupdate - fi + for dir in /var/run/ez-ipupdate /var/cache/ez-ipupdate; do + if [ ! -d ${dir} ]; then + mkdir -p /var/run/ez-ipupdate && chown ez-ipupd:ez-ipupd /var/run/ez-ipupdate + fi + done for NAME in ${LIST}; do local CONFIG="/etc/ez-ipupdate/${NAME}.conf" @@ -45,7 +47,7 @@ start() { local CACHEFILE="/var/cache/ez-ipupdate/${NAME}.cache" ebegin "Starting ez-ipupdate (${NAME})" start-stop-daemon -p "${PIDFILE}" --start --quiet --exec /usr/sbin/ez-ipupdate \ - --chuid ez-ipupd -- -c "${CONFIG}" -F "${PIDFILE}" -b "${CACHEFILE}" + --user ez-ipupd:ez-ipupd -- -c "${CONFIG}" -F "${PIDFILE}" -b "${CACHEFILE}" eend $? done return 0 # do not fail |