[gnome-build-meta/valentindavid/os-release] Fix os-release files in bootable images
- From: Valentin David <valentindavid src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-build-meta/valentindavid/os-release] Fix os-release files in bootable images
- Date: Thu, 27 Aug 2020 12:44:45 +0000 (UTC)
commit 7be2181c466c486a88332eadecfd6863a649ad60
Author: Valentin David <valentin david codethink co uk>
Date: Mon Aug 24 12:09:46 2020 +0200
Fix os-release files in bootable images
elements/flatpak/platform-image.bst | 1 +
elements/flatpak/sdk-image.bst | 1 +
elements/sdk-platform.bst | 1 -
elements/sdk/os-release.bst | 31 ++--------
elements/vm/deps-devel.bst | 7 ++-
elements/vm/deps.bst | 1 +
elements/vm/os-release-devel.bst | 14 +++++
elements/vm/os-release-user.bst | 14 +++++
files/os-release/compose.sh | 7 +++
files/os-release/issue | 1 -
files/os-release/issue.in | 1 +
files/os-release/issue.net | 1 -
files/os-release/issue.net.in | 1 +
files/os-release/meson.build | 69 ++++++++++++++++++++++
files/os-release/meson_options.txt | 5 ++
files/os-release/org.gnome.Platform.appdata.xml.in | 2 +-
files/os-release/org.gnome.Sdk.appdata.xml.in | 2 +-
files/os-release/os-release | 5 --
files/os-release/os-release-symlink.sh | 3 +
files/os-release/os-release.bootable.in | 8 +++
files/os-release/os-release.flatpak.in | 7 +++
21 files changed, 144 insertions(+), 38 deletions(-)
---
diff --git a/elements/flatpak/platform-image.bst b/elements/flatpak/platform-image.bst
index 971eaa32..bc1f9470 100644
--- a/elements/flatpak/platform-image.bst
+++ b/elements/flatpak/platform-image.bst
@@ -2,6 +2,7 @@ kind: compose
build-depends:
- platform-manifest.bst
- sdk-platform.bst
+- sdk/os-release.bst
- freedesktop-sdk.bst:components/python3-usercustomize.bst
- freedesktop-sdk.bst:components/python3-sitecustomize.bst
- freedesktop-sdk.bst:multiarch/multiarch-platform.bst
diff --git a/elements/flatpak/sdk-image.bst b/elements/flatpak/sdk-image.bst
index 732d0d1f..f87a0821 100644
--- a/elements/flatpak/sdk-image.bst
+++ b/elements/flatpak/sdk-image.bst
@@ -1,6 +1,7 @@
kind: compose
build-depends:
- sdk.bst
+- sdk/os-release.bst
- sdk-manifest.bst
- freedesktop-sdk.bst:components/python3-usercustomize.bst
- freedesktop-sdk.bst:components/python3-sitecustomize.bst
diff --git a/elements/sdk-platform.bst b/elements/sdk-platform.bst
index d619601a..d85d5b65 100644
--- a/elements/sdk-platform.bst
+++ b/elements/sdk-platform.bst
@@ -41,7 +41,6 @@ depends:
- sdk/libsecret.bst
- sdk/libsoup.bst
- sdk/libwpe.bst
-- sdk/os-release.bst
- sdk/pango.bst
- sdk/pinentry.bst
- sdk/pipewire.bst
diff --git a/elements/sdk/os-release.bst b/elements/sdk/os-release.bst
index 4594c5f8..c2b7e415 100644
--- a/elements/sdk/os-release.bst
+++ b/elements/sdk/os-release.bst
@@ -1,32 +1,13 @@
-kind: manual
+kind: meson
sources:
- kind: local
path: files/os-release
build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
- sdk/appstream-glib.bst
depends:
- freedesktop-sdk.bst:bootstrap-import.bst
-config:
- build-commands:
- - |
- for i in *.in; do
- sed "s/@@SDK_BRANCH@@/%{branch}/g" "${i}" >"$(basename "${i}" .in)"
- done
-
- install-commands:
- - |
- mkdir -p "%{install-root}%{indep-libdir}"
- install os-release "%{install-root}%{indep-libdir}"
- mkdir -p "%{install-root}%{sysconfdir}"
- ln -s "$(realpath --relative-to="%{install-root}%{sysconfdir}"
"%{install-root}%{indep-libdir}/os-release")" %{install-root}%{sysconfdir}/os-release
-
- mkdir -p "%{install-root}%{sysconfdir}"
- install issue "%{install-root}%{sysconfdir}"
- install issue.net "%{install-root}%{sysconfdir}"
-
- mkdir -p "%{install-root}%{datadir}/appdata"
- install org.gnome.Platform.appdata.xml "%{install-root}%{datadir}/appdata"
- install org.gnome.Sdk.appdata.xml "%{install-root}%{datadir}/appdata"
-
- appstream-compose --basename=org.gnome.Platform --prefix=%{install-root}%{prefix} --origin=flatpak
org.gnome.Platform
- appstream-compose --basename=org.gnome.Sdk --prefix=%{install-root}%{prefix} --origin=flatpak
org.gnome.Sdk
+variables:
+ meson-local: >-
+ -Dbranch=%{branch}
+ -Dmode=flatpak
diff --git a/elements/vm/deps-devel.bst b/elements/vm/deps-devel.bst
index 705f5f84..dcf0e1d5 100644
--- a/elements/vm/deps-devel.bst
+++ b/elements/vm/deps-devel.bst
@@ -3,9 +3,10 @@ kind: stack
runtime-depends:
- sdk.bst
- core/meta-gnome-core-developer-tools.bst
-- vm/common-deps.bst
-- vm/initramfs.bst
-- vm/buildstream/buildstream.bst
- vm/buildstream/bst-external.bst
+- vm/buildstream/buildstream.bst
+- vm/common-deps.bst
- vm/git-lfs.bst
+- vm/initramfs.bst
+- vm/os-release-devel.bst
- freedesktop-sdk.bst:components/podman.bst
diff --git a/elements/vm/deps.bst b/elements/vm/deps.bst
index 16251332..3cf03b6e 100644
--- a/elements/vm/deps.bst
+++ b/elements/vm/deps.bst
@@ -3,3 +3,4 @@ kind: stack
runtime-depends:
- vm/common-deps.bst
- vm/initramfs.bst
+- vm/os-release-user.bst
diff --git a/elements/vm/os-release-devel.bst b/elements/vm/os-release-devel.bst
new file mode 100644
index 00000000..9c4d421c
--- /dev/null
+++ b/elements/vm/os-release-devel.bst
@@ -0,0 +1,14 @@
+kind: meson
+sources:
+- kind: local
+ path: files/os-release
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
+- sdk/appstream-glib.bst
+depends:
+- freedesktop-sdk.bst:bootstrap-import.bst
+variables:
+ meson-local: >-
+ -Dbranch=%{branch}
+ -Dmode=bootable
+ -Dvariant=user
diff --git a/elements/vm/os-release-user.bst b/elements/vm/os-release-user.bst
new file mode 100644
index 00000000..9c4d421c
--- /dev/null
+++ b/elements/vm/os-release-user.bst
@@ -0,0 +1,14 @@
+kind: meson
+sources:
+- kind: local
+ path: files/os-release
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
+- sdk/appstream-glib.bst
+depends:
+- freedesktop-sdk.bst:bootstrap-import.bst
+variables:
+ meson-local: >-
+ -Dbranch=%{branch}
+ -Dmode=bootable
+ -Dvariant=user
diff --git a/files/os-release/compose.sh b/files/os-release/compose.sh
new file mode 100644
index 00000000..78b41781
--- /dev/null
+++ b/files/os-release/compose.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+exec appstream-compose \
+ --basename="$1" \
+ --prefix="${MESON_INSTALL_DESTDIR_PREFIX}" \
+ --origin=flatpak "${1}" \
+ --output-dir="${MESON_INSTALL_DESTDIR_PREFIX}/share/app-info/xmls"
diff --git a/files/os-release/issue.in b/files/os-release/issue.in
new file mode 100644
index 00000000..d6cf452e
--- /dev/null
+++ b/files/os-release/issue.in
@@ -0,0 +1 @@
+@ISSUE_NAME@ @SDK_BRANCH@ \n \l
diff --git a/files/os-release/issue.net.in b/files/os-release/issue.net.in
new file mode 100644
index 00000000..b8c502a7
--- /dev/null
+++ b/files/os-release/issue.net.in
@@ -0,0 +1 @@
+@ISSUE_NAME@ @SDK_BRANCH@ %h
diff --git a/files/os-release/meson.build b/files/os-release/meson.build
new file mode 100644
index 00000000..e790d321
--- /dev/null
+++ b/files/os-release/meson.build
@@ -0,0 +1,69 @@
+project('gnome-build-meta-os-release')
+
+branch_name = get_option('branch')
+if branch_name == 'master'
+ branch_name = 'Nightly'
+endif
+
+conf_data = configuration_data({
+ 'SDK_BRANCH': branch_name
+})
+
+if get_option('mode') == 'bootable'
+ conf_data.set('ISSUE_NAME', 'GNOME OS')
+ conf_data.set('VARIANT_ID', get_option('variant'))
+ if get_option('variant') == 'devel'
+ conf_data.set('VARIANT', 'Development')
+ conf_data.set('FULL_NAME', 'GNOME OS Development')
+ elif get_option('variant') == 'user'
+ conf_data.set('VARIANT', 'User')
+ conf_data.set('FULL_NAME', 'GNOME OS')
+ endif
+
+ configure_file(
+ input : 'os-release.bootable.in',
+ output : 'os-release',
+ configuration : conf_data,
+ install_dir : get_option('prefix') / 'lib'
+ )
+else
+ conf_data.set('ISSUE_NAME', 'GNOME Platform')
+ configure_file(
+ input : 'org.gnome.Platform.appdata.xml.in',
+ output : 'org.gnome.Platform.appdata.xml',
+ configuration : conf_data,
+ install_dir : get_option('datadir') / 'appdata'
+ )
+ configure_file(
+ input : 'org.gnome.Sdk.appdata.xml.in',
+ output : 'org.gnome.Sdk.appdata.xml',
+ configuration : conf_data,
+ install_dir : get_option('datadir') / 'appdata'
+ )
+
+ configure_file(
+ input : 'os-release.flatpak.in',
+ output : 'os-release',
+ configuration : conf_data,
+ install_dir : get_option('prefix') / 'lib'
+ )
+
+ meson.add_install_script('compose.sh', 'org.gnome.Platform')
+ meson.add_install_script('compose.sh', 'org.gnome.Sdk')
+endif
+
+configure_file(
+ input : 'issue.net.in',
+ output : 'issue.net',
+ configuration : conf_data,
+ install_dir : get_option('sysconfdir')
+)
+
+configure_file(
+ input : 'issue.in',
+ output : 'issue',
+ configuration : conf_data,
+ install_dir : get_option('sysconfdir')
+)
+
+meson.add_install_script('os-release-symlink.sh', get_option('sysconfdir'))
diff --git a/files/os-release/meson_options.txt b/files/os-release/meson_options.txt
new file mode 100644
index 00000000..176fc644
--- /dev/null
+++ b/files/os-release/meson_options.txt
@@ -0,0 +1,5 @@
+option('branch', type : 'string', value : 'master')
+option('mode', type : 'combo',
+ choices : ['bootable', 'flatpak'], value : 'flatpak')
+option('variant', type : 'combo',
+ choices : ['user', 'devel'], value : 'user')
diff --git a/files/os-release/org.gnome.Platform.appdata.xml.in
b/files/os-release/org.gnome.Platform.appdata.xml.in
index 0bd92859..d342cfbc 100644
--- a/files/os-release/org.gnome.Platform.appdata.xml.in
+++ b/files/os-release/org.gnome.Platform.appdata.xml.in
@@ -5,7 +5,7 @@
<metadata_license>CC0</metadata_license>
<!-- FIXME -->
<project_license>GPL-2.0+</project_license>
- <name>GNOME Application Platform version @@SDK_BRANCH@@</name>
+ <name>GNOME Application Platform version @SDK_BRANCH@</name>
<summary>Shared libraries used by GNOME applications</summary>
<description>
<p>
diff --git a/files/os-release/org.gnome.Sdk.appdata.xml.in b/files/os-release/org.gnome.Sdk.appdata.xml.in
index f623a2bf..3de302dc 100644
--- a/files/os-release/org.gnome.Sdk.appdata.xml.in
+++ b/files/os-release/org.gnome.Sdk.appdata.xml.in
@@ -5,7 +5,7 @@
<metadata_license>CC0</metadata_license>
<!-- FIXME -->
<project_license>GPL-2.0+</project_license>
- <name>GNOME Software Development Kit version @@SDK_BRANCH@@</name>
+ <name>GNOME Software Development Kit version @SDK_BRANCH@</name>
<summary>Tools and headers for developing applications using the GNOME application platform</summary>
<description>
<p>
diff --git a/files/os-release/os-release-symlink.sh b/files/os-release/os-release-symlink.sh
new file mode 100644
index 00000000..4e4e8d89
--- /dev/null
+++ b/files/os-release/os-release-symlink.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+ln -sr "${MESON_INSTALL_DESTDIR_PREFIX}/lib/os-release" "${DESTDIR}${1}"
diff --git a/files/os-release/os-release.bootable.in b/files/os-release/os-release.bootable.in
new file mode 100644
index 00000000..3165cabd
--- /dev/null
+++ b/files/os-release/os-release.bootable.in
@@ -0,0 +1,8 @@
+NAME="GNOME OS"
+VERSION_ID=@SDK_BRANCH@
+ID=org.gnome.gnomeos
+PRETTY_NAME="@FULL_NAME@ (@SDK_BRANCH@)"
+BUG_REPORT_URL="https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/new"
+HOME_URL="https://www.gnome.org/"
+VARIANT="@VARIANT@"
+VARIANT_ID=@VARIANT_ID@
diff --git a/files/os-release/os-release.flatpak.in b/files/os-release/os-release.flatpak.in
new file mode 100644
index 00000000..ff451c15
--- /dev/null
+++ b/files/os-release/os-release.flatpak.in
@@ -0,0 +1,7 @@
+NAME=GNOME
+VERSION="@SDK_BRANCH@ (Flatpak runtime)"
+VERSION_ID=@SDK_BRANCH@
+ID=org.gnome.Platform
+PRETTY_NAME="GNOME @SDK_BRANCH@ (Flatpak runtime)"
+BUG_REPORT_URL="https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/new"
+HOME_URL="https://www.gnome.org/"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]