question about jails, dependencies and packages.

George Hartzell hartzell at kestrel.alerce.com
Sun Jul 18 11:03:09 PDT 2004


I'd like some feedback/guidance on how to avoid recreating the wheel
in a host/multi-jail environment.  In particular, I think that some of
the ports that I'm using are using the "wrong kind" of dependencies,
so that package-only installs don't get all the bits.  But I'm not
sure....

I have a a machine running FreeBSD 5.2.1-RELEASE-p4, with several
jails.

I'm using nullfs to make the hosts /usr/ports visible read-only inside
the jails (also at /usr/ports).

My /usr/local/etc/pkgtools.conf includes this, which should cause it
to make packages when it builds things:

  PORTUPGRADE_ARGS = ENV['PORTUPGRADE'] || \
    '-p -v -D -l /var/tmp/portupgrade.results ' + \
    '-L /var/tmp/portupgrade-%s::%s.log'

And, in /etc/make.conf, I have:

  PACKAGES=/usr/ports/packages

As long as I don't screw up and use "make install" instead of
portinstall or "make package", I get a bunch of packages in
/usr/ports/packages, which is what I want.

Now, here's the problem.  If I go into a jail, and do this:

   sudo portinstall -r -R -PP -f trac-0.7.1

it only reinstalls trac and python, but not py-PySQLite or the
clearsilver stuff.

They're listed in the trac Makefile as BUILD_DEPENDS.  Should they be
RUN_DEPENDS in order to get a note in the package that they're
prerequisites?

  BUILD_DEPENDS=  ${PYTHON_SITELIBDIR}/sqlite/main.py:${PORTSDIR}/databases/py-PySQLite \
                  ${PYTHON_SITELIBDIR}/neo_cgi.so:${PORTSDIR}/www/clearsilver-python \
                  ${PYTHON_SITELIBDIR}/svn/__init__.py:${PORTSDIR}/devel/subversion-python


Is there a better way to build packages on a central host and install
them into jails?

g.


More information about the freebsd-ports mailing list