diff options
Diffstat (limited to 'solenv')
-rwxr-xr-x | solenv/bin/assemble-flatpak-appdata-step1.sh | 96 | ||||
-rwxr-xr-x | solenv/bin/assemble-flatpak-appdata-step2.sh | 26 | ||||
-rwxr-xr-x | solenv/bin/assemble-flatpak-desktop.sh | 42 | ||||
-rwxr-xr-x | solenv/bin/assemble-flatpak.sh | 102 |
4 files changed, 169 insertions, 97 deletions
diff --git a/solenv/bin/assemble-flatpak-appdata-step1.sh b/solenv/bin/assemble-flatpak-appdata-step1.sh new file mode 100755 index 000000000000..4658dd45d018 --- /dev/null +++ b/solenv/bin/assemble-flatpak-appdata-step1.sh @@ -0,0 +1,96 @@ +#! /bin/bash +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +# Part of solenv/bin/assemble-flatpak.sh that is shared with a downstream mechanism of building a +# Flatpak from a Fedora libreoffice.spec file. +# +# Arguments: +# $1 pathname, ending in a slash, of the directory into which to put the target +# org.libreoffice.LibreOffice.appdata.xml file +# $2 "1" if a <releases> section shall be included in the target +# org.libreoffice.LibreOffice.appdata.xml file, "0" if not + +set -e + +## org.libreoffice.LibreOffice.appdata.xml is manually derived from the various +## inst/share/appdata/libreoffice-*.appdata.xml (at least recent GNOME Software +## doesn't show more than five screenshots anyway, so restrict to one each from +## the five libreoffice-*.appdata.xml: Writer, Calc, Impress, Draw, Base): +cat <<\EOF >"${1?}"org.libreoffice.LibreOffice.appdata.xml +<?xml version="1.0" encoding="UTF-8"?> +<component type="desktop"> + <id>org.libreoffice.LibreOffice.desktop</id> + <metadata_license>CC0-1.0</metadata_license> + <project_license>MPL-2.0</project_license> + <name>LibreOffice</name> + <summary>The LibreOffice productivity suite</summary> + <description> + <p>LibreOffice is a powerful office suite. Its clean interface and + feature-rich tools help you unleash your creativity and enhance your + productivity. LibreOffice includes several applications that make it the most + powerful Free and Open Source office suite on the market: Writer (word + processing), Calc (spreadsheets), Impress (presentations), Draw (vector + graphics and flowcharts), Base (databases), and Math (formula editing).</p> + <p>LibreOffice supports opening and saving into a wide variety of formats, so + you can easily share documents with users of other popular office suites + without worrying about compatibility.</p> + </description> + <url type="homepage">http://www.libreoffice.org/discover/libreoffice/</url> + <url type="bugtracker">https://bugs.documentfoundation.org/</url> + <url type="donation">https://donate.libreoffice.org/</url> + <url type="faq">https://wiki.documentfoundation.org/Faq</url> + <url type="help">http://www.libreoffice.org/get-help/documentation/</url> + <url type="translate">https://wiki.documentfoundation.org/Translating_LibreOffice</url> + <screenshots> + <screenshot type="default"> + <image>https://hub.libreoffice.org/screenshots/writer-01.png</image> + <caption><!-- Describe this screenshot in less than ~10 words --></caption> + </screenshot> + <screenshot> + <image>https://hub.libreoffice.org/screenshots/calc-02.png</image> + <caption><!-- Describe this screenshot in less than ~10 words --></caption> + </screenshot> + <screenshot> + <image>https://hub.libreoffice.org/screenshots/impress-01.png</image> + <caption><!-- Describe this screenshot in less than ~10 words --></caption> + </screenshot> + <screenshot> + <image>https://hub.libreoffice.org/screenshots/draw-02.png</image> + <caption><!-- Describe this screenshot in less than ~10 words --></caption> + </screenshot> + <screenshot> + <image>https://hub.libreoffice.org/screenshots/base-02.png</image> + <caption><!-- Describe this screenshot in less than ~10 words --></caption> + </screenshot> + </screenshots> + <developer_name>The Document Foundation</developer_name> + <update_contact>libreoffice_at_lists.freedesktop.org</update_contact> + <kudos> + <kudo>HiDpiIcon</kudo> + <kudo>HighContrast</kudo> + <kudo>ModernToolkit</kudo> + <kudo>UserDocs</kudo> + </kudos> + <content_rating type="oars-1.0"/> +EOF + +if [ "${2?}" = 1 ] +then + cat <<EOF >>"${1?}"org.libreoffice.LibreOffice.appdata.xml + <releases> + <release + version="${LIBO_VERSION_MAJOR?}.${LIBO_VERSION_MINOR?}.${LIBO_VERSION_MICRO?}.${LIBO_VERSION_PATCH?}" + date="$(date +%Y-%m-%d)"/> + </releases> +EOF +fi + +cat <<\EOF >>"${1?}"org.libreoffice.LibreOffice.appdata.xml +</component> +EOF diff --git a/solenv/bin/assemble-flatpak-appdata-step2.sh b/solenv/bin/assemble-flatpak-appdata-step2.sh new file mode 100755 index 000000000000..4f06e6b19148 --- /dev/null +++ b/solenv/bin/assemble-flatpak-appdata-step2.sh @@ -0,0 +1,26 @@ +#! /bin/bash +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +# Part of solenv/bin/assemble-flatpak.sh that is shared with a downstream mechanism of building a +# Flatpak from a Fedora libreoffice.spec file. +# +# Arguments: +# $1 pathname, ending in a slash, of the directory containing the source libreoffice-*.appdata.xml +# files +# $2 pathname, ending in a slash, of the directory containing the target +# org.libreoffice.LibreOffice.appdata.xml file + +set -e + +# append the appdata for the different components +for i in "${1?}"libreoffice-*.appdata.xml +do + sed "1 d; s/<id>libreoffice-/<id>org.libreoffice.LibreOffice./" "$i" \ + >>"${2?}"org.libreoffice.LibreOffice.appdata.xml +done diff --git a/solenv/bin/assemble-flatpak-desktop.sh b/solenv/bin/assemble-flatpak-desktop.sh new file mode 100755 index 000000000000..6d06de4fbbbe --- /dev/null +++ b/solenv/bin/assemble-flatpak-desktop.sh @@ -0,0 +1,42 @@ +#! /bin/bash +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +# Part of solenv/bin/assemble-flatpak.sh that is shared with a downstream mechanism of building a +# Flatpak from a Fedora libreoffice.spec file. +# +# Arguments: +# $1 pathname, ending in a slash, of the directory containing the source libreoffice-*.desktop +# files +# $2 pathname, ending in a slash, of the directory into which to put the target +# org.libreoffice.LibreOffice.*.desktop files + +set -e + +## libreoffice-*.desktop -> org.libreoffice.LibreOffice.*.desktop: +for i in "${1?}"libreoffice-*.desktop +do + sed -e 's/^Icon=libreoffice-/Icon=org.libreoffice.LibreOffice./' "$i" \ + >"${2?}"org.libreoffice.LibreOffice."${i#"${1?}"libreoffice-}" +done +mv "${2?}"org.libreoffice.LibreOffice.startcenter.desktop "${2?}"org.libreoffice.LibreOffice.desktop + +# Flatpak .desktop exports take precedence over system ones due to +# the order of XDG_DATA_DIRS - re-associating text/plain seems a bit much +sed -i "s/text\/plain;//" "${2?}"org.libreoffice.LibreOffice.writer.desktop + +desktop-file-edit --set-key=X-Endless-Alias --set-value=libreoffice-startcenter \ + --set-key=X-Flatpak-RenamedFrom --set-value='libreoffice-startcenter.desktop;' \ + "${2?}"org.libreoffice.LibreOffice.desktop +for i in base calc draw impress math writer xsltfilter +do + desktop-file-edit --set-key=X-Endless-Alias --set-value=libreoffice-"$i" \ + --set-key=X-Flatpak-RenamedFrom \ + --set-value="libreoffice-$i.desktop;org.libreoffice.LibreOffice-$i.desktop;" \ + "${2?}"org.libreoffice.LibreOffice."$i".desktop +done diff --git a/solenv/bin/assemble-flatpak.sh b/solenv/bin/assemble-flatpak.sh index 0738fcd59ad2..8ca5bcf08c41 100755 --- a/solenv/bin/assemble-flatpak.sh +++ b/solenv/bin/assemble-flatpak.sh @@ -16,30 +16,9 @@ set -e cp -r "${PREFIXDIR?}"/lib/libreoffice /app/ ln -s /app/libreoffice/program/soffice /app/bin/libreoffice -## libreoffice-*.desktop -> org.libreoffice.LibreOffice.*.desktop: mkdir -p /app/share/applications -for i in "${PREFIXDIR?}"/share/applications/libreoffice-*.desktop -do - sed -e 's/^Icon=libreoffice-/Icon=org.libreoffice.LibreOffice./' "$i" \ - >/app/share/applications/org.libreoffice.LibreOffice."${i#"${PREFIXDIR?}"/share/applications/libreoffice-}" -done -mv /app/share/applications/org.libreoffice.LibreOffice.startcenter.desktop \ - /app/share/applications/org.libreoffice.LibreOffice.desktop - -# Flatpak .desktop exports take precedence over system ones due to -# the order of XDG_DATA_DIRS - re-associating text/plain seems a bit much -sed -i "s/text\/plain;//" /app/share/applications/org.libreoffice.LibreOffice.writer.desktop - -desktop-file-edit --set-key=X-Endless-Alias --set-value=libreoffice-startcenter \ - --set-key=X-Flatpak-RenamedFrom --set-value='libreoffice-startcenter.desktop;' \ - /app/share/applications/org.libreoffice.LibreOffice.desktop -for i in base calc draw impress math writer xsltfilter -do - desktop-file-edit --set-key=X-Endless-Alias --set-value=libreoffice-"$i" \ - --set-key=X-Flatpak-RenamedFrom \ - --set-value="libreoffice-$i.desktop;org.libreoffice.LibreOffice-$i.desktop;" \ - /app/share/applications/org.libreoffice.LibreOffice."$i".desktop -done +"${SRCDIR?}"/solenv/bin/assemble-flatpak-desktop.sh "${PREFIXDIR?}"/share/applications/ \ + /app/share/applications/ ## icons/hicolor/*/apps/libreoffice-* -> ## icons/hicolor/*/apps/org.libreoffice.LibreOffice-*: @@ -82,81 +61,10 @@ do ln -rs /app/share/runtime/locale/"${lang}"/registry/"${basename}".xcd "${i}" done -## org.libreoffice.LibreOffice.appdata.xml is manually derived from the various -## inst/share/appdata/libreoffice-*.appdata.xml (at least recent GNOME Software -## doesn't show more than five screenshots anyway, so restrict to one each from -## the five libreoffice-*.appdata.xml: Writer, Calc, Impress, Draw, Base): mkdir -p /app/share/appdata -cat <<EOF >/app/share/appdata/org.libreoffice.LibreOffice.appdata.xml -<?xml version="1.0" encoding="UTF-8"?> -<component type="desktop"> - <id>org.libreoffice.LibreOffice.desktop</id> - <metadata_license>CC0-1.0</metadata_license> - <project_license>MPL-2.0</project_license> - <name>LibreOffice</name> - <summary>The LibreOffice productivity suite</summary> - <description> - <p>LibreOffice is a powerful office suite. Its clean interface and - feature-rich tools help you unleash your creativity and enhance your - productivity. LibreOffice includes several applications that make it the most - powerful Free and Open Source office suite on the market: Writer (word - processing), Calc (spreadsheets), Impress (presentations), Draw (vector - graphics and flowcharts), Base (databases), and Math (formula editing).</p> - <p>LibreOffice supports opening and saving into a wide variety of formats, so - you can easily share documents with users of other popular office suites - without worrying about compatibility.</p> - </description> - <url type="homepage">http://www.libreoffice.org/discover/libreoffice/</url> - <url type="bugtracker">https://bugs.documentfoundation.org/</url> - <url type="donation">https://donate.libreoffice.org/</url> - <url type="faq">https://wiki.documentfoundation.org/Faq</url> - <url type="help">http://www.libreoffice.org/get-help/documentation/</url> - <url type="translate">https://wiki.documentfoundation.org/Translating_LibreOffice</url> - <screenshots> - <screenshot type="default"> - <image>https://hub.libreoffice.org/screenshots/writer-01.png</image> - <caption><!-- Describe this screenshot in less than ~10 words --></caption> - </screenshot> - <screenshot> - <image>https://hub.libreoffice.org/screenshots/calc-02.png</image> - <caption><!-- Describe this screenshot in less than ~10 words --></caption> - </screenshot> - <screenshot> - <image>https://hub.libreoffice.org/screenshots/impress-01.png</image> - <caption><!-- Describe this screenshot in less than ~10 words --></caption> - </screenshot> - <screenshot> - <image>https://hub.libreoffice.org/screenshots/draw-02.png</image> - <caption><!-- Describe this screenshot in less than ~10 words --></caption> - </screenshot> - <screenshot> - <image>https://hub.libreoffice.org/screenshots/base-02.png</image> - <caption><!-- Describe this screenshot in less than ~10 words --></caption> - </screenshot> - </screenshots> - <developer_name>The Document Foundation</developer_name> - <update_contact>libreoffice_at_lists.freedesktop.org</update_contact> - <kudos> - <kudo>HiDpiIcon</kudo> - <kudo>HighContrast</kudo> - <kudo>ModernToolkit</kudo> - <kudo>UserDocs</kudo> - </kudos> - <content_rating type="oars-1.0"/> - <releases> - <release - version="${LIBO_VERSION_MAJOR?}.${LIBO_VERSION_MINOR?}.${LIBO_VERSION_MICRO?}.${LIBO_VERSION_PATCH?}" - date="$(date +%Y-%m-%d)"/> - </releases> -</component> -EOF - -# append the appdata for the different components -for i in "${PREFIXDIR?}"/share/appdata/libreoffice-*.appdata.xml -do - sed "1 d; s/<id>libreoffice-/<id>org.libreoffice.LibreOffice./" "$i" \ - >>/app/share/appdata/org.libreoffice.LibreOffice.appdata.xml -done +"${SRCDIR?}"/solenv/bin/assemble-flatpak-appdata-step1.sh /app/share/appdata/ 1 +"${SRCDIR?}"/solenv/bin/assemble-flatpak-appdata-step2.sh "${PREFIXDIR?}"/share/appdata/ \ + /app/share/appdata/ ## see <https://github.com/flatpak/flatpak/blob/master/app/ ## flatpak-builtins-build-finish.c> for further places where build-finish would |