packaging FAQ

  1. What does AST stand for?

    AT&T Software Technologies. In older distributions you may have seen Advanced Software Technologies or Advanced Software Tools; these originate from the name our old Bell Labs department in the late 80's. The department name has changed dozens of times since, but remarkably the people involved haven't.

  2. Is there a recommended installation directory?

    Although there are no hard-coded pathnames in ast software, installing official releases in an FHS compliant directory like /opt/ast may lead to some uniformity when hopping from machine to machine. See /opt/ast for details.

  3. How do I read packages on an EBCDIC machine?

    Follow the source or binary download instructions using the ratz(1) command to read the INIT package tarball. ratz recognizes three EBCIDIC variants and automatically converts each text file tarball member from ASCII to the native character set.

  4. Why does package read fail even though there are unread packages in lib/package/tgz?

    The default .0000 base version was dropped starting on 2001-10-20, causing older package(1) commands to fail. To get a new package command download the INIT package and manually read it in. package read should work again.

  5. Why don't you use rpm(1) for packaging?

    We are finally at the point where we can automatically generate source and binary packages for any collection of software components that are controlled by nmake(1) makefiles. The only extra work is a manually edited per-package makefile that lists the components in the package. So, to answer the question, we understand makefiles, and with that understanding we get packaging for free. Now, see the next question.

  6. Can you generate rpm(1) packages?

    Yes, in theory. The conjecture is that nmake(1) can produce the information needed by most of the popular packaging schemes. The main problem now is for one of us to understand rpm details enough to do the transformation. This will be done by the package(1) command. It's documented but not implemented (now that's a first around here.)

  7. I just want ksh(1); why isn't there a ksh tarball?

    Because of its popularity, you may now get just the ksh source by downloading the INIT and ast-ksh packages. However, if you want the same build environment as ours, you should download the ast-base package (that also includes ksh.)

  8. Why do you require more than one package in some cases?

    All the software on this site is built on a common set of libraries. We could have taken the GNU *utils approach and packaged a separate copy of the libraries with each command tarball. In our experience this leads to splintering that is hard to undo, and we would end up with n slightly different copies of getopt(3), for example. Instead we package the libraries once in the ast-base package. ast-base also includes ksh(1), pax(1), and nmake(1), which are used to maintain and generate new packages and deltas (patches.) BTW, ast-open contains all of our open source commands, so you don't need ast-base if you download ast-open. Other AT&T Labs Research packages that require ast-base will be posted in 2004, including CIAO and graphviz.


April 20, 2004