Subject: Re: pkg_install/libnbcompat on OpenBSD
To: Jun-ichiro itojun Hagino <itojun@itojun.org>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-pkg
Date: 09/15/2003 22:53:26
On Tue, 16 Sep 2003, Jun-ichiro itojun Hagino wrote:

> > On Tue, 16 Sep 2003, Jun-ichiro itojun Hagino wrote:
> > >
> > > 	another thing i noticed when i tried pkgsrc on OpenBSD 3.4/i386:
> > >
> > > 	- OBJECT_FMT is not defined (where should it be defined?)
> >
> > It's defined in /usr/share/mk/bsd.own.mk on NetBSD. Perhaps a clause
> > could go in ...pkgsrc/mk/bsd.prefs.mk for OpenBSD, either just before
> > or just after the inclusion of <bsd.own.mk>. Do you know offhand what
> > platforms, besides m68k, on OpenBSD are still a.out?
>
> 	i386 was a.out until 3.3.  starting 3.4 it is ELF.

So it's complicated. I don't suppose there's some equivalent to
OBJECT_FMT defined in "/usr/share/mk" on OpenBSD? That would make
things easy. Otherwise, it looks like there needs to be a detailed
clause in <bsd.prefs.mk> spelling out the variations based on
OS_VERSION and MACHINE_ARCH (for ${OPSYS} == "OpenBSD").

OBJECT_FMT doesn't do much, by the way. It leads to running
${LDCONFIG} if the platform is a.out, and it leads to warnings from
"pkg_add" when you try install an a.out package on an ELF platform.

> > > 	- perl 5.8.0 exists in /usr/bin/perl, however, lang/perl5 do try to
> > > 	  build perl
> > I see you just changed the definition of ${PERL5} in
> > .../pkgsrc/mk/defs.OpenBSD.mk to "usr/bin/perl". I suspect this will
> > cause "pkgsrc" perl modules to install into the base system's perl
> > directories (unless the user overrides the definition). Is that what
> > you want? Where does OpenBSD ports install the perl modules?
>
> 	oops.  i do not want lang/perl/buidlink.mk (or USE_PERL) to build perl,
> 	how can i do that?

What you did? What do you want to happen with the perl modules? I
don't believe you can install them to an arbitrary location, so the
choices seem to be

1) Use the base system's perl for pkgsrc. Stuff pkgsrc modules into
the base system's perl's directories.

2) Use pkgsrc perl. Stuff modules into pkgsrc perl.

"1" could be fine if you don't intend to install any pkgsrc perl
modules, but maybe it's not a good idea to make that the default.
Just a thought.

Frederick