on slashpackage hierarchy
Zenaan Harkness <[email protected]> Mon, 18 Oct 2010 03:48:47 +1100
| Newsgroups | gmane.comp.djb.package |
|---|---|
| Message-ID | <[email protected]> |
re "Why classify packages at all? Why admin/daemontools instead of simply daemontools? The answer is simply that many people complain when a single directory gets too big. " I used to classify by categories, my downloaded software (/setups) and downloaded documentation (/setups/doc/), as well as my own work documents (~/work/ - letters, legal documents for many people I have assisted, and other work products). Problem: Categories overlap (eg web, mail, net), often horribly (same eg.). Problem: Newer created categories may be 'more appropriate' for a package previously assigned to a different category. Problem: Package management tools must first map from package name to category name, before locating a named package (eg. user wants to show "package-status djbdns"). 1) Underlying dynamic: human need for complexity management tools. Categorization is a legitimate complexity management tool. Alphabet single-letter directories is a legitimate complexity management to= ol. =A0- Eg: Debian's pool/ package hierarchy =A0- debian also use liba/, libb/ etc, since so many libs they messed up l/ I changed my /setups/*category* (setups =3D software downloads) and /setups/doc/*category*, and /work/*category*, to be as follows: /setups/[0-9a-z]/* /setups/doc/[0-9a-z]/* /work/[0-9a-z]/* ~/work example: ~/work/m/matter/[au|us|etc]/[a-z]/* eg: ~/work/f/forms/* ~/work/m/matter/au/h/harkness-zenaan/* ~/work/m/matter/au/s/smith-john/* In my case, country (au|us) is a category, and then the alphabetical by surname. This works very well for me; makes it easy to locate a particular client's work products. Alphabetical directories are a desirable complexity management tool to me, once I hit more than about 50 entries in a directory. Filesystem navigation/ tab completion works well for me. Since I'm on GNU system, I can and do use symlinks to add in categories as well, as a convenience, in my /setups/ hierarchy. If I were to use /package or similar, I would not use it without this debian-style alphabetical directories complexity management tool. I would have: /package/a/* /package/b/* etc If you included such a recommendation in your slashpackage docs, I might use /package. If you recommended against doing so, I would use a different /apps directory. An alphabetical organization does not conflict with your categorization organization. Alphabetical means 26 extra directories inside /package (or eg /apps). Alphabetical means low cognitive overhead. I know default installed djbdns can be found at: =A0/package/d/djbdns/* This is desirable not only for humans, but also for automated tools/ package management tools. Eg debian's =A0- "apt-cache show djbdns" would not have to first map from package name to category name, just to find the package, but can instead just go to /package/d/... (I imagine /package/d/unversioned-name/META/ might be a good standard for metadata location; but that's another conversation/ process.) Feedback sought, Zenaan