Request 253 was acted upon.
_________________________________________________________________________

         URL: https://rt.openpkg.org/id/253
      Ticket: [OpenPKG #253]
     Subject: [bootstrap] missing header files
  Requestors: [EMAIL PROTECTED]
       Queue: openpkg
       Owner: Nobody
      Status: open
 Transaction: Correspondence added by [EMAIL PROTECTED]
        Time: Thu Sep 11 22:17:34 2003
________________________________________________________________________

Matthias,

I have a working version of apt deployed on-site. I just haven't
released a URL because there were these nasty outstanding issues about
RPM header files.

This said, however, you can download the SRPM from the following
location:

http://apt.cis.ksu.edu/solaris/apt/SRPMS.cis/apt-0.5.5cnc6-20030908.src.rpm

I have only built this on Solaris; perhaps you would be kind enough to
test building it on other platforms to which you have access?

I did run into trouble with the missing mktempd() and
setenv()/unsetenv() on Solaris.

My solution was to insert a static copy of these functions into the .cc
file which used them. They're basically patterned off the glibc
implementation.

As for the Glob() function... this is declared in /usr/include/glob.h on
Solaris, so I manually added "-include /usr/include/glob.h" if the
buildtime platform is 

My vote--I'm not sure if I get one :) -- would be to package RPM's
internal glob.h header. It seems pretty clear that this is the one which
APT is expecting to build against.

I would prefer a cleaner solution to some of these problems; it seems
like most of the patches I/we would make should be submitted to the
upstream maintainers of APT, in the interest of making their program
compilable somewhere other than Linux.

--Matt

On Thu, 2003-09-11 at 14:57, Matthias Kurz via RT wrote:
> Request 253 was acted upon.
> _________________________________________________________________________
> 
>          URL: https://rt.openpkg.org/id/253
>       Ticket: [OpenPKG #253]
>      Subject: [bootstrap] missing header files
>   Requestors: [EMAIL PROTECTED]
>        Queue: openpkg
>        Owner: Nobody
>       Status: open
>  Transaction: Correspondence added by [EMAIL PROTECTED]
>         Time: Thu Sep 11 21:57:25 2003
> _________________________________________________________________________
> 
> On Thu, Sep 11, 2003 at 09:18:58PM +0200, Ralf S. Engelschall via RT wrote:
> > Request 253 was acted upon.
> > _________________________________________________________________________
> > 
> >          URL: https://rt.openpkg.org/id/253
> >       Ticket: [OpenPKG #253]
> >      Subject: [bootstrap] missing header files
> >   Requestors: [EMAIL PROTECTED]
> >        Queue: openpkg
> >        Owner: Nobody
> >       Status: open
> >  Transaction: Correspondence added by rse
> >         Time: Thu Sep 11 21:18:57 2003
> > ________________________________________________________________________
> > 
> > On Wed, Sep 10, 2003, [EMAIL PROTECTED] via RT wrote:
> > 
> > > I'm working on a port of the previously-requested apt to OpenPKG, and it
> > > looks like a few of the RPM header files aren't installed:
> > >
> > > <prefix>/include/rpmps.h
> > > <prefix>/include/rpmsw.h
> > > <prefix>/include/hdrinline.h
> > > <prefix>/include/rpm/rpmdb.h
> > > <prefix>/include/rpm/rpmds.h
> > > <prefix>/include/rpm/rpmts.h
> > >
> > > I'm (for now) just extracting a copy of these from the RPM distribution
> > > tarball in the bootstrap package, but it might be nice to make these
> > > officially available.
> > 
> > Hmmm... these headers seem to be private API headers of RPM, not
> > intended to be used by applications. So RPM does not install them by
> > default as it looks. Can it be that APT is poking around too deep in
> > RPM's API? Is it really required for building (or perhaps can it be
> > disabled, etc)?
> 
> This headers, and some more, are installed by the "make install" of
> rpm. They are just filtered out by the "%files" section of the OpenPKG
> install. Maybe it was not updated during the 4.0.2 -> 4.1.2 transition ?
> Why is there a filtering, anyway ?
> Do a "rpmbuild -bi openpkg.spec" and look into the .../include/rpm dir.
> 
> But, while we are in the "too deep" section. Glob() and GlobFree() are
> using glob_t. And this is not introduced in apt-rpm.
> Because i did not find a place, where the routines Glob() and Globfree()
> where used, i ifdef'ed them out with "#ifdef _IN_RPM" and added a
> "#define _IN_RPM" at the end of config.h in the rpm package. Adding
> glob.h from the rpm distribution to %{l_prefix}/include/rpm did not sound
> like a good idea, and using the system supplied one could/will lead to
> conflicts, because rpm uses a private implementation (at least on some
> platforms).
> 
> There where still problems with "undeclared identifiers", so i made a
> side step. It is often so, that routines are missed on some platforms.
> Under Solaris, this are e.g. setenv(), unsetenv(), mkdtemp(), inet_aton().
> 
> One solution is, to copy over code snippets from elswhere to the
> distribution tree of the application. A "locate glob.h" on my machine
> gives dozents of matches (about 50, but i see some duplicates). This
> is not very clean and it also may lead to license problems.
> 
> I try to set up a "libport", that can be used as a "last resort" in such
> situations. It could be given in the link line like this:
> gcc -o yo! pi.o pa.o po.o -L/else/where -lbla ... -lc -lport
> Comments ?
> 
> In any case, hurry on, Matt. Would be *really* cool, when someone knows
> how to configure apt-rpm, when i arrive :-)
> In the end, what really interests me, is synapsis.
> 
> 
>    (mk)
-- 
Matt Hoosier
UNIX Administrator / Accounts Manager
Department of Computing and Information Sciences
Kansas State University

Attachment: signature.asc
Description: PGP signature

Reply via email to