* 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 ~.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///autogen.scm~ The definition for the pkg. - ~/autogen///.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) , distributed under the ;; terms of the GNU Affero General Public License version 3. (define-module ( 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.