Request 255 was acted upon.
_________________________________________________________________________

         URL: https://rt.openpkg.org/id/255
      Ticket: [OpenPKG #255]
     Subject: [apt] patches for compatibility with openpkg >= 20030913
  Requestors: [EMAIL PROTECTED]
       Queue: openpkg
       Owner: Nobody
      Status: open
 Transaction: Correspondence added by [EMAIL PROTECTED]
        Time: Mon Sep 15 01:31:30 2003
________________________________________________________________________

It looks like my mailer fairly well trashed the newlines in most of the
.spec file I attached.

You can find undamaged versions of all these files in the SRPM at:

http://apt.cis.ksu.edu/solaris/apt/SRPMS.openpkg-current/apt-0.5.5cnc6-20030914.src.rpm

--Matt

On Sun, 2003-09-14 at 18:16, Matt Hoosier via RT wrote:
> Request 255 was acted upon.
> _________________________________________________________________________
> 
>          URL: https://rt.openpkg.org/id/255
>       Ticket: [OpenPKG #255]
>      Subject: [apt] patches for compatibility with openpkg >= 20030913
>   Requestors: [EMAIL PROTECTED]
>        Queue: openpkg
>        Owner: Nobody
>       Status: new
>  Transaction: Ticket created by [EMAIL PROTECTED]
>         Time: Mon Sep 15 01:16:26 2003
> _________________________________________________________________________
> 
> Hi,
> 
> It seems that the re-ordering of the libraries listed by "rpm-config --libs" 
> in versions >= 20030913 of the bootstrap package cause troubles when
> compiling apt.
> 
> Specifically, when compiling on Solaris some symbols from /cw/lib/librpmpopt.a
> are not found by the linker. This is despite the fact that -lrpmpopt is
> specified in the linking command.
> 
> I have made a couple of tweaks to configure.in to cope with this fact. 
> Basically, in places where I sloppily inserted the complete output of
> "rpm-config --libs" before, I've just replaced the "standard" library name
> with the name as bundled in OpenPKG (e.g., 's/-lz/-lrpmz/').
> 
> I have tested these under both Sun and FreeBSD, and the linker on each
> platform is able to deal with the ordering I've set up.
> 
> I'm attaching updated versions of apt.spec and apt.patch. I would have 
> included these as patches rather than full files, but somehow the notion
> of sending a patch to a patch was a little too recursive for me to think 
> about...
> 
> --Matt
> 
> ----
> Matt Hoosier
> CIS Accounts Manager
> Kansas State University
> <[EMAIL PROTECTED]>
> 
> 
> ______________________________________________________________________
> ##
> ##  apt.spec -- OpenPKG RPM Specification
> ##  Copyright (c) 2000-2003 The OpenPKG Project <http://www.openpkg.org/>
> ##  Copyright (c) 2000-2003 Ralf S. Engelschall <[EMAIL PROTECTED]>
> ##  Copyright (c) 2000-2003 Cable & Wireless <http://www.cw.com/>
> ##
> ##  Permission to use, copy, modify, and distribute this software for
> ##  any purpose with or without fee is hereby granted, provided that
> ##  the above copyright notice and this permission notice appear in all
> ##  copies.
> ##
> ##  THIS SOFTWARE IS PROVIDED AS IS'' AND ANY EXPRESSED OR IMPLIED
> ##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
> ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
> ##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
> ##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> ##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> ##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
> ##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
> ##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
> ##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
> ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> ##  SUCH DAMAGE.
> ##
> 
> #   package information
> Name:         apt
> Summary:      Advanced Packaging Tool
> URL:          https://moin.conectiva.com.br/AptRpm
> Vendor:       Jason Gunthorpe et al.
> Packager:     The OpenPKG Project
> Distribution: OpenPKG [EVAL]
> Group:        Bootstrapping
> License:      GPL
> Version:      0.5.5cnc6
> Release:      20030914
> 
> #   list of sources
> Source0:      
> http://moin.conectiva.com.br/files/AptRpm/attachments/apt-%{version}.tar.bz2
> Source1:      apt.conf
> Source2:      rpmpriorities
> Patch0:       apt.patch
> Patch1:       apt.patch.porting
> 
> #   build information
> Prefix:       %{l_prefix}
> BuildRoot:    %{l_buildroot}
> BuildPreReq:  OpenPKG, openpkg >= 20030913, make, gcc, autoconf
> PreReq:       OpenPKG, openpkg >= 20030913
> AutoReq:      no
> AutoReqProv:  no
> 
> %description
>     This is Connectiva's port of the Debian's Advanced Packaging Tool
>     (APT), running on top of the OpenPKG RPM packaging infrastructure.
>     APT is an advanced package management utility front-end which allows
>     you to easily perform package installation, upgrading and removal.
>     Dependencies are automatically handled.
> 
> %prep
>     %setup -q
>     %patch0 -p0
> 
>     #   platform specific patching
>     l_rpmlibs="-lrpmpopt"
>     case "%{l_platform -t}" in
>         *sunos* )
>             %patch1 -p0
>             l_rpmlibs=" -lsocket"
>             ;;
>     esac
> 
>     #   replace hard-coded paths with OpenPKG ones
>     find . ! -type d |     xargs %{l_shtool} subst         %{l_value -s l_prefix}    
>      -e 's;@l_bindir@;%{l_prefix}/bin;g'         -e 's;@name@;apt;g'         -e 
> "s;@dbpath@;%{_dbpath};g"         -e "s;@rpmlibs@;;g"         -e "s;@l_rpmlibs@;;g"
> 
>     #   regenerate GNU autoconf based files
>     %{l_prefix}/bin/autoconf
> 
> %build
>     #   configure package
>     CC="%{l_cc}"     CPPFLAGS="%{l_cppflags} "     CFLAGS="%{l_cflags} "     
> LDFLAGS="%{l_ldflags} "     ./configure         --prefix=%{l_prefix}         
> --localstatedir=%{l_prefix}/var/apt         --disable-shared         --enable-static 
>         --disable-nls         --disable-docs
> 
>     #   disable localization stuff
>     %{l_shtool} subst         -e 's;^POFILES =.*$;POFILES =;g'         -e 
> 's;^GMOFILES =.*$;GMOFILES =;g'         -e 's;^DUMMYPOFILES =.*$;DUMMYPOFILES =;g'   
>       -e 's;^CATALOGS =.*$;CATALOGS =;g'         po/Makefile
> 
>     #   build package
>     %{l_make} %{l_mflags}
> 
> %install
>     rm -rf 
> 
>     #   install package
>     %{l_make} %{l_mflags} install DESTDIR=
> 
>     #   remove file that conflicts with 'grep' package
>     rm -f %{l_prefix}/lib/charset.alias
> 
>     #   create directory for local state
>     for dir in lib/lists lib/lists/partial cache/archives/partial; do
>         %{l_shtool} mkdir -f -p -m 755             %{l_prefix}/var/apt/
>     done
> 
>     #   install default (blank) configuration files
>     %{l_shtool} mkdir -p -m 755         %{l_prefix}/etc/apt
>     %{l_shtool} install -c -m 644 %{l_value -s -a}         %{SOURCE apt.conf} 
> %{SOURCE rpmpriorities}         %{l_prefix}/etc/apt/
> 
>     #   strip down installation
>     strip %{l_prefix}/bin/*             >/dev/null 2>&1 || true
>     strip %{l_prefix}/lib/apt/methods/* >/dev/null 2>&1 || true
> 
>     #   determine installation files
>     %{l_rpmtool} files -v -ofiles -r %{l_files_std}
> 
> %files -f files
> 
> %clean
>     rm -rf 
> 
> 
> ______________________________________________________________________
> --- apt-pkg/deb/debsystem.cc  2003-06-10 09:13:47.000000000 -0500
> +++ apt-pkg/deb/debsystem.cc  2003-09-12 10:24:15.152860000 -0500
> @@ -162,7 +162,7 @@
>        be the only users of these */
>     Cnf.CndSet("Dir::State::userstatus","status.user"); // Defunct
>     Cnf.CndSet("Dir::State::status","/var/lib/dpkg/status");
> -   Cnf.CndSet("Dir::Bin::dpkg","/usr/bin/dpkg");
> +   Cnf.CndSet("Dir::Bin::dpkg","@l_prefix@/bin/dpkg");
>     
>     return true;
>  }
> @@ -187,7 +187,7 @@
>     signed Score = 0;
>     if (FileExists(Cnf.FindFile("Dir::State::status","/var/lib/dpkg/status")) == 
> true)
>         Score += 10;
> -   if (FileExists(Cnf.FindFile("Dir::Bin::dpkg","/usr/bin/dpkg")) == true)
> +   if (FileExists(Cnf.FindFile("Dir::Bin::dpkg","@l_prefix@/bin/dpkg")) == true)
>        Score += 10;
>     if (FileExists("/etc/debian_version") == true)
>        Score += 10;
> --- apt-pkg/init.cc   2003-06-10 09:10:21.000000000 -0500
> +++ apt-pkg/init.cc   2003-09-12 10:24:15.172832000 -0500
> @@ -45,10 +45,10 @@
>        Cnf.Set("APT::Architecture",COMMON_OS "-" COMMON_CPU);
>     // CNC:2002-09-10
>     //Cnf.Set("APT::Build-Essential::", "build-essential");
> -   Cnf.Set("Dir","/");
> +   Cnf.Set("Dir","@l_prefix@");
>     
>     // State   
> -   Cnf.Set("Dir::State","var/lib/apt/");
> +   Cnf.Set("Dir::State","var/@name@/lib/");
>     
>     /* Just in case something goes horribly wrong, we can fall back to the
>        old /var/state paths.. */
> @@ -61,13 +61,13 @@
>     Cnf.Set("Dir::State::cdroms","cdroms.list");
>     
>     // Cache
> -   Cnf.Set("Dir::Cache","var/cache/apt/");
> +   Cnf.Set("Dir::Cache","var/@name@/cache/");
>     Cnf.Set("Dir::Cache::archives","archives/");
>     Cnf.Set("Dir::Cache::srcpkgcache","srcpkgcache.bin");
>     Cnf.Set("Dir::Cache::pkgcache","pkgcache.bin");
>     
>     // Configuration
> -   Cnf.Set("Dir::Etc","etc/apt/");
> +   Cnf.Set("Dir::Etc","etc/@name@/");
>     Cnf.Set("Dir::Etc::sourcelist","sources.list");
>     // CNC:2003-03-03
>     Cnf.Set("Dir::Etc::sourceparts","sources.list.d");
> @@ -76,7 +76,7 @@
>     Cnf.Set("Dir::Etc::main","apt.conf");
>     Cnf.Set("Dir::Etc::parts","apt.conf.d");
>     Cnf.Set("Dir::Etc::preferences","preferences");
> -   Cnf.Set("Dir::Bin::methods","/usr/lib/apt/methods");
> +   Cnf.Set("Dir::Bin::methods","@l_prefix@/lib/apt/methods");
>             
>     bool Res = true;
>     
> --- apt-pkg/luaiface.cc       2003-06-10 09:10:10.000000000 -0500
> +++ apt-pkg/luaiface.cc       2003-09-12 10:24:15.190908000 -0500
> @@ -59,7 +59,7 @@
>  Lua::Lua()
>        : DepCache(0), Cache(0), Fix(0), DontFix(0)
>  {
> -   _config->CndSet("Dir::Bin::scripts", "/usr/lib/apt/scripts");
> +   _config->CndSet("Dir::Bin::scripts", "@l_prefix@/lib/apt/scripts");
>  
>     const luaL_reg lualibs[] = {
>        {"base", luaopen_base},
> --- apt-pkg/rpm/rpmhandler.cc 2003-06-10 09:12:44.000000000 -0500
> +++ apt-pkg/rpm/rpmhandler.cc 2003-09-12 10:24:15.220455000 -0500
> @@ -383,9 +383,9 @@
>        File = "Packages";       
>  #endif
>     if (DirectoryOnly == true)
> -       return _config->Find("RPM::RootDir")+"/var/lib/rpm";
> +       return _config->Find("RPM::RootDir")+"@dbpath@";
>     else
> -       return _config->Find("RPM::RootDir")+"/var/lib/rpm/"+File;
> +       return _config->Find("RPM::RootDir")+"@dbpath@/"+File;
>  }
>  
>  bool RPMDBHandler::Skip()
> --- apt-pkg/rpm/rpmhandler.h  2003-06-10 09:12:36.000000000 -0500
> +++ apt-pkg/rpm/rpmhandler.h  2003-09-12 10:28:48.228417000 -0500
> @@ -12,6 +12,7 @@
>  
>  #include <apt-pkg/fileutl.h>
>  
> +#include <rpm/glob.h>
>  #include <rpm/rpmlib.h>
>  #include <rpm/rpmmacro.h>
>  
> --- apt-pkg/rpm/rpmpackagedata.cc     2003-06-10 09:12:34.000000000 -0500
> +++ apt-pkg/rpm/rpmpackagedata.cc     2003-09-12 10:31:37.552481000 -0500
> @@ -12,6 +12,7 @@
>  
>  #include <apti18n.h>
>  
> +#include <rpm/glob.h>
>  #include <rpm/rpmlib.h>
>  
>  RPMPackageData::RPMPackageData()
> --- apt-pkg/rpm/rpmpm.cc      2003-06-10 09:12:46.000000000 -0500
> +++ apt-pkg/rpm/rpmpm.cc      2003-09-12 10:32:29.231349000 -0500
> @@ -34,6 +34,7 @@
>  #include <iostream>
>  
> 
> +#include <rpm/glob.h>
>  #include <rpm/rpmlib.h>
>                                                                       /*}}}*/
>  
> --- apt-pkg/rpm/rpmrecords.h  2003-06-10 09:12:18.000000000 -0500
> +++ apt-pkg/rpm/rpmrecords.h  2003-09-12 10:33:05.832241000 -0500
> @@ -21,6 +21,7 @@
>  
>  #include <apt-pkg/pkgrecords.h>
>  #include <apt-pkg/fileutl.h>
> +#include <rpm/glob.h>
>  #include <rpm/rpmlib.h>
>  
>    
> --- apt-pkg/rpm/rpmsrcrecords.h       2003-06-10 09:12:46.000000000 -0500
> +++ apt-pkg/rpm/rpmsrcrecords.h       2003-09-12 10:36:00.104583000 -0500
> @@ -17,6 +17,7 @@
>  
>  #include <apt-pkg/srcrecords.h>
>  #include <apt-pkg/fileutl.h>
> +#include <rpm/glob.h>
>  #include <rpm/rpmlib.h>
>  
>    
> --- apt-pkg/rpm/rpmsystem.cc  2003-06-10 09:12:35.000000000 -0500
> +++ apt-pkg/rpm/rpmsystem.cc  2003-09-12 10:24:15.244358000 -0500
> @@ -120,12 +120,12 @@
>  /* These are the rpm specific configuration variables.. */
>  bool rpmSystem::Initialize(Configuration &Cnf)
>  {
> -   Cnf.CndSet("Dir::Bin::rpm","/bin/rpm");
> +   Cnf.CndSet("Dir::Bin::rpm","@l_bindir@/rpm");
>     Cnf.CndSet("Dir::Etc::rpmpriorities", "rpmpriorities");
>     Cnf.CndSet("Dir::Etc::translatelist", "translate.list");
>     Cnf.CndSet("Dir::Etc::translateparts", "translate.list.d");
>     Cnf.CndSet("Dir::State::prefetch", "prefetch");
> -   Cnf.CndSet("Dir::Locale","/usr/share/locale");
> +   Cnf.CndSet("Dir::Locale","@l_prefix@/share/locale");
>     Cnf.CndSet("Acquire::DistroID","Conectiva"); // hee hee
>     Cnf.CndSet("Acquire::CDROM::Mount", "/mnt/cdrom");
>     Cnf.CndSet("Acquire::CDROM::Copy-All", "true");
> @@ -197,7 +197,7 @@
>  
>     if (FileExists(RPMDBHandler::DataPath(false)))
>        Score += 10;
> -   if (FileExists(Cnf.FindFile("Dir::Bin::rpm","/bin/rpm")) == true)
> +   if (FileExists(Cnf.FindFile("Dir::Bin::rpm","@l_bindir@/rpm")) == true)
>        Score += 10;
>  
>     return Score;
> --- apt-pkg/rpm/rpmversion.cc 2003-06-10 09:12:33.000000000 -0500
> +++ apt-pkg/rpm/rpmversion.cc 2003-09-12 10:38:49.691754000 -0500
> @@ -22,6 +22,7 @@
>  #include <apt-pkg/rpmversion.h>
>  #include <apt-pkg/pkgcache.h>
>  
> +#include <rpm/glob.h>
>  #include <rpm/rpmlib.h>
>  #include <rpm/misc.h>
>  
> --- configure.in      2003-06-10 09:04:02.000000000 -0500
> +++ configure.in      2003-09-12 13:08:37.264445000 -0500
> @@ -48,14 +48,14 @@
>  AC_CHECK_HEADER(rpm/rpmlib.h,
>  [
>     AC_CHECK_LIB(rpmdb,rpmdbOpen,
> -     [RPMDBLIBS="-lrpmdb"],
> +     [RPMDBLIBS="-lrpmdb"],
>       [RPMDBLIBS="-ldb-3.1"],
> -     [-lrpm -lrpmio -lz -lbz2 -lpopt])
> +     [-lrpm -lrpmio -lrpmz -lrpmbz2 -lrpmbeecrypt @[EMAIL PROTECTED])
>  
>     AC_CHECK_LIB(rpm,rpmdbGetIteratorOffset,
>       [AC_DEFINE_UNQUOTED(HAVE_RPM, 1)
>        AC_DEFINE_UNQUOTED(HAVE_RPM4, 1)
> -      RPMLIBS="-lrpm  -lrpmio -lz -lbz2 -lpopt"
> +      RPMLIBS="-lrpm  -lrpmio -lrpmz -lrpmbz2 -lrpmpopt -lrpmbeecrypt @l_rpmlibs@"
>        AC_CHECK_LIB(rpm, rpmtsUpdateDSI,
>                     [AC_DEFINE_UNQUOTED(HAVE_RPM41, 1)
>                      rpm_version="4.1"],
> @@ -64,11 +64,11 @@
>       ],
>       [AC_CHECK_LIB(rpm,rpmdbFirstRecNum,
>                [AC_DEFINE_UNQUOTED(HAVE_RPM, 1) 
> -               RPMLIBS="-lrpm -ldb1 -lz -lbz2 -lpopt"
> +               RPMLIBS="-lrpm -lrpmdb -lrpmz -lrpmbz2 -lrpmpopt -lrpmbeecrypt"
>                 rpm_version="3"],,
> -           [-ldb1 -lz -lbz2 -lpopt])
> +           [-lrpmdb -lrpmz -lrpmbz2 -lrpmopt -lrpmbeecrypt])
>       ],
> -     [ -lrpmio -lz -lbz2 -lpopt])
> +     [ -lrpmio -lrpmz -lrpmbz2 -lrpmpopt -lrpmbeecrypt @[EMAIL PROTECTED])
>  
>     AC_SUBST(RPMLIBS)
>  ])
> --- methods/gpg.cc    2003-06-10 09:14:06.000000000 -0500
> +++ methods/gpg.cc    2003-09-12 10:24:15.270075000 -0500
> @@ -195,7 +195,7 @@
>        return "could not spawn new process";
>     else if (pid == 0) 
>     {
> -      string path = _config->Find("Dir::Bin::gpg", "/usr/bin/gpg");
> +      string path = _config->Find("Dir::Bin::gpg", "@l_prefix@/bin/gpg");
>        string pubring = "";
>        const char *argv[16];
>        int argc = 0;
> --- test/scratch.cc   2003-06-10 09:20:33.000000000 -0500
> +++ test/scratch.cc   2003-09-12 10:24:15.304800000 -0500
> @@ -49,7 +49,7 @@
>     
>  /*   Db.GetFLCache().BeginDiverLoad();
>     pkgFLCache::PkgIterator Pkg(Db.GetFLCache(),0);
> -   if 
> (Db.GetFLCache().AddDiversion(Pkg,"/usr/include/linux/kerneld.h","/usr/bin/nslookup")
>  == false)
> +   if 
> (Db.GetFLCache().AddDiversion(Pkg,"/usr/include/linux/kerneld.h","@l_prefix@/bin/nslookup")
>  == false)
>        cerr << "Error!" << endl;
>  
>     const char *Tmp = "/usr/include/linux/kerneld.h";
> --- tools/cached_md5.cc       2003-06-10 09:14:45.000000000 -0500
> +++ tools/cached_md5.cc       2003-09-12 13:27:32.586894000 -0500
> @@ -6,6 +6,7 @@
>  #include <dirent.h>
>  #include <errno.h>
>  #include <fcntl.h>
> +#include <rpm/glob.h>
>  #include <rpm/rpmlib.h>
>  #include <stdlib.h>
>  #include <string.h>
> --- tools/genpkglist.cc       2003-06-10 09:14:47.000000000 -0500
> +++ tools/genpkglist.cc       2003-09-12 13:24:43.717633000 -0500
> @@ -6,6 +6,7 @@
>  #include <dirent.h>
>  #include <errno.h>
>  #include <fcntl.h>
> +#include <rpm/glob.h>
>  #include <rpm/rpmlib.h>
>  #include <stdlib.h>
>  #include <string.h>
> @@ -368,7 +369,7 @@
>  }
>  
>  int scandir(const char * dir, struct dirent *** namelist, 
> -        int (* select)(struct dirent *), 
> +        int (* select)(const struct dirent *), 
>          int (* cmp)(const void *, const void *))
>  
>  {
> --- tools/gensrclist.cc       2003-06-10 09:14:44.000000000 -0500
> +++ tools/gensrclist.cc       2003-09-12 13:28:59.653936000 -0500
> @@ -6,6 +6,7 @@
>  #include <dirent.h>
>  #include <errno.h>
>  #include <fcntl.h>
> +#include <rpm/glob.h>
>  #include <rpm/rpmlib.h>
>  #include <stdlib.h>
>  #include <string.h>
> @@ -133,6 +134,89 @@
>  }
>  #endif
>  
> +#ifndef HAVE_SCANDIR
> +// from glibc 1.09.1  mod'd by jmik, ins'd by asm, fix'd by sbi
> +int alphasort(const void * a, const void * b)
> +{
> +  return strcmp ((*(struct dirent **) a)->d_name,
> +                 (*(struct dirent **) b)->d_name);
> +}
> +
> +int scandir(const char * dir, struct dirent *** namelist, 
> +        int (* select)(const struct dirent *), 
> +        int (* cmp)(const void *, const void *))
> +
> +{
> +  DIR *dp = opendir (dir);
> +  struct dirent **v = NULL;
> +  size_t vsize = 0, i;
> +  struct dirent *d;
> +  int save;
> +
> +  if (dp == NULL)
> +    return -1;
> +
> +  save = errno;
> +  errno = 0;
> +
> +  i = 0;
> +  while ((d = readdir (dp)) != NULL)
> +    {
> +    if (select == NULL || (*select) (d))
> +      {
> +        if (i == vsize)
> +          {
> +            struct dirent **newv;
> +            if (vsize == 0)
> +              vsize = 10;
> +            else
> +              vsize *= 2;
> +            newv = (struct dirent **) realloc (v, vsize * sizeof (*v));
> +            if (newv == NULL)
> +              {
> +              lose:
> +                errno = ENOMEM;
> +                break;
> +              }
> +            v = newv;
> +          }
> +
> +        v[i] = (struct dirent *) malloc (d->d_reclen);
> +        if (v[i] == NULL)
> +          goto lose;
> +
> +        // *v[i++] = *d;
> +     memcpy(v[i], d, d->d_reclen);
> +     i++;
> +      }
> +    }
> +
> +  v[i] = NULL;
> +
> +  if (errno != 0)
> +    {
> +      save = errno;
> +      (void) closedir (dp);
> +      while (i > 0)
> +        free (v[--i]);
> +      free (v);
> +      errno = save;
> +      return -1;
> +    }
> +
> +  (void) closedir (dp);
> +  errno = save;
> +
> +  /* Sort the list if we have a comparison function to sort with.  */
> +  if (cmp != NULL)
> +    qsort (v, i, sizeof (struct dirent *), cmp);
> +
> +  *namelist = v;
> +  return i;
> +}
> +// end of new stuff from glibc
> +#endif
> +
>  int main(int argc, char ** argv) 
>  {
>     char buf[300];
> --- tools/cached_md5.cc.orig  2003-09-13 20:46:01.000000000 +0200
> +++ tools/cached_md5.cc       2003-09-13 20:50:59.000000000 +0200
> @@ -1,7 +1,6 @@
>  /*
>   * : cached_md5.cc,v 1.4 2003/01/29 13:47:31 niemeyer Exp $
>   */
> -#include <alloca.h>
>  #include <ctype.h>
>  #include <dirent.h>
>  #include <errno.h>
> --- tools/genpkglist.cc.orig  2003-09-13 20:46:01.000000000 +0200
> +++ tools/genpkglist.cc       2003-09-13 20:50:44.000000000 +0200
> @@ -1,7 +1,6 @@
>  /*
>   * : genpkglist.cc,v 1.7 2003/01/30 17:18:21 niemeyer Exp $
>   */
> -#include <alloca.h>
>  #include <ctype.h>
>  #include <dirent.h>
>  #include <errno.h>
> --- tools/gensrclist.cc.orig  2003-09-13 20:46:01.000000000 +0200
> +++ tools/gensrclist.cc       2003-09-13 20:51:13.000000000 +0200
> @@ -1,7 +1,6 @@
>  /*
>   * : gensrclist.cc,v 1.8 2003/01/30 17:18:21 niemeyer Exp $
>   */
> -#include <alloca.h>
>  #include <ctype.h>
>  #include <dirent.h>
>  #include <errno.h>


______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
Developer Communication List                   [EMAIL PROTECTED]

Reply via email to