Subject: Re: makefs problem [was: Re: Enabling LFS in sysinst (and moving lfs_cleanerd)]
To: None <tech-userlevel@netbsd.org>
From: David Young <dyoung@pobox.com>
List: tech-userlevel
Date: 11/02/2006 01:06:38
On Thu, Nov 02, 2006 at 12:54:57AM -0600, David Young wrote:
> On Wed, Nov 01, 2006 at 05:42:03PM +0100, Julio M. Merino Vidal wrote:
> > On 11/1/06, Hubert Feyrer <hubert@feyrer.de> wrote:
> > >On Wed, 1 Nov 2006, Hubert Feyrer wrote:
> > >>> $ nbmake-i386 clean dependall release CDRELEASE=true
> > >...
> > >> I've had a look, and it seems that indeed makefs seems to break things. 
> > >:(
> > >
> > >Er, wait... it may actually help to pass '-o rockridge' to makefs.
> > >Investigating, stay tuned!
> > 
> > Yes, it certainly helps.  But then the file names are normalized
> > somehow and therefore cannot be recognized by the installer.  For
> > example, kern-GENERIC.tgz becomes kern_generic.tgz, and similarly for
> > all other names that contain dashes or upper case letters.
> 
> Re: "who is makefs -t cd9660 maintainer?"  Not me.  However, now and
> then I have fixed a bug in makefs, and I have not usually found it
> very difficult.  If the normalization of filenames is the problem,
> that will be especially easy to fix!

In case it was not clear, I am not volunteering.  ENOTIME. :-(

> I am attaching source code for a program, cd9660dump, that the UIUC team
> who added cd9660 support to makefs wrote for their debugging purposes.

BTW, the source to debug_dump_to_xml() and family is in
src/usr.sbin/makefs/cd9660/*.c.  The original home of cd9660dump.c is
src/usr.sbin/makefs/.

Dave

> Dave
> 
> -- 
> David Young             OJC Technologies
> dyoung@ojctech.com      Urbana, IL * (217) 278-3933

> /*
>  * Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan
>  * Perez-Rathke and Ram Vedam.  All rights reserved.
>  *
>  * This code was written by Daniel Watt, Walter Deignan, Ryan Gabrys,
>  * Alan Perez-Rathke and Ram Vedam.
>  *
>  * Redistribution and use in source and binary forms, with or
>  * without modification, are permitted provided that the following
>  * conditions are met:
>  * 1. Redistributions of source code must retain the above copyright
>  *    notice, this list of conditions and the following disclaimer.
>  * 2. Redistributions in binary form must reproduce the above
>  *    copyright notice, this list of conditions and the following
>  *    disclaimer in the documentation and/or other materials provided
>  *    with the distribution.
>  *
>  * THIS SOFTWARE IS PROVIDED BY DANIEL WATT, WALTER DEIGNAN, RYAN
>  * GABRYS, ALAN PEREZ-RATHKE AND RAM VEDAM ``AS IS'' AND ANY EXPRESS OR
>  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
>  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>  * DISCLAIMED.  IN NO EVENT SHALL DANIEL WATT, WALTER DEIGNAN, RYAN
>  * GABRYS, ALAN PEREZ-RATHKE AND RAM VEDAM BE LIABLE FOR ANY DIRECT, INDIRECT,
>  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
>  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
>  * USE,DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
>  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
>  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
>  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
>  * OF SUCH DAMAGE.
>  */
> 
> #include <err.h>
> #include <stdio.h>
> 
> #include <sys/stat.h>
> 
> #include "../cd9660.h"
> 
> int
> main(int argc, char *argv[])
> {
> 	FILE *fd;
> 
> 	if (argc != 2)
> 		errx(EXTI_FAILURE, "usage: cd9660dump isoimage\n");
> 
> 	if ((fd = fopen(argv[1], "r")) == NULL)
> 		err(EXTI_FAILURE, "Can't open `%s' for writing", argv[1]);
> 
> 	debug_dump_to_xml(fd);
> 	fclose(fd);
> }


-- 
David Young             OJC Technologies
dyoung@ojctech.com      Urbana, IL * (217) 278-3933