From 71cf0662e2708a1d55206343cafb2326bc1606f0 Mon Sep 17 00:00:00 2001 From: Ben Kero Date: Fri, 18 Mar 2016 11:06:08 -0700 Subject: [PATCH] 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 --- elements/posix/README.rst | 14 ++ elements/posix/element-deps | 1 + elements/posix/package-installs.yaml | 160 +++++++++++++ elements/posix/pkg-map | 328 +++++++++++++++++++++++++++ 4 files changed, 503 insertions(+) create mode 100644 elements/posix/README.rst create mode 100644 elements/posix/element-deps create mode 100644 elements/posix/package-installs.yaml create mode 100644 elements/posix/pkg-map diff --git a/elements/posix/README.rst b/elements/posix/README.rst new file mode 100644 index 00000000..23e9f6e0 --- /dev/null +++ b/elements/posix/README.rst @@ -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. diff --git a/elements/posix/element-deps b/elements/posix/element-deps new file mode 100644 index 00000000..7076aba9 --- /dev/null +++ b/elements/posix/element-deps @@ -0,0 +1 @@ +package-installs diff --git a/elements/posix/package-installs.yaml b/elements/posix/package-installs.yaml new file mode 100644 index 00000000..3e156472 --- /dev/null +++ b/elements/posix/package-installs.yaml @@ -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": diff --git a/elements/posix/pkg-map b/elements/posix/pkg-map new file mode 100644 index 00000000..07b0862c --- /dev/null +++ b/elements/posix/pkg-map @@ -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" + } + } +}