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
signature.asc
Description: PGP signature
