Closed matta closed 4 months ago
- Figuring out where "DEV de41ea4" version came from, and whether that is appropriate.
This is the declared version (in the main elisp file for flymake-easy) followed by the git commit. "DEV" is not a valid value for the package Version header according to the Emacs manual section on packaging basics:
Version
A version number, in a form that the function version-to-list understands (e.g., ‘11.86’). Each release of a package should be accompanied by an increase in the version number so that it will be recognized as an upgrade by users querying the package archive.)
That's a bug in flymake-easy as far as I'm concerned. Worth reporting, though I wouldn't be surprised if the author is aware of this since it won't trip up ELPA tarball building machinery (DEV will be replaced by the ELPA machinery with a real version), but will any source-based package manager (straight.el if it is enhanced to check package versions; Elpaca as you've seen here).
- Making it clearer to me, as a naive new Elpaca user, how to diagnose and address this problem. At the moment, I can't come up with a workaround on my own.
A good place to start is searching this issue tracker for similar errors to the one you're seeing in Elpaca's log. e.g. "invalid version syntax" returns this issue. My comment there should apply in this case as well:
https://github.com/progfolio/elpaca/issues/310#issuecomment-2144155650
The wiki is also a good place to look. I don't have anything for that particular error, but there is more general section on unmet dependency versions here:
https://github.com/progfolio/elpaca/wiki/Warnings-and-Errors#unmet-dependency-version
Does that help?
"DEV" is not a valid value for the package Version header according to the Emacs manual section on packaging basics:
I could see an argument that there is no requirement that the package headers must adhere to any standard, or even be present at all, in the git repo. The packaging standard governs source code at the point it is uploaded to a package repository, i.e. at the point of release. In this sense, Elpaca is ascribing a more stringent requirement than the Emacs packaging requirements do, by requiring valid packaging headers at every revision, in source control, not just the explicitly tagged releases.
In any case, this is a tough problem to solve, and the workaround you pointed me to worked just fine. Thanks!
Confirmation
Elpaca Version
Elpaca d45e517 grafted, HEAD -> master, origin/master, origin/HEAD installer: 0.7 emacs-version: GNU Emacs 29.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.42, cairo version 1.18.0) git --version: git version 2.39.2
Operating System
OS: Debian GNU/Linux bookworm 12.5 x86_64 Host: XPS 17 9720 Kernel: Linux 6.1.0-21-amd64 Uptime: 10 days, 4 hours Packages: 3078 (dpkg), 13 (flatpak), 9 (snap), 35 (brew) Shell: zsh 5.9 Display: 3840x2400 @ 60Hz (as 1920x1200) DE: GNOME 43.9 WM: Mutter (Wayland) WM Theme: Adwaita Theme: Adwaita [GTK2/3/4] Icons: Adwaita [GTK2/3/4] Font: Cantarell (11pt) [GTK2/3/4] Cursor: Adwaita (24px) Terminal: .emacs-29.3-wra CPU: 12th Gen Intel(R) Core(TM) i7-12700H (20) @ 4.70 GHz GPU 1: NVIDIA GeForce RTX 3060 Mobile / Max-Q [Discrete] GPU 2: Intel Iris Xe Graphics @ 1.40 GHz [Integrated] Memory: 7.50 GiB / 15.31 GiB (49%) Swap: 2.26 GiB / 16.84 GiB (13%) Disk (/): 290.88 GiB / 898.95 GiB (32%) - ext4 Local IP (wlp0s20f3): 192.168.86.249/24 * Battery: 100% [AC Connected] Locale: en_US.UTF-8
Description
Seems that Elpaca fails to install https://github.com/purcell/flymake-ruby due to an invalid version associated with https://github.com/purcell/flymake-easy. See my current package info for both packages below.
Looking in to why "DEV de41ea4" got installed for flymake-easy, it appears that
de41ea4
is the most recent commit on the repo, but it was a change to the README, so purcell did not tag a new release.In any case, this feels like two possible bugs:
and