[arch-dev-public] Adding a "posix" metapackage

Eli Schwartz eschwartz at archlinux.org
Fri Jan 3 04:35:01 UTC 2020

After a bit of research work and making sure one or two things have been
properly packaged, I've developed a PKGBUILD which ensures that a system
has the POSIX shell and utilities (XCU) section installed. I believe
this is an interesting thing to track, and people will want to know they
have it installed... in aid of this, I've gotten two major holdouts
packaged a while back -- pax (thanks to dbermond) and ncompress.

I'd like to add this package to community, although given it's never
been in the AUR before, it's never had AUR votes...

One of the advantages of having this metapackage is that someone can,
while installing arch, `pacman -S posix-user-portability` and get
essentially everything one would expect to have available on a unix-like
platform, most notably, the interesting parts of the base group that no
longer have an equivalent. i.e. man-db, vi, patch, diffutils, ed.

I've only included XCU for now, because the system interfaces and
headers are a bit out of scope for me to package and replace in the
event that they'd be missing anything... and also because I'm mainly
interested in the POSIX toolset itself. That being said, I'd certainly
be open to suggested improvements, should anyone have recommendations
for expanding the scope.


For reference, here is my PKGBUILD: https://paste.xinu.at/m-XoggqFGE/
And reproduced here:

# Maintainer: Eli Schwartz <eschwartz at archlinux.org>

# The list of utilities can be found at
# https://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.html

# Not all utilities are required: if the synopsis is boxed up and annotated
# with a code, it is only needed for that code. Examples: user portability,
# XSI, Software Development, C Development. Some of these groups were
# implemented here too, though almost certainly the only important ones
are UP
# and XSI.

pkgname=('posix' 'posix-xsi' 'posix-user-portability'
'posix-c-development' 'posix-software-development')
pkgdesc="metapackage providing the POSIX shell and utilities (XCU)"
depends=('at' # at batch
         'coreutils' # basename cat chgrp chmod chown cksum comm cp
csplit cut date dd df dirname
                     # du echo env expand expr false fold head id join
ln logname ls mkdir mkfifo
                     # mv nice nohup od paste pathchk pr printf pwd rm
rmdir sleep sort split stty
                     # tail tee test touch tr true tsort tty uname
unexpand uniq unlink wc who
         'diffutils' # cmp diff
         'cronie' # crontab
         'findutils' # find xargs
         'glibc' # gencat getconf iconv locale localedef
         'util-linux' # kill logger mesg newgrp renice write
         'cups' # lp -- sorry!
         's-nail' # mailx
         'man-db' # man
         'procps-ng' # ps
         'binutils' # strings
         'ncurses' # tabs tput
         # 'time' # is a shell builtin too
         'sharutils' # uudecode uuencode

package_posix() {

package_posix-xsi() {
    pkgdesc+=": X/Open System Interfaces"
             'util-linux' # cal ipcrm ipcs kill
             'ncompress' # compress
             'coreutils' # df link nl od
             'psmisc' # fuser
             'procps-ng' # ps
             'ncurses' # tabs
             'gzip' # uncompress (but not compress...) zcat
             'uucp' # uucp uustat uux
             # missing: cflow cxref
             # missing SCCS: admin delta get prs rmdel sact sccs unget
val what

package_posix-user-portability() {
    pkgdesc+=": User Portability Utilities"
             'vi' # ex vi
             'util-linux' # more
             'inetutils' # talk

package_posix-c-development() {
    pkgdesc+=": C-Language Development Utilities"
             'gcc' # c99
             'flex' # lex
             'bison' # yacc

package_posix-software-development() {
    pkgdesc+=": Software Development"
             'binutils' # ar nm strip

# xsi.install
post_install() {
    cat << '__EOF__'
warning: XSI compliance is not 100% complete, not all tools are packaged.
         - The SCCS development tools are not available, but may be obtained
           from the AUR in the event you believe anyone still uses it.
         - The cflow package can likewise be obtained from the AUR.
         - A cxref package may need to be created, if there are interested

Eli Schwartz
Bug Wrangler and Trusted User

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 1601 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/arch-dev-public/attachments/20200102/aa65e52e/attachment.sig>

More information about the arch-dev-public mailing list