GETTING STARTED WITH GPORTS First, edit /etc/gbuild.conf (example provided). Ports can be built as an unprivileged user; the system account "build" with home in /var/build is intended for this. Extract/press the Gales source repository somewhere writable by this user, e.g. /var/build/gales-linux ; this path will be referred to as REPO. To build a given PORT, switch to the desired build user if necessary, then: cd REPO/gports/PORT gbuild This should produce the package file NAME-MAJOR.MINOR-VERSION.sh.gz (or other extension if so configured in gbuild.conf) in the port directory, which must be writable. Then, as root, move it to /gales/dist/pkg/ for safe keeping if you like, then install: gpkg-install -f /gales/dist/pkg/PKG.sh.gz This will list the files as they're extracted and possibly show some informational messages. The -f bypasses GPG signature verification, which is fairly pointless in this usage since we're always building locally, but might be handy when managing a large fleet. The switching users and moving around gets tedious when installing many ports; I tend to build a bunch at a time as dependencies allow. More automation might be in order. Of course you could do it all as root. After installing a port, you should check for new configuration installed in /etc/examples/; for reasonable behavior, it's often necessary that this be copied to /etc/, with or without customization. Well-behaved gports never write directly to /etc/. One design principle of Gales Linux is "the filesystem is the database". Thus there are no separate commands to list or uninstall packages; simply inspect or remove the subdirectories in /gales/pkg/. Thanks to static linking it is usually safe, if not recommended, to remove libraries after dependent packages are built; one exception is "ncurses" as it provides the terminfo database which is accessed at runtime. Likewise there is no "upgrade" operation; multiple versions can be installed in parallel and switched by adjusting the /gales/pkg/NAME symlink. Suggested ports to start with, batched in build dependency order: 0: bzip2 db gnupg links m4 man-pages man-pages-posix mandoc ncurses pciutils perl zlib 1: autoconf (m4 perl) less (ncurses) vim (ncurses) 2: automake (autoconf perl) readline (autoconf) 3: bc (automake readline) bison (automake m4) libtool (automake) sqlite (readline ncurses) sqlite-doc 4: flex (automake bison) libevent (libtool) libressl (libtool) Depending on your programming language needs: clisp (automake readline ncurses) cl-hyperspec ocaml php (autoconf sqlite) python (autoconf bzip2 db ncurses readline sqlite zlib) python-docs 5: openssh (autoconf libressl zlib) tmux (libevent ncurses) gdb (flex bison readline) sbcl (clisp)