diff --git a/.cvsignore b/.cvsignore index c54a090..10e5600 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -unixODBC-2.2.5-rh.tar.gz +unixODBC-2.2.8.tar.gz diff --git a/depcomp.patch b/depcomp.patch new file mode 100644 index 0000000..bc40d22 --- /dev/null +++ b/depcomp.patch @@ -0,0 +1,330 @@ +--- unixODBC-2.2.8/depcomp 2001-10-28 16:26:53.000000000 -0500 ++++ unixODBC-2.2.8-rh/depcomp 2003-07-02 11:40:03.000000000 -0400 +@@ -31,7 +31,16 @@ + fi + # `libtool' can also be set to `yes' or `no'. + +-depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`} ++if test -z "$depfile"; then ++ base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` ++ dir=`echo "$object" | sed 's,/.*$,/,'` ++ if test "$dir" = "$object"; then ++ dir= ++ fi ++ # FIXME: should be _deps on DOS. ++ depfile="$dir.deps/$base" ++fi ++ + tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + + rm -f "$tmpdepfile" +@@ -197,18 +206,53 @@ + rm -f "$tmpdepfile" + ;; + ++icc) ++ # Must come before tru64. ++ ++ # Intel's C compiler understands `-MD -MF file'. However ++ # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c ++ # will fill foo.d with something like ++ # foo.o: sub/foo.c ++ # foo.o: sub/foo.h ++ # which is wrong. We want: ++ # sub/foo.o: sub/foo.c ++ # sub/foo.o: sub/foo.h ++ # sub/foo.c: ++ # sub/foo.h: ++ ++ "$@" -MD -MF "$tmpdepfile" ++ stat=$? ++ if test $stat -eq 0; then : ++ else ++ rm -f "$tmpdepfile" ++ exit $stat ++ fi ++ rm -f "$depfile" ++ # Each line is of the form `foo.o: dependent.h'. ++ # Do two passes, one to just change these to ++ # `$object: dependent.h' and one to simply `dependent.h:'. ++ sed -e "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" ++ sed -e "s,^[^:]*: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" ++ rm -f "$tmpdepfile" ++ ;; ++ + tru64) +- # The Tru64 AIX compiler uses -MD to generate dependencies as a side ++ # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. +- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put ++ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. ++ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` ++ test "x$dir" = "x$object" && dir= ++ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + +- tmpdepfile1="$object.d" +- tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'` + if test "$libtool" = yes; then ++ tmpdepfile1="$dir.libs/$base.lo.d" ++ tmpdepfile2="$dir.libs/$base.d" + "$@" -Wc,-MD + else ++ tmpdepfile1="$dir$base.o.d" ++ tmpdepfile2="$dir$base.d" + "$@" -MD + fi + +@@ -240,34 +284,42 @@ + + dashmstdout) + # Important note: in order to support this mode, a compiler *must* +- # always write the proprocessed file to stdout, regardless of -o, +- # because we must use -o when running libtool. +- test -z "$dashmflag" && dashmflag=-M +- ( IFS=" " +- case " $* " in +- *" --mode=compile "*) # this is libtool, let us make it quiet +- for arg +- do # cycle over the arguments +- case "$arg" in +- "--mode=compile") +- # insert --quiet before "--mode=compile" +- set fnord "$@" --quiet +- shift # fnord +- ;; +- esac +- set fnord "$@" "$arg" +- shift # fnord +- shift # "$arg" +- done ++ # always write the proprocessed file to stdout, regardless of -o. ++ "$@" || exit $? ++ ++ # Remove the call to Libtool. ++ if test "$libtool" = yes; then ++ while test $1 != '--mode=compile'; do ++ shift ++ done ++ shift ++ fi ++ ++ # Remove `-o $object'. ++ IFS=" " ++ for arg ++ do ++ case $arg in ++ -o) ++ shift ++ ;; ++ $object) ++ shift ++ ;; ++ *) ++ set fnord "$@" "$arg" ++ shift # fnord ++ shift # $arg + ;; + esac +- "$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" +- ) & +- proc=$! +- "$@" +- stat=$? +- wait "$proc" +- if test "$stat" != 0; then exit $stat; fi ++ done ++ ++ test -z "$dashmflag" && dashmflag=-M ++ # Require at least two characters before searching for `:' ++ # in the target name. This is to cope with DOS-style filenames: ++ # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. ++ "$@" $dashmflag | ++ sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +@@ -285,36 +337,40 @@ + ;; + + makedepend) +- # X makedepend +- ( +- shift +- cleared=no +- for arg in "$@"; do +- case $cleared in no) +- set ""; shift +- cleared=yes +- esac +- case "$arg" in +- -D*|-I*) +- set fnord "$@" "$arg"; shift;; +- -*) +- ;; +- *) +- set fnord "$@" "$arg"; shift;; +- esac ++ "$@" || exit $? ++ # Remove any Libtool call ++ if test "$libtool" = yes; then ++ while test $1 != '--mode=compile'; do ++ shift + done +- obj_suffix="`echo $object | sed 's/^.*\././'`" +- touch "$tmpdepfile" +- ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@" +- ) & +- proc=$! +- "$@" +- stat=$? +- wait "$proc" +- if test "$stat" != 0; then exit $stat; fi ++ shift ++ fi ++ # X makedepend ++ shift ++ cleared=no ++ for arg in "$@"; do ++ case $cleared in ++ no) ++ set ""; shift ++ cleared=yes ;; ++ esac ++ case "$arg" in ++ -D*|-I*) ++ set fnord "$@" "$arg"; shift ;; ++ # Strip any option that makedepend may not understand. Remove ++ # the object too, otherwise makedepend will parse it as a source file. ++ -*|$object) ++ ;; ++ *) ++ set fnord "$@" "$arg"; shift ;; ++ esac ++ done ++ obj_suffix="`echo $object | sed 's/^.*\././'`" ++ touch "$tmpdepfile" ++ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" +- tail +3 "$tmpdepfile" | tr ' ' ' ++ sed '1,2d' "$tmpdepfile" | tr ' ' ' + ' | \ + ## Some versions of the HPUX 10.20 sed can't process this invocation + ## correctly. Breaking it into two sed invocations is a workaround. +@@ -324,35 +380,39 @@ + + cpp) + # Important note: in order to support this mode, a compiler *must* +- # always write the proprocessed file to stdout, regardless of -o, +- # because we must use -o when running libtool. +- ( IFS=" " +- case " $* " in +- *" --mode=compile "*) +- for arg +- do # cycle over the arguments +- case $arg in +- "--mode=compile") +- # insert --quiet before "--mode=compile" +- set fnord "$@" --quiet +- shift # fnord +- ;; +- esac +- set fnord "$@" "$arg" +- shift # fnord +- shift # "$arg" +- done ++ # always write the proprocessed file to stdout. ++ "$@" || exit $? ++ ++ # Remove the call to Libtool. ++ if test "$libtool" = yes; then ++ while test $1 != '--mode=compile'; do ++ shift ++ done ++ shift ++ fi ++ ++ # Remove `-o $object'. ++ IFS=" " ++ for arg ++ do ++ case $arg in ++ -o) ++ shift ++ ;; ++ $object) ++ shift ++ ;; ++ *) ++ set fnord "$@" "$arg" ++ shift # fnord ++ shift # $arg + ;; + esac +- "$@" -E | ++ done ++ ++ "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" +- ) & +- proc=$! +- "$@" +- stat=$? +- wait "$proc" +- if test "$stat" != 0; then exit $stat; fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" +@@ -364,32 +424,25 @@ + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. +- ( IFS=" " +- case " $* " in +- *" --mode=compile "*) +- for arg +- do # cycle over the arguments +- case $arg in +- "--mode=compile") +- # insert --quiet before "--mode=compile" +- set fnord "$@" --quiet +- shift # fnord +- ;; +- esac ++ "$@" || exit $? ++ IFS=" " ++ for arg ++ do ++ case "$arg" in ++ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") ++ set fnord "$@" ++ shift ++ shift ++ ;; ++ *) + set fnord "$@" "$arg" +- shift # fnord +- shift # "$arg" +- done +- ;; ++ shift ++ shift ++ ;; + esac +- "$@" -E | +- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" +- ) & +- proc=$! +- "$@" +- stat=$? +- wait "$proc" +- if test "$stat" != 0; then exit $stat; fi ++ done ++ "$@" -E | ++ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" diff --git a/sources b/sources index 78fb86b..1322542 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -16c0c149776c17479f6a0ed3296fd6a5 unixODBC-2.2.5-rh.tar.gz +1738ac06c5fae51fe214993cf8b3bf2b unixODBC-2.2.8.tar.gz diff --git a/unixODBC.spec b/unixODBC.spec index 14474c7..c789d61 100644 --- a/unixODBC.spec +++ b/unixODBC.spec @@ -1,24 +1,28 @@ Summary: A complete ODBC driver manager for Linux. Name: unixODBC -Version: 2.2.5 -Release: 10 +Version: 2.2.8 +Release: 3 License: LGPL Group: System Environment/Libraries -Source: http://www.unixODBC.org/%{name}-%{version}-rh.tar.gz +Source: http://www.unixODBC.org/%{name}-%{version}.tar.gz Source1: odbcinst.ini Source2: ODBCConfig.desktop Source3: DataManager.desktop +Patch1: depcomp.patch +Patch2: rename-lo.patch +Patch3: installedltdl.patch URL: http://www.unixODBC.org/ Conflicts: iodbc -#ExcludeArch:x86_64 ppc64 s390x -BuildPrereq: kdelibs-devel qt-devel libmng-devel XFree86-devel automake autoconf +BuildPrereq: kdelibs-devel qt-devel libmng-devel XFree86-devel automake autoconf libtool BuildRoot: %{_tmppath}/%{name}-%{version}-root %description -Install unixODBC if you want to access databases through ODBC. This -package includes drivers for PostgreSQL and local files. If you want -to develop programs that will access data through ODBC, you need to -install the unixODBC package. +Install unixODBC if you want to access databases through ODBC. This +package includes low-level drivers for MySQL, PostgreSQL, and local files. +However, the included drivers are not as up-to-date as the ones distributed +separately. It is recommended that you install and use the MyODBC package +if you need a driver for MySQL, and/or the postgresql-odbc package for +PostgreSQL. %package devel Summary: Development files for programs which will use the unixODBC library. @@ -41,6 +45,23 @@ This package contains components for the ODBCConfig and DataManager %prep %setup -q +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 + +# 2.2.8 includes a libtool that is too old for some of our architectures. +# Blow it away and replace with build system's libtool. (We intend to use +# the installed libtool anyway, but this makes sure they match.) +rm -rf config.guess config.sub ltmain.sh libltdl +cp -r /usr/share/libtool/* . + +# Use newer install-sh and mkinstalldirs, too +if [ -f libltdl/install-sh ]; then + cp -f libltdl/install-sh . +fi +if [ -f libltdl/mkinstalldirs ]; then + cp -f libltdl/mkinstalldirs . +fi %build # pick up qt path @@ -49,9 +70,16 @@ export QTDIR= # clean up old moc files (cd ODBCConfig && rm -f mclass*.cpp) (cd DataManager && rm -f mclass*.cpp) + aclocal automake autoconf +pushd libltdl +aclocal +automake +autoconf +popd + %configure --with-gnu-ld=yes --enable-threads=yes --enable-gui=yes --enable-static=yes --enable-drivers make all @@ -129,6 +157,24 @@ rm -rf $RPM_BUILD_ROOT %postun -p /sbin/ldconfig %changelog +* Wed Mar 10 2004 Tom Lane 2.2.8-3 +- Use installed libltdl +- rebuilt for Fedora Core 2 + +* Tue Mar 9 2004 Tom Lane 2.2.8-2 +- Rename lo_xxx() to odbc_lo_xxx() (bug #117211) (temporary until 2.2.9) +- rebuilt + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Mon Mar 1 2004 Tom Lane +- Update to 2.2.8 +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + * Thu Dec 4 2003 Joe Orton 2.2.5-10 - rebuild to restore sqltypes.h after #111195