Skip to content

Conversation

Kekun
Copy link
Contributor

@Kekun Kekun commented Oct 17, 2025

This uniformizes the header giving the source of the overridden elements, and adds utils/update-elements.sh to help updating the overridden elements.

It will help the labor-intensive and error-prone work that is updating the elements to a new gnome-build-meta version.

The script doesn't do everything, as e.g. it only updates .bst elements in elements/, and not the files they refer to in files/ or anywhere else, but it's still a nice help.

@Kekun Kekun marked this pull request as draft October 17, 2025 15:26
@Kekun Kekun force-pushed the adrienplazas/update-process branch 4 times, most recently from 892b108 to dbeaa2b Compare October 20, 2025 15:36
@Kekun Kekun marked this pull request as ready for review October 21, 2025 08:21
@Kekun Kekun changed the title WIP: Help automating the update process Help automating the update process Oct 21, 2025

local NEW_TAG="${ELEMENT_TAG[$SRC_PROJECT]}"
if [ -z "$NEW_TAG" ]; then
echo "Error: Couldn't get the tag for source junction project `$SRC_PROJECT`." >&2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the backticks or it tries to execute $SRC_PROJECT

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This element is never used -- lets remove it

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean it's never used? Regardless I'd argue it's a different issue that deserves a different MR.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This element has diverged a lot from FDSDK, I recommend we don't try to automatically merge in changes from upstream as there will always be conflicts.

@@ -1,3 +1,5 @@
# Derived from gnome-build-meta.bst 48.3 gnomeos/initramfs.bst

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This element has diverged a lot from GNOME OS, I recommend we don't try to automatically merge in changes from upstream as there will always be conflicts.

@@ -1,3 +1,5 @@
# Derived from gnome-build-meta.bst 48.3 gnomeos/linux-module-cert.bst

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should remove this completely. It's a dependency of the FDSDK linux.bst element, which we don't use.

The purpose of this element is to provide the public certificate for kernel modules. However in EOS7, we generate that during linux.bst build process.

@@ -1,3 +1,5 @@
# Derived from gnome-build-meta.bst 48.3 core-deps/libpeas-1.bst

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There isn't a libpeas-1.bst in gnome-build-meta. GNOME OS only has libpeas v2.

We should ignore everything in the eos/payg directory as everything there is kludges specific to the PAYG boot components.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -1,5 +1,4 @@
# Adapted from the Freedesktop SDK element `vm/minimal-ostree/repo.bst`
# from Freedesktop SDK 24.08.22.
# Derived from freedesktop-sdk.bst freedesktop-sdk-24.08.22 vm/minimal-ostree/repo.bst
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suspect this diverged so much from the FDSDK minimal-ostree example that it's not useful to try and integrate changes. Also, the FDSDK minimal-ostree example is largely unmaintained anyway. I think Endless are the only people in the ecosystem using OSTree now.

@ssssam
Copy link
Contributor

ssssam commented Oct 21, 2025

Left some comments about specific elements -- some of these (esp. removing unused elements) might be better solved separately.

When I read a comment like "# Derived from xyz" I assume it's a free-form comment for human use. I wonder if it'd be clearer to put a tag that matches the script name.

For example: `# utils/update_elements.sh: Derived from xyz"

Then at least it's clear what uses the comment and readers can look up where the comment format is defined.

@Kekun Kekun force-pushed the adrienplazas/update-process branch 2 times, most recently from fc06720 to a2e6294 Compare October 21, 2025 13:48
@Kekun
Copy link
Contributor Author

Kekun commented Oct 21, 2025

@ssssam Yeah I considered having a more explicitely robotic header. Let's do this.

@Kekun
Copy link
Contributor Author

Kekun commented Oct 21, 2025

Regarding the elements whose headers should be removed in your opinion: I'd still argue it's better to have these elements be updated so we can cherry-pick the changes, including dismissing them completely, than loosing the link. Also it's easier to remove the headers later than to add them. Ultimately it's up to @starnight to decide.

Adrien Plazas added 2 commits October 21, 2025 16:18
This uniformizes the header giving the source of the overriden elements.
It will be used to help automating the update process.
This helps updating the overridden elements, as it is otherwise
labor-intensive and error-prone.
@Kekun Kekun force-pushed the adrienplazas/update-process branch from a2e6294 to 01c7761 Compare October 21, 2025 14:18
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