Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/src/lib/build
AgeCommit message (Collapse)Author
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-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-01-21chore(build): factor out functions to modify PKGBUILDsChristian Heusel
Component: pkgctl build Signed-off-by: Christian Heusel <christian@heusel.eu>
2024-01-10fix(build): re-source the PKGBUILD to update changed valuesLevente Polyak
During certain operations like --edit, --pkgver etc the PKGBUILD may change since last sourced. If a modified checksum of the PKGBUILD is detected, re-source it before processing. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2024-01-10feat(build): update srcinfo file after buildLevente Polyak
The srcinfo file is essentially a representation of the current build recipes, hence generate an up to date version by adding it as secondary build artifact to the build process. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
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.
2024-01-05chore(build): use more intuitive update-checksums option for humansLevente Polyak
The philosophy of our CLI is to provide options that better match human expectations in an intuitive way rather than mimic wording of previous tools with abbreviation. Component: pkgctl build Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2023-11-26feat(makechrootpkg): add option to interactively inspect the chrootLevente Polyak
Implement the -x option for makechrootpkg which allows to get an interactive shell in the chroot after building the package. Useful to ease the debugging of a package build. Depending on the argument, the interactive shell is either always spawned or only when an error occurred during build. This option is also forwarded from `pkgctl build` via the `--inspect` flag. Component: pkgctl build Component: makechrootpkg Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2023-11-20feat(build): add --updpkgsums optionChristian Heusel
This is useful so people who update patches etc. can update their checksums on building. The functionality itself was already implemented for --pkgver, but was not available separately. Fixes #168 Component: pkgctl build Signed-off-by: Christian Heusel <christian@heusel.eu>
2023-10-17fix(build): use correct variable to reference available architecturesLevente Polyak
The referenced places were missing in a previous refactoring commit and hence broke the build command in multiple ways. Fixes 0669315821ea0af00fcc2c6271eb474174173e0a
2023-10-14fix(build): allow using --install and --offload simultaneouslyAntonio Rojas
Don't take the full (local) path of the package to install when using --offload. Fixes #194 Component: pkgctl build
2023-10-02chore: refactor loop variable nameChristian Heusel
Component: pkgctl build Signed-off-by: Christian Heusel <christian@heusel.eu>
2023-10-02chore: refactor variable names in valid-{tags,repos}.shChristian Heusel
Even though the variables in these files are globablly used they have a weirdly local sounding name. This commit fixes this by refactoring all usages throughout our codebase. Signed-off-by: Christian Heusel <christian@heusel.eu>
2023-08-27fix(build): installing packages into the chroot fails for relative linksChristian Heusel
As the relative links are relative to the pkgctl invocations PWD and not necessarily relative to the location where makechrootpkg is invoked from this fails unexpectedly. This commit fixes this by just using the full path when passing the location to makechrootpkg. Fixes https://gitlab.archlinux.org/archlinux/devtools/-/issues/181 Signed-off-by: Christian Heusel <christian@heusel.eu>
2023-07-05chore(build): skip invalid architectures on autodetectionChristian Heusel
This is done so that pkgctl can be better used to build aur packages which can have arch=(...) settings for which we do not have a clean chroot builder. Signed-off-by: Christian Heusel <christian@heusel.eu>
2023-06-18chore(doc): fix spelling typo in pkgrel detectionChristian Heusel
Signed-off-by: Christian Heusel <christian@heusel.eu> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2023-05-27chore(build): improve error wording if no package repo could be detectedAntonio Rojas
Not being in any official repo does not necessarily mean this is a new package. One could simply be building an AUR or custom local package. Make the message less confusing in such case.
2023-05-20pkgctl build: support worker slots for none tty buildsLevente Polyak
Allow overriding the worker slot with a dedicated option. Furthermore detect if the current tty is no pts and fall back to choosing a random worker slot between 1 and number of available processing units. Fixes #137 Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2023-05-20build: allow release options only in combination with --releaseChristian Heusel
It leads to weird expectations when using --db-update or --message without --release. Make the behavior more user friendly, by aborting the operation and explaining that release options only work in conjunction with the release option. Fixes #131 Signed-off-by: Christian Heusel <christian@heusel.eu>
2023-05-20build: support nocheck for initial bootstrap buildsLevente Polyak
Output a warning when this option is used to remind packagers to rebuild the packages with checks once the bootstrap cycle has been completed.
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-20build: command to build packages inside a clean chrootLevente Polyak