Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create lux #3207

Merged
merged 4 commits into from
Jul 30, 2023
Merged

Create lux #3207

merged 4 commits into from
Jul 30, 2023

Conversation

kfjahnke
Copy link
Contributor

second attempt to add lux to the catalog, trying slightly different syntax for the screenshot

second attempt to add lux to the catalog, trying slightly different syntax for the screenshot
@probonopd
Copy link
Member

This is the screenshot that was created:

image

Is this correct?

@probonopd
Copy link
Member

probonopd commented Jul 28, 2023

@kfjahnke have you ever seen the message above? Is that something your program does? Potentially a bug when it is being invoked without any parameters?

We are making these screenshots to see what the end user experience "out of the box" would be. And as a user, seeing this message, I'd assume something is broken.

@probonopd
Copy link
Member

probonopd commented Jul 28, 2023

Still getting

image

but maybe it's ok to allow this for now if we assume that most systems will have kdialog/zenity/tkinter available.

On my local FreeBSD machine it works. If kdialog or zenity is there, it uses it; if not, it uses Python with tkinter.

@probonopd
Copy link
Member

probonopd commented Jul 28, 2023

Another minor nitpick:

The AppDir does not work when not inside an AppImage.

% ~/Downloads/lux-master-x86_64.AppImage --appimage-extract
% ./squashfs-root/AppRun                                
./squashfs-root/AppRun: Zeile 12: /usr/bin/lux: No such file or directory

This is because $APPDIR is not set when the AppDir is not running from inside an AppImage. So we need to set a variable in the AppRun file. E.g., like this:

#! /bin/sh

# AppRun script for lux AppImage

# lux needs to know where to find its standard font.
# The font's location is passed to the binary via the
# -w parameter, because it can only be known once the
# invocation has set up the temporary file system
# containing the binary and set the HERE environment
# variable accordingly. Other parameters follow ($@).

HERE="$(dirname "$(readlink -f "${0}")")"
"${HERE}/usr/bin/lux" -w "${HERE}/usr/share/lux/fonts/NotoSans-Regular.ttf" "$@"

@kfjahnke
Copy link
Contributor Author

Still getting
...
but maybe it's ok to allow this for now if we assume that most systems will have kdialog/zenity/tkinter available.
On my local FreeBSD machine it works. If kdialog or zenity is there, it uses it; if not, it uses Python with tkinter.

I thought the requirement was just that the AppImage runs on the oldest still-supported ubuntu LTS, namely 18.04. I set up a VM with ubuntu 18.04 and ran the AppImage there and it worked, so I assumed it would work be fine.

FreeBSD? I thought AppImage was only for Linux! There actually is a FreeBSD port of lux in the graphics section.

$APPDIR is not set when the AppDir is not running from inside an AppImage. So we need to set a variable in the AppRun file. E.g., like this: ...

Do I understand that correctly: this change is to allow the unbundled AppImage to be run in the test environment? Fine with me. I'll change the AppRun. I was relying on APPDIR always being set, and I never tried to run the unbundled AppDir! I'll post again when I have the new AppImage online.

@probonopd
Copy link
Member

probonopd commented Jul 29, 2023

I thought the requirement was just that the AppImage runs on the oldest still-supported ubuntu LTS, namely 18.04. I set up a VM with ubuntu 18.04 and ran the AppImage there and it worked, so I assumed it would work be fine.

Well, that'd be 20.04 at this time. And yes, that is the bare minimum required to pass the test. Not everyone runs exactly that though. So I am just trying to give helpful advice here.

FreeBSD? I thought AppImage was only for Linux! There actually is a FreeBSD port of lux in the graphics section.

I run AppImages on FreeBSD for testing from time to time. If they run there (using the Linuxulator; native speeds!) then I'm pretty confident they should be able to run on most Linux distributions ;-)

Do I understand that correctly: this change is to allow the unbundled AppImage to be run in the test environment? Fine with me. I'll change the AppRun. I was relying on APPDIR always being set, and I never tried to run the unbundled AppDir! I'll post again when I have the new AppImage online.

The automated test doesn't check for this (yet), but I inspected your AppImage manually. Currently you have no valid AppDir inside your AppImage. Luckily this is an easy fix.

@kfjahnke
Copy link
Contributor Author

I've changed the AppRun script to follow your proposition above, and I'm now passing the GUI font via an environment variable (LUX_GUI_FONT) which I export in AppRun. This seems to work all right (tested on a VM with Ubuntu 18.04 and no extra installed packages). So now I'd like to ask you to reschedule the test yet again, and if you're happy with the outcome, to accept the lux Appimage into the catalog!
You said that the oldest still-supported Ubuntu is now 20.04 - should I move to that for building and testing? Or what else would you propose for maximum benefit?

@probonopd probonopd merged commit 286b89c into AppImage:master Jul 30, 2023
1 check failed
@probonopd
Copy link
Member

Thank you very much @kfjahnke

@kfjahnke kfjahnke deleted the patch-2 branch July 30, 2023 16:52
@kfjahnke kfjahnke restored the patch-2 branch July 31, 2023 09:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants