FS#62870 - [makepkg] does not update tags in src/ folder checkout
Attached to Project:
Pacman
Opened by Donald Webster (fryfrog) - Monday, 10 June 2019, 21:55 GMT
Last edited by Allan McRae (Allan) - Friday, 11 October 2019, 10:26 GMT
Opened by Donald Webster (fryfrog) - Monday, 10 June 2019, 21:55 GMT
Last edited by Allan McRae (Allan) - Friday, 11 October 2019, 10:26 GMT
|
Details
Description:
Working with the `linux` package as acquired via `asp` in this example. The initial `makepkg` will checkout a bare git repo in the `./` of the package, then an actual git repo is created in `./src`. The build works. But when a newer kernel is released, the `makepkg` does *not* get new tags in the git repo in `./src`. In the example pastebin, you can see the bare repo is up to date and so `git fetch -v` reflects that. But in the checkout in `./src`, `git fetch -v` doesn't fetch tags, but `git fetch -v -t` does *and* gets the new tag. http://sprunge.us/idAxAT Steps to reproduce: Checkout `linux` package Wait until a new kernel releases Update it via `asp update` Try to run `makepkg` for the new kernel |
This task depends upon
Okay, so apparently the archlinux-linux repository has a detached tag, which, since it doesn't exist on any branch at all, will never be fetched (although it will be cloned). Honestly, this is entirely unexpected behavior and repositories that hide their hidden orphaned tags are going to be confusing more than just makepkg. :(
0 ✓ fryfrog@apollo ~/asp/linux/repos/core-x86_64/archlinux-linux $[master] cat config
[core]
repositoryformatversion = 0
filemode = true
bare = true
[remote "origin"]
url = https://git.archlinux.org/linux.git
fetch = +refs/*:refs/*
mirror = true
0 ✓ fryfrog@apollo ~/asp/linux/repos/core-x86_64/src/archlinux-linux $[makepkg*] cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = /home/fryfrog/asp/linux/repos/core-x86_64/archlinux-linux
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
This would also be an issue, for example, when using a commit sha1 if the branch it came from is deleted from the standard refs.
... I'm unaware of any package this issue has ever affected other than core/linux. But I could say the same about other makepkg issues too.