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 06:25:38 +0200

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




reply via email to

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