empty directories and archive

Issue #331 new
Alex Efros created an issue

Downloads page say it's ok to install Inferno by cloning the repo, but Bitbucket repo doesn't contain a lot of important empty directories and it doesn't create them automatically while compiling Inferno.

List of important absent directories:

keydb/countersigned
keydb/signed
mail
man/lib/man
man/lib/permind
mnt
mnt/9win
mnt/acme
mnt/arch
mnt/diary
mnt/factotum
mnt/gossip
mnt/icontact
mnt/ilog
mnt/incall
mnt/isubs
mnt/itrack
mnt/keys
mnt/keysrv
mnt/quiz
mnt/registry
mnt/rstyxreg
mnt/schedule
mnt/vmail
mnt/wm
mnt/wrap
mnt/wsys
n
n/cd
n/client
n/client/chan
n/client/dev
n/disk
n/dist
n/dump
n/ftp
n/gridfs
n/kfs
n/local
n/rdbg
n/registry
n/remote
services/logs
services/ppp
src
tmp
usr/inferno/charon
usr/inferno/keyring
usr/inferno/tmp

List of absent directories which probably may be created automatically while compiling:

FreeBSD/386/lib
Inferno/386/bin
Inferno/arm/bin
Inferno/mips/bin
Inferno/mips/lib
Inferno/power/bin
Inferno/power/lib
Inferno/sparc/bin
Inferno/sparc/lib
Inferno/thumb/bin
Inferno/thumb/lib
Irix/mips/lib
Linux/arm/bin
Linux/arm/lib
MacOSX/386/lib
MacOSX/power/lib
NetBSD/386/lib
Nt/386/lib
OpenBSD/386/bin
OpenBSD/386/lib
OpenBSD/arm
OpenBSD/arm/bin
OpenBSD/arm/lib
Plan9/386/lib
Plan9/mips/bin
Plan9/mips/lib
Plan9/power/bin
Plan9/power/lib
Plan9/sparc/bin
Plan9/sparc/lib
Solaris/sparc/lib

List of absent directories which probably was intentionally removed some time ago:

acme/acid/386
grid
lib/brutus
prof
Hp
Hp/s800
Hp/s800/bin
Hp/s800/include
Hp/s800/lib

If only right way to install Inferno is start with inferno-20150328.tgz (which contains all these directories except from 3rd listing) instead of cloning the repo, then current archive probably should be fixed:

  • directories n/client, n/client/chan and n/client/dev have unusual permissions 0555 which result in error when one use rm -rf to remove directory with unpacked archive
  • if binaries in Linux/386/bin was added intentionally, then 4 of them (data2c, iyacc, mk, mkext) should be replaced with same files from repo (now they're differ from repo), to avoid future conflicts when these files change in repo
  • difference in libinterp/runt.h looks wrong - both archive and repo should have same version of this file
  • differences in mkconfig may make sense, but, still, I believe it's better to have same version of this file both in repo and archive to avoid future conflicts

Comments (2)

  1. Charles Forsyth

    I'll add a rule that detects when it needs to run mkdirs. Another way is to put a file in all the empty directories, but that can mess up other things, so I'd rather not. First I need to work out the Windows problems ...

  2. Log in to comment