pkgsrc-Users archive

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

Re: Getting started pkgsrc with Linux

from "John Nemeth" <>:

} On Dec 30,  2:33am, "Thomas Mueller" wrote:
} }
} } I have some questions/concerns regarding pkgsrc with Linux.
} }
} } One is patches to the source packages that might be included to make
} } the package build and run properly on NetBSD, and which might hurt
} } things when building and running on Linux.  FreeBSD ports collection
} } does something like that, patching to build and run on FreeBSD as
} } opposed to Linux.

}      FreeBSD ports have different goals then pkgsrc (one is that it
} only runs on FreeBSD).  In pkgsrc, patches are not supposed to mess up
} packages when building for other platforms.  If they do, then it is a
} bug in the package and you should file a bug report.

I'm curious how you got the date so far off!

I didn't realize pkgsrc and FreeBSD ports were so different in this regard.

} } Another concern is that pkgsrc would not cover the whole system, in
} } that it, like the FreeBSD ports collection, would not include the
} } base system.  But with Linux, or at least some distributions,
} } everything is part of a package, including the vital things like
} } util-linux-ng, coreutils, gcc and more.  So how would pkgsrc under
} } Linux build these vital parts?

}      It wouldn't.  pkgsrc is strictly concerned with third party
} software.  For stuff that comes with the OS, use the OS' native
} packaging system.

} } I also notice from the documentation that pkgsrc on Linux and other
} } non-NetBSD platforms uses bmake instead of make.  But some packages
} } require gmake as opposed to make, as I found by browsing the Mozilla
} } web site regarding Seamonkey and Firefox.  I guess bmake would not
} } work in this case?

}      No, always use bmake.  When you invoke (b)make, you are really
} invoking the pkgsrc system.  If a package needs gmake, then pkgsrc will
} invoke gmake at the appropriate time.

I thought about that but didn't know.

} } I don't think I could well try this on my present computer but am
} } planning to buy a new computer, likely amd64, where I might want to
} } try Linux with pkgsrc.

}      It is very safe to use pkgsrc on a system.  Just about everything
} pkgsrc does is confined to /usr/pkg (and the package directory while
} building a package).  There are some minor exceptions.  Examples are
} that pkgsrc will create /var/db/{pkg,pkg.refcount} to keep track of the
} packages installed; if you set PKG_RCD_SCRIPTS=YES then it will put rcd
} scripts in /etc/rc.d; and there are some packages that will store stuff
} in /var.  This last item could potentially be an issue.

Problem with present computer is running low on disk space and needing what I 
have to possibly build a few things for Linux (Slackware 13.0), and I need 
space to download CD or USB stick images to get started on the new computer.

from "Matthias Ferdinand" <>:

> If you want to avoid using outdated programs from the base linux install, 
> there are the PREFER_NATIVE/PREFER_PKGSRC options you can set in 
> /etc/mk.conf, see

> I usually prefer the pkgsrc versions, with the notable exception of 
> linux-pam, which is quite old and often kept me from logging in using 
> security/openssh. So I force using native pam with these settings:

> PREFER.linux-pam= native
> IS_BUILTIN.linux-pam= yes
> USE_BUILTIN.linux-pam= yes

from "Jeremy C. Reed" <>:

> I helped package up every missing component (that I needed) a few years
> ago and my kids still use a "PkgLinux" system where the entire Linux
> operating system was built and installed via pkgsrc. You can find some
> of that software in official pkgsrc and the rest in pkgsrc-wip.

I suppose then to rebuild base Linux packages, I would set the preference to 
native rather than pkgsrc.  In any case, I'd need some kind of Linux system 
including the compiler tools to get started.

I don't know in general what Linux uses to keep track of installed packages, 
comparable to BSD /var/db/pkg, but Slackware uses /var/log/packages directory, 
where each entry is a text file including a description and path and name of 
all files.

Thanks to all three for these suggestions!


Home | Main Index | Thread Index | Old Index