pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Starting with pkgsrc on already-established Linux (Slackware) installation, how to bootstrap when pkgsrc is read-only?



> > How would I bootstrap pkgsrc to run in Linux, when pkgsrc is on a partition 
> > that is read-only from Linux (NetBSD 5.1_STABLE installation)?

> I would put another pkgsrc tree in the Linux partition. But if it's not
> possible for whatever reason, then I would just use unionfs on top of
> the ro partition.

> JS

Ouch!  I don't want to take disk space so redundantly on my Linux partition, 
want to build gcc 4.5.2 if I can get a gcc without Slackware's bugs.

I could make a directory /usr/pkgsrc in Linux but not move or copy all the 
individual packages.  I would have to bootstrap and would do the work on the 
Linux partition and install there, using prefix /usr/pkg and keeping package 
database in /var/db/pkg .  This raises the question, can I convert a Slackware 
package into a pkgsrc-compatible binary package, and can I convert a package 
produced by building outside a package manager from source, using configure and 
make, and make install DESTDIR=some-staging-area, into a 
pkgsrc-binary-compatible package to avoid completely rebuilding, especially if 
the version is newer than the pkgsrc version.

I don't think Linux has a unionfs such as I see in NetBSD; mount -o bind ... 
may serve the same or similar purpose.

> You need a minimal slackware base system similiar to NetBSD's.

> Stefan

I already have much more than a minimal Slackware 13.0 system!  Besides, if I 
want a minimal Linux system including all gcc tools, Slackware might not be a 
good choice.

It would be interesting for forensic purposes to build some packages for Linux 
using pkgsrc, examine the log files, Makefile, and see what directories are 
searched for includes and libs.  One barrier to going all the way with pkgsrc 
in Linux is that it seems not fully geared toward those packages that would be 
part of the base system in *BSD.  binutils and coreutils are far behind as to 
version, and I couldn't find anything in pkgsrc like util-linux or 
util-linux-ng.  I guess it would be necessary to hybridize with another, 
Linux-oriented, package manager; there is also the /etc/rc* stuff.

I have no /etc/mk.conf or /etc/make.conf in Slackware 13.0 Linux installation.  
I could make /etc/mk.conf and add lines like

CPATH=/usr/include:/usr/local/include:/usr/pkg/include
LIBRARY_PATH=/usr/lib:/usr/local/lib:/usr/pkg/lib
LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/usr/pkg/lib
LDFLAGS+="-rpath=/usr/lib:/usr/local/lib:/usr/pkg/lib"

Now I am curious to what FreeBSD has in the way of /etc/mk.conf (make.conf ?), 
can't remember now.  I have some stuff to do there regarding portupgrades; also 
I see 8.2 release is getting near.

Tom



Home | Main Index | Thread Index | Old Index