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