MSDOS name conversion
Here are the conversions produced by the script I mentioned earlier.
There is provision for an override list for troublesome cases, but it
doesn't seem to be needed.
FYI the script itself is appended.
I've not listed below package names which were shorter than 8
characters and were left unchanged.
It looks (from my cron-mail) like Ian M. has got his manual conversion
script sort-of-working on master ...
Ian.
Packages in unstable/binary-i386/Packages:
PGAPack pgapack
a2gs a2gs
acct acct
acm acm
acs acs
adduser adduser
ae ae
amd amd
amsfonts amsfonts
amslatex amslatex
amstex amstex
aout-binutils aoutbntl
aout-gcc aout-gcc
aout-librl aoutlbrl
ash ash
at at
auctex auctex
autoconf autoconf
ax25-kernel-source ax25krsr
ax25-util ax25util
babel babel
base base
bash bash
bc bc
beav beav
bibtex bibtex
biff biff
bin86 bin86
bind bind
binutils binutils
bison bison
boot-floppies bootflpp
bsdutils bsdutils
byacc byacc
c2man c2man
cdtool cdtool
cern-httpd cernhttp
cfengine cfengine
chfn chfn
cpio cpio
cpp cpp
cron cron
cvs cvs
dc dc
dchanges dchanges
diald diald
diff diff
dist dist
dld dld
dlltools dlltools
doc-linux doclinux
dpkg dpkg
dvi2tty dvi2tty
dviljk dviljk
dvipsk dvipsk
e2fsprogs e2fsprog
ed ed
ee ee
efax efax
electric-fence elctfenc
elisp-manual elspmanl
elm elm
elv-ctags elvctags
elv-fmt elv-fmt
elv-vi elv-vi
emacs emacs
emacs-el emacs-el
es es
expect expect
f2c f2c
fdflush fdflush
figlet figlet
file file
fileutils fileutil
findutils findutil
flex flex
fort77 fort77
fortune fortune
ftape ftape
fvwm fvwm
g77 g77
gawk gawk
gcc gcc
gcl gcl
gclinfo gclinfo
gdb gdb
genscript genscrpt
ghostview ghostviw
git git
glibcdoc glibcdoc
gmp gmp
gnats gnats
gnats-user gnatuser
gnuchess gnuchess
gnuplot gnuplot
gpm gpm
grep grep
groff groff
gs gs
gsfonts gsfonts
gzip gzip
hdparm hdparm
hello hello
hostname hostname
hyperlatex hyperltx
iamerican iamericn
ibritish ibritish
ical ical
image image
includes includes
indent indent
inewsinn inewsinn
info info
infocom infocom
ircii ircii
ispell ispell
itimer itimer
j1 j1
jargon jargon
jgraph jgraph
joe joe
kbd kbd
knews knews
kpathsea kpathsea
ksmbfs ksmbfs
last last
latex latex
latex2rtf latx2rtf
ldso ldso
less less
libc4 libc4
libc5 libc5
libc5-dev libc5dev
libdb1 libdb1
libdb1-dev lbdb1dev
libg++ libgpp
libgdbm1 libgdbm1
libgdbm1-dev lbgd1dev
libident libident
libjpeg libjpeg
libreadline2 librdln2
libreadline2-dev lbrd2dev
lilo lilo
linuxdoc-sgml lnxdsgml
lout lout
lpr lpr
lrzsz lrzsz
ltxgraph ltxgraph
ltxmisc ltxmisc
ltxtool ltxtool
lxtools lxtools
lynx lynx
m4 m4
magicfilter magcfltr
mailagent mailagnt
mailx mailx
make make
makeindex makeindx
man man
mandelspawn mndlspwn
manpages manpages
mawk mawk
mbr mbr
metamail metamail
mfbasfnt mfbasfnt
mfbin mfbin
mflib mflib
mfnfss mfnfss
mgetty mgetty
mh mh
mh-papers mhpapers
minicom minicom
mirror mirror
mirrormagic mirrrmgc
miscutils miscutil
mkisofs mkisofs
modules modules
most most
motifnls motifnls
mount mount
mt-st mt-st
mtools mtools
nas nas
ncurses-base ncurbase
ncurses-bin ncursbin
ncurses-term ncurterm
ncurses3.0 ncurse30
ncurses3.0-dev ncr30dev
netatalk netatalk
netbase netbase
netcdf netcdf
netstd netstd
nlsutils nlsutils
npasswd_boulder npssbldr
nvi nvi
octave octave
oldgerman oldgermn
oleo oleo
p10cfgd p10cfgd
p2c p2c
pandora pandora
pari pari
patch patch
pcb pcb
pdksh pdksh
perl perl
pico pico
pine pine
pixmap pixmap
pmake pmake
ppp ppp
procmail procmail
procps procps
ps2pk ps2pk
psnfss psnfss
psutils psutils
python python
rc rc
rcs rcs
rspfd rspfd
rxvt rxvt
samba samba
saoimage saoimage
screen screen
sed sed
sendmail sendmail
setserial setseril
setterm setterm
sharutils sharutil
shellutils shellutl
slang-devel slngdevl
slang-lib slanglib
slrn slrn
smail smail
snmp snmp
source source
statserial statserl
strace strace
sudo sudo
svgalib svgalib
symlinks symlinks
syslinux syslinux
syslogd syslogd
sysutils sysutils
sysvinit sysvinit
taper taper
tar tar
tcl74 tcl74
tcl74-dev tcl74dev
tclX tclx
tcpdump tcpdump
tcsh tcsh
term term
texbin texbin
texidoc texidoc
texinfo texinfo
texlib texlib
texpsfnt texpsfnt
textfm textfm
textutils textutil
tf tf
tgif tgif
time time
timezone timezone
tin tin
tk40 tk40
tk40-dev tk40-dev
transfig transfig
trn trn
ucbmpeg ucbmpeg
ucbmpeg_play ucbmplay
unarj unarj
unclutter uncluttr
untex untex
uucp uucp
vim vim
vm vm
w3-el w3-el
watch watch
watchdog watchdog
wenglish wenglish
workbone workbone
wu-ftpd wu-ftpd
xasteroids xasterod
xaw3d xaw3d
xbase xbase
xbmbrowser xbmbrwsr
xboard xboard
xcal xcal
xcompat xcompat
xcontrib xcontrib
xdevel xdevel
xdvik xdvik
xearth xearth
xfig xfig
xfnt100 xfnt100
xfnt75 xfnt75
xfntbase xfntbase
xfntbig xfntbig
xfntcyr xfntcyr
xfntpex xfntpex
xfntscl xfntscl
xinvaders xinvader
xkeycaps xkeycaps
xlib xlib
xloadimage xloadimg
xlockmore xlockmor
xmanpages xmanpage
xnest xnest
xntp xntp
xonix xonix
xosview xosview
xpat2 xpat2
xpilot xpilot
xpm xpm
xserver-8514 xsrv8514
xserver-agx xsrvragx
xserver-mach32 xsrmch32
xserver-mach64 xsrmch64
xserver-mach8 xsrvmch8
xserver-mono xsrvmono
xserver-p9000 xsrvp900
xserver-s3 xservrs3
xserver-svga xsrvsvga
xserver-vga16 xsrvga16
xserver-w32 xsrvrw32
xslib xslib
xsok xsok
xterm_color xtrmcolr
xtet42 xtet42
xtrlock xtrlock
xtron xtron
xwpe xwpe
xxgdb xxgdb
xypic xypic
ytalk ytalk
zsh zsh
Packages in Packages-Master:
a2gs a2gs
a2ps a2ps
acct acct
acm acm
acs acs
adduser adduser
ae ae
amd amd
amsfonts amsfonts
amslatex amslatex
amstex amstex
archie archie
arrl-infoserv arrlinfs
at at
auctex auctex
auto-pgp auto-pgp
autoconf autoconf
ax25-kernel-source ax25krsr
ax25-util ax25util
babel babel
base base
bash bash
bc bc
beav beav
bibtex bibtex
biff biff
bigloo bigloo
bin86 bin86
bind bind
binutils binutils
bison bison
boot-floppies bootflpp
bsdutils bsdutils
byacc byacc
c2man c2man
cdtool cdtool
cern-httpd cernhttp
cfengine cfengine
chfn chfn
chimera chimera
cpio cpio
cron cron
cvs cvs
dc dc
diald diald
dialog dialog
diff diff
dld dld
dlltools dlltools
dmalloc dmalloc
doc doc
dosemu dosemu
dpkg dpkg
dvi2tty dvi2tty
dviljk dviljk
dvipsk dvipsk
e2fsprogs e2fsprog
ed ed
ee ee
efax efax
electric-fence elctfenc
elisp-manual elspmanl
elm elm
elv-ctags elvctags
elv-fmt elv-fmt
elv-vi elv-vi
emacs emacs
emacs-el emacs-el
es es
expect expect
f2c f2c
fdflush fdflush
file file
fileutils fileutil
findutils findutil
flex flex
fort77 fort77
fortune fortune
ftape ftape
fvwm fvwm
gawk gawk
gcc gcc
gdb gdb
ghostview ghostviw
giftrans giftrans
git git
glibcdoc glibcdoc
gmp gmp
gnuchess gnuchess
gnuplot gnuplot
gopher-client gphrclnt
gopherd gopherd
gpm gpm
grep grep
groff groff
gs gs
gsfonts gsfonts
gzip gzip
hdparm hdparm
hello hello
hostname hostname
hyperlatex hyperltx
iamerican iamericn
ibritish ibritish
ical ical
idanish idanish
idutch idutch
ifrench ifrench
igerman igerman
image image
includes includes
indent indent
inewsinn inewsinn
info info
infocom infocom
ircii ircii
ispell ispell
itimer itimer
j1 j1
jargon jargon
jgraph jgraph
joe joe
kbd kbd
knews knews
kpathsea kpathsea
last last
latex latex
latex2rtf latx2rtf
ldso ldso
less less
libc libc
libg++ libgpp
libident libident
librl librl
lilo lilo
linuxdoc-sgml lnxdsgml
lout lout
lpr lpr
lrzsz lrzsz
ltxgraph ltxgraph
ltxmisc ltxmisc
ltxtool ltxtool
lynx lynx
m4 m4
mailx mailx
majordomo majordom
make make
makeindex makeindx
man man
manpages manpages
metamail metamail
mfbasfnt mfbasfnt
mfbin mfbin
mflib mflib
mfnfss mfnfss
mh mh
mh-papers mhpapers
minicom minicom
mirrormagic mirrrmgc
miscutils miscutil
mkisofs mkisofs
modules modules
motifnls motifnls
mount mount
mt-st mt-st
mtools mtools
nas nas
ncftp ncftp
ncurses-developer ncurdvlp
ncurses-runtime ncurrntm
netbase netbase
netstd netstd
ntgclass ntgclass
nvi nvi
oldgerman oldgermn
oleo oleo
pandora pandora
pari pari
patch patch
pbmplus pbmplus
pcb pcb
pdksh pdksh
perl perl
pgp-i pgp-i
pgp-us pgp-us
pico pico
pine pine
pixmap pixmap
pmake pmake
ppp ppp
procmail procmail
procps procps
ps2pk ps2pk
psnfss psnfss
psutils psutils
python python
rc rc
rcs rcs
rman rman
rspfd rspfd
rsynth rsynth
rxvt rxvt
samba samba
screen screen
sed sed
sendmail sendmail
setserial setseril
seyon seyon
sharutils sharutil
shellutils shellutl
smail smail
snmp snmp
source source
statserial statserl
strace strace
sudo sudo
svgalib svgalib
symlinks symlinks
syslinux syslinux
syslogd syslogd
sysvinit sysvinit
tar tar
tcl tcl
tclX tclx
tcpdump tcpdump
tcsh tcsh
term term
texbin texbin
texidoc texidoc
texinfo texinfo
texlib texlib
texpsfnt texpsfnt
textfm textfm
textutils textutil
tf tf
tgif tgif
time time
timezone timezone
tin tin
tk tk
tkman tkman
tput tput
transfig transfig
tripwire tripwire
trn trn
untex untex
unzip unzip
uucp uucp
vim vim
vm vm
w3-el w3-el
watch watch
wdutch wdutch
wenglish wenglish
wfrench wfrench
wgerman wgerman
witalian witalian
wnorwegian wnorwegn
workbone workbone
wspanish wspanish
wswedish wswedish
wu-ftpd wu-ftpd
x8514 x8514
xagx xagx
xarchie xarchie
xbase xbase
xboard xboard
xcompat xcompat
xdvik xdvik
xearth xearth
xfig xfig
xfnt100 xfnt100
xfnt75 xfnt75
xfntbig xfntbig
xfntcyr xfntcyr
xfntscl xfntscl
xinvaders xinvader
xlib xlib
xlockmore xlockmor
xmach32 xmach32
xmach64 xmach64
xmach8 xmach8
xmanpages xmanpage
xmono xmono
xntp xntp
xonix xonix
xp9000 xp9000
xpat2 xpat2
xpm xpm
xs3 xs3
xslib xslib
xsnow xsnow
xsok xsok
xstd xstd
xsvga xsvga
xtet42 xtet42
xtron xtron
xv xv
xvga16 xvga16
xw32 xw32
xwpe xwpe
xxgdb xxgdb
xypic xypic
ytalk ytalk
zip zip
zyxel zyxel
#!/usr/bin/perl --
# usage: msdosmap Packages msdosoverrides
@ARGV==2 || die;
($packages,$dov)=@ARGV;
open(PACKAGES,"< $packages") || die $!;
open(OVERRIDES,"< $dov") || die $!;
while (<OVERRIDES>) {
next if m/^#/;
s/\n$//; y/A-Z/a-z/;
m/^\s*(\S+)\s+(\S+)\s*$/ || die $_;
$override{$1}= $2;
die "msdosmap: clash - both \`$1' and \`$used{$2}' map to \`$2'\n"
if length($used{$2});
$used{$2}=$1;
}
close(OVERRIDES);
$|=1;
while (1) {
$_= <PACKAGES>;
s/\n$//;
$package= $1 if m/^package: +(\S+)$/i;
$filename= $1 if m/^filename: +(\S+)$/i;
next unless m/^$/;
if (length($package) && length($filename)) {
$nfn= $package; $nfn =~ y/A-Z/a-z/;
if (defined($output{$package})) {
warn "msdosmap: package \`$package' appears twice\n";
} elsif (defined($override{$package})) {
$output{$package}= $override{$package};
} elsif (length($nfn) > 8) {
#print STDERR "package >$nfn<\n";
@parts=(); $_= $nfn;
while (s/^[a-z]+\W*// || s/^[0-9.]+\W*//) { push(@parts,$&); }
#print STDERR "parts >",join('|',@parts),"<\n";
push(@parts,$_); $el= int(8/($#parts+1)); $spare= 8;
for ($i=0; $i<=$#parts; $i++) {
$parts[$i] =~ y/+a-z0-9//cd;
$allen[$i]= length($parts[$i]) > $el ? $el : length($parts[$i]);
#print STDERR "part $i allen $allen[$i]\n";
$spare -= $allen[$i];
}
#print STDERR "spare $spare\n";
$addto= -1;
while ($spare) {
do {
$addto++; $addto %= ($#parts+1);
} while ($allen[$addto] == length($parts[$addto]));
$allen[$addto]++;
$spare--;
#print STDERR "more $addto allen $allen[$addto] spare $spare\n";
}
$nfn= '';
for ($i=0; $i<=$#parts; $i++) {
$_= $parts[$i]; $al= $allen[$i];
#print STDERR "part $i >$_< al $al\n";
while (length($_) > $al) {
#print STDERR "shorten >$_<\n";
s/(.)\W(\w*)$/$1$2/ && next;
s/(.)s$/$1/ && next;
s/(.)[aeiou]([^aeiou]*)$/$1$2/ && next;
s/.$//;
}
#print STDERR "using >$_<\n";
$nfn.= $_;
}
}
$nfn =~ y/+/p/;
while (length($used{$nfn}) && $used{$nfn} ne $package) {
$onfn= $nfn;
$nfn++;
warn "msdosmap: \`$used{$onfn}' => \`$onfn' so \`$package' => \`$nfn')\n";
}
$used{$nfn}= $package;
$output{$package}= $nfn;
$package=$filename='';
} elsif (length($package) || length($filename)) {
die "P$package? F$filename?";
} elsif (eof(PACKAGES)) {
last;
}
}
for $p (sort keys %output) {
printf "%-30s %s\n",$p,$output{$p};
}
Reply to: