Something rotten in ports (was Re: package building failure irritation)

jhell jhell at DataIX.net
Sun Mar 14 01:50:15 UTC 2010


On Sat, 13 Mar 2010 02:52, xorquewasp@ wrote:
>> Have you tried just setting PORTSDIR and letting bsd.port.mk set the
>> rest of the paths with their defaults that are relative to PORTSDIR?  If
>> that works, then we can start hunting for places that are not handling
>> absolute vs. relative paths correctly in bsd.port.mk.
>
> Now, with only:
>
>  PORTSDIR=/var/ports/tree
>
> .. in make.conf, the error is:
>
> Creating package /var/ports/tree/devel/eggdbus/eggdbus-0.6.tbz
> Registering depends: dbus-glib-0.84 gio-fam-backend-2.22.4 gamin-0.1.10_3 glib-2.22.4 gettext-0.17_1 dbus-1.2.16_1 libxml2-2.7.6_1 libiconv-1.13.1_1 libX11-1.2.1_1,1 libxcb-1.5 libpthread-stubs-0.3_3 pcre-8.00 libXau-1.0.4 libXdmcp-1.0.2_1 xproto-7.0.15 pkg-config-0.23_1 perl-5.10.1 python26-2.6.4 gnome_subr-1.0 expat-2.0.1_1 kbproto-1.0.3.
> Creating bzip'd tar ball in '/var/ports/tree/devel/eggdbus/eggdbus-0.6.tbz'
> rmdir: /var/ports/tree/devel/eggdbus/work: Directory not empty
> *** Error code 1 (ignored)
> ===>   Generating temporary packing list
> Creating package /var/ports/tree/textproc/docbook-420/docbook-4.2.tbz
> Registering depends: iso8879-1986_2 xmlcatmgr-2.2.
> Creating bzip'd tar ball in '/var/ports/tree/textproc/docbook-420/docbook-4.2.tbz'
> tar: share/sgml/docbook/4.2/ChangeLog: Cannot stat: No such file or directory
> tar: share/sgml/docbook/4.2/calstblx.dtd: Cannot stat: No such file or directory
> tar: share/sgml/docbook/4.2/catalog: Cannot stat: No such file or directory
> tar: share/sgml/docbook/4.2/catalog.xml: Cannot stat: No such file or directory
> tar: share/sgml/docbook/4.2/dbcentx.mod: Cannot stat: No such file or directory
> tar: share/sgml/docbook/4.2/dbgenent.mod: Cannot stat: No such file or directory
> tar: share/sgml/docbook/4.2/dbhierx.mod: Cannot stat: No such file or directory
> tar: share/sgml/docbook/4.2/dbnotnx.mod: Cannot stat: No such file or directory
> tar: share/sgml/docbook/4.2/dbpoolx.mod: Cannot stat: No such file or directory
> tar: share/sgml/docbook/4.2/docbook.cat: Cannot stat: No such file or directory
> tar: share/sgml/docbook/4.2/docbook.dcl: Cannot stat: No such file or directory
> tar: share/sgml/docbook/4.2/docbook.dtd: Cannot stat: No such file or directory
> tar: share/sgml/docbook/4.2/docbookx.dtd: Cannot stat: No such file or directory
> tar: share/sgml/docbook/4.2/soextblx.dtd: Cannot stat: No such file or directory
> tar: share/sgml/docbook/4.2/README: Cannot stat: No such file or directory
> tar: Error exit delayed from previous errors.
> pkg_create: make_dist: tar command failed with code 256
> *** Error code 1
>
> Stop in /var/ports/tree/textproc/docbook-420.
> *** Error code 1
>
> Stop in /var/ports/tree/textproc/docbook-420.
> *** Error code 1
>
> Stop in /var/ports/tree/graphics/inkscape.
>
> Regards,
> xw
>

Not that this is a solution to your problem but it might be a possibility 
for you to consider, but a couple years back I dropped using make 
package(-recursive) and just scripted out making backup packages using 
something like the following.

_pkg_bld(){
   cd /exports/packages
   for package in `ls /var/db/pkg |sed 's/pkgdb.db//'`; do
     echo "Building package: $package"
     pkg_create -v -b $package >>pkg_bld.log 2>&1
   done
}

Rather simple way to go about creating final packages and from some 
earlier emails to the list there was word of some directories not being 
included in final built packages due to empty directories or something 
like that so be careful when/if considering something like this.

There are additional flags that can be passed to pkg_create to keep it 
from rebuilding the package if it already exists but I have not worked 
that into the above example usage.

At some point I also worked in package signing like so,

_pkg_sign(){
   cd /exports/packages
   for package in `ls *.tbz`; do
     echo "Signing package: $package"
     gpg -u 3588E52D -v -ba $package
   done
}


Good Luck & Regards,

-- 

  jhell



More information about the freebsd-hackers mailing list