ebuild-autogen/README.org
2025-06-30 16:45:00 +02:00

49 lines
2 KiB
Org Mode

* 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 [[https://www.cor.za.net/code/ebuild-autogen][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 subtree 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.
** example
#+begin_src scheme file: 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)
'()))
#+end_src
- If ~autogen.scm~ does not exist or ~setup-packages~ is not defined in it,
the ~setup-pkg~ function in the module ~(ebuild repo)~ will be called to setup
the package folder and symbolic links.
- If ~get-releases~ exist in ~autogen.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 in ~autogen.scm~ it will be called to generate the
ebuild's, if not ~ebuild-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.