linux_base-f8 giving me guff

Alexander Leidinger Alexander at Leidinger.net
Wed Apr 30 06:23:04 UTC 2008


Quoting John E Hein <jhein at timing.com> (from Tue, 29 Apr 2008 14:26:02 -0600):

> Boris Samorodov wrote at 22:13 +0400 on Apr 29, 2008:
>  > We have packages for that purpose... Or I didn't understand you.
>
> Q: How do packages get built?
> A: By running 'make package' which does a 'make install'
>
> So, the problem Kostik described still exists.
>
> When does the ldconfig really need to be run?  At package build time
> or at pkg_add time?

At package install time. And if you look at the pkg-install script you  
will see that it is run then. The problem is, that you don't really  
know if the installation is just to create a package, or if the user  
also wants to use the port after the installation (I create a package  
after each update of a port). Have a look around in other ports, all  
ports will do the pkg-install stuff during installation too.

>
>  > > Also note that /etc/rc.d/abi runs /compat/linux/sbin/ldconfig.
>  >
>  > ...which will run while booting? That is not enough if you just
>  > install a linux port.
>
> I think I don't understand your point.  As you know, you currently
> need linux.ko installed and linux ldconfig setup right in order to run
> certain linux ports that use linux shared libs.  /etc/rc.d/abi does
> both of those things (on boot or when run manually).

Right, but if you want to install e.g. the acroread port, linux_base  
and linux-gtk2 will be required. linux-gtk2 not only installs libs, it  
also has to run a linux program to register some gtk plugins. There's  
more to this than just not running ldconfig.

> You need linux.ko installed to run linux ldconfig which some
> linux ports do if they install linux shared libs.
>
> Kostik is requesting a [non-default] way to tell the ports
> infrastructure not to die if I want to install a linux port without
> linux.ko loaded.
>
> There were some concerns expressed about just warning if ldconfig
> doesn't get run because that would leave the ldconfig cache possibly
> set incorrectly.
>
> My point is that even if the linux ldconfig's cache is not right on a
> port install, it will be corrected the next time /etc/rc.d/abi is run
> (to that end, it's better than manually running 'sudo kldload linux').
>
> So let's say you are installing a port to a chroot on removable media
> that is intended to be installed on another box - a useful mode of
> operation I hope you agree.  The risk of having a incorrectly
> populated ldconfig cache is mitigated by the /etc/rc.d/abi script that
> will be run when the destination box is booted.

And if the linux-gtk2 port is installed, a lot of stuff will just not work.

I don't say it is not possible to do, I just say it is not as easy to  
get right as most people think.

Bye,
Alexander.

-- 
Superior ability breeds superior ambition.
		-- Spock, "Space Seed", stardate 3141.9

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137


More information about the freebsd-emulation mailing list