2.3 KiB
ebuild-autogen
An application to fetch the latest releases of packages and auto-generate
ebuilds for them according to the autogen.scm
definition and the
<pkg-name>.tmpl
template in a git based portage overlay repository.
License
You can redistribute and/or modify ebuild-autogen under the terms of the GNU
Affero General Public License as published by the Free Software Foundation,
version 3 of the License. Please see COPYING
file for the terms of GNU Affero
General Public License.
Repository structure
/autogen/
the submodule with the autogen sources for the repo./autogen/<category>/<pkg>/autogen.scm
The definition for the pkg./autogen/<category>/<pkg>/<pkg>.tmpl
The template for the pkg./autogen/repo-local/settings.scm
The parameters for the repo.
Repository initial setup
init
First initialize or clone the git repo you want to use for the overlay then:
git submodule add <src_repo_url> autogen
update source subtree
To update the source repo:
git submodule update
example autogen.scm
;; Copyright (C) <year> <author>, distributed under the
;; terms of the GNU Affero General Public License version 3.
(define-module (<category> <pkg-name> autogen))
(define-public setup-package
(lambda (parms)
'()))
(define-public get-releases
(lambda (parms)
'()))
(define-public generate-ebuilds
(lambda (parms releases)
'()))
- If
autogen.scm
does not exist orsetup-packages
is not defined in it, thesetup-pkg
function in the module(ebuild repo)
will be called to setup the package folder and symbolic links. - If
get-releases
exist inautogen.scm
it will be called and should return the list with all the releases otherwise an empty list will be used. - If
generate-ebuilds
exist inautogen.scm
it will be called to generate the ebuild's, if notebuild-gen
will be called from(ebuild gen)
to generate the ebuilds.
execution
The executable is called ebuild-autogen
and will update the ebuilds for all
the packages below the current working directory, so running it within the root
of the repository will update all the packages in the repository.
ebuild-autogen --help
should list all the options.