==ABOUT== g-common is a package which is used to install packages which are not in the ebuild format as described in the Package Manager Specification, using "repository drivers" which read non-ebuild repositories and translate them into PMS-style data. Usage of these drivers is transparent and users shouldn't need to deal with these, except to install them. ==USAGE== If you're using a package manager which has integrated support for g-common, please refer to your package manager's instructions. Package managers known to have g-common integration: - Portage (you can use layman to add repositories) If you're not using such a package manager, create a new local overlay, cd into it and execute: # g-common . sync where: - . is the current directory - is the name of the driver used to sync the repository - is the uri to the repository you'd like to sync Now you can generate an ebuild tree using: # g-common . generate-tree ==DEVELOPMENT OF G-COMMON REPOSITORY DRIVERS== g-common drivers are executables called as the following system call: # [arguments ...] where: - is the driver's executable's name - is the location where the driver can store data in a dot-prepended directory as needed - is the action g-common wishes the driver to execute - [arguments ...] is an optional list of arguments Requiredly supported actions are: - sync : download new data from the remote repository - generate-metadata : generate any PMS-style files from the previously downloaded files before ebuilds are written by g-common - list-packages : list all packages in a / format (one package per line) - list-categories : lists all the names of categories, one per line - package / : return a key=value list of settings for some package, no quotes, to be parsed by "export" line by line - any PMS-supported phase (src_prepare, pkg_unpack, pkg_postinst, etc..) : executes whatever needs to happen in that PMS phase. The environment variables are filled according with the package that's being built. Nonzero return code results in a die of the ebuild