summaryrefslogtreecommitdiff
path: root/solenv/bin/assemble-flatpak.sh
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2017-07-04 17:09:16 +0200
committerStephan Bergmann <sbergman@redhat.com>2017-07-04 17:09:16 +0200
commit19c13650c81ae7e0ad6cf0d7b8661f8440ee7892 (patch)
treef0d5a83c5cf882800bce6afdd62a3662642b5840 /solenv/bin/assemble-flatpak.sh
parentfe25f95c3de542f15f6043c85f7385cd7569f237 (diff)
Break solenv/bin/assemble-flatpak.sh out of dev-tools flatpak/build.sh
,,,in preparation of moving to a flatpak-builder manifest.json approach Change-Id: Ie9e90a85cc6e94ff7191161085c6e607512db0c4
Diffstat (limited to 'solenv/bin/assemble-flatpak.sh')
-rwxr-xr-xsolenv/bin/assemble-flatpak.sh110
1 files changed, 110 insertions, 0 deletions
diff --git a/solenv/bin/assemble-flatpak.sh b/solenv/bin/assemble-flatpak.sh
new file mode 100755
index 000000000000..e73848b6e050
--- /dev/null
+++ b/solenv/bin/assemble-flatpak.sh
@@ -0,0 +1,110 @@
+#! /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/.
+#
+
+# Assemble Flatpak app files and metadata under /app/, copying from the
+# installation tree generated by 'make distro-pack-install-strip' (at
+# $PREFIXDIR):
+
+set -e
+
+cp -r "${PREFIXDIR?}"/lib/libreoffice /app/
+
+## libreoffice-startcenter.desktop -> org.libreoffice.LibreOffice.desktop,
+## combining all libreoffice-*.desktop MimeType= lines:
+mkdir /app/share
+mkdir /app/share/applications
+my_mimetypes=$(awk -d 'BEGIN { FS="="; ORS=""; semi=0 }; \
+ /^MimeType=/ && length($2) \
+ { if (semi) print ";"; print $2; semi = match($2, ";$") == 0 }' \
+ "${PREFIXDIR?}"/share/applications/libreoffice-*.desktop)
+sed -e 's,^Exec=libreoffice,Exec=/app/libreoffice/program/soffice,' \
+ -e 's/^Icon=libreoffice-/Icon=org.libreoffice.LibreOffice-/' \
+ -e 's|^MimeType=.*$|MimeType='"$my_mimetypes"'|' \
+ "${PREFIXDIR?}"/share/applications/libreoffice-startcenter.desktop \
+ >/app/share/applications/org.libreoffice.LibreOffice.desktop
+
+## icons/hicolor/*/apps/libreoffice-startcenter.* ->
+## icons/hicolor/*/apps/org.libreoffice.LibreOffice-startcenter.*:
+mkdir /app/share/icons
+for i in "${PREFIXDIR?}"/share/icons/hicolor/*/apps/libreoffice-startcenter.*
+do
+ mkdir -p \
+ "$(dirname /app/share/icons/hicolor/"${i#"${PREFIXDIR?}"/share/icons/hicolor/}")"
+ cp -a "$i" \
+ "$(dirname /app/share/icons/hicolor/"${i#"${PREFIXDIR?}"/share/icons/hicolor/}")"/org.libreoffice.LibreOffice-startcenter."${i##*/apps/libreoffice-startcenter.}"
+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 /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>http://www.libreoffice.org/assets/Uploads/Discover/Screenshots/_resampled/ResizedImage400300-Writer-02-Table-of-Contents-Getting-Started-Guide-4-2.png</image>
+ <caption><!-- Describe this screenshot in less than ~10 words --></caption>
+ </screenshot>
+ <screenshot>
+ <image>http://www.libreoffice.org/assets/Uploads/Discover/Screenshots/_resampled/ResizedImage400300-Calc-02-exemple-ods.png</image>
+ <caption><!-- Describe this screenshot in less than ~10 words --></caption>
+ </screenshot>
+ <screenshot>
+ <image>http://www.libreoffice.org/assets/Uploads/Discover/Screenshots/_resampled/ResizedImage400300-Impress-01-Blank.png</image>
+ <caption><!-- Describe this screenshot in less than ~10 words --></caption>
+ </screenshot>
+ <screenshot>
+ <image>http://www.libreoffice.org/assets/Uploads/Discover/Screenshots/_resampled/ResizedImage400300-Draw-02-Tiger-fdo82219.png</image>
+ <caption><!-- Describe this screenshot in less than ~10 words --></caption>
+ </screenshot>
+ <screenshot>
+ <image>http://www.libreoffice.org/assets/Uploads/Screenshots/Base/Screenshot-78.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>
+</component>
+EOF
+
+## see <https://github.com/flatpak/flatpak/blob/master/app/
+## flatpak-builtins-build-finish.c> for further places where build-finish would
+## look for data:
+## cp ... /app/share/dbus-1/services/
+## cp ... /app/share/gnome-shell/search-providers/