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

[nemo-qml-plugin-systemsettings] Parse manufacturer and device name #185

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jmlich
Copy link

@jmlich jmlich commented Feb 8, 2024

SailfishOS relies on /etc/hw-release which doesn't exists in Asteroid OS.

The values are taken from /system/build.prop if wasn't loaded before.

This is related to AsteroidOS/asteroid-btsyncd#31 and AsteroidOS/asteroid-settings#97

Please note, that I have very few experience with bitbake. This patch was crafted manually and need careful review and test.

…rom /system/build.prop if wasn't loaded before
@FlorentRevest
Copy link
Member

The problem with /system/build.prop is that this is an android file and not all our ports are based on an Android HAL. Also, even some Android ports could be missing this file or have incorrect values there for one reason or another. (sometimes we could use the /system of another watch or whatever). Also we lack control on the strings written there (for example, maybe we want to write LG rather than LGE). This is why SailfishOS implemented the "hw-release" file where they can define an arbitrary hardware name, even on devices that don't have an android /system/build.prop and also add other values.

This is why I feel we should start providing hw-release files for our watches rather than growing a dependency to android stuff.

In AsteroidOS, we have a vaguely similar concept of "device info" in /etc/asteroid/machine.conf. We use it for device specific information such as "does it have a round screen". Seeing how it's implemented should give you an idea of how to generate hw-release files.

You could introduce a similar mechanism to generate hw-release files. You'd first need to modify all meta-smartwatch/meta-*/conf/machine/*.conf files and add macros such as MACHINE_VENDOR and MACHINE_NAME there. Then you could modify asteroid-machine-config to generate /etc/hw-release (with some fallback strings if we build on a machine that doesn't have this macro defined. And then everything would work ;)

Thank you!

@beroset
Copy link
Member

beroset commented Aug 12, 2024

For a number of AsteroidOS images, there is more than one manufacturer and model, and there's simply no way to supply that information when compiling because the only difference is the case in which the watch is packaged. See https://asteroidos.org/watches/firefish/ as an example: ray shows 11 different models and 7 different manufacturers.

@FlorentRevest
Copy link
Member

For a number of AsteroidOS images, there is more than one manufacturer and model, and there's simply no way to supply that information when compiling because the only difference is the case in which the watch is packaged. See https://asteroidos.org/watches/firefish/ as an example: ray shows 11 different models and 7 different manufacturers.

Indeed. But on the other hand, we also tend to ship a custom /system/ directory with a custom build.prop there so the manufacturer and model will also be wrong there :/

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.

3 participants