ports missing their packages.

Scot Hetzel swhetzel at gmail.com
Wed Oct 29 03:11:53 PDT 2008


On 10/29/08, FBSD1 <fbsd1 at a1poweruser.com> wrote:
> It's my understanding that a port maintainer has to install the port for
>  real any time a change is made to the port make files or a update to the
>  source of the software to test and verify the changes work as wanted.

Port maintainers usually verify that an updated port will build and
work correctly with their currently installed ports.

>  Creating the package after this is just one command and a ftp upload to the
>  package server. Why are maintainers being given approval to apply their
>  changes without creating the required package?

So you are advocating that port maintainers have to create packages
for all the supported FreeBSD architecture's (amd64, arm, i386, ia64,
mips, pc98, powerpc, sparc64, sun4v).  That would be 9 packages
needing to be created at the time the port maintainer submits the
upgrade PR.

We have the package cluster to automate these builds.

> This is just lax management
>  on the part of the people who do the authorizing of the changes. Missing
>  packages increases user frustration level and makes FreeBSD look like its
>  being mis-managed.
>
Some packages have to remain missing due to their license restricting
redistribution of the compiled softare.  This can cause other ports
that don't have a restrictive license to fail building because
one/more of it's dependencies has this restrictive license.

>  An alternate solution to this problem is to allow users to upload missing
>  packages to the package server direct or to a staging ftp server so port/pkg
>  management staff can review first and them populate the production package
>  server.
>
This solution won't work, if the user has custom compile flags and/or
builds the port with non-default options defined in /etc/make.conf or
using 'make config'.  The next user who downloads the port might get a
package that doesn't function the same as the previous version.

The package may not even work on that users computer (i.e. package
compiled for k8 processor installed on a pentium4 system).

The best solution to find out why a package is not being built for a
port is to check it's Makefile, and the Makefiles of it's
dependencies.   Also looking at http://portsmon.freebsd.org/ to find
out why a port has failed to build a package.  If you can't find a
reason for why the package failed to build, then send a message to the
maintainers, and the ports list to have some one look into the
problem.  It could be as simple as forgetting to add the ports
subdirectory to the category Makefile (i.e www/Makefile).

Scot


More information about the freebsd-questions mailing list