fedora-cvs-commits@redhat.com
[Top] [All Lists]

rpms/bind/devel dig-idn.patch, NONE, 1.1 idnkit-autotools.patch, NONE, 1

Subject: rpms/bind/devel dig-idn.patch, NONE, 1.1 idnkit-autotools.patch, NONE, 1.1 bind.spec, 1.171, 1.172
From:
Date: Mon, 16 Apr 2007 10:45:23 -0400
Author: atkac

Update of /cvs/dist/rpms/bind/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv16652

Modified Files:
        bind.spec 
Added Files:
        dig-idn.patch idnkit-autotools.patch 
Log Message:
added experimental idn support to dig + host utils


dig-idn.patch:
 Makefile.in |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

--- NEW FILE dig-idn.patch ---
--- bind-9.4.0/bin/dig/Makefile.in.idn  2007-04-16 15:46:29.000000000 +0200
+++ bind-9.4.0/bin/dig/Makefile.in      2007-04-16 15:50:24.000000000 +0200
@@ -24,7 +24,7 @@
 @BIND9_MAKE_INCLUDES@
 
 CINCLUDES =    -I${srcdir}/include ${DNS_INCLUDES} ${BIND9_INCLUDES} \
-               ${ISC_INCLUDES} ${LWRES_INCLUDES}
+               ${ISC_INCLUDES} ${LWRES_INCLUDES} 
-I../../contrib/idn/idnkit-1.0-src/include
 
 CDEFINES =     -DVERSION=\"${VERSION}\"
 CWARNINGS =
@@ -42,10 +42,10 @@
 LWRESDEPLIBS = ../../lib/lwres/liblwres.@A@
 
 DEPLIBS =      ${DNSDEPLIBS} ${BIND9DEPLIBS} ${ISCDEPLIBS} ${ISCCFGDEPLIBS} \
-               ${LWRESDEPLIBS}
+               ${LWRESDEPLIBS} 
 
 LIBS =         ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} ${ISCLIBS} \
-               ${ISCCFGLIBS} @IDNLIBS@ @LIBS@
+               ${ISCCFGLIBS} ../../contrib/idn/idnkit-1.0-src/lib/libidnkit.la 
@LIBS@
 
 SUBDIRS =
 

idnkit-autotools.patch:
 Makefile.am               |    6 
 configure.ac              |  553 ++++++++++++++++++++++++++++++++++++++++++++++
 include/Makefile.am       |    3 
 include/idn/Makefile.am   |   32 ++
 include/mdn/Makefile.am   |   10 
 lib/Makefile.am           |   85 +++++++
 man/Makefile.am           |   43 +++
 map/Makefile.am           |    2 
 tools/Makefile.am         |    3 
 tools/idnconv/Makefile.am |   29 ++
 tools/runidn/Makefile.am  |   35 ++
 11 files changed, 801 insertions(+)

--- NEW FILE idnkit-autotools.patch ---
--- idnkit-1.0-src/map/Makefile.am.autotools    2007-04-16 13:40:22.000000000 
+0200
+++ idnkit-1.0-src/map/Makefile.am      2007-04-16 12:51:15.000000000 +0200
@@ -0,0 +1,2 @@
+map_DATA = \
+       jp.map
--- idnkit-1.0-src/Makefile.am.autotools        2007-04-16 13:39:09.000000000 
+0200
+++ idnkit-1.0-src/Makefile.am  2007-04-15 17:24:51.000000000 +0200
@@ -0,0 +1,6 @@
+SUBDIRS = \
+       include \
+       lib \
+       man \
+       tools \
+       map
--- idnkit-1.0-src/tools/Makefile.am.autotools  2007-04-16 13:40:02.000000000 
+0200
+++ idnkit-1.0-src/tools/Makefile.am    2007-04-16 12:03:20.000000000 +0200
@@ -0,0 +1,3 @@
+SUBDIRS = \
+       idnconv \
+       runidn
--- idnkit-1.0-src/tools/runidn/Makefile.am.autotools   2007-04-16 
13:40:05.000000000 +0200
+++ idnkit-1.0-src/tools/runidn/Makefile.am     2007-04-16 13:17:17.000000000 
+0200
@@ -0,0 +1,35 @@
+if RUNIDN
+bin_SCRIPTS = 
+man1_MANS = 
+lib_LTLIBRARIES = libidnkitres.la
+
+libidnkitres_la_SOURCES = \
+       resolver.lo stub.lo
+
+AM_CPPFLAGS = \
+       -DFOR_RUNIDN \
+       -I$(top_srcdir)/include \
+       $(ICONVINC)
+
+libidnkitres_la_LIBADD = \
+       $(top_srcdir)/lib/libidnkit.la \
+       $(LIBDL)
+
+AM_LDFLAGS = \
+       -version-number 1:0:1
+
+if COMPAT
+bin_SCRIPTS += runmdn
+man1_MANS += runmdn.1
+else
+bin_SCRIPTS += runidn
+man1_MANS += runidn.1
+endif
+
+runmdn: runidn
+       cp -f runidn runmdn
+
+runmdn.1: runidn.1
+       cp -f runidn.1 runmdn.1
+
+endif
--- idnkit-1.0-src/tools/idnconv/Makefile.am.autotools  2007-04-16 
13:40:08.000000000 +0200
+++ idnkit-1.0-src/tools/idnconv/Makefile.am    2007-04-16 13:35:51.000000000 
+0200
@@ -0,0 +1,29 @@
+if ! LITEONLY
+bin_PROGRAMS =
+man1_MANS = 
+if COMPAT
+bin_PROGRAMS += mdnconva
+man1_MANS += mdnconv.1
+else
+bin_PROGRAMS += idnconv
+man1_MANS += idnconv.1
+endif
+
+idnconv_SOURCES = \
+       idnconv.c \
+       util.c \
+       selectiveencode.c
+
+AM_CPPFLAGS = \
+       -I$(top_srcdir)/include \
+       $(ICONVINC)
+
+idnconv_LDADD = \
+       $(top_srcdir)/lib/libidnkit.la
+
+mdnconv: idnconv
+       cp -f idnconv$(EXEEXT) mdnconv$(EXEEXT)
+
+mdnconv.1: idnconv.1
+       cp -f idnconv.1 mdnconv.1
+endif
--- idnkit-1.0-src/lib/Makefile.am.autotools    2007-04-16 13:39:47.000000000 
+0200
+++ idnkit-1.0-src/lib/Makefile.am      2007-04-16 13:11:02.000000000 +0200
@@ -0,0 +1,85 @@
+lib_LTLIBRARIES = libidnkitlite.la
+if ! LITEONLY
+lib_LTLIBRARIES += libidnkit.la
+endif
+
+AM_CPPFLAGS = \
+       -I$(top_srcdir)/include \
+       $(ICONVINC) \
+       -DIDN_RESCONF_DIR="\"$(sysconfdir)\""
+
+AM_LDFLAGS = \
+       -version-number 1:0:2
+
+libidnkitlite_la_SOURCES = \
+       aliaslist.c \
+       api.c \
+       checker.c \
+       converter.c \
+       debug.c \
+       delimitermap.c \
+       filechecker.c \
+       filemapper.c \
+       log.c \
+       mapper.c \
+       mapselector.c \
+       nameprep.c \
+       normalizer.c \
+       punycode.c \
+       race.c \
+       res.c \
+       resconf.c \
+       result.c \
+       strhash.c \
+       ucsmap.c \
+       ucsset.c \
+       unicode.c \
+       unormalize.c \
+       ucs4.c \
+       utf8.c \
+       util.c \
+       version.c
+
+libidnkitlite_la_CPPFLAGS = \
+       -DWITHOUT_ICONV
+
+if ! LITEONLY
+libidnkit_la_SOURCES = \
+       aliaslist.c \
+       api.c \
+       checker.c \
+       converter.c \
+       debug.c \
+       delimitermap.c \
+       filechecker.c \
+       filemapper.c \
+       localencoding.c \
+       log.c \
+       mapper.c \
+       mapselector.c \
+       nameprep.c \
+       normalizer.c \
+       punycode.c \
+       race.c \
+       res.c \
+       resconf.c \
+       result.c \
+       strhash.c \
+       ucs4.c \
+       ucsmap.c \
+       ucsset.c \
+       unicode.c \
+       unormalize.c \
+       utf8.c \
+       util.c \
+       version.c
+endif
+
+sys_DATA = idn.conf idnalias.conf
+
+idn.conf: idn.conf.sample.in
+       sed -e 's%[@]mapdir[@]%$(datadir)/idnkit%' < idn.conf.sample.in > $@
+
+idnalias.conf: Makefile
+       $(SHELL) aliaslist.sh $(build) $(UTF8_NAME) > $@
+
--- idnkit-1.0-src/include/Makefile.am.autotools        2007-04-16 
13:39:19.000000000 +0200
+++ idnkit-1.0-src/include/Makefile.am  2007-04-15 17:25:36.000000000 +0200
@@ -0,0 +1,3 @@
+SUBDIRS = \
+       idn \
+       mdn
--- idnkit-1.0-src/include/mdn/Makefile.am.autotools    2007-04-16 
13:39:35.000000000 +0200
+++ idnkit-1.0-src/include/mdn/Makefile.am      2007-04-15 17:28:26.000000000 
+0200
@@ -0,0 +1,10 @@
+if COMPAT
+mdn_HEADERS = \
+       api.h \
+       log.h \
+       res.h \
+       resconf.h \
+       result.h \
+       utf8.h \
+       version.h
+endif
--- idnkit-1.0-src/include/idn/Makefile.am.autotools    2007-04-16 
13:39:24.000000000 +0200
+++ idnkit-1.0-src/include/idn/Makefile.am      2007-04-15 17:27:12.000000000 
+0200
@@ -0,0 +1,32 @@
+idn_HEADERS = \
+       api.h \
+       assert.h \
+       checker.h \
+       converter.h \
+       debug.h \
+       delimitermap.h \
+       export.h \
+       filechecker.h \
+       filemapper.h \
+       localencoding.h \
+       log.h \
+       logmacro.h \
+       mapper.h \
+       mapselector.h \
+       nameprep.h \
+       normalizer.h \
+       punycode.h \
+       race.h \
+       res.h \
+       resconf.h \
+       result.h \
+       strhash.h \
+       ucsmap.h \
+       ucsset.h \
+       unicode.h \
+       unormalize.h \
+       ucs4.h \
+       utf8.h \
+       util.h \
+       version.h
+
--- idnkit-1.0-src/configure.ac.autotools       2007-04-16 13:39:01.000000000 
+0200
+++ idnkit-1.0-src/configure.ac 2007-04-16 13:32:59.000000000 +0200
@@ -0,0 +1,553 @@
+dnl $Id: configure.in,v 1.1.1.1 2003/06/04 00:25:25 marka Exp $
+dnl Process this file with autoconf to produce a configure script.
+dnl
+dnl Copyright (c) 2000 Japan Network Information Center.  All rights reserved.
+dnl  
+dnl By using this file, you agree to the terms and conditions set forth bellow.
+dnl 
+dnl                    LICENSE TERMS AND CONDITIONS 
+dnl 
+dnl The following License Terms and Conditions apply, unless a different
+dnl license is obtained from Japan Network Information Center ("JPNIC"),
+dnl a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda,
+dnl Chiyoda-ku, Tokyo 101-0047, Japan.
+dnl 
+dnl 1. Use, Modification and Redistribution (including distribution of any
+dnl    modified or derived work) in source and/or binary forms is permitted
+dnl    under this License Terms and Conditions.
+dnl 
+dnl 2. Redistribution of source code must retain the copyright notices as they
+dnl    appear in each source code file, this License Terms and Conditions.
+dnl 
+dnl 3. Redistribution in binary form must reproduce the Copyright Notice,
+dnl    this License Terms and Conditions, in the documentation and/or other
+dnl    materials provided with the distribution.  For the purposes of binary
+dnl    distribution the "Copyright Notice" refers to the following language:
+dnl    "Copyright (c) 2000-2002 Japan Network Information Center.  All rights 
reserved."
+dnl 
+dnl 4. The name of JPNIC may not be used to endorse or promote products
+dnl    derived from this Software without specific prior written approval of
+dnl    JPNIC.
+dnl 
+dnl 5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC
+dnl    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+dnl    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+dnl    PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL JPNIC BE LIABLE
+dnl    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+dnl    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+dnl    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+dnl    BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+dnl    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+dnl    OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+dnl    ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+AC_PREREQ(2.59)
+AC_INIT([idnkit], [1.0], [bind9-bugs@xxxxxxx])
+AM_INIT_AUTOMAKE([foreign -Wall -Werror])
+
+idndir="$includedir/idn"
+mdndir="$includedir/mdn"
+sysdir="$sysconfdir"
+mapdir="$datadir/idnkit"
+AC_SUBST(idndir)
+AC_SUBST(mdndir)
+AC_SUBST(sysdir)
+AC_SUBST(mapdir)
+
+AC_ARG_ENABLE([debug],
+       AS_HELP_STRING([--enable-debug], [enable debug codes [default=no]]),
+       [debug=$enableval], [debug=no])
+if test "$debug" = "yes"; then
+       CFLAGS="$CFLAGS -DDEBUG"
+fi
+
+AC_ARG_ENABLE([mdnkit-compat],
+       AS_HELP_STRING([--enable-mdnkit-compat], [enable mDNkit compatibility 
mode [default=no]]),
+       [mdnkit_compat=$enableval], [mdnkit_compat=no])
+if test "$mdnkit_compat" = "yes"; then
+       AC_DEFINE(ENABLE_MDNKIT_COMPAT, 1, [--enable-mdnkit-compat is 
specified])
+fi
+AM_CONDITIONAL(COMPAT, [test "$mdnkit_compat" = "yes"])
+
+AC_ARG_ENABLE([extra-ace],
+       AS_HELP_STRING([--enable-extra-ace], [enable additional ACE converters. 
[default=no]]),
+       [extraace=$enableval], [extraace=no])
+if test "$mdnkit_compat" = "yes"; then
+       AC_DEFINE(IDN_EXTRA_ACE, 1, [additional ACE converters compiled in.])
+fi
+
+AC_ARG_WITH([utf8],
+       AS_HELP_STRING([--with-utf8=NAME], [codeset name for UTF-8 encoding 
[UTF-8]]),
+       [UTF8_NAME="$withval"], [UTF8_NAME="UTF-8"])
+AC_DEFINE_UNQUOTED(IDN_UTF8_ENCODING_NAME, "$UTF8_NAME", [Define your iconv 
codeset name for utf-8.])
+AC_SUBST(UTF8_NAME)
+
+AC_ARG_ENABLE([liteonly],
+       AS_HELP_STRING([--enable-liteonly], [compile and install lite library 
only [default=no]]),
+       [liteonly=$enableval], [liteonly=no])
+AM_CONDITIONAL(LITEONLY, [test "$liteonly" = "yes"])
+
+AC_ARG_ENABLE([runidn],
+       AS_HELP_STRING([--enable-runidn], [compile and install runidn 
[default=no]]),
+       [install_runidn=$enableval], [install_runidn=no])
+if test "$install_runidn" = "yes"; then
+       if test "$liteonly" = "yes"; then
+               AC_MSG_ERROR([you can't set --enable-runidn and 
--enable-liteonly simultaneously])
+       fi
+fi
+AM_CONDITIONAL(RUNIDN, [test "$install_runidn" = "yes"])
+
+AC_ARG_WITH([iconv-include],
+       AS_HELP_STRING([--with-iconv-include=DIR], [iconv include files are in 
DIR []]),
+       [iconv_include="$withval"], [iconv_include="$includedir"])
+ICONVINC="-I$iconv_include"
+AC_SUBST(ICONVINC)
+
+AC_ARG_WITH([iconv],
+       AS_HELP_STRING([--with-iconv=LIB], [library for iconv []]),
+       [iconv="$withval"], [iconv="-lc"])
+ICONVLIB=$iconv
+AC_SUBST(ICONVLIB)
+
+AC_ARG_WITH([iconv-sofile],
+       AS_HELP_STRING([--with-iconv-sofile=PATH], [shared library file for 
libiconv]),
+        [ICONVSOFILE=$withval], [ICONVSOFILE=guess])
+if test "$ICONVSOFILE" = guess; then
+    if test "$liteonly" != yes ; then
+        if test "$ICONVLIB" = ""; then
+            ICONVSOFILE=none
+        else
+            AC_MSG_CHECKING(pathname of iconv shared library)
+            ic_libdir=
+            ic_libname=
+            case "$host" in
+            *-hpux*)
+                SO=sl
+                ;;
+            *)
+                SO=so
+                ;;
+            esac
+            for arg in $ICONVLIB; do
+                case "$arg" in
+                -L*) ic_libdir="$ic_libdir `echo $arg | sed s/-L//`" ;;
+                -l*) ic_libname=`echo $arg | sed s/-l//` ;;
+                /*.$SO*) ICONVSOFILE=$arg ;;
+                esac
+            done
+            if test "$ICONVSOFILE" = guess; then
+                if test "$ic_libname" = ""; then
+                    AC_MSG_RESULT(unknown)
+                    AC_MSG_WARN([use --with-iconv-sofile for specifying iconv 
shared library file])
+                    ICONVSOFILE=none
+                else
+                    if test "$ic_libdir" = ""; then
+                        # Standard (and semi-standard) library directories
+                        ic_libdir="/lib /usr/lib /usr/local/lib"
+                    fi
+                    for dir in $ic_libdir; do
+                        ICONVSOFILE=`ls -r $dir/lib$ic_libname.$SO* 
2>/dev/null | head -1`
+                        if test "$ICONVSOFILE" != ""; then
+                            break
+                        fi
+                    done
+                    if test "$ICONVSOFILE" != ""; then
+                        AC_MSG_RESULT($ICONVSOFILE)
+                    else
+                        AC_MSG_RESULT(unknown)
+                        AC_MSG_WARN([use --with-iconv-sofile for specifying 
iconv shared library file])
+                        ICONVSOFILE=none
+                    fi
+                fi
+            fi
+        fi
+    fi
+fi
+AC_SUBST(ICONVSOFILE)
+
+dnl Figure out preload stuff.
+PRELOAD_VAR="LD_PRELOAD"
+PRELOAD_SEP=":"
+PRELOAD_LAST=""
+case "$host" in
+*-solaris*)
+    PRELOAD_SEP=" "
+    ;;
+*-linux*)
+    PRELOAD_SEP=" "
+    ;;
+*-osf*)
+    PRELOAD_VAR="_RLD_LIST"
+    PRELOAD_LAST=":DEFAULT"
+    ;;
+*-netbsd*)
+    if test -x /usr/bin/file -a -x /usr/bin/grep ; then
+        case "`/usr/bin/file /usr/bin/grep`" in
+       *ELF*)
+           PRELOAD_SEP=" "
+           ;;
+       esac
+    fi
+    ;;
+esac
+
+AC_SUBST(PRELOAD_VAR)
+AC_SUBST(PRELOAD_SEP)
+AC_SUBST(PRELOAD_LAST)
+
+dnl Checks for standard tools.
+AC_PROG_CC
+AC_PROG_CPP
+AC_PROG_CXX
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+AC_PROG_INSTALL
+AM_PROG_LIBTOOL
+
+AC_PATH_PROGS(PERL, perl, perl)
+
+dnl Checks for header files.
+AC_CHECK_HEADERS(pwd.h langinfo.h locale.h netdb.h stddef.h stdlib.h string.h 
sys/socket.h unistd.h)
+if test "$install_runidn" = "yes"; then
+    AC_CHECK_HEADERS(dlfcn.h)
+fi
+
+saved_CPPFLAGS=$CPPFLAGS
+CPPFLAGS="$CPPFLAGS $ICONVINC"
+if test "$liteonly" != "yes"; then
+    AC_CHECK_HEADERS(iconv.h)
+fi
+CPPFLAGS=$saved_CPPFLAGS
+
+dnl Checks for data types.
+AC_C_CONST
+AC_TYPE_SIZE_T
+AC_HEADER_TIME
+AC_TYPE_UID_T
+AC_CHECK_TYPES([ptrdiff_t])
+
+dnl for dnsproxy.
+AC_CHECK_TYPE(BOOL, int)
+
+dnl Checks for libraries.
+if test "$install_runidn" = yes ; then
+    AC_CHECK_LIB(socket, socket)
+    AC_CHECK_LIB(nsl, inet_addr)
+    AC_CHECK_LIB(dl, dlopen, [
+       LIBS="-ldl $LIBS"
+       LIBDL="-ldl"
+       AC_DEFINE(HAVE_LIBDL, 1, [Define if you have the dl library (-ldl).])
+       AC_SUBST(LIBDL)
+    ])
+fi
+
+dnl Checks for library functions.
+AC_FUNC_MALLOC
+AC_FUNC_MEMCMP
+AC_FUNC_REALLOC
+AC_FUNC_SELECT_ARGTYPES
+AC_FUNC_VPRINTF
+AC_CHECK_FUNCS(vsnprintf setvbuf setlocale nl_langinfo memmove bcopy setenv 
unsetenv inet_ntoa socket gethostname isascii memset putenv select sethostname 
strchr strerror strpbrk strrchr strtoul)
+if test "$install_runidn" = yes ; then
+    AC_CHECK_FUNCS(gethostbyname gethostbyname2 gethostbyaddr)
+    AC_CHECK_FUNCS(gethostbyname_r gethostbyname2_r gethostbyaddr_r, 
find_gethost_r=yes)
+    AC_CHECK_FUNCS(getipnodebyname getipnodebyaddr freehostent)
+    AC_CHECK_FUNCS(getaddrinfo freeaddrinfo getnameinfo)
+    AC_CHECK_FUNCS(dlopen dlsym)
+fi
+
+if test "$install_runidn" = yes ; then
+dnl Checks the flavor of gethostbyaddr* functions.
+    AC_CACHE_CHECK(flavor of gethostbyaddr, ac_cv_flavor_gethostbyaddr,
+    [ac_cv_flavor_gethostbyaddr=unknown
+    AC_TRY_RUN(
+    [
+    #include <stddef.h>
+    #include <sys/types.h>
+    #include <sys/socket.h>
+    #include <netdb.h>
+    struct hostent *gethostbyaddr(const void *addr, socklen_t len, int type) {
+       return NULL;
+    }
+    int main() {
+       (void)gethostbyaddr(NULL, 0, 0);
+       return 0;
+    }
+    ], ac_cv_flavor_gethostbyaddr=glibc2_2,,
+       ac_cv_flavor_gethostbyaddr=unknown)
+    AC_TRY_RUN(
+    [
+    #include <stddef.h>
+    #include <sys/types.h>
+    #include <sys/socket.h>
+    #include <netdb.h>
+    struct hostent *gethostbyaddr(const char *addr, size_t len, int type) {
+       return NULL;
+    }
+    int main() {
+       (void)gethostbyaddr(NULL, 0, 0);
+       return 0;
+    }
+    ], ac_cv_flavor_gethostbyaddr=glibc,,
+       ac_cv_flavor_gethostbyaddr=unknown)
+    AC_TRY_RUN(
+    [
+    #include <stddef.h>
+    #include <sys/types.h>
+    #include <sys/socket.h>
+    #include <netdb.h>
+    struct hostent *gethostbyaddr(const char *addr, int len, int type) {
+       return NULL;
+    }
+    int main() {
+       (void)gethostbyaddr(NULL, 0, 0);
+       return 0;
+    }
+    ], ac_cv_flavor_gethostbyaddr=traditional,,
+       ac_cv_flavor_gethostbyaddr=unknown)
+    if test "$ac_cv_func_gethostbyaddr" = no ; then
+       ac_cv_flavor_gethostbyaddr=none
+    fi])
+
+    case "$ac_cv_flavor_gethostbyaddr" in
+    glibc2_2)
+       ac_cv_type_ghba_addr_t='const void *'
+       ac_cv_type_ghba_addrlen_t='socklen_t'
+       ;;
+    glibc)
+       ac_cv_type_ghba_addr_t='const char *'
+       ac_cv_type_ghba_addrlen_t='size_t'
+       ;;
+    traditional | none)
+       ac_cv_type_ghba_addr_t='const char *'
+       ac_cv_type_ghba_addrlen_t='int'
+       ;;
+    *)
+       AC_MSG_ERROR([can't build runidn, since parameter type list of 
gethostbyaddr() is unknown to configure.])
+       ;;
+    esac
+    AC_DEFINE_UNQUOTED(GHBA_ADDR_T, $ac_cv_type_ghba_addr_t,
+       [Define as the type of the 1st argument of gethostbyaddr.])
+    AC_DEFINE_UNQUOTED(GHBA_ADDRLEN_T, $ac_cv_type_ghba_addrlen_t,
+       [Define as the type of the 2nd argument of gethostbyaddr.])
+
+dnl Checks the flavor of getnameinfo functions.
+    AC_CACHE_CHECK(flavor of getnameinfo, ac_cv_flavor_getnameinfo,
+    [ac_cv_flavor_getnameinfo=unknown
+    AC_TRY_RUN(
+    [
+    #include <stddef.h>
+    #include <sys/types.h>
+    #include <sys/socket.h>
+    #include <netdb.h>
+    int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host,
+                    socklen_t hostlen, char *serv, socklen_t servlen,
+                    unsigned int flags) {
+       return NULL;
+    }
+    int main() {
+       (void)getnameinfo(NULL, 0, NULL, 0, NULL, 0, 0);
+       return 0;
+    }
+    ], ac_cv_flavor_getnameinfo=glibc2_2_2,,
+       ac_cv_flavor_getnameinfo=unknown)
+    AC_TRY_RUN(
+    [
+    #include <stddef.h>
+    #include <sys/types.h>
+    #include <sys/socket.h>
+    #include <netdb.h>
+    int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host,
+                    socklen_t hostlen, char *serv, socklen_t servlen,
+                    int flags) {
+       return NULL;
+    }
+    int main() {
+       (void)getnameinfo(NULL, 0, NULL, 0, NULL, 0, 0);
+       return 0;
+    }
+    ], ac_cv_flavor_getnameinfo=rfc2553bis_03,,
+       ac_cv_flavor_getnameinfo=unknown)
+    AC_TRY_RUN(
+    [
+    #include <stddef.h>
+    #include <sys/types.h>
+    #include <sys/socket.h>
+    #include <netdb.h>
+    int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host,
+                    size_t hostlen, char *serv, size_t servlen, int flags) {
+       return NULL;
+    }
+    int main() {
+       (void)getnameinfo(NULL, 0, NULL, 0, NULL, 0, 0);
+       return 0;
+    }
+    ], ac_cv_flavor_getnameinfo=rfc2553,,
+       ac_cv_flavor_getnameinfo=unknown)
+    AC_TRY_RUN(
+    [
+    #include <stddef.h>
+    #include <sys/types.h>
+    #include <sys/socket.h>
+    #include <netdb.h>
+    int getnameinfo(const struct sockaddr *sa, size_t salen, char *host,
+                    size_t hostlen, char *serv, size_t servlen, int flags) {
+       return NULL;
+    }
+    int main() {
+       (void)getnameinfo(NULL, 0, NULL, 0, NULL, 0, 0);
+       return 0;
+    }
+    ], ac_cv_flavor_getnameinfo=rfc2133,,
+       ac_cv_flavor_getnameinfo=unknown)
+    if test "$ac_cv_func_getnameinfo" = no ; then
+       ac_cv_flavor_getnameinfo=none
+    fi])
+
+    case "$ac_cv_flavor_getnameinfo" in
+    glibc2_2_2)
+       ac_cv_type_gni_salen_t='socklen_t'
+       ac_cv_type_gni_hostlen_t='socklen_t'
+       ac_cv_type_gni_servlen_t='socklen_t'
+       ac_cv_type_gni_flags_t='unsigned int'
+       ;;
+    rfc2553bis_03)
+       ac_cv_type_gni_salen_t='socklen_t'
+       ac_cv_type_gni_hostlen_t='socklen_t'
+       ac_cv_type_gni_servlen_t='socklen_t'
+       ac_cv_type_gni_flags_t='int'
+       ;;
+    rfc2553)
+       ac_cv_type_gni_salen_t='socklen_t'
+       ac_cv_type_gni_hostlen_t='size_t'
+       ac_cv_type_gni_servlen_t='size_t'
+       ac_cv_type_gni_flags_t='int'
+       ;;
+    rfc2133 | none)
+       ac_cv_type_gni_salen_t='size_t'
+       ac_cv_type_gni_hostlen_t='size_t'
+       ac_cv_type_gni_servlen_t='size_t'
+       ac_cv_type_gni_flags_t='int'
+       ;;
+    *)
+       AC_MSG_ERROR([can't build runidn, since parameter type list of 
getnameinfo() is unknown to configure.])
+    esac
+    AC_DEFINE_UNQUOTED(GNI_SALEN_T, $ac_cv_type_gni_salen_t,
+       [Define as the type of the 2nd argument of getnameinfo.])
+    AC_DEFINE_UNQUOTED(GNI_HOSTLEN_T, $ac_cv_type_gni_hostlen_t,
+       [Define as the type of the 4th argument of getnameinfo.])
+    AC_DEFINE_UNQUOTED(GNI_SERVLEN_T, $ac_cv_type_gni_servlen_t,
+       [Define as the type of the 6th argument of getnameinfo.])
+    AC_DEFINE_UNQUOTED(GNI_FLAGS_T, $ac_cv_type_gni_flags_t,
+       [Define as the type of the 7th argument of getnameinfo.])
+fi
+
+dnl resume here.
+dnl Checks the flavor of gethost*_r functions.
+if test "$find_gethost_r" = yes; then
+    AC_CACHE_CHECK(flavor of gethostbyname_r, ac_cv_flavor_gethost_r,
+    [AC_TRY_RUN(
+changequote(<<, >>)dnl
+<<
+#include <stddef.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netdb.h>
+#include <stdio.h>
+int main()
+{
+    int err = 0;
+    struct hostent hebuf, *hp;
+    char buf[10];
+    /* Try resolving a invalid name using glibc flavor. */
+    (void)gethostbyname_r("@#!", &hebuf, buf, sizeof(buf), &hp, &err);
+    if (err != 0)
+       return 0;       /* glibc flavor */
+    else
+       return 1;       /* Sun flavor */
+}
+>>,
+changequote([, ])dnl
+       ac_cv_flavor_gethost_r=glibc,
+       ac_cv_flavor_gethost_r=sun,
+       ac_cv_flavor_gethost_r=sun)])
+    if test "$ac_cv_flavor_gethost_r" = "glibc"; then
+       AC_DEFINE(GETHOST_R_GLIBC_FLAVOR, 1,
+           [Define if the prototype of gethost*_r is glibc flavor.])
+    fi
+fi
+
+dnl Checks for iconv library.
+if test "$liteonly" != yes ; then
+    AC_MSG_CHECKING(for iconv)
+    saved_CPPFLAGS=$CPPFLAGS
+    saved_LIBS=$LIBS
+    CPPFLAGS="$CPPFLAGS $ICONVINC"
+    LIBS="$LIBS $ICONVLIB"
+    AC_TRY_LINK([
+    #include <iconv.h>
+    ], [
+       iconv_t i;
+       i = iconv_open("ISO-8859-1", "UTF-8");
+    ], [iconv_try_link=yes], [iconv_try_link=no])
+    LIBS=$saved_LIBS
+    CPPFLAGS=$saved_CPPFLAGS
+    AC_MSG_RESULT($iconv_try_link)
+    if test "$iconv_try_link" = no ; then
+       AC_MSG_ERROR(iconv function not available)
+    fi
+fi
+
+dnl Check for codeset name for UTF-8.
+if test "$liteonly" != yes ; then
+    AC_MSG_CHECKING([for codeset name $UTF8_NAME])
+    saved_CPPFLAGS=$CPPFLAGS
+    saved_LIBS=$LIBS
+    CPPFLAGS="$CPPFLAGS $ICONVINC"
+    LIBS="$LIBS $ICONVLIB"
+    AC_TRY_RUN([
+    #include <stddef.h>
+    #include <stdlib.h>
+    #include <iconv.h>
+    #define UTF8_NAME "$UTF8_NAME"
+    #define ICONV_FAIL ((iconv_t)(-1))
+    /* Check if the codeset name UTF8_NAME is valid by performing 
iconv_open(). */
+    int main() {
+       int i;
+       /* list of codeset names likely to exist */
+       static char *codeset[] = {
+           "ASCII", "ISO-8859-1", "ISO8859-1", "iso8859_1", "8859-1",
+           "Shift_JIS", "SJIS", "sjis", NULL,
+       };
+
+       /* First try null conversion. */
+       if (iconv_open(UTF8_NAME, UTF8_NAME) != ICONV_FAIL) return 0;
+
+       /* Unfortunately, above check fails on certain systems, such as 
Solaris. */
+       for (i = 0; codeset[i] != NULL; i++) {
+           if (iconv_open(UTF8_NAME, codeset[i]) != ICONV_FAIL) return 0;
+       }
+       return 1;
+    }
+    ], utf8_name_valid=yes, utf8_name_valid=no, utf8_name_valid=unknown)
+    LIBS=$saved_LIBS
+    CPPFLAGS=$saved_CPPFLAGS
+    AC_MSG_RESULT($utf8_name_valid)
+fi
+
+dnl Output.
+AC_CONFIG_HEADER(include/config.h)
+AC_OUTPUT(
+       Makefile
+       include/Makefile
+       include/idn/Makefile
+       include/mdn/Makefile
+       lib/Makefile
+       man/Makefile
+       tools/Makefile
+       tools/idnconv/Makefile
+       tools/runidn/Makefile
+       tools/runidn/runidn
+       map/Makefile
+       lib/tests/Makefile
+)
--- idnkit-1.0-src/man/Makefile.am.autotools    2007-04-16 13:39:57.000000000 
+0200
+++ idnkit-1.0-src/man/Makefile.am      2007-04-16 14:02:24.000000000 +0200
@@ -0,0 +1,43 @@
+man3_MANS =
+man5_MANS = idnrc.5 idnalias.conf.5
+if LITEONLY
+if COMPAT
+man3_MANS += libmdnlite.3
+man5_MANS += mdn.conf.5
+else
+man3_MANS += libidnkitlite.3
+man5_MANS += idn.conf.5
+endif
+else
+if COMPAT
+man3_MANS += libmdn.3 libmdnlite.3 
+man5_MANS += mdn.conf.5
+else
+man3_MANS += libidnkit.3 libidnkitlite.3
+man5_MANS += idn.conf.5
+endif
+endif
+
+idnrc.5: idn.conf.5.in
+       cp -f idn.conf.5.in idnrc.5
+
+idnalias.conf.5: idn.conf.5.in
+       cp -f idn.conf.5.in idnalias.conf.5
+
+libidnkit.3: libidnkit.3.in
+       cp -f libidnkit.3.in libidnkit.3
+
+libidnkitlite.3: libidnkit.3
+       cp -f libidnkit.3 libidnkitlite.3
+
+libmdnlite.3: libidnkit.3
+       cp -f libidnkit.3 libmdnlite.3
+
+libmdn.3: libidnkit.3
+       cp -f  libidnkit.3 libmdn.3
+
+idn.conf.5: idn.conf.5.in
+       sed 's%[@]sysconfdir[@]%$(sysdir)%' < idn.conf.5.in > $@
+
+mdn.conf.5: idn.conf.5
+       cp -f idn.conf.5 mdn.conf.5


Index: bind.spec
===================================================================
RCS file: /cvs/dist/rpms/bind/devel/bind.spec,v
retrieving revision 1.171
retrieving revision 1.172
diff -u -r1.171 -r1.172
--- bind.spec   11 Apr 2007 15:44:47 -0000      1.171
+++ bind.spec   16 Apr 2007 14:45:21 -0000      1.172
@@ -10,6 +10,7 @@
 %{?!bind_uid:   %define bind_uid   25}
 %{?!bind_gid:   %define bind_gid   25}
 %{?!selinux:   %define selinux     1}
+%define                IDN             0
 %define                bind_dir      /var/named
 %define        chroot_prefix %{bind_dir}/chroot
 #
@@ -17,7 +18,7 @@
 Name:          bind
 License:       BSD-like
 Version:       9.4.0
-Release:       5%{?dist}
+Release:       6%{?dist}
 Epoch:         31
 Url:           http://www.isc.org/products/BIND/
 Buildroot:     %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -77,6 +78,10 @@
 Patch61:        bind-9.3.4-sdb-sqlite-src.patch
 Patch62:        bind-9.4.0-sdb-sqlite-bld.patch
 Patch63:       bind-9.4.0-dnssec-directory.patch
+%if %{IDN}
+Patch64:       idnkit-autotools.patch
+Patch65:       dig-idn.patch
+%endif
 #
 Requires:      bind-libs = %{epoch}:%{version}-%{release}, glibc  >= 2.2, 
mktemp
 Requires(post): grep, chkconfig >= 1.3.26
@@ -117,6 +122,9 @@
 Summary:  Utilities for querying DNS name servers.
 Group:    Applications/System
 Requires: bind-libs = %{epoch}:%{version}-%{release}
+%if %{IDN}
+Requires: bind-idnkit
+%endif
 
 %description utils
 Bind-utils contains a collection of utilities for querying DNS (Domain
@@ -215,6 +223,15 @@
 
 %endif
 
+%if %{IDN}
+%package idnkit
+Summary: BIND's idn implementation libraries
+Group: Applications/System
+
+%description idnkit
+BIND's idn implementation libraries
+%endif
+
 
 %prep
 %setup -q -n %{name}-%{version}%{?prever}
@@ -285,10 +302,24 @@
 %patch62 -p1 -b .sdb-sqlite-bld
 %endif
 %patch63 -p1 -b .directory
+%if %{IDN}
+pushd contrib/idn
+%patch64 -p0 -b .autotools
+popd
+%patch65 -p1 -b .idn
+%endif
 :;
 
 
 %build
+%if %{IDN}
+pushd contrib/idn/idnkit-1.0-src
+libtoolize --copy --force; aclocal; automake -a; autoconf
+%configure
+make %{?_smp_mflags}
+popd
+%endif
+
 libtoolize --copy --force; aclocal; autoconf
 cp -f /usr/share/libtool/config.{guess,sub} .
 %if %{DEBUGINFO}
@@ -323,6 +354,9 @@
 %if %{LIBBIND}
        --enable-libbind \
 %endif
+%if %{IDN}
+       --with-idn \
+%endif
        --disable-openssl-version-check \
        CFLAGS="$CFLAGS" \
 ;
@@ -337,6 +371,12 @@
 %install
 rm -rf ${RPM_BUILD_ROOT}
 
+%if %{IDN}
+pushd contrib/idn/idnkit-1.0-src
+make install DESTDIR=${RPM_BUILD_ROOT}
+popd
+%endif
+
 cp  --preserve=timestamps %{SOURCE5} doc/rfc
 gzip -9       doc/rfc/*
 mkdir -p ${RPM_BUILD_ROOT}/etc/{rc.d/init.d,logrotate.d}
@@ -760,7 +800,29 @@
 
 %endif
 
+%if %{IDN}
+%files idnkit
+%defattr(-,root,root,0755)
+%{_includedir}/idn/*
+%{_libdir}/libidnkit.a
+%{_libdir}/libidnkitlite.a
+%{_mandir}/man1/idnconv.1.gz
+%{_mandir}/man3/libidnkit.3.gz
+%{_mandir}/man3/libidnkitlite.3.gz
+%{_mandir}/man5/idn.conf.5.gz
+%{_mandir}/man5/idnalias.conf.5.gz
+%{_mandir}/man5/idnrc.5.gz
+%{_datadir}/idnkit/jp.map
+%{_bindir}/idnconv
+%config /etc/idn.conf
+%config /etc/idnalias.conf
+%endif
+
+
 %changelog
+* Mon Apr 16 2007 Adam Tkac <atkac redhat com> 31:9.4.0-6.fc7
+- added idn support (still under development with upstream, disabled by 
default)
+
 * Wed Apr 11 2007 Adam Tkac <atkac redhat com> 31:9.4.0-5.fc7
 - dnssec-signzone utility now doesn't ignore -d parameter
 

-- 
fedora-cvs-commits mailing list
fedora-cvs-commits@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-cvs-commits

<Prev in Thread] Current Thread [Next in Thread>
  • rpms/bind/devel dig-idn.patch, NONE, 1.1 idnkit-autotools.patch, NONE, 1.1 bind.spec, 1.171, 1.172, fedora-cvs-commits <=