| doc | ||
| ebuild | ||
| po | ||
| .dir-locals.el | ||
| .gitignore | ||
| configure.ac | ||
| COPYING | ||
| Makefile.am | ||
| NEWS | ||
| README.org | ||
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.scmThe definition for the pkg./autogen/<category>/<pkg>/<pkg>.tmplThe template for the pkg./autogen/repo-local/settings.scmThe 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.scmdoes not exist orsetup-packagesis not defined in it, thesetup-pkgfunction in the module(ebuild repo)will be called to setup the package folder and symbolic links. - If
get-releasesexist inautogen.scmit will be called and should return the list with all the releases otherwise an empty list will be used. - If
generate-ebuildsexist inautogen.scmit will be called to generate the ebuild's, if notebuild-genwill 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.