From 11cad2aab5472a6807c61b01efb7f250893f0b1b Mon Sep 17 00:00:00 2001 From: Robert de Rooy Date: Tue, 20 Oct 2020 15:24:03 +0200 Subject: [PATCH] Use reverse DNS naming Use reverse DNS naming for .desktop and .metainfo.xml as your supposed to do nowadays according to freedesktop.org. This also happens to match what is mandated by flatpak, so it simplifies the flatpak post install script a little. + cleanup the mess that flatpak builds can leave behind when you do a clean. --- Makefile.am | 6 ++++-- cleanup | 3 +++ configure.ac | 2 +- contrib/linux/com.dosbox_x.DOSBox-X-sdl2.yaml | 8 +++----- .../{dosbox-x.desktop => com.dosbox_x.DOSBox-X.desktop} | 0 ...ainfo.xml.in => com.dosbox_x.DOSBox-X.metainfo.xml.in} | 0 contrib/linux/com.dosbox_x.DOSBox-X.yaml | 2 -- contrib/linux/dosbox-x.spec.in | 4 ++-- make-flatpak-sdl2.sh | 4 ++-- make-flatpak.sh | 2 +- make-rpm.sh.in | 4 ++-- update-build-timestamp.pl | 2 +- 12 files changed, 19 insertions(+), 18 deletions(-) rename contrib/linux/{dosbox-x.desktop => com.dosbox_x.DOSBox-X.desktop} (100%) rename contrib/linux/{dosbox-x.metainfo.xml.in => com.dosbox_x.DOSBox-X.metainfo.xml.in} (100%) diff --git a/Makefile.am b/Makefile.am index bcbf971b1..5ec8c98da 100644 --- a/Makefile.am +++ b/Makefile.am @@ -79,9 +79,9 @@ install: src/dosbox-x mkdir -p $(DESTDIR)$(prefix)/share/icons/hicolor/scalable/apps install -m 644 $(srcdir)/contrib/icons/dosbox-x.svg $(DESTDIR)$(prefix)/share/icons/hicolor/scalable/apps/dosbox-x.svg mkdir -p $(DESTDIR)$(prefix)/share/applications - install -m 644 $(srcdir)/contrib/linux/dosbox-x.desktop $(DESTDIR)$(prefix)/share/applications + install -m 644 $(srcdir)/contrib/linux/com.dosbox_x.DOSBox-X.desktop $(DESTDIR)$(prefix)/share/applications mkdir -p $(DESTDIR)$(prefix)/share/metainfo - install -m 644 contrib/linux/dosbox-x.metainfo.xml $(DESTDIR)$(prefix)/share/metainfo + install -m 644 $(srcdir)/contrib/linux/com.dosbox_x.DOSBox-X.metainfo.xml $(DESTDIR)$(prefix)/share/metainfo -test -x /usr/sbin/setcap && setcap cap_net_raw=ep $(DESTDIR)$(bindir)/dosbox-x install_strip: src/dosbox-x install @@ -97,5 +97,7 @@ uninstall: rm -f $(DESTDIR)$(prefix)/share/icons/hicolor/48x48/apps/dosbox-x.png rm -f $(DESTDIR)$(prefix)/share/icons/hicolor/scalable/apps/dosbox-x.svg rm -f $(DESTDIR)$(prefix)/share/applications/dosbox-x.desktop + rm -f $(DESTDIR)$(prefix)/share/applications/com.dosbox_x.DOSBox-X.desktop rm -f $(DESTDIR)$(prefix)/share/metainfo/dosbox-x.metainfo.xml + rm -f $(DESTDIR)$(prefix)/share/metainfo/com.dosbox_x.DOSBox-X.metainfo.xml diff --git a/cleanup b/cleanup index fad7a2d0e..00503fec8 100755 --- a/cleanup +++ b/cleanup @@ -13,4 +13,7 @@ rm -Rfv visualc_net/libpng/projects/visualc71/Win32_LIB_Release rm -Rfv vs2008/sdl/VisualC/SDLmain/Release vs2008/sdl/VisualC/SDL/Release vs2008/sdlnet/VisualC/Release rm -Rfv vs2008/Debug vs2008/Release rm -Rfv autom4te.cache +rm -Rfv build-flatpak +rm -Rfv .flatpak-builder +rm -Rfv myrepo diff --git a/configure.ac b/configure.ac index f92cae255..e72bf98bd 100644 --- a/configure.ac +++ b/configure.ac @@ -1090,7 +1090,7 @@ src/platform/Makefile include/Makefile contrib/macos/dosbox-x.plist contrib/linux/dosbox-x.spec -contrib/linux/dosbox-x.metainfo.xml +contrib/linux/com.dosbox_x.DOSBox-X.metainfo.xml make-rpm.sh ]) AC_OUTPUT diff --git a/contrib/linux/com.dosbox_x.DOSBox-X-sdl2.yaml b/contrib/linux/com.dosbox_x.DOSBox-X-sdl2.yaml index 99384a16f..574fded09 100644 --- a/contrib/linux/com.dosbox_x.DOSBox-X-sdl2.yaml +++ b/contrib/linux/com.dosbox_x.DOSBox-X-sdl2.yaml @@ -3,7 +3,7 @@ runtime: org.freedesktop.Platform runtime-version: '20.08' sdk: org.freedesktop.Sdk -command: dosbox-x-sdl2 +command: dosbox-x finish-args: # flatpak permissions - --device=all # needed for gamepads and serial/parallel @@ -65,12 +65,10 @@ modules: - type: dir path: ../.. post-install: - - install -Dm755 /app/bin/dosbox-x /app/bin/dosbox-x-sdl2 - - install -Dm644 /app/share/applications/dosbox-x.desktop /app/share/applications/${FLATPAK_ID}.desktop + - install -Dm644 /app/share/applications/com.dosbox_x.DOSBox-X.desktop /app/share/applications/${FLATPAK_ID}.desktop - install -Dm644 /app/share/icons/hicolor/scalable/apps/dosbox-x.svg /app/share/icons/hicolor/scalable/apps/${FLATPAK_ID}.svg - - install -Dm644 /app/share/metainfo/dosbox-x.metainfo.xml /app/share/metainfo/${FLATPAK_ID}.metainfo.xml + - install -Dm644 /app/share/metainfo/com.dosbox_x.DOSBox-X.metainfo.xml /app/share/metainfo/${FLATPAK_ID}.metainfo.xml - desktop-file-edit --set-key=Icon --set-value=${FLATPAK_ID} /app/share/applications/${FLATPAK_ID}.desktop - - desktop-file-edit --set-key=Exec --set-value=dosbox-x-sdl2 /app/share/applications/${FLATPAK_ID}.desktop - desktop-file-edit --set-key=Name --set-value="DOSBox-X SDL2" /app/share/applications/${FLATPAK_ID}.desktop - appstream-util modify /app/share/metainfo/${FLATPAK_ID}.metainfo.xml id dosbox-x-sdl2 - appstream-util modify /app/share/metainfo/${FLATPAK_ID}.metainfo.xml name "DOSBox-X SDL2" diff --git a/contrib/linux/dosbox-x.desktop b/contrib/linux/com.dosbox_x.DOSBox-X.desktop similarity index 100% rename from contrib/linux/dosbox-x.desktop rename to contrib/linux/com.dosbox_x.DOSBox-X.desktop diff --git a/contrib/linux/dosbox-x.metainfo.xml.in b/contrib/linux/com.dosbox_x.DOSBox-X.metainfo.xml.in similarity index 100% rename from contrib/linux/dosbox-x.metainfo.xml.in rename to contrib/linux/com.dosbox_x.DOSBox-X.metainfo.xml.in diff --git a/contrib/linux/com.dosbox_x.DOSBox-X.yaml b/contrib/linux/com.dosbox_x.DOSBox-X.yaml index eaa0fa25c..d8307d5d6 100644 --- a/contrib/linux/com.dosbox_x.DOSBox-X.yaml +++ b/contrib/linux/com.dosbox_x.DOSBox-X.yaml @@ -68,7 +68,5 @@ modules: - ./build-debug - make bindir=/app/bin prefix=/app install post-install: - - install -Dm644 /app/share/applications/dosbox-x.desktop /app/share/applications/${FLATPAK_ID}.desktop - install -Dm644 /app/share/icons/hicolor/scalable/apps/dosbox-x.svg /app/share/icons/hicolor/scalable/apps/${FLATPAK_ID}.svg - - install -Dm644 /app/share/metainfo/dosbox-x.metainfo.xml /app/share/metainfo/${FLATPAK_ID}.metainfo.xml - desktop-file-edit --set-key=Icon --set-value=${FLATPAK_ID} /app/share/applications/${FLATPAK_ID}.desktop diff --git a/contrib/linux/dosbox-x.spec.in b/contrib/linux/dosbox-x.spec.in index 6e62d8e8b..84e74422f 100644 --- a/contrib/linux/dosbox-x.spec.in +++ b/contrib/linux/dosbox-x.spec.in @@ -12,9 +12,9 @@ License: GPL URL: https://dosbox-x.com Group: Applications/Emulators Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.xz -Source1: dosbox-x.desktop +Source1: com.dosbox_x.DOSBox-X.desktop Source2: dosbox-x.svg -Source3: dosbox-x.metainfo.xml +Source3: com.dosbox_x.DOSBox-X.metainfo.xml %description DOSBox-X is a cross-platform DOS emulator based on DOSBox. diff --git a/make-flatpak-sdl2.sh b/make-flatpak-sdl2.sh index f04d53d8f..7a70fce81 100755 --- a/make-flatpak-sdl2.sh +++ b/make-flatpak-sdl2.sh @@ -16,12 +16,12 @@ if [ $? -eq 0 ]; then echo echo You can now install the flatpak by running the following commands: echo - echo flatpak --user remote-add --no-gpg-verify myrepo repo + echo flatpak --user remote-add --no-gpg-verify myrepo myrepo echo flatpak --user install myrepo com.dosbox_x.DOSBox-X-sdl2 echo echo You can then run the flatpak as follows: echo flatpak run com.dosbox_x.DOSBox-X-sdl2 echo echo Or you can test it without installing by running: - echo flatpak-builder --run build-flatpak contrib/linux/com.dosbox_x.DOSBox-X-sdl2.yaml dosbox-x-sdl2 + echo flatpak-builder --run build-flatpak contrib/linux/com.dosbox_x.DOSBox-X-sdl2.yaml dosbox-x fi diff --git a/make-flatpak.sh b/make-flatpak.sh index 1648aa21b..3a1a5c5e2 100755 --- a/make-flatpak.sh +++ b/make-flatpak.sh @@ -16,7 +16,7 @@ if [ $? -eq 0 ]; then echo echo You can now install the flatpak by running the following commands: echo - echo flatpak --user remote-add --no-gpg-verify myrepo repo + echo flatpak --user remote-add --no-gpg-verify myrepo myrepo echo flatpak --user install myrepo com.dosbox_x.DOSBox-X echo echo You can then run the flatpak as follows: diff --git a/make-rpm.sh.in b/make-rpm.sh.in index 910f5fe4f..9b6b73f45 100755 --- a/make-rpm.sh.in +++ b/make-rpm.sh.in @@ -25,8 +25,8 @@ tar="../@PACKAGE_NAME@-@PACKAGE_VERSION@.tar.xz" tar -cvJf "$tar" --exclude=\*.git --exclude=\*.tar.xz --exclude=\*.a --exclude=\*.la --exclude=\*.Po --exclude=\*.o -C .. dosbox-x || exit 1 cp -vf "$tar" ~/rpmbuild/SOURCES/ || exit 1 -cp -vf contrib/linux/dosbox-x.desktop ~/rpmbuild/SOURCES/ || exit 1 -cp -vf contrib/linux/dosbox-x.metainfo.xml ~/rpmbuild/SOURCES/ || exit 1 +cp -vf contrib/linux/com.dosbox_x.DOSBox-X.desktop ~/rpmbuild/SOURCES/ || exit 1 +cp -vf contrib/linux/com.dosbox_x.DOSBox-X.metainfo.xml ~/rpmbuild/SOURCES/ || exit 1 cp -vf contrib/icons/dosbox-x.svg ~/rpmbuild/SOURCES/ || exit 1 rpmbuild -bb contrib/linux/dosbox-x.spec || exit 1 rm -v "$tar" || exit 1 diff --git a/update-build-timestamp.pl b/update-build-timestamp.pl index b55353683..a0a0b47cf 100755 --- a/update-build-timestamp.pl +++ b/update-build-timestamp.pl @@ -26,7 +26,7 @@ close(X); use strict; use warnings; -my $file = "contrib/linux/dosbox-x.metainfo.xml.in"; +my $file = "contrib/linux/com.dosbox_x.DOSBox-X.metainfo.xml.in"; open FILE, $file or die "Can't read from $file!\n"; my @lines;