Currently we have all our elements and library files in a top-level directory and install them into <root>/share/diskimage-builder/[elements|lib] (where root is either / or the root of a virtualenv). The problem with this is that editable/development installs (pip -e) do *not* install data_files. Thus we have no canonical location to look for elements -- leading to the various odd things we do such as a whole bunch of guessing at the top of disk-image-create and having a special test-loader in tests/test_elements.py so we can run python unit tests on those elements that have it. data_files is really the wrong thing to use for what are essentially assets of the program. data_files install works well for things like config-files, init.d files or dropping documentation files. By moving the elements under the diskimage_builder package, we always know where they are relative to where we import from. In fact, pkg_resources has an api for this which we wrap in the new diskimage_builder/paths.py helper [1]. We use this helper to find the correct path in the couple of places we need to find the base-elements dir, and for the paths to import the library shell functions. Elements such as svc-map and pkg-map include python unit-tests, which we do not need tests/test_elements.py to special-case load any more. They just get found automatically by the normal subunit loader. I have a follow-on change (I69ca3d26fede0506a6353c077c69f735c8d84d28) to move disk-image-create to a regular python entry-point. Unfortunately, this has to move to work with setuptools. You'd think a symlink under diskimage_builder/[elements|lib] would work, but it doesn't. [1] this API handles stuff like getting files out of .zip archive modules, which we don't do. Essentially for us it's returning __file__. Change-Id: I5e3e3c97f385b1a4ff2031a161a55b231895df5b
		
			
				
	
	
		
			329 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			329 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
{
 | 
						|
  "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"
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 |