Files
flatpak/tests/make-test-app.sh
Philip Withnall 9989188a1e tests: Add support for collection IDs to test-repo.sh
This adds variable support for collection IDs: they can either be
enabled on the server, on the server and client, or not at all. If
enabled on the server, apps and runtimes are built with collection IDs
and the repository has one set. If enabled on the client, the remote
config is added to the local repository with a collection ID and GPG
verification enabled. They are controlled with
USE_COLLECTIONS_IN_{SERVER,CLIENT}={yes,no}.

These variables are used in the new wrapper tests,
test-repo-collections.sh and test-repo-collections-server-only.sh.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2017-08-18 14:23:03 +02:00

78 lines
2.0 KiB
Bash
Executable File

#!/bin/sh
set -e
DIR=`mktemp -d`
REPONAME=$1
shift
COLLECTION_ID=$1
shift
EXTRA="${1-}"
ARCH=`flatpak --default-arch`
# Init dir
cat > ${DIR}/metadata <<EOF
[Application]
name=org.test.Hello
runtime=org.test.Platform/$ARCH/master
sdk=org.test.Platform/$ARCH/master
EOF
mkdir -p ${DIR}/files/bin
cat > ${DIR}/files/bin/hello.sh <<EOF
#!/bin/sh
echo "Hello world, from a sandbox$EXTRA"
EOF
chmod a+x ${DIR}/files/bin/hello.sh
mkdir -p ${DIR}/files/share/applications
cat > ${DIR}/files/share/applications/org.test.Hello.desktop <<EOF
[Desktop Entry]
Version=1.0
Type=Application
Name=Hello
Exec=hello.sh
Icon=org.test.Hello
MimeType=x-test/Hello;
EOF
mkdir -p ${DIR}/files/share/icons/hicolor/64x64/apps
cp $(dirname $0)/org.test.Hello.png ${DIR}/files/share/icons/hicolor/64x64/apps/
cp $(dirname $0)/org.test.Hello.png ${DIR}/files/share/icons/hicolor/64x64/apps/dont-export.png
mkdir -p ${DIR}/files/share/icons/HighContrast/64x64/apps
cp $(dirname $0)/org.test.Hello.png ${DIR}/files/share/icons/HighContrast/64x64/apps/
mkdir -p ${DIR}/files/share/app-info/xmls
mkdir -p ${DIR}/files/share/app-info/icons/flatpak/64x64
gzip -c > ${DIR}/files/share/app-info/xmls/org.test.Hello.xml.gz <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<components version="0.8">
<component type="desktop">
<id>org.test.Hello.desktop</id>
<name>Hello world test app</name>
<summary>Print a greeting</summary>
<description><p>This is a test app.</p></description>
<categories>
<category>Utility</category>
</categories>
<icon height="64" width="64" type="cached">64x64/org.gnome.gedit.png</icon>
</component>
</components>
EOF
cp $(dirname $0)/org.test.Hello.png ${DIR}/files/share/app-info/icons/flatpak/64x64/
if [ x$COLLECTION_ID != x ]; then
collection_args=--collection-id=${COLLECTION_ID}
else
collection_args=
fi
flatpak build-finish --command=hello.sh ${DIR}
mkdir -p repos
flatpak build-export ${collection_args} ${GPGARGS-} repos/${REPONAME} ${DIR}
rm -rf ${DIR}