NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: NetBSD vs FreeBSD
On Thu, 4 Aug 2011, Alex Goncharov wrote:
> I seem to beginning to understand it: the problem may happen if you
> combine building from ports/pkgsrc -- and "by hand". Right?
Yes, by hand but also using ports/pkgsrc systems. That is a packager
builds a package and the results and experience is based on what was
installed on that developer's system. Another user of the port
specification has a different environment which may result in a
different build.
> | Even if you choose a custom localbase, the problem is still possible
> | since /usr/local is often still looked at. pkgsrc builds work very
> | hard to make sure /usr/local and /usr/pkg are not looked at when
> | building packages.
>
> I see. How does this work when one needs the information about
> installed packages? E.g. for x11-related things (gconf), or for ODBC
> drivers, which need some information from things like 'pg_config' or
> 'odbc_config'?
Some pkgsrc buildlink specifications have things like:
BUILDLINK_FILES.subversion-base+= bin/svn-config
BUILDLINK_FILES.libnet10+= bin/libnet10-config
BUILDLINK_FILES.tk= bin/wish*
So packages that depend on these have these symlinks in its build PATH
before the system's possible versions of the same.
> | > | in addition, from a user's pov, pkgsrc's config file handling is done
> | > | in a smart way so that any changes to standard configs are preserved,
> | > | rc.d scripts can optionally be installed to /etc so that they work
> | > | out
> | >
> | > Any port rc.d script is installed (with either install method) under
> | > /usr/local/etc/rc.d and works out of the box (subject to rc.conf
> | > X_enable=YES, of course).
> |
> | Yes. pkgsrc offers "staged" rc.d scripts, so they are installed as
> | examples and optionally put in place to use (if a custom version is not
> | already there).
>
> As in ports.
As far as I see, FreeBSD ports does not install the rc.d scripts nor
configuration files to any examples directory. Maybe on a case-per-case
basis and I am just overlooking it? (I do see some FreeBSD ports do
install foo.default or foo.sample configurations right in the
/usr/local/etc/ but as far as I know this is not consistent and
certainly could be messy over time and with many packages.)
For pkgsrc, it is the default procedure fo any configuration file is
installed to an examples directory. This is nice so you can easily
compare any time. At deinstall time, it can compare and remove installed
configurations that have not changed. And on new install, configurations
may be different so new version is only into examples directory and a
message tells you about this. This is consistent across all software in
pkgsrc installing configurations.
$ ls -l /usr/pkg/share/examples/wget/ /usr/pkg/etc/wgetrc
-rw-r--r-- 1 root wheel 4224 Aug 26 2008 /usr/pkg/etc/wgetrc
/usr/pkg/share/examples/wget/:
total 12
-r--r--r-- 1 root wheel 4224 Aug 26 2008 wgetrc
I can easily tell pkgsrc builds to use /etc if I choose.
Home |
Main Index |
Thread Index |
Old Index