Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-08-10Revert "some temporary patching for [staging] and [testing] repos"Erich Eckner
This reverts commit d3d19c4fbb0fc632624d3625d5db322500a1fe8b. [staging] and [testing] are empty now
2024-08-09Makefile: remove version stuff from upstreamErich Eckner
2024-04-21merged with upstreamAndreas Baumann
2024-03-23test: add basic bats setup and test cases for `version setup`Levente Polyak
Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-03-23fix(version): do not prompt for input on terminal during checkLevente Polyak
In certain scenarios, like when an URL is checked that asks for credentials or other kind of input, the process blocks and waits for stdin input. This isn't particularly useful during scripted execution and in our cases also just an indicator for like a none existing GitHub repository. To avoid this situation, disable git terminal prompts. Component: pkgctl version check Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-03-23feat(version): add command to automatically detect and setup nvcheckerJelle van der Waa
Introduce a new version subcommand `setup` which does a best effort to generate the most minimal required .nvchecker.toml file for specific sources. It supports a wide range of common sources like: - Git, GitHub, GitLab, Hackage, NPM, PyPI, RubyGems, CPAN, crates.io The creation logic is based on matching a domain for a source which is something predictable and then simply passes an array of the url parts for every source creator to extract the useful bits out of the url array. Component: pkgctl version setup Co-authored-by: Levente Polyak <anthraxx@archlinux.org> Signed-off-by: Jelle van der Waa <jelle@archlinux.org>
2024-03-15src/makechrootpkg: Ensure git doesn't ask for credentialsTasos Sahanidis
2024-03-09doc(man): fix cut off page names by switching to modern asciidoctorLevente Polyak
Asciidoc is the old reference implementation in Python, which has some shortcoming. Specifically we are hitting cut off page names for long subcommands. Fix this by switching to a more modern implementation named asciidoctor. During the migration, get rid of the explicit asciidoc.conf file that was required to define a linkman macro, which is now supported out of the box. Fixes #170 Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-03-09fix(drop-from-repo): avoid Git trying to push tags to the AURCaleb Maclennan
If users have enabled push.followTags in their Git config then dropping packages to the AUR spews errors because all the release tags from official repos are rejected by AUR repos.
2024-03-09fix(pkgctl): skip path arguments that are not directoriesMorten Linderud
Several subcommands accept multiple paths in a way that passing a wildcard is an expected use case. Previously this wasn't possible if the main directory contained any text files or scripts. Fix this by skipping none directory paths for such commands. Component: pkgctl Signed-off-by: Morten Linderud <foxboron@archlinux.org>
2024-03-08added more arch32 specific PKGBUILD patchingAndreas Baumann
2024-03-08disable parallel builds in MakefileAndreas Baumann
2024-03-08merged with upstream changesAndreas Baumann
2024-03-01Run makepkg with CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparseTasos Sahanidis
2024-03-01Revert "Preserve CARGO_REGISTRIES_CRATES_IO_PROTOCOL"Tasos Sahanidis
This reverts commit 8b8460731ddff4e6f6c3c9783770bdef04aa7b23.
2024-03-01Remove duplicate line added by accidentTasos Sahanidis
2024-03-01Preserve CARGO_REGISTRIES_CRATES_IO_PROTOCOLTasos Sahanidis
2024-02-29fix(completion): allow multi opts more than once in zshLevente Polyak
Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-02-29feat(makepkg.conf): Add no-omit-frame-pointer flags by defaultFrederik “Freso” S. Olesen
RFC-26 proposes to add -fno-omit-frame-pointer and -mno-omit-leaf-frame-pointer to the default compilation flags to improve the effectiveness of profiling and debugging tools. See https://rfc.archlinux.page/0026-fno-omit-frame-pointer/
2024-02-29fix(drop-from-repo): avoid error when updating remote headLevente Polyak
We can only update the local ref to the remote head from main to master once we have actually pushed the master branch to the remote. If we do this too early, the call will simply error out. Instead, only update the local head for the configured remote after we have successfully renamed the branch and pushed it to the AUR. Fixes #212 Component: pkgctl aur drop-from-repo Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-02-15feat(offload-build): use rsync instead of scpOrhun Parmaksız
This commit simply replaces the usage of `scp` with `rsync` for faster file transfer. Signed-off-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-02-14feat(makepkg.conf): Increase _FORTIFY_SOURCE level to 3kpcyrd
RFC: https://rfc.archlinux.page/0017-increase-fortification-level/
2024-02-14chore(release): version v1.1.1Levente Polyak
2024-02-14fix(common): ensure TERM is always set with a fallback to dumbLevente Polyak
This avoids some corner cases that some applications behave ill when TERM is completely unset. Instead, ensure we set TERM to dumb as a fallback, which should serve better than not having any term defined. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-02-14feat(offload-build): preserve the TERM variableChristian Heusel
Signed-off-by: Christian Heusel <christian@heusel.eu>
2024-02-14fix(common): check before using tput with a fallback for colorsChristian Heusel
The latest release of devtools has included some pretty printing capabilities and fancy terminal stuff with the spinner and so on. It seems like the existing safeguards to disable this for incapable terminals were not enough though, therefore we saw two types of errors: - offload-build: ``` ==> Building in chroot for [extra] (x86_64)... tput: unknown terminal "unknown" tput: unknown terminal "unknown" tput: unknown terminal "unknown" ``` - repro builders: ``` ==> Successfully switched <package> to version <version> tput: No value for $TERM and no -T specified ERROR: Failed checkout <package> ``` The recently included fail option made this error populate to the command level and therefore increased its impact from a not so nice logging message to a more severe problem which made the command abort. We fix this by checking if tput is supported or else use the raw escape sequences instead of tput commands. Fixes: fedfc80 ("feat(term): add terminal utils to handle a dynamic spinner") Fixes: 66e83c9 ("feat(version): pretty print and group together version check results") Fixes: d0dc0e1 ("feat(search): add optional plain output formatting") Signed-off-by: Christian Heusel <christian@heusel.eu>
2024-02-11fix(build): explicitly add --nosign when building a srcpkgJakub Klinkovský
We should explicitly instruct makepkg to not sign the source package, even when the BUILDENV array in makepkg.conf contains 'sign'. The devtools workflow is to always sign separately from building, which is different from makepkg and it should not depend on its configuration. Furthermore, this function is currently used only in offload-build to collect sources that are transferred to the server before the build itself. Signing this source package does not provide any benefits.
2024-02-10doc: add pacman-contrib to optdeps in the READMEChristian Heusel
We are depending on updpkgsums for the --update-checksums option used in pkgctl build. Document this requirement. Signed-off-by: Christian Heusel <christian@heusel.eu>
2024-02-09fix(build): forward target repo options to the release subcommandLevente Polyak
The adequate target repo options are not appropriately forwarded to the release subcommand if the auto-release options is activated. Previously we did not restrict the --repo option, which the build option has used as a shortcut. Since last release, this option is restricted to new packages that are not in any official repository yet. Fix this issue by forwarding the same target repo options that have been used during the build command and not forcefully the --repo options. Fixes #209 Component: pkgctl build Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-02-09added a build-support-manualAndreas Baumann
2024-02-08fix(build): avoid trying to download none existing debug packagesLevente Polyak
Since last release, offload building now has proper error handling enabled. This unfortunately lead to a regression for packages, like any packages, where makepkg claims debug packages are available during --packagelist while none were actually built. This leads to the scp command failing when trying to download the none existing packages which ultimately leads to a termination of the build script. Fix this by filtering out package files that do not exist before trying to download them. Fixes #208 Component: pkgctl build Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-02-08doc: add curl to the dependencies in the READMEChristian Heusel
We use curl all over pkgctl, i.e. to do the Gitlab API calls. Signed-off-by: Christian Heusel <christian@heusel.eu>
2024-02-08chore(release): version v1.1.0Christian Heusel
2024-02-08fix(build): allow unstable repositories to override repo targetLevente Polyak
This works around the fact that we are currently not auto detecting unstable repository targets while providing a stability layer option on the subcommand. Soften the --repo option rules by allowing unstable repositories to use that flag for building and releasing against the unstable repositories. This will be replaced in the near future by proper integration of target repository auto-detection that in aware of unstable repositories while providing a unstable stability layer options. Component: pkgctl build Component: pkgctl release Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-02-08feat(build): consolidate repo flags in build and release subcommandLevente Polyak
Previously the behavior was inconsistent and not fully fulfilling its purpose of only using --repo once when initially pushing a new and unknown package to the official repositories. Consolidate the behavior by only allowing to use --repo during the initial packaging and disallow any subsequent usage. The expected user experience is to subsequently use --testing or --staging to influence the auto-detection of the build target. This avoids any kind of human error which leads to releasing core packages to extra-testing by accident. Furthermore, allow the build subcommand to automatically fallback to extra as the default stable repository target which greatly improves the usability for AUR or local override builds. Fixes #193 Fixes #191 Component: pkgctl build Component: pkgctl release Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-02-06feat(build): allow to test-install the built packagesChristian Heusel
This change introduces the new --install-to-host flag to pkgctl build, which can be used with one of the modes 'all' or 'auto'. Depending on the mode either all or just already installed packages are installed to the host system. BREAKING CHANGE: the --install flag is renamed to --install-to-chroot to avoid confusion with the newly introduced flag. Component: pkgctl build Signed-off-by: Christian Heusel <christian@heusel.eu> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-02-06feat(search): add status spinner to long running GitLab callsLevente Polyak
This helps people to be slightly more patient as the progress status update includes the current percentage. Component: pkgctl search Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-02-05fix(doc): Correct typo in version check error messageCarl Smedstad
Change 'none pkgbase' to 'non-pkgbase' as the sentence refers sections that are not the pkgbase section, rather than an empty pkgbase section or something of that sort that could be misconstrued by using the word 'none'. Component: pkgctl version check
2024-02-05fix(version): Handle pkgbase with '.' correctlyCarl Smedstad
For pkgbases with '.' in the name, the TOML-section must be wrapped in double quotes in order for it not to be parsed as a supersection and a subsection. This case was not properly handled by checks for if the TOML-file contains a pkgbase section, and for if the TOML-file contains superfluous sections. Address this by handling optional double quotes in the greps related to said checks. This was discovered in the AUR package ruby-cool.io and the issue can be reproduced with the following minimal PKGBUILD and .nvchecker.toml file: $ cat PKGBUILD pkgname=ruby-cool.io pkgver=1.8.0 $ cat .nvchecker.toml ["ruby-cool.io"] source = "gems" gems = "cool.io" Before the fix: $ pkgctl version check Failure x ruby-cool.io: missing pkgbase section in .nvchecker.toml: ruby-cool.io After the fix: $ pkgctl version check GEN lib/version/check.sh Out-of-date ✓ ruby-cool.io: current version 1.8.0 is latest Component: pkgctl version check
2024-02-05fix(version): fix typo never should be newerJelle van der Waa
Component: pkgctl version check Component: pkgctl version update
2024-01-22doc(version): extensively revamp documentation for version subcommandsLevente Polyak
Enhanced and overhauled the documentation for the 'version' subcommand. The improvements include comprehensive details on the subcommand's behavior, usage, and a variety of scenarios it handles. Added a central section within the pkgctl-version manpage that documents the nvchecker configuration and rules. Component: pkgctl version Singled-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-01-22feat(version): use exit code for check to indicate out-of-date versionsLevente Polyak
It can be handy to have an exit code that allows better status indication or chaining. On exit, return one of the following codes: - 0: Normal exit condition, all checked versions are up-to-date - 1: Unknown cause of failure - 2: Normal exit condition, but there are out-of-date versions - 3: Failed to run some version checks Component: pkgctl version check Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-01-22feat(version): add verbose option to display up-to-date versionsLevente Polyak
Sometimes it can be desired to get a results for each entry even if the current version is up-to-date. Add a --verbose option to print this optional detail. Component: pkgctl version check Component: pkgctl version upgrade Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-01-22feat(version): add spinner while checking upstream versionsLevente Polyak
It may take quite some time to check a lot of upstream versions. However, we still want to nicely group the results together. To avoid just showing a static status message it makes much more sense to show a dynamic spinner with a summary of the progress. Component: pkgctl version check Component: pkgctl version upgrade Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-01-22feat(term): add terminal utils to handle a dynamic spinnerLevente Polyak
The spinner uses a status file that can be used to dynamically update the message. The spinner itself buffers the output in a frame buffer variable before flushing a frame in one go. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-01-21feat(version): pretty print and group together version check resultsLevente Polyak
Collect all check results in arrays and pretty print the results after grouping them together based on out-of-date, up-to-date and failures. Print a summary that shows a brief statistic about the results when processing multiple check items. Component: pkgctl version check Component: pkgctl version upgrade Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-01-21feat(version): support nvchecker keyfile from user config homeLevente Polyak
This adds support for global keyfile from the user config home XDG_CONFIG_HOME which allows to set tokens for GitHub and GitLab for certain nvchecker configuration. When ~/.config/nvchecker/keyfile.toml exists, it will automatically be appended as keyfile of the local .nvchecker.toml file. Component: pkgctl version check Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-01-21fix(version): add error handling to version check subcommandLevente Polyak
Add defensive programming to the execution chain of the version check subcommand for graceful error handling of subprocesses as well as errors returned from nvchecker itself indicated in the returned JSON. Furthermore this fixes a bug when processing multiple packages where the pkgbase variable is stuck for subsequent packages that do not declare a pkgbase variable itself. Component: pkgctl version check Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-01-21feat(upgrade): introduce the version upgrade subcommandChristian Heusel
This subcommand applies the detected upstream version upgrades to a PKGBUILD. Component: pkgctl version upgrade Co-authored-by: Levente Polyak <anthraxx@archlinux.org> Signed-off-by: Christian Heusel <christian@heusel.eu>
2024-01-21chore(check): factor out function to get upstream versionChristian Heusel
Component: pkgctl version check Signed-off-by: Christian Heusel <christian@heusel.eu>