Subject: Re: pkg_info error?
To: None <beaker@myrealbox.com>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 05/05/2004 14:28:01
On Tue, 4 May 2004 beaker@myrealbox.com wrote:

> beaker@blue (51) pkg_info |  grep ^c
> /usr/bin/tar: +MTREE_DIRS not found in archive
> /usr/bin/tar: +MTREE_DIRS not found in archive

It must see packages in the current directory here.

> cdrecord-2.00.3     Software for creating ISO9660 images and writing CDs/CD-RWs
> cdbkup-1.0nb1       CD-R(W) backup/restore system
>
> Is the "+MTREE_DIRS not found" message indicative of a problem? I thought

I am getting same error with some of my packages under Linux (where I
don't use mtree).

reed@puget:/usr/pkgsrc/new/glibc$ pkg_info
/scratch/packages/Linux/2.6.3/i386/All/GConf2-2.6.0.tbz
tar: WARNING! These patterns were not matched:
+MTREE_DIRS
pkg_info: extract of
/scratch/packages/Linux/2.6.3/i386/All/GConf2-2.6.0.tbz failed
pkg_info: error during unpacking, no info for
'/scratch/packages/Linux/2.6.3/i386/All/GConf2-2.6.0.tbz' available

But I don't get same of all my packages.

Using tar on above package to list files I see it doesn't have any
+MTREE_DIRS file.

This is caused by the following code in info/perform.c:

                                if (unpack(fname, ALL_FNAMES)) {
                                        warnx("error during unpacking, no info for '%s' available", pkg);

It is defined in lib/lib.h

#define ALL_FNAMES              CONTENTS_FNAME" "COMMENT_FNAME"
"DESC_FNAME" "MTREE_FNAME" "BUILD_VERSION_FNAME" "BUILD_INFO_FNAME" "SIZE_PKG_FNAME"
"SIZE_ALL_FNAME


So I assume you had NO_MTREE defined when building some packages.

But pkg_install package also defines that. So we couldn't test on same
variable to define the ALL_FNAMES.

Maybe we should have a new variable called PKG_NO_MTREE. If it is defined
then NO_MTREE will also be defined.

And if it is defined when building pkg_install then the MTREE_FNAME will
not be included in the ALL_FNAMES definition.

Or alternatively get rid of this mtree support.

 Jeremy C. Reed

 	  	 	 BSD News, BSD tutorials, BSD links
	  	 	 http://www.bsdnewsletter.com/