e16keyedit version mismatch #4

Closed
opened 2022-11-06 05:27:16 -08:00 by triantares · 7 comments

e16keyedit will not start on e16-data 1.0.26 (it worked on 1.0.24) with version mismatch.

~ ❯❯❯ e16keyedit
Sorry, e16 version >= 1.0.1 is required.
~ ❯❯❯

e16keyedit will not start on e16-data 1.0.26 (it worked on 1.0.24) with version mismatch. ~ ❯❯❯ e16keyedit Sorry, e16 version >= 1.0.1 is required. ~ ❯❯❯
Owner

Peculiar. Works fine for me.
Things in this area shouldn't have changed in ages.

  • What does "eesh ver" say?
  • Which e16-keyedit version do you use?
Peculiar. Works fine for me. Things in this area shouldn't have changed in ages. - What does "eesh ver" say? - Which e16-keyedit version do you use?
Author

Ah sorry, I should've mentionned the e16keyedit version but considered it known as it's part of e16-data...and there's no way of finding out if it wont run.
Current installed e16-data version on Elive 3.8.30 is: "1.0.26+git6a0c30e77f-7bullseye1 amd64" i.e the latest git iteration.

AFAIK I've got e16keyedit 0.9 (is there a higher version?) and 'eesh ver' says: "e16".

I've got this issue on multiple laptops running up-to-date Elive 3.8.30.
I'm not in the clear where exactly this version verification is done, or actually the need for it.

I do find a reference in in /usr/bin/e16keyedit:

"set clientname Enlightenment Keybinding Configuration Utility^@^@^@Sorry, e16 version >= 1.0.1 is required.^@set version 0.9^@ver^@%d.%d.%"

Ah sorry, I should've mentionned the e16keyedit version but considered it known as it's part of e16-data...and there's no way of finding out if it wont run. Current installed e16-data version on Elive 3.8.30 is: "1.0.26+git6a0c30e77f-7bullseye1 amd64" i.e the latest git iteration. AFAIK I've got e16keyedit 0.9 (is there a higher version?) and 'eesh ver' says: "e16". I've got this issue on multiple laptops running up-to-date Elive 3.8.30. I'm not in the clear where exactly this version verification is done, or actually the need for it. I do find a reference in in /usr/bin/e16keyedit: "set clientname Enlightenment Keybinding Configuration Utility^@^@^@Sorry, e16 version >= 1.0.1 is required.^@set version 0.9^@ver^@%d.%d.%"
Owner

The version check is done in e16keyedit. It's supposed to check IPC API compatibility with e16.
Thince this API hasn't changed in ages the check could be considered obsolete, but on the other hand, the check shouldn't fail.

"eesh ver" should say "e16 v1.0.26-2-g6a0c30e7" (or "e16 1.0.26" in a "release" build).
The version string (E16_VERSION) is generated by the e16 top-level Makefile(.am) and written to version.h.
Somehow this has gone wrong in the Elive build.
We'll have to ask Thanatermesis.

The version check is done in e16keyedit. It's supposed to check IPC API compatibility with e16. Thince this API hasn't changed in ages the check could be considered obsolete, but on the other hand, the check shouldn't fail. "eesh ver" should say "e16 v1.0.26-2-g6a0c30e7" (or "e16 1.0.26" in a "release" build). The version string (E16_VERSION) is generated by the e16 top-level Makefile(.am) and written to version.h. Somehow this has gone wrong in the Elive build. We'll have to ask Thanatermesis.
Author

OK, thouht as much. I looked for a way to invite/add @thanatermesis to this thread/issue like in "phab" but cannot find it. :(

I'll contact him through other means.

OK, thouht as much. I looked for a way to invite/add @thanatermesis to this thread/issue like in "phab" but cannot find it. :( I'll contact him through other means.

Note: phab is dead, notifications not works too, everything is moved to this website, we should import already-existing tasks (bug reports) to this website if we still have needed ones to fix

Looking at the building process, E16_VERSION comes from some git commands, in the packaging process the .git files are not included (source code without .git dir), so that should be the cause why the E16_VERSION is not defined there

_Note: phab is dead, notifications not works too, everything is moved to this website, we should import already-existing tasks (bug reports) to this website if we still have needed ones to fix_ Looking at the building process, E16_VERSION comes from some git commands, in the packaging process the .git files are not included (source code without .git dir), so that should be the cause why the E16_VERSION is not defined there
Owner

The logic in the top-level Makefile is:

  • if the file .git-src exists it is assumed that we build from a git checkout, and E16_VERSION is determined using a git command
  • if the file .git-src does not exist E16_VERSION is set to the package VERSION.

The dist tarball will not contain .git-src so building from such should set E16_VERSION to VERSION.

So it looks like you somehow build from some source where .git is removed but .git-src exists?
I must admit that I did not expect that :)
My assumption was that one would either build from a git checkout or from a dist tarball.

Could you either remove .git-src too before building or build with "make --yadayada release=y" (or just build from a regular git checkout or tarball)?

The logic in the top-level Makefile is: - if the file .git-src exists it is assumed that we build from a git checkout, and E16_VERSION is determined using a git command - if the file .git-src does not exist E16_VERSION is set to the package VERSION. The dist tarball will not contain .git-src so building from such should set E16_VERSION to VERSION. So it looks like you somehow build from some source where .git is removed but .git-src exists? I must admit that I did not expect that :) My assumption was that one would either build from a git checkout or from a dist tarball. Could you either remove .git-src too before building or build with "make --yadayada release=y" (or just build from a regular git checkout or tarball)?

Alright, the packaging removes the un-needed .git dir because is a waste of space and building speed (6mb the e16 sources, vs 185mb with the git dir)

The .git-src file was not removed but now it is, eesh ver seems to report the version correctly now, packages are updated so the issue seems to be fixed :)

Alright, the packaging removes the un-needed .git dir because is a waste of space and building speed (6mb the e16 sources, vs 185mb with the git dir) The .git-src file was not removed but now it is, eesh ver seems to report the version correctly now, packages are updated so the issue seems to be fixed :)
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: e16/e16#4
No description provided.