Fix domain search order, honor CFLAGS

This commit is contained in:
Jakub Hrozek 2010-06-03 12:52:52 +00:00
parent 955138d9d4
commit ad3a66e84d
3 changed files with 149 additions and 2 deletions

View File

@ -0,0 +1,87 @@
diff -up c-ares-1.6.0/configure~ c-ares-1.6.0/configure
--- c-ares-1.6.0/configure~ 2008-12-10 00:31:08.000000000 +0200
+++ c-ares-1.6.0/configure 2009-07-25 20:26:11.000000000 +0300
@@ -14950,7 +14950,7 @@ echo "$as_me: WARNING: compiler options
ac_var_stripped=""
for word1 in $tmp_CFLAGS; do
ac_var_strip_word="no"
- for word2 in $flags_dbg_all; do
+ for word2 in ""; do
if test "$word1" = "$word2"; then
ac_var_strip_word="yes"
fi
@@ -14966,7 +14966,7 @@ echo "$as_me: WARNING: compiler options
ac_var_stripped=""
for word1 in $tmp_CPPFLAGS; do
ac_var_strip_word="no"
- for word2 in $flags_dbg_all; do
+ for word2 in ""; do
if test "$word1" = "$word2"; then
ac_var_strip_word="yes"
fi
@@ -14982,12 +14982,12 @@ echo "$as_me: WARNING: compiler options
if test "$want_debug" = "yes"; then
{ echo "$as_me:$LINENO: checking if compiler accepts debug enabling options" >&5
echo $ECHO_N "checking if compiler accepts debug enabling options... $ECHO_C" >&6; }
- tmp_options="$flags_dbg_yes"
+ tmp_options=""
fi
if test "$want_debug" = "no"; then
{ echo "$as_me:$LINENO: checking if compiler accepts debug disabling options" >&5
echo $ECHO_N "checking if compiler accepts debug disabling options... $ECHO_C" >&6; }
- tmp_options="$flags_dbg_off"
+ tmp_options=""
fi
#
CPPFLAGS="$tmp_CPPFLAGS"
@@ -15221,7 +15221,7 @@ echo $ECHO_N "checking if compiler optim
ac_var_match_word="no"
for word1 in $tmp_CFLAGS; do
- for word2 in $flags_opt_all; do
+ for word2 in ""; do
if test "$word1" = "$word2"; then
ac_var_match_word="yes"
fi
@@ -15239,7 +15239,7 @@ echo $ECHO_N "checking if compiler optim
ac_var_match_word="no"
for word1 in $tmp_CPPFLAGS; do
- for word2 in $flags_opt_all; do
+ for word2 in ""; do
if test "$word1" = "$word2"; then
ac_var_match_word="yes"
fi
@@ -15270,7 +15270,7 @@ echo "${ECHO_T}$honor_optimize_option" >
ac_var_stripped=""
for word1 in $tmp_CFLAGS; do
ac_var_strip_word="no"
- for word2 in $flags_opt_all; do
+ for word2 in ""; do
if test "$word1" = "$word2"; then
ac_var_strip_word="yes"
fi
@@ -15286,7 +15286,7 @@ echo "${ECHO_T}$honor_optimize_option" >
ac_var_stripped=""
for word1 in $tmp_CPPFLAGS; do
ac_var_strip_word="no"
- for word2 in $flags_opt_all; do
+ for word2 in ""; do
if test "$word1" = "$word2"; then
ac_var_strip_word="yes"
fi
@@ -15301,12 +15301,12 @@ echo "${ECHO_T}$honor_optimize_option" >
if test "$want_optimize" = "yes"; then
{ echo "$as_me:$LINENO: checking if compiler accepts optimizer enabling options" >&5
echo $ECHO_N "checking if compiler accepts optimizer enabling options... $ECHO_C" >&6; }
- tmp_options="$flags_opt_yes"
+ tmp_options=""
fi
if test "$want_optimize" = "no"; then
{ echo "$as_me:$LINENO: checking if compiler accepts optimizer disabling options" >&5
echo $ECHO_N "checking if compiler accepts optimizer disabling options... $ECHO_C" >&6; }
- tmp_options="$flags_opt_off"
+ tmp_options=""
fi
CPPFLAGS="$tmp_CPPFLAGS"
CFLAGS="$tmp_CFLAGS $tmp_options"

View File

@ -1,13 +1,15 @@
Summary: A library that performs asynchronous DNS operations
Name: c-ares
Version: 1.6.0
Release: 1%{?dist}
Release: 2%{?dist}
License: MIT
Group: System Environment/Libraries
URL: http://daniel.haxx.se/projects/c-ares/
Source0: http://daniel.haxx.se/projects/c-ares/c-ares-%{version}.tar.gz
Source1: LICENSE
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch0: domain-search-order-1.6.0.patch
Patch1: c-ares-1.6.0-optflags.patch
%description
c-ares is a C library that performs DNS requests and name resolves
@ -26,10 +28,13 @@ compile applications or shared objects that use c-ares.
%prep
%setup -q
%patch0 -p1 -b .domain
%patch1 -p1 -b .optflags
cp %{SOURCE1} .
%build
%configure --enable-shared
%configure --enable-shared --disable-static \
--disable-dependency-tracking
%{__make} %{?_smp_mflags}
%install
@ -59,6 +64,13 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man3/ares_*
%changelog
* Thu Jun 2 2010 Jakub Hrozek <jhrozek@redhat.com> - 1.6.0-2
- Backport the fix the order of search domains from 1.7 branch
- Add patch do honor our CFLAGS (patch by Ville Skyttä)
- Don't bother building throwaway static libs.
- Disable autotools dependency tracking for cleaner build logs and possible
slight build speedup.
* Wed Jul 22 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.6.0-1
- update to 1.6.0

View File

@ -0,0 +1,48 @@
diff -up c-ares-1.6.0/ares_init.3.domain c-ares-1.6.0/ares_init.3
--- c-ares-1.6.0/ares_init.3.domain 2010-06-03 12:53:48.000000000 +0200
+++ c-ares-1.6.0/ares_init.3 2010-06-03 12:54:07.000000000 +0200
@@ -184,6 +184,27 @@ A configuration file could not be read.
.TP 14
.B ARES_ENOMEM
The process's available memory was exhausted.
+.SH NOTES
+When initializing from
+.B /etc/resolv.conf,
+.BR ares_init (3)
+reads the
+.I domain
+and
+.I search
+directives to allow lookups of short names relative to the domains
+specified. The
+.I domain
+and
+.I search
+directives override one another. If more that one instance of either
+.I domain
+or
+.I search
+directives is specified, the last occurence wins. For more information,
+please see the
+.BR resolv.conf (5)
+manual page.
.SH SEE ALSO
.BR ares_destroy(3),
.BR ares_dup(3)
diff -up c-ares-1.6.0/ares_init.c.domain c-ares-1.6.0/ares_init.c
--- c-ares-1.6.0/ares_init.c.domain 2010-06-03 12:53:42.000000000 +0200
+++ c-ares-1.6.0/ares_init.c 2010-06-03 12:54:29.000000000 +0200
@@ -815,11 +815,11 @@ DhcpNameServer
if (fp) {
while ((status = ares__read_line(fp, &line, &linesize)) == ARES_SUCCESS)
{
- if ((p = try_config(line, "domain")) && channel->ndomains == -1)
+ if ((p = try_config(line, "domain")))
status = config_domain(channel, p);
else if ((p = try_config(line, "lookup")) && !channel->lookups)
status = config_lookup(channel, p, "bind", "file");
- else if ((p = try_config(line, "search")) && channel->ndomains == -1)
+ else if ((p = try_config(line, "search")))
status = set_search(channel, p);
else if ((p = try_config(line, "nameserver")) && channel->nservers == -1)
status = config_nameserver(&servers, &nservers, p);