gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnu-arch-users] How to support arch on systems with a small PATH_MA


From: chth
Subject: Re: [Gnu-arch-users] How to support arch on systems with a small PATH_MAX [WAS: arch o n windows?]
Date: Thu, 15 Jul 2004 23:18:22 +0200

Something I forgotten to say:

Note that the fslint may use a filename aliasing table as described
earlier (see below). That could be used to alias c/c--b/c--b--v names to
c/b/v names too.

Such will ensure that archs metadata stays consitent and compatible.

        Christian

> pathnames like
> 
> category/category--branch/category--branch--version/
> and
> category/branch/version/
> 
> can friendly coexist without breaking upward compatibility.
> all which needs to be done:
> 
> 1) tla needs to check if the directory names beyond category/ contain
> a double dash '--' then it's a legacy long pathname, else it's a short
> pathname. 
> 
> 2) tla needs some new 'short-path' flag in '{arch}' and '=meta-info'
> (and correspondending --short-path options) which it uses to determine
> if new dirnames there will be created with long (legacy/compatible) or
> short pathnames.
> 
> We already talked on IRC about this, Tom liked the idea, I have no
> need in tla for windows so probably someone else will have to
> implement this.
> 
> 
> Finally something slightly different: _fslint_ !
> There are dozens of filesystems with many, many rules how filenames
> might be constructed. Restricting to the most common divisor will
> certainly to limiting, some rules even conflict. How about a tool
> which checks a sourcetree agianst a set of rules for the target
> filesystem. It will either return success or print a list of
> conflicting filenames with annotations which rules are violated (and
> maybe suggestions for a legal name):
> 
> usage: tla fslint [archive|directory] filesystems...
>  
> (assume there is a 'foo:bar.barf' file in the archive)
> $ tla fslint address@hidden/hello--unix--0,1 fat16 
> foo:bar.barf foo_bar.bar  /* [fat16] illegal character ':', extension
> to long */
> 
> the filename should be escaped using pika rules
> next this output can be used in a {arch}/aliases file where tla maps
> filenames as:
> 
> orginalname localname
> 
> where orginalname is still everywhere in the arch metadata used except
> for the actual filename on disk.
> 
> Redirect the fslint output to the alias file, hand-edit the aliases to
> proper names which are accepted by the target filesystem. This might
> break Makefiles and other stuff, but at least anyone will be able to
> checkout any archive on any filesystem in any encoding scheme. 
> Maintainers should be urged to run fslint over their projects and
> check that the filenames are proper for all targeted OSes and their
> common filesystems too.
> 
> Note: such a fslint could be done as external tool too and does not
> need to be integrated into tla.
> 
> 
>       Cheers Christian
> 
> 
> _______________________________________________
> Gnu-arch-users mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/gnu-arch-users
> 
> GNU arch home page:
> http://savannah.gnu.org/projects/gnu-arch/
> 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]