@jamesan: Ok, that's done. I'll do a similar change in Darling PKGBUILD too. Thank you.
Search Criteria
Package Base Details: darling-git
Git Clone URL: | https://aur.archlinux.org/darling-git.git (read-only, click to copy) |
---|---|
Keywords: | Darwin Emulator macOS OSX Wine |
Submitter: | Xorg |
Maintainer: | jamesbrink |
Last Packager: | jamesbrink |
Votes: | 34 |
Popularity: | 0.001100 |
First Submitted: | 2013-06-29 15:19 |
Last Updated: | 2020-07-26 04:35 |
Packages (2)
Xorg commented on 2016-05-04 17:12
jamesan commented on 2016-05-04 06:24
The version string doesn't follow the VCS package guidelines. For git repos that have "no tags then use number of revisions since beginning of the history" followed by the abbreviated hash commit name with the format:
rREVISION.HASH (i.e. "r23.4036a2b" given the current package version).
Just as the REVISION count only counts revisions that involve the "src/lkm" path of the source, the HASH value should refer not necessarily to the current HEAD commit but rather to the last commit that involved changes under the "src/lkm" path. The prevents unnecessary package upgrades due to version string changes resulting from a commit made upstream that doesn't affect anything under the "src/lkm" path, as the HASH (and version string) should remain unchanged until a commit is made affect code under that path.
This can be done by replacing the latter git-rev-parse command with git-rev-list like so:
git rev-list --abbrev-commit --max-count=1 HEAD -- "src/lkm"
That fetches abbreivated hash of the one commit closest to HEAD under the "src/lkm" path. Putting it all together and adopting the guideline's example use of printf instead of echo, the one pkgver() line (#22) deriving the version string can be:
printf "r%s.%s" "$(git rev-list --count HEAD -- "src/lkm")" "$(git rev-list --abbrev-commit --max-count=1 HEAD -- "src/lkm")"
You can find this all nicely packaged as a patch file here: http://pastebin.com/w46cs7yF
Reference:
https://wiki.archlinux.org/index.php/VCS_package_guidelines#The_pkgver.28.29_function
Xorg commented on 2016-03-28 18:32
@wenLiangcan: Ok, it's done. Thank.
wenLiangcan commented on 2016-03-28 07:52
I think darling-mach-dkms-git should be declared providing darling-mach-git
Xorg commented on 2016-03-27 10:11
I've split this package, you can now install DKMS version to avoid to reinstall darling-mach-git after each kernel update.
Xorg commented on 2016-03-13 17:32
@tgc: added as makedepends, thank.
atondwal commented on 2016-03-13 03:18
FYI, the last commit before the build broke is a89561d6d62dd8c02972bb469f4311e6e58da05f
tgc commented on 2016-03-10 12:07
@Xorg: thx for updating this PKGBUILD. Another issue I ran into: gcc-multilib must be installed to get stuff building.
Xorg commented on 2016-03-03 17:24
@tgc: my bad, I'm very surprised, I don't know why I forget to add this makedep. Added, thanks.
@ikhthiandor: I don't have this issue. Did you try with options=('!buildflags')?
ikhthiandor commented on 2016-03-03 14:46
Build failed. This is the tail of the outuput.
https://gist.github.com/ikhthiandor/c211ca8240cec64838d0#file-darling_build_output-txt
Pinned Comments
jamesbrink commented on 2019-07-10 02:27
Please use this package for stable more reliable builds
https://aur.archlinux.org/packages/darling/
This one is identical but locked in on a last known working git ref and I will update as often as I can.
I have also raised an issue about versioning so maybe we can get some kind of tags for future versions and stable working builds
https://github.com/darlinghq/darling/issues/537