summaryrefslogtreecommitdiff
path: root/src/commitpkg.in
AgeCommit message (Collapse)Author
2024-01-10feat(util): parallelize srcinfo generationLevente Polyak
Heavily improve the runtime of huge split packages, by creating an own parallelized high level implementation of the makepkg low level building blocks for srcinfo generation. This reduces the runtine to generate the srcinfo file for thunderbird from 24 seconds down to 1 second.
2023-12-19feat(configure): ship default ignore via excludeLevente Polyak
BREAKING CHANGE: Increments the repo spec version which requires to reconfigure all existing packaging repo clones. Fixes #129 Component: pkgctl repo configure Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2023-12-03fix(commitpkg): prefer core.editor over $EDITOR and $VISUALChristian Heusel
This is done to closer mimick the behaviour of git here, as it prefers core.editor setting over the other editor options as per git-var(1): > The order of preference is the $GIT_EDITOR environment variable, then > core.editor configuration, then $VISUAL, then $EDITOR, and then the > default chosen at compile time, which is usually vi. Fixes #192 Signed-off-by: Christian Heusel <christian@heusel.eu>
2023-09-04feat(release): always generate a .SRCINFO file on releaseJelle van der Waa
When releasing a package always generate a .SRCINFO file so we can build tooling based upon these files instead of having to parse bash in a non-bash language. Some tests have shown around 30 seconds or generating the metadata on packages like thunderbird. The implementation in makepkg becomes semi slow for some split packages that provide a huge number of individual packages, but it seems reasonably fast so we can instead have a uniform state of always providing .SRCINFO files. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2023-06-17fix(commitpkg): ensure the PKGBUILD is version controlledChristian Heusel
Early exit in case the PKGBUILD is not yet properly under version control, which can happen for freshly initialized repositories. Furthermore print an appropriate error message including a hint how to resolve this. Fixes #154 Fixes #167 Signed-off-by: Christian Heusel <christian@heusel.eu> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2023-05-27fix(commitpkg): only force existing files to be under version controlLevente Polyak
Before porting commitpkg to Git, the code has checked the SVN status for none commited files. During the port this has changed by straight checking for any passed files if they were under version control or not. In general the whole logic is very brittle as variables are searched by regex and directly passed to eval while ignoring any function scoping. This leads to missing files when they reference the $pkgname inside a package function but also provide wrong ones when eval simply returns the first $pkgname while ignoring and function scopes. In the future this should completely be replaces by .SRCINFO processing. Fixes #145 Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2023-05-23feature(commitpkg): auto generate .SRCINFO if presentMorten Linderud
This currently makes .SRCINFO files opt-in and helps to keep the file up to date if already present. Signed-off-by: Morten Linderud <foxboron@archlinux.org>
2023-05-23fix(commitpkg): reliably check tree status regardless of configurationJan Alexander Steffens (heftig)
Check git status --porcelain, not --short. `--short` is influenced by user configuration like `status.branch` making it non-empty even on a clean tree. Use `--porcelain` to avoid this.
2023-05-20edit: improve editor presence checkingCampbell Jones
Adds a check for the configured Git editor (git config core.editor) in both commitpkg and build.sh. Additionally, instead of blindly executing vi when all other options are exhausted, remove it instead as it is a none standard installed editor anyway. Closes #106 Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2023-05-20commitpkg: error out if the repo is not configured to latest specsLevente Polyak
This ensures the repository we try to commit and release from uses the latest distro specs for its local git config. The check errors out early before touching anything and prints a recommendation how to update the repo. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2023-05-20commitpkg: print deprecation warning when executed directlyLevente Polyak
2023-05-19commitpkg: add exported pgp keys with gitLevente Polyak
2023-05-19src: modularize repo layout into a libraryLevente Polyak
This will greatly help us to structure the functionality and commands in a more sane way. We will distribute the sources as actual libraries and reuse code with imports instead of processing everything with m4 and duplicating a lot of code.
2023-05-19commitpkg: use library location for common server and remote propertiesLevente Polyak
It makes a lot of sense to have them in a central place that can be swapped and also re-used across different execution units. Hence lets move the repos.archlinux.org host to lib/common.sh Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2023-03-19commitpkg: omit pkgbase in commit msg as git repos are per pkgbaseLevente Polyak
2023-03-19commitpkg: ensure we always stage and rm filesMorten Linderud
Signed-off-by: Morten Linderud <foxboron@archlinux.org>
2023-03-19commitpkg: ensure we always use the main branchMorten Linderud
Signed-off-by: Morten Linderud <foxboron@archlinux.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2023-03-19git: first iteration of git supportMorten Linderud
Signed-off-by: Morten Linderud <foxboron@archlinux.org> Adjusted-by: Levente Polyak <anthraxx@archlinux.org>
2023-03-19commitpkg: disallow weak hashing algorithmsJelle van der Waa
Do not allow uploads of source=() with only weak cryptographic hashing algorithms but require at least one strong algorithm. This doesn't 100% enforce it ofcourse, but it allows for an early failure instead of failing in `db-update`. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2023-01-17commitpkg: abort execution if msg file editor exits none-successfullyLevente Polyak
Previously the script execution did not abort if the msg file editor exited none-successfully leading to undesired commits with a potentially unfinished message. Instead abort the commit if the msg file editor is deliberately terminated with a failure code. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2023-01-17commitpkg: properly cleanup commit msg file on abortLevente Polyak
Use the workdir location which gets cleaned up automatically. Previously this was leaking tmpfiles if the commitpkg command got aborted after file creation. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-06-22cleanup: move PKGBUILD.proto to contrib folderLevente Polyak
2022-06-22make: split out source files into src folderLevente Polyak