Add new posix element.

This element installs package to ensure that the resulting image
provides the binaries outlined in posix specification [1]. This solves
some problems such as cron missing from the ubuntu-minimal images, and
hopefully minimizing the problems from similar problems in the future.

This is the image size difference:

Resulting qcow image sizes:

                Ubuntu      Ubuntu-Minimal    Debian    Centos7
        None    334MB       330MB             352MB     470MB
        Posix   353MB       375MB
        Posix+  354MB       374MB             406MB     471MB

        Posix+ = Posix + gcc + cssc

[1] http://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.html

Change-Id: I2a8f77bf8a0fdb04b328e56425d43a60eb3f7eed
This commit is contained in:
Ben Kero 2016-03-18 11:06:08 -07:00
parent d5d2ad72b8
commit 71cf0662e2
4 changed files with 503 additions and 0 deletions

14
elements/posix/README.rst Normal file
View File

@ -0,0 +1,14 @@
posix
=====
* This element installs packages to ensure that the resulting image has
binaries necessary to meet the requirements of POSIX, laid out in the
following URL:
+ http://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.html
* This has been tested to work on Ubuntu, Debian, and CentOS, although
should work on Red Hat Enterprise Linux.
* To add support for other distros please consult the URL for binaries,
then add the providing packages to pkg-map.

View File

@ -0,0 +1 @@
package-installs

View File

@ -0,0 +1,160 @@
"admin":
"alias":
"ar":
"asa":
"at":
"awk":
"basename":
"batch":
"bc":
"bg":
"c99":
"cal":
"cat":
"cd":
"cflow":
"chgrp":
"chmod":
"chown":
"cksum":
"cmp":
"comm":
"command":
"compress":
"cp":
"crontab":
"csplit":
"ctags":
"cut":
"cxref":
"date":
"dd":
"delta":
"df":
"diff":
"dirname":
"du":
"echo":
"ed":
"env":
"ex":
"expand":
"expr":
"false":
"fc":
"fg":
"file":
"find":
"fold":
"fort77":
"fuser":
"gencat":
"get":
"getconf":
"getopts":
"grep":
"hash":
"head":
"iconv":
"id":
"ipcrm":
"ipcs":
"jobs":
"join":
"kill":
"lex":
"link":
"ln":
"locale":
"localedef":
"logger":
"logname":
"lp":
"ls":
"m4":
"mailx":
"make":
"man":
"mesg":
"mkdir":
"mkfifo":
"more":
"mv":
"newgrp":
"nice":
"nl":
"nm":
"nohup":
"od":
"paste":
"patch":
"pathchk":
"pax":
"pr":
"printf":
"prs":
"ps":
"pwd":
"qalter":
"qdel":
"qhold":
"qmove":
"qmsg":
"qrerun":
"qrls":
"qselect":
"qsig":
"qstat":
"qsub":
"read":
"renice":
"rm":
"rmdel":
"rmdir":
"sact":
"sccs":
"sed":
"sh":
"sleep":
"sort":
"split":
"strings":
"strip":
"stty":
"tabs":
"tail":
"talk":
"tee":
"test":
"time":
"touch":
"tput":
"tr":
"true":
"tsort":
"tty":
"type":
"ulimit":
"umask":
"unalias":
"uname":
"uncompress":
"unexpand":
"unget":
"uniq":
"unlink":
"uucp":
"uudecode":
"uuencode":
"uustat":
"uux":
"val":
"vi":
"wait":
"wc":
"what":
"who":
"write":
"xargs":
"yacc":
"zcat":

328
elements/posix/pkg-map Normal file
View File

@ -0,0 +1,328 @@
{
"family":{
"debian":{
"admin": "",
"alias": "",
"ar": "binutils",
"asa": "",
"at": "at",
"awk": "gawk",
"basename": "coreutils",
"batch": "at",
"bc": "bc",
"bg": "",
"c99": "gcc",
"cal": "bsdmainutils",
"cat": "coreutils",
"cd": "",
"cflow": "cflow",
"chgrp": "coreutils",
"chmod": "coreutils",
"chown": "coreutils",
"cksum": "coreutils",
"cmp": "diffutils",
"comm": "coreutils",
"command": "",
"compress": "ncompress",
"cp": "coreutils",
"crontab": "cron",
"csplit": "coreutils",
"ctags": "exuberant-ctags",
"cut": "coreutils",
"cxref": "cxref",
"date": "coreutils",
"dd": "coreutils",
"delta": "",
"df": "coreutils",
"diff": "diffutils",
"dirname": "coreutils",
"du": "coreutils",
"echo": "coreutils",
"ed": "ed",
"env": "coreutils",
"ex": "vim",
"expand": "coreutils",
"expr": "coreutils",
"false": "coreutils",
"fc": "",
"fg": "",
"file": "file",
"find": "findutils",
"fold": "coreutils",
"fort77": "fort77",
"fuser": "psmisc",
"gencat": "libc-dev-bin",
"get": "",
"getconf": "libc-bin",
"getopts": "",
"grep": "grep",
"hash": "",
"head": "coreutils",
"iconv": "libc-bin",
"id": "coreutils",
"ipcrm": "util-linux",
"ipcs": "util-linux",
"jobs": "",
"join": "coreutils",
"kill": "procps",
"lex": "flex",
"link": "coreutils",
"ln": "coreutils",
"locale": "libc-bin",
"localedef": "libc-bin",
"logger": "bsdutils",
"logname": "coreutils",
"lp": "cups-client",
"ls": "coreutils",
"m4": "m4",
"mailx": "mailutils",
"make": "make",
"man": "man-db",
"mesg": "sysvinit-utils",
"mkdir": "coreutils",
"mkfifo": "coreutils",
"more": "util-linux",
"mv": "coreutils",
"newgrp": "login",
"nice": "coreutils",
"nl": "coreutils",
"nm": "binutils",
"nohup": "coreutils",
"od": "coreutils",
"paste": "coreutils",
"patch": "patch",
"pathchk": "coreutils",
"pax": "pax",
"pr": "coreutils",
"printf": "coreutils",
"prs": "",
"ps": "procps",
"pwd": "coreutils",
"qalter": "",
"qdel": "",
"qhold": "",
"qmove": "",
"qmsg": "",
"qrerun": "",
"qrls": "",
"qselect": "",
"qsig": "",
"qstat": "",
"qsub": "",
"read": "",
"renice": "bsdutils",
"rm": "coreutils",
"rmdel": "cssc",
"rmdir": "coreutils",
"sact": "cssc",
"sccs": "cssc",
"sed": "sed",
"sh": "dash",
"sleep": "coreutils",
"sort": "coreutils",
"split": "coreutils",
"strings": "binutils",
"strip": "binutils",
"stty": "coreutils",
"tabs": "ncurses-bin",
"tail": "coreutils",
"talk": "talk",
"tee": "coreutils",
"test": "coreutils",
"time": "",
"touch": "coreutils",
"tput": "ncurses-bin",
"tr": "coreutils",
"true": "coreutils",
"tsort": "coreutils",
"tty": "coreutils",
"type": "",
"ulimit": "",
"umask": "",
"unalias": "",
"uname": "coreutils",
"uncompress": "gzip",
"unexpand": "coreutils",
"unget": "",
"uniq": "coreutils",
"unlink": "coreutils",
"uucp": "uucp",
"uudecode": "sharutils",
"uuencode": "sharutils",
"uustat": "uucp",
"uux": "uucp",
"val": "",
"vi": "vim",
"wait": "",
"wc": "coreutils",
"what": "",
"who": "coreutils",
"write": "bsdmainutils",
"xargs": "findutils",
"yacc": "bison",
"zcat": "gzip"
},
"redhat":{
"admin": "",
"alias": "bash",
"ar": "binutils",
"asa": "",
"at": "at",
"awk": "gawk",
"basename": "coreutils",
"batch": "at",
"bc": "bc",
"bg": "",
"c99": "gcc",
"cal": "util-linux",
"cat": "coreutils",
"cd": "bash",
"cflow": "",
"chgrp": "coreutils",
"chmod": "coreutils",
"chown": "coreutils",
"cksum": "coreutils",
"cmp": "diffutils",
"comm": "coreutils",
"command": "bash",
"compress": "ncompress",
"cp": "coreutils",
"crontab": "cronie",
"csplit": "coreutils",
"ctags": "ctags",
"cut": "coreutils",
"cxref": "",
"date": "coreutils",
"dd": "coreutils",
"delta": "",
"df": "coreutils",
"diff": "diffutils",
"dirname": "coreutils",
"du": "coreutils",
"echo": "coreutils",
"ed": "ed",
"env": "coreutils",
"ex": "vim-minimal",
"expand": "coreutils",
"expr": "coreutils",
"false": "coreutils",
"fc": "",
"fg": "",
"file": "file",
"find": "findutils",
"fold": "coreutils",
"fort77": "",
"fuser": "psmisc",
"gencat": "glibc-common",
"get": "",
"getconf": "glibc-common",
"getopts": "bash",
"grep": "grep",
"hash": "",
"head": "coreutils",
"iconv": "glibc-common",
"id": "coreutils",
"ipcrm": "util-linux",
"ipcs": "util-linux",
"jobs": "bash",
"join": "coreutils",
"kill": "util-linux",
"lex": "flex",
"link": "coreutils",
"ln": "coreutils",
"locale": "glibc-common",
"localedef": "",
"logger": "util-linux",
"logname": "coreutils",
"lp": "cups-client",
"ls": "coreutils",
"m4": "m4",
"mailx": "mailx",
"make": "make",
"man": "man-db",
"mesg": "sysvinit-utils",
"mkdir": "coreutils",
"mkfifo": "coreutils",
"more": "util-linux",
"mv": "coreutils",
"newgrp": "shadow-utils",
"nice": "coreutils",
"nl": "coreutils",
"nm": "binutils",
"nohup": "coreutils",
"od": "coreutils",
"paste": "coreutils",
"patch": "patch",
"pathchk": "coreutils",
"pax": "pax",
"pr": "coreutils",
"printf": "coreutils",
"prs": "",
"ps": "procps-ng",
"pwd": "coreutils",
"qalter": "",
"qdel": "",
"qhold": "",
"qmove": "",
"qmsg": "",
"qrerun": "",
"qrls": "",
"qselect": "",
"qsig": "",
"qstat": "",
"qsub": "",
"read": "bash",
"renice": "util-linux",
"rm": "coreutils",
"rmdel": "",
"rmdir": "coreutils",
"sact": "",
"sccs": "",
"sed": "sed",
"sh": "bash",
"sleep": "coreutils",
"sort": "coreutils",
"split": "coreutils",
"strings": "binutils",
"strip": "binutils",
"stty": "coreutils",
"tabs": "ncurses-bin",
"tail": "coreutils",
"talk": "talk",
"tee": "coreutils",
"test": "coreutils",
"time": "",
"touch": "coreutils",
"tput": "ncurses",
"tr": "coreutils",
"true": "coreutils",
"tsort": "coreutils",
"tty": "coreutils",
"type": "",
"ulimit": "",
"umask": "bash",
"unalias": "bash",
"uname": "coreutils",
"uncompress": "ncompress",
"unexpand": "coreutils",
"unget": "",
"uniq": "coreutils",
"unlink": "coreutils",
"uucp": "",
"uudecode": "sharutils",
"uuencode": "sharutils",
"uustat": "",
"uux": "",
"val": "",
"vi": "vim-minimal",
"wait": "bash",
"wc": "coreutils",
"what": "",
"who": "coreutils",
"write": "util-linux",
"xargs": "findutils",
"yacc": "byacc",
"zcat": "gzip"
}
}
}