Subject: Re: CVS commit: othersrc/bootstrap-pkgsrc
To: Alistair G. Crooks <agc@netbsd.org>
From: Jan Schaumann <jschauma@netbsd.org>
List: source-changes
Date: 09/20/2002 12:20:43
"Alistair G. Crooks" <agc@netbsd.org> wrote:
> 
> Module Name:	othersrc
> Committed By:	agc
> Date:		Fri Sep 20 15:57:32 UTC 2002
> 
> Modified Files:
> 	othersrc/bootstrap-pkgsrc: bootstrap
> 	othersrc/bootstrap-pkgsrc/mtree: compare.c crc.c create.c excludes.c
> 	    extern.h getid.c misc.c mtree.8 mtree.c mtree.h pack_dev.c
> 	    pack_dev.h spec.c stat_flags.c stat_flags.h verify.c
> Added Files:
> 	othersrc/bootstrap-pkgsrc/mtree: Makefile.in fgetln.c namespace.h
> 	    unvis.c util.h vis.c vis.h
> 
> Log Message:
> Fixes from Jan Schaumann to make bootstrapping on Debian Linux easier.

Thanks for committing this, Alistair.  However, I realized that I
introduced a nasty bug in mtree/spec.c:

Since Linux doesn't have setmode/getmode, every time you install a
package it b0rks your ${PREFIX} permissions.  The patch below should fix
this:

,----[ default permissions ]
| Index: spec.c
| ===================================================================
| RCS file: /cvsroot/othersrc/bootstrap-pkgsrc/mtree/spec.c,v
| retrieving revision 1.2
| diff -b -u -r1.2 spec.c
| --- spec.c      2002/09/20 15:57:30     1.2
| +++ spec.c      2002/09/20 16:12:06
| @@ -494,6 +494,8 @@
|                                 mtree_err("invalid file mode `%s'",
| val);
|                         ip->st_mode = getmode(m, 0);
|                         free(m);
| +#else
| +                       ip->st_mode = S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH;
|  #endif
|                         break;
|                 case F_NLINK:
|
|
`----

-Jan

-- 
http://usvms.gpo.gov/findings_index.html