shellsnippets/shellsnippets.git
7 years agoadd tool to store a BDF font in a more terse format and edit a font
Thorsten Glaser [Sun, 2 Sep 2012 00:35:42 +0000 (00:35 +0000)]
add tool to store a BDF font in a more terse format and edit a font

with manpage; as used in the MirBSD XFree86® build process

7 years agocommand-line client for live365.com streams
Thorsten Glaser [Sun, 29 Jul 2012 17:49:39 +0000 (17:49 +0000)]
command-line client for live365.com streams

‣ needs inline-editing for credentials
  • needs a user account on their site
  • works with free and VIP accounts both

only slightly edited from the source, not mirified

7 years agotime manipulation functions in Pure mksh™
Thorsten Glaser [Sun, 15 Jul 2012 14:25:15 +0000 (14:25 +0000)]
time manipulation functions in Pure mksh™

POSIX (i.e. no leap second support and Y2038 problem)

available definitions:
• tm_* constants (offset of "struct tm" members in indexed array)
• mirtime_months, mirtime_wdays (mapping to strings in the "C" locale)

available functions:
• timet2mjd ${posix_timet_seconds}
  ⇒ ${mjd_day} ${mjd_sec}
• mjd2timet ${mjd_day} ${mjd_sec}
  ⇒ ${posix_timet_seconds}
• mjd_explode ${mjd_day} ${mjd_sec}
  ⇒ ${struct_tm[@]}
• mjd_implode ${struct_tm[@]}
  ⇒ ${mjd_day} ${mjd_sec}

The functions all currently share that they take and output
an array (mirtime_mjd or struct tm) in split form, i.e. one
function argument per struct member, and space-separated output.
(This works with this data.)

Not all members of struct tm are used:

When emitting a struct tm (by mjd_explode), these are hardcoded:
• tm_isdst = 0
• tm_gmtoff = 0
• tm_zone = "UTC"

When parsing a struct tm (by mjd_implode), these are ignored:
• tm_wday, tm_yday (only tm_mon+tm_mday are used)
• tm_isdst (only tm_gmtoff is used as additional offset)
• tm_zone (it's a descriptive string anyway)

This matches behaviour of the mirtime functions in MirBSD libkern
(kernel, bootloader, libc), except that no leap second information
is available, and mksh_ari_t (32 bit) is used instead of time_t.

7 years agothe Epoch is not part of a package’s filenames, ever.
Thorsten Glaser [Tue, 19 Jun 2012 11:31:55 +0000 (13:31 +0200)]
the Epoch is not part of a package’s filenames, ever.

sometimes misleading behaviour of some apt downloaders notwithstanding

7 years agoadd exclude-files
Thorsten Glaser [Tue, 12 Jun 2012 10:57:35 +0000 (12:57 +0200)]
add exclude-files

7 years agoadd support for https:// in deb lines
Thorsten Glaser [Tue, 12 Jun 2012 10:57:24 +0000 (12:57 +0200)]
add support for https:// in deb lines

7 years agoupdate some scripts
Thorsten Glaser [Wed, 9 May 2012 09:08:57 +0000 (11:08 +0200)]
update some scripts

7 years agonew option -f to skip running sync-available as that takes ages on m68k
Thorsten Glaser [Mon, 7 May 2012 22:25:47 +0000 (22:25 +0000)]
new option -f to skip running sync-available as that takes ages on m68k

7 years agoexplicitly encode spaces as ‘+’ for $BROWSER
Thorsten Glaser [Sun, 6 May 2012 17:18:11 +0000 (17:18 +0000)]
explicitly encode spaces as ‘+’ for $BROWSER

as suggested during the Debian/DuckDuckGo discussion
even though only Dillo seems to need it

proper urlencode would be more useful, e.g. + → %2B, % → %25
but since ${x//y/z} isn’t in POSIX sh, I didn’t put it in here
(we could conceivably call sed, though; discussion?)

7 years agolet Debian get revenue from DuckDuckGo calls
Thorsten Glaser [Sun, 6 May 2012 17:15:04 +0000 (17:15 +0000)]
let Debian get revenue from DuckDuckGo calls

since MirBSD doesn’t, and that is the most reasonable place to let
it go to (also, who says we don’t profit from Debian?)

7 years agouse a function if we define it already (possible renamo)
Thorsten Glaser [Mon, 16 Apr 2012 15:20:32 +0000 (15:20 +0000)]
use a function if we define it already (possible renamo)

7 years agoAO3 EPUB files are structured slightly differently; cope.
Thorsten Glaser [Sat, 7 Apr 2012 00:01:57 +0000 (00:01 +0000)]
AO3 EPUB files are structured slightly differently; cope.

7 years agodownload an article from usenet/GMane via msgid or newsgroup+article#
Thorsten Glaser [Sat, 7 Apr 2012 00:00:23 +0000 (00:00 +0000)]
download an article from usenet/GMane via msgid or newsgroup+article#

7 years agono sense in making arch:all when we have only one arch:any, just use it for all other...
Thorsten Glaser [Fri, 6 Apr 2012 23:57:14 +0000 (23:57 +0000)]
no sense in making arch:all when we have only one arch:any, just use it for all others then to save time

7 years agocan’t forget sprunge
Thorsten Glaser [Fri, 6 Apr 2012 23:56:36 +0000 (23:56 +0000)]
can’t forget sprunge

7 years agobetter etch compatibility
Thorsten Glaser [Fri, 6 Apr 2012 23:54:20 +0000 (23:54 +0000)]
better etch compatibility

7 years agoadd copyright licence fallback for Public Domain works
Thorsten Glaser [Fri, 6 Apr 2012 23:52:48 +0000 (23:52 +0000)]
add copyright licence fallback for Public Domain works

and an explanation about Schaffenshöhe / Threshold of Originality

7 years agominimal shell templating engine example, using Perl
Thorsten Glaser [Tue, 17 Jan 2012 13:06:53 +0000 (14:06 +0100)]
minimal shell templating engine example, using Perl

up for customisation; dedicated to Carsten Klein

7 years agoprofile function to run CR-LF line ended script with mksh, e.g. on Cygwin
Thorsten Glaser [Sat, 31 Dec 2011 20:04:41 +0000 (20:04 +0000)]
profile function to run CR-LF line ended script with mksh, e.g. on Cygwin

Message-ID: <Pine.BSM.4.64L.1112311952120.14351@herc.mirbsd.org>

7 years agomerge update from posix/pbuilder-hooks/B20lintian
Thorsten Glaser [Sun, 18 Dec 2011 17:38:08 +0000 (18:38 +0100)]
merge update from posix/pbuilder-hooks/B20lintian

7 years agohuh… no --install-recommends apt(1) option on etch and sarge…
Thorsten Glaser [Sat, 17 Dec 2011 22:35:54 +0000 (22:35 +0000)]
huh… no --install-recommends apt(1) option on etch and sarge…

(I suppose this is slowly growing large enough for copyright)

7 years agoupdate pbuilder hook scripts cross with MirBSD and add new ones
Thorsten Glaser [Thu, 15 Dec 2011 21:08:20 +0000 (21:08 +0000)]
update pbuilder hook scripts cross with MirBSD and add new ones

especially nice: always run lintian!

8 years agoupdate from MirBSD: deal better with PSD/SMM/USD/PAPERS and overstrikes
Thorsten Glaser [Sat, 3 Dec 2011 18:22:01 +0000 (18:22 +0000)]
update from MirBSD: deal better with PSD/SMM/USD/PAPERS and overstrikes

8 years agocolourised wdiff(1) wrapper
Thorsten Glaser [Sat, 3 Dec 2011 16:54:51 +0000 (16:54 +0000)]
colourised wdiff(1) wrapper

8 years agoscript to run Xnest(1) with xauth(1) cookies intact
Thorsten Glaser [Sat, 3 Dec 2011 16:53:02 +0000 (16:53 +0000)]
script to run Xnest(1) with xauth(1) cookies intact

from https://www.mirbsd.org/man1/Xnest

8 years agoadd script to play FLAC files with flac and waveplay
Thorsten Glaser [Sat, 3 Dec 2011 16:52:02 +0000 (16:52 +0000)]
add script to play FLAC files with flac and waveplay

for those times mplayer segfaults on you

8 years agodo not use <?xml to avoid triggering "quirks mode"
Thorsten Glaser [Sat, 3 Dec 2011 16:46:10 +0000 (16:46 +0000)]
do not use <?xml to avoid triggering "quirks mode"

update from MirBSD master

8 years agopretty old script (still in use) to interactively edit a file by diff
Thorsten Glaser [Sat, 3 Dec 2011 16:45:20 +0000 (16:45 +0000)]
pretty old script (still in use) to interactively edit a file by diff

(mostly for CVS users)

8 years agoscripts to easily edit BDF font glyphs in a text editor
Thorsten Glaser [Sat, 3 Dec 2011 16:44:37 +0000 (16:44 +0000)]
scripts to easily edit BDF font glyphs in a text editor

8 years agoscript to extract an AO3 .epub and create an index.htm from toc.ncx
Thorsten Glaser [Sat, 3 Dec 2011 16:43:46 +0000 (16:43 +0000)]
script to extract an AO3 .epub and create an index.htm from toc.ncx

(roughed as xmlstarlet is a bit resistant)

8 years agopretty old CGI to display connection information (as IFRAME, mostly)
Thorsten Glaser [Sat, 3 Dec 2011 16:43:30 +0000 (16:43 +0000)]
pretty old CGI to display connection information (as IFRAME, mostly)

8 years agoupdate from MirBSD masters
Thorsten Glaser [Sat, 3 Dec 2011 16:43:09 +0000 (16:43 +0000)]
update from MirBSD masters

8 years agoadd pointer to kwalletcli which includes three useful scripts
Thorsten Glaser [Sat, 3 Dec 2011 16:30:51 +0000 (16:30 +0000)]
add pointer to kwalletcli which includes three useful scripts

(that do not really fit into here since they depend on C stuff)

8 years agodocument that and why only shell snippets are admissible here,
Thorsten Glaser [Sat, 3 Dec 2011 16:24:16 +0000 (16:24 +0000)]
document that and why only shell snippets are admissible here,

and point links to other useful things

8 years agoupdate (better Tcl support)
Thorsten Glaser [Sat, 3 Dec 2011 16:19:44 +0000 (16:19 +0000)]
update (better Tcl support)

8 years agoupdate, make more legible
Thorsten Glaser [Sat, 3 Dec 2011 16:19:18 +0000 (16:19 +0000)]
update, make more legible

8 years agomake profile-funcs POSIXly
Thorsten Glaser [Sat, 3 Dec 2011 16:12:39 +0000 (16:12 +0000)]
make profile-funcs POSIXly

8 years agoadd some more functions from MirBSD
Thorsten Glaser [Sat, 3 Dec 2011 15:56:58 +0000 (15:56 +0000)]
add some more functions from MirBSD

8 years agoscript to generate a user list from LDAP (with photos) like
Thorsten Glaser [Wed, 23 Nov 2011 15:10:32 +0000 (16:10 +0100)]
script to generate a user list from LDAP (with photos) like

ejabberd sees them, with mod_shared_roster_ldap enabled and
a number of checks, filters, etc.

8 years agoupdate (minor)
Thorsten Glaser [Thu, 17 Nov 2011 15:34:12 +0000 (16:34 +0100)]
update (minor)

8 years agotrick lintian into not checking the latest entry is a new version
Thorsten Glaser [Thu, 17 Nov 2011 15:20:35 +0000 (16:20 +0100)]
trick lintian into not checking the latest entry is a new version

8 years agoeek. when doing work on mirrored code, first commit in the parent VCS
Thorsten Glaser [Thu, 17 Nov 2011 14:35:02 +0000 (15:35 +0100)]
eek. when doing work on mirrored code, first commit in the parent VCS

so the RCS IDs are in sync…

8 years agowhen snapshot skip NMU warning; 10x formorer
Thorsten Glaser [Thu, 17 Nov 2011 14:21:24 +0000 (15:21 +0100)]
when snapshot skip NMU warning; 10x formorer

8 years agomandatory run lintian -vIiE --pedantic \o/ my friend…
Thorsten Glaser [Thu, 17 Nov 2011 12:33:51 +0000 (13:33 +0100)]
mandatory run lintian -vIiE --pedantic \o/ my friend…

8 years agoJenkins integration with cowbuilder
Thorsten Glaser [Thu, 17 Nov 2011 11:33:47 +0000 (12:33 +0100)]
Jenkins integration with cowbuilder

these two go together with a mvndput installation; these scripts
need to be placed in /usr/local/bin (currently hardcoded), and
the user Jenkins runs under needs to have password-less sudo on
kuhbauer. The /etc/pbuilderrc from MirDebian[1] is an absolute
requirement, and the base.cow-* must be set up by a sysadmin by
hand before and occasionally updated. Set DEBEMAIL in Jenkins,
an export statement in /etc/default/hudson seems to be a good
place. (Disable ENABLE_UPLOAD to work without mvndput.)

Currently, only Debian and *buntu suites are supported, not
Debian-Ports (which probably are broken in that pbuilderrc
anyway). Lists of suites, etc. are replicated several times
so take care. This is experimental, WFM quality.

[1] https://www.mirbsd.org/cvs.cgi/contrib/hosted/tg/deb/pbuilderrc?rev=HEAD

8 years agomajor facelifting for generated HTML manpages
Thorsten Glaser [Wed, 14 Sep 2011 20:54:57 +0000 (20:54 +0000)]
major facelifting for generated HTML manpages

• credits to XTaran@MirBSD.org for help with the colour scheme
• also much faster and more sane now
• cf. https://www.mirbsd.org/permalinks/wlog-10_e20110914-tg.htm

8 years agobetter ldapsearch frontend for postprocessing
Thorsten Glaser [Thu, 25 Aug 2011 13:21:43 +0000 (15:21 +0200)]
better ldapsearch frontend for postprocessing

since $ ldapsearch -xLLL … | tr … | sed … | tr …
is too much to type, this script even gets $? right
(piping into sort also possible now)

8 years agoupdates to various scripts, from The MirOS Code Factory
Thorsten Glaser [Thu, 21 Jul 2011 20:05:03 +0000 (20:05 +0000)]
updates to various scripts, from The MirOS Code Factory

8 years agobsiegert@mirbsd.org points out how to tame g**gle at least a̲ ̲b̲i̲t̲
Thorsten Glaser [Tue, 21 Jun 2011 19:11:16 +0000 (19:11 +0000)]
bsiegert@mirbsd.org points out how to tame g**gle at least a̲ ̲b̲i̲t̲

8 years agofix encoding
Thorsten Glaser [Tue, 21 Jun 2011 12:00:01 +0000 (14:00 +0200)]
fix encoding

8 years agocnuke@mirbsd.org points out that DuckDuckGo now works with Lynx ☺
Thorsten Glaser [Tue, 21 Jun 2011 11:59:39 +0000 (13:59 +0200)]
cnuke@mirbsd.org points out that DuckDuckGo now works with Lynx ☺

8 years agoput some links in here
Thorsten Glaser [Mon, 13 Jun 2011 18:44:36 +0000 (18:44 +0000)]
put some links in here

8 years agoAdd zsh/vcsupinit
Frank Terbeck [Fri, 10 Jun 2011 12:57:49 +0000 (14:57 +0200)]
Add zsh/vcsupinit

Signed-off-by: Frank Terbeck <ft@bewatermyfriend.org>
8 years agoAutomatic APT Repository build infrastructure
Thorsten Glaser [Thu, 9 Jun 2011 22:22:44 +0000 (00:22 +0200)]
Automatic APT Repository build infrastructure

(mvndebri.sh is a modified ../debian-dev/mkdebidx.sh)
(mvndebri.sh has been slightly modified for publication cleanliness)

Basically, mvndput.sh is placed in /opt/mvn-debs which
is the DocumentRoot of the ${jenkinsname}-debs.${domain}
vhost and allows every job to upload files into repos
(at least one repo per job, to avoid race conditions
when more than one job tries to update a repo at the
same time); it calls dput to store the files into the
repository, then mvndebri.sh to update its indicēs.

8 years agoupdate from their respective sources
Thorsten Glaser [Thu, 9 Jun 2011 22:19:09 +0000 (00:19 +0200)]
update from their respective sources

8 years agonext round of improvement: fix the empty file
Thorsten Glaser [Thu, 9 Jun 2011 21:43:31 +0000 (23:43 +0200)]
next round of improvement: fix the empty file

8 years agoreplace with NUL-safe variants; document limitation
Thorsten Glaser [Thu, 9 Jun 2011 21:34:57 +0000 (23:34 +0200)]
replace with NUL-safe variants; document limitation

essentially equivalent commands (for most of ASCII) are:
hexdump -e '"%08.8_ax  " 8/1 "%02X " " - " 8/1 "%02X "' -e '"  |" "%_p"' -e '"|\n"' "$@"
hexdump -e '"%08.8_ax  " 4/1 "%04X " " - " 4/1 "%04X "' -e '"  |" "%_p"' -e '"|\n"' "$@"

8 years agocopy the not NUL-safe variants to different filenames
Thorsten Glaser [Thu, 9 Jun 2011 21:30:48 +0000 (23:30 +0200)]
copy the not NUL-safe variants to different filenames

8 years agoupdate from mksh
Thorsten Glaser [Thu, 9 Jun 2011 21:29:58 +0000 (23:29 +0200)]
update from mksh

8 years agoadd manpages from tarent repo
Thorsten Glaser [Thu, 9 Jun 2011 20:49:31 +0000 (22:49 +0200)]
add manpages from tarent repo

8 years agodf function tabularised; idea from #grml on irc.ipv6.freenode.net
Thorsten Glaser [Wed, 30 Mar 2011 20:48:19 +0000 (20:48 +0000)]
df function tabularised; idea from #grml on irc.ipv6.freenode.net

8 years agoscript for converting an SVG path from absolute to relative movements
Thorsten Glaser [Tue, 22 Mar 2011 10:50:54 +0000 (11:50 +0100)]
script for converting an SVG path from absolute to relative movements

reads 'd="..."' in one single chunk as input
used it once for ad-hōc conversion from inkscape to hand-edited
needs in-place configuration

8 years agoand then, there are some more useful profile functions
Thorsten Glaser [Sun, 13 Mar 2011 20:40:53 +0000 (20:40 +0000)]
and then, there are some more useful profile functions

8 years agoscript for key generation and upload to a server, uses ../mksh/ui.cgi
Thorsten Glaser [Thu, 10 Mar 2011 15:29:15 +0000 (16:29 +0100)]
script for key generation and upload to a server, uses ../mksh/ui.cgi

I suppose this is not secret either (and some of the algorithms
may help others)

8 years agomention works of not enough Schaffenshöhe for copyright law are PD
Thorsten Glaser [Wed, 9 Mar 2011 14:57:55 +0000 (15:57 +0100)]
mention works of not enough Schaffenshöhe for copyright law are PD

8 years agouse urandom(4), not arandom(4), to be more portable
Thorsten Glaser [Wed, 9 Mar 2011 14:55:30 +0000 (15:55 +0100)]
use urandom(4), not arandom(4), to be more portable

8 years agoadd more common licences (of the GNU variety)
Thorsten Glaser [Wed, 9 Mar 2011 14:52:25 +0000 (15:52 +0100)]
add more common licences (of the GNU variety)

8 years agosource code for a website, in shell (except a C and a PHP helper)
Thorsten Glaser [Wed, 9 Mar 2011 14:49:26 +0000 (15:49 +0100)]
source code for a website, in shell (except a C and a PHP helper)

8 years agoconvert catmanpages to XHTML/1.1
Thorsten Glaser [Wed, 9 Mar 2011 14:38:35 +0000 (15:38 +0100)]
convert catmanpages to XHTML/1.1

8 years agorun something with a cleaned up *envp
Thorsten Glaser [Wed, 9 Mar 2011 14:37:55 +0000 (15:37 +0100)]
run something with a cleaned up *envp

8 years agoconvert a file from a mix of latin1, cp1252 and utf-8 to utf-8
Thorsten Glaser [Wed, 9 Mar 2011 14:35:17 +0000 (15:35 +0100)]
convert a file from a mix of latin1, cp1252 and utf-8 to utf-8

• only handles the Unicode BMP
• handles mix of encodings, *even on the same line*, gracefully

8 years agoconvert a Subversion repository to a CVS repository, restartable
Thorsten Glaser [Wed, 9 Mar 2011 14:34:15 +0000 (15:34 +0100)]
convert a Subversion repository to a CVS repository, restartable

no branch support yet, as svn doesn’t have branches; may hack it
if needed though

8 years ago“better” scp using rsync
Thorsten Glaser [Wed, 9 Mar 2011 14:33:50 +0000 (15:33 +0100)]
“better” scp using rsync

8 years ago[ancient] mass-renaming of files (Anime, CD tracks, …)
Thorsten Glaser [Wed, 9 Mar 2011 14:33:08 +0000 (15:33 +0100)]
[ancient] mass-renaming of files (Anime, CD tracks, …)

8 years agodecode PGP/MIME (may not fully work)
Thorsten Glaser [Wed, 9 Mar 2011 14:32:32 +0000 (15:32 +0100)]
decode PGP/MIME (may not fully work)

8 years agomore stuff useful when developing for Debian
Thorsten Glaser [Wed, 9 Mar 2011 14:31:28 +0000 (15:31 +0100)]
more stuff useful when developing for Debian

8 years agostuff helpful in building Debian packages
Thorsten Glaser [Wed, 9 Mar 2011 14:30:47 +0000 (15:30 +0100)]
stuff helpful in building Debian packages

8 years agograb URIs from, e.g. an IRC log
Thorsten Glaser [Wed, 9 Mar 2011 14:29:00 +0000 (15:29 +0100)]
grab URIs from, e.g. an IRC log

8 years agoshuffle arguments around
Thorsten Glaser [Wed, 9 Mar 2011 14:27:01 +0000 (15:27 +0100)]
shuffle arguments around

usage: mksh shuffle arg1a arg1b … -- arg2a arg2b … [-- arg3a arg3b …]
will run: arg1a arg1b arg2b arg2a arg3a arg3b
i.e. shuffle arg2 but leave arg1 and arg3 alone

examples:
mksh shuffle mplayer -- *.flac
mksh shuffle mppdec-static -- *.mpc -- /dev/dsp

8 years agofind out under what shell I’m running (even csh/tcsh, tclsh!)
Thorsten Glaser [Wed, 9 Mar 2011 14:26:05 +0000 (15:26 +0100)]
find out under what shell I’m running (even csh/tcsh, tclsh!)

8 years agogenerate an ed2k hash for a file
Thorsten Glaser [Wed, 9 Mar 2011 14:25:44 +0000 (15:25 +0100)]
generate an ed2k hash for a file

8 years agofind duplicate, not hardlinked, files (BSD and GNU userland)
Thorsten Glaser [Wed, 9 Mar 2011 14:25:19 +0000 (15:25 +0100)]
find duplicate, not hardlinked, files (BSD and GNU userland)

8 years agostuff for /etc/profile of random value
Thorsten Glaser [Wed, 9 Mar 2011 14:24:52 +0000 (15:24 +0100)]
stuff for /etc/profile of random value

8 years agosome scripts and stuff from the sysadmin area
Thorsten Glaser [Wed, 9 Mar 2011 14:16:39 +0000 (15:16 +0100)]
some scripts and stuff from the sysadmin area

8 years agoadd common licences too large to replicate in every file
Thorsten Glaser [Wed, 9 Mar 2011 14:19:05 +0000 (15:19 +0100)]
add common licences too large to replicate in every file

8 years agoCGIs of random value
Thorsten Glaser [Wed, 9 Mar 2011 14:03:06 +0000 (15:03 +0100)]
CGIs of random value

• how to generate an RSA secret key and X.509 CSR for CA submission
  (this runs on a MirBSD box with good entropy)
• how to parse LDAP into something visible

8 years agonice promot from dot.mkshrc converted back for ksh93 and pdksh
Thorsten Glaser [Wed, 9 Mar 2011 13:45:11 +0000 (14:45 +0100)]
nice promot from dot.mkshrc converted back for ksh93 and pdksh

8 years agoadd top-level README and licencing information
Thorsten Glaser [Wed, 9 Mar 2011 13:17:50 +0000 (14:17 +0100)]
add top-level README and licencing information

basically, each file must define its licence, all must be OSI approved

8 years agoAdd reusable examples from the mksh regression test suite
Thorsten Glaser [Wed, 9 Mar 2011 13:15:46 +0000 (14:15 +0100)]
Add reusable examples from the mksh regression test suite

8 years agoMore initial directory structure
Thorsten Glaser [Wed, 9 Mar 2011 13:14:03 +0000 (14:14 +0100)]
More initial directory structure

8 years agocollection of standard snippets from mksh/dot.mkshrc
Thorsten Glaser [Wed, 9 Mar 2011 13:08:52 +0000 (14:08 +0100)]
collection of standard snippets from mksh/dot.mkshrc

8 years agoInitial directory structure.
Thorsten Glaser [Wed, 9 Mar 2011 13:05:48 +0000 (14:05 +0100)]
Initial directory structure.

No, there’s no csh here (for good reason), nor Plan 9 rc (for now).