FS#72167 - [makepkg] ~/.gitconfig affects git actions during package build
Attached to Project:
Pacman
Opened by Pekka Ristola (pekkarr) - Saturday, 18 September 2021, 13:45 GMT
Last edited by Toolybird (Toolybird) - Tuesday, 08 August 2023, 23:14 GMT
Opened by Pekka Ristola (pekkarr) - Saturday, 18 September 2021, 13:45 GMT
Last edited by Toolybird (Toolybird) - Tuesday, 08 August 2023, 23:14 GMT
|
Details
Summary and Info:
User's ~/.gitconfig affects the package build process when git sources are present. In some cases makepkg might fail because of user's incompatible git configuration. This becomes a problem when PKGBUILD has git-lfs repos as sources and user has installed git-lfs filters in their ~/.gitconfig, see [1]. Makepkg should instead work independently of user's git configuration. Tested with pacman 6.0.1-2. Steps to Reproduce: 1. Build the following PKGBUILD, which should work just fine. ``` pkgname=example pkgver=1 pkgrel=1 arch=('any') source=("git+https://github.com/makehumancommunity/makehuman-assets.git") md5sums=('SKIP') ``` 2. Install git-lfs and run `git lfs install` in your home directory to put git-lfs filters in your ~/.gitconfig. 3. Try building the package again with `makepkg -fcC`. This time makepkg fails to checkout the git repo because of git-lfs filters. Output is provided at the end of the report. (git-lfs filters can be removed with `git lfs uninstall`) Solution: Git provides environment variables GIT_CONFIG_GLOBAL and GIT_CONFIG_SYSTEM to set the location of configuration files. Setting these to /dev/null causes git to use the default configuration which resolves the issue. See man page git(1) for details. Links: [1] https://aur.archlinux.org/packages/makehuman/#comment-826488 Output of failed build of the example PKGBUILD: ``` $ makepkg -fcC ==> Making package: example 1-1 (Sat Sep 18 16:04:30 2021) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... -> Updating makehuman-assets git repo... Fetching origin ==> Validating source files with md5sums... makehuman-assets ... Skipped ==> Removing existing $srcdir/ directory... ==> Extracting sources... -> Creating working copy of makehuman-assets git repo... Cloning into 'makehuman-assets'... done. Downloading base/clothes/fedora01/materials/fedora_displacement.png (58 KB) Error downloading object: base/clothes/fedora01/materials/fedora_displacement.png (eee2064): Smudge error: Error downloading base/clothes/fedora01/materials/fedora_displacement.png (eee2064ddeede30f111197d88f3960a56d74cfc81478e8884245d3d5e7485c1b): error transferring "eee2064ddeede30f111197d88f3960a56d74cfc81478e8884245d3d5e7485c1b": [0] remote missing object eee2064ddeede30f111197d88f3960a56d74cfc81478e8884245d3d5e7485c1b Errors logged to /home/user/example/src/makehuman-assets/.git/lfs/logs/20210918T160431.008002783.log Use `git lfs logs last` to view the log. error: external filter 'git-lfs filter-process' failed fatal: base/clothes/fedora01/materials/fedora_displacement.png: smudge filter lfs failed warning: Clone succeeded, but checkout failed. You can inspect what was checked out with 'git status' and retry with 'git restore --source=HEAD :/' ==> ERROR: Failure while creating working copy of makehuman-assets git repo Aborting... ``` |
This task depends upon
Closed by Toolybird (Toolybird)
Tuesday, 08 August 2023, 23:14 GMT
Reason for closing: Not a bug
Additional comments about closing: "See the comment - one should be building in a clean environment."
pacman issues are now at:
https://gitlab.archlinux.org/pacman/pacm an/-/issues
Tuesday, 08 August 2023, 23:14 GMT
Reason for closing: Not a bug
Additional comments about closing: "See the comment - one should be building in a clean environment."
pacman issues are now at:
https://gitlab.archlinux.org/pacman/pacm an/-/issues
"Fixing" this in makepkg is essentially a hack IMHO.