Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Further improvements for the 'Lite' Flatpak variant #836

Merged
merged 1 commit into from
Dec 21, 2022

Conversation

guihkx
Copy link
Contributor

@guihkx guihkx commented Nov 10, 2022

These changes should only affect the Linux build.

@guihkx
Copy link
Contributor Author

guihkx commented Nov 10, 2022

These are the .desktop files generated:

RSS Guard (WebEngine)

# /usr/share/applications/io.github.martinrotter.rssguard.desktop
[Desktop Entry]
Type=Application
Name=RSS Guard
Comment=Simple, yet powerful news feed reader
Icon=io.github.martinrotter.rssguard
Exec=rssguard
Categories=Feed;News;Network;Qt;
StartupWMClass=rssguard
SingleMainWindow=true
X-GNOME-Autostart-Delay=15
X-LXQt-Need-Tray=true
# ~/.config/autostart/io.github.martinrotter.rssguard.desktop
[Desktop Entry]
Type=Application
Name=RSS Guard
Comment=Simple, yet powerful news feed reader
Icon=io.github.martinrotter.rssguard
Exec=./build-dir/src/rssguard/rssguard
Categories=Feed;News;Network;Qt;
StartupWMClass=rssguard
SingleMainWindow=true
X-GNOME-Autostart-Delay=15
X-LXQt-Need-Tray=true

RSS Guard Lite / NoWebEngine

# /usr/share/applications/io.github.martinrotter.rssguardlite.desktop
[Desktop Entry]
Type=Application
Name=RSS Guard Lite
Comment=Simple, yet powerful news feed reader (no built-in web browser)
Icon=io.github.martinrotter.rssguardlite
Exec=rssguard
Categories=Feed;News;Network;Qt;
StartupWMClass=rssguard
SingleMainWindow=true
X-GNOME-Autostart-Delay=15
X-LXQt-Need-Tray=true
# ~/.config/autostart/io.github.martinrotter.rssguardlite.desktop
[Desktop Entry]
Type=Application
Name=RSS Guard Lite
Comment=Simple, yet powerful news feed reader (no built-in web browser)
Icon=io.github.martinrotter.rssguardlite
Exec=rssguard
Categories=Feed;News;Network;Qt;
StartupWMClass=rssguard
SingleMainWindow=true
X-GNOME-Autostart-Delay=15
X-LXQt-Need-Tray=true

And here are the generated *.metainfo.xml files:

RSS Guard (WebEngine)

<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2017-2022 Martin Rotter <[email protected]> -->
<component type="desktop-application">
  <id>io.github.martinrotter.rssguard</id>
  <metadata_license>CC0-1.0</metadata_license>
  <project_license>GPL-3.0</project_license>
  <name>RSS Guard</name>
  <developer_name>Martin Rotter</developer_name>
  <update_contact>rotter.martinos_AT_gmail.com</update_contact>
  <summary>Simple, yet powerful news feed reader</summary>
  <description>
    <p>
      RSS Guard is a news feed reader, written in C++ and Qt.
    </p>
    <p>
      It supports many feed formats, such as:
    </p>
    <ul>
      <li>ATOM</li>
      <li>JSON (1.x)</li>
      <li>RSS (0.x, 1.x, 2.x)</li>
    </ul>
    <p>
      It also supports many web-based feed services, including:
    </p>
    <ul>
      <li>Feedly</li>
      <li>Gmail</li>
      <li>Google Reader API (Bazqux, FreshRSS, Inoreader, Miniflux, Reedah, The Old Reader, etc.)</li>
      <li>Next Cloud News</li>
      <li>Tiny Tiny RSS</li>
    </ul>
  </description>
  <launchable type="desktop-id">io.github.martinrotter.rssguard.desktop</launchable>
  <screenshots>
    <screenshot type="default">
      <image>https://raw.githubusercontent.com/martinrotter/rssguard/master/resources/docs/images/rssguard-window.png</image>
    </screenshot>
  </screenshots>
  <url type="homepage">https://github.com/martinrotter/rssguard</url>
  <url type="bugtracker">https://github.com/martinrotter/rssguard/issues</url>
  <url type="donation">https://github.com/sponsors/martinrotter</url>
  <url type="translate">https://explore.transifex.com/martinrotter/rssguard</url>
  <keywords>
    <keyword translate="no">ATOM</keyword>
    <keyword translate="no">JSON</keyword>
    <keyword translate="no">RDF</keyword>
    <keyword translate="no">RSS</keyword>
    <keyword translate="no">Bazqux</keyword>
    <keyword translate="no">Feedly</keyword>
    <keyword translate="no">FreshRSS</keyword>
    <keyword translate="no">Google Reader</keyword>
    <keyword translate="no">Inoreader</keyword>
    <keyword translate="no">Miniflux</keyword>
    <keyword translate="no">Next Cloud News</keyword>
    <keyword translate="no">Reedah</keyword>
    <keyword translate="no">The Old Reader</keyword>
    <keyword translate="no">Tiny Tiny RSS</keyword>
  </keywords>
  <content_rating type="oars-1.0" />
  <content_rating type="oars-1.1" />
  <releases>
    <release version="4.2.5" date="2022-10-27" />
  </releases>
  <provides>
    <binary>rssguard</binary>
  </provides>
</component>

RSS Guard Lite / NoWebEngine

<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2017-2022 Martin Rotter <[email protected]> -->
<component type="desktop-application">
  <id>io.github.martinrotter.rssguardlite</id>
  <metadata_license>CC0-1.0</metadata_license>
  <project_license>GPL-3.0</project_license>
  <name>RSS Guard Lite</name>
  <developer_name>Martin Rotter</developer_name>
  <update_contact>rotter.martinos_AT_gmail.com</update_contact>
  <summary>Simple, yet powerful news feed reader (no built-in web browser)</summary>
  <description>
    <p>
      RSS Guard Lite is a news feed reader, written in C++ and Qt.
    </p>
    <p>
      It supports many feed formats, such as:
    </p>
    <ul>
      <li>ATOM</li>
      <li>JSON (1.x)</li>
      <li>RSS (0.x, 1.x, 2.x)</li>
    </ul>
    <p>
      It also supports many web-based feed services, including:
    </p>
    <ul>
      <li>Feedly</li>
      <li>Gmail</li>
      <li>Google Reader API (Bazqux, FreshRSS, Inoreader, Miniflux, Reedah, The Old Reader, etc.)</li>
      <li>Next Cloud News</li>
      <li>Tiny Tiny RSS</li>
    </ul>
  </description>
  <launchable type="desktop-id">io.github.martinrotter.rssguardlite.desktop</launchable>
  <screenshots>
    <screenshot type="default">
      <image>https://raw.githubusercontent.com/martinrotter/rssguard/master/resources/docs/images/rssguard-window.png</image>
    </screenshot>
  </screenshots>
  <url type="homepage">https://github.com/martinrotter/rssguard</url>
  <url type="bugtracker">https://github.com/martinrotter/rssguard/issues</url>
  <url type="donation">https://github.com/sponsors/martinrotter</url>
  <url type="translate">https://explore.transifex.com/martinrotter/rssguard</url>
  <keywords>
    <keyword translate="no">ATOM</keyword>
    <keyword translate="no">JSON</keyword>
    <keyword translate="no">RDF</keyword>
    <keyword translate="no">RSS</keyword>
    <keyword translate="no">Bazqux</keyword>
    <keyword translate="no">Feedly</keyword>
    <keyword translate="no">FreshRSS</keyword>
    <keyword translate="no">Google Reader</keyword>
    <keyword translate="no">Inoreader</keyword>
    <keyword translate="no">Miniflux</keyword>
    <keyword translate="no">Next Cloud News</keyword>
    <keyword translate="no">Reedah</keyword>
    <keyword translate="no">The Old Reader</keyword>
    <keyword translate="no">Tiny Tiny RSS</keyword>
  </keywords>
  <content_rating type="oars-1.0" />
  <content_rating type="oars-1.1" />
  <releases>
    <release version="4.2.5" date="2022-10-27" />
  </releases>
  <provides>
    <binary>rssguard</binary>
  </provides>
</component>

@martinrotter martinrotter self-assigned this Nov 23, 2022
@martinrotter martinrotter added this to the 4.2.6 milestone Nov 23, 2022
@martinrotter martinrotter added Type-Desktop-Integration Application badly integrates into used desktop environment. Type-Deployment Problem is caused by badly deployed application files. labels Nov 23, 2022
@martinrotter
Copy link
Owner

Looking at this - at what stage is the renaming of the original RSS Guard on flathub?

@guihkx
Copy link
Contributor Author

guihkx commented Nov 23, 2022

We'll have to submit the two new versions again, as it's not possible to just rename the existing one.

The whole process can go like this, once this PR is merged:

  1. Release a new version of RSS Guard (up to you)
  2. Update the existing com.github.rssguard Flatpak (easy)
  3. Tidy up the two new Flatpak manifests, 'Regular' and 'Lite' (easy, I'm doing this one)
  4. Once the manifests are ready, open two pull requests here (easy as well, but it will depend on Flathub collaborators to review the manifests. And I can do it as well, if you prefer)
  5. Assuming the two versions are accepted into Flathub, deprecate com.github.rssguard and point them to the new apps. (easy)

@martinrotter
Copy link
Owner

Yes, that makes sense.

I saw PR, it has some nice touches really. I like your step-by-step suggestion and OK. I will release new RSS Guard version in a matter of days, then merge PR and we will go.

@guihkx
Copy link
Contributor Author

guihkx commented Nov 23, 2022

Awesome. I just forgot one thing, the existing com.github.rssguard manifest will have to be changed a bit to accommodate all the changes I did.

Should be fairly easy, though, and I can send you the required changes in our discussion, once they are ready.

@guihkx
Copy link
Contributor Author

guihkx commented Nov 23, 2022

And one last thing, the autostart feature will not work in both versions out of the box, but in my opinion that's not a blocker.

Users, of course, can add the --filesystem=xdg-config/autostart permission themselves if they really need this feature, at least until a proper DBus implementation is in place.

@martinrotter
Copy link
Owner

And one last thing, the autostart feature will not work in both versions out of the box, but in my opinion that's not a blocker.

Users, of course, can add the --filesystem=xdg-config/autostart permission themselves if they really need this feature, at least until a proper DBus implementation is in place.

Cannot this be included in manifest right away?

@guihkx
Copy link
Contributor Author

guihkx commented Nov 23, 2022

Sure, I can add it if you want. However, Flathub folks might ask me to remove it because that permission defeats the Flatpak sandbox.

@martinrotter
Copy link
Owner

Yes, that was my impression. OK.

@guihkx
Copy link
Contributor Author

guihkx commented Dec 8, 2022

Just rebased against master.

I only changed resources/scripts/github-actions/build-linux-mac.sh to properly set the Lite app id.

@guihkx
Copy link
Contributor Author

guihkx commented Dec 9, 2022

A little reminder for myself, before you merge this:

I have to replace SingleMainWindow=true by X-GNOME-SingleWindow=true in resources/desktop/rssguard.desktop.in, otherwise the AppImage creation will fail.

This is now necessary after the replacement of the AppImage deployment tool in ad31cec.

The current tool is stricter than the previous one regarding "unknown entries" in the desktop file, even though SingleMainWindow is now officially part of the desktop entry specification.

Also see: probonopd/linuxdeployqt#558

@martinrotter
Copy link
Owner

Wait, so I fucked up and should merge this now? I totaly forgot. SORRY.

I can merge this and release new 4.2.7 version just to have things clean?

@guihkx
Copy link
Contributor Author

guihkx commented Dec 21, 2022

No need to rush at all, there's no problem.

If you want, we can first submit io.github.martinrotter.rssguard to Flathub, which is exactly the same app as com.github.rssguard (just with the new app id).

Then, you can merge this PR and release 4.2.7 at some point in the future (doesn't have to be right away, but feel free to do so, if you want).

After 4.2.7 is released (with this PR merged), I submit io.github.martinrotter.rssguardlite to Flathub, which will be the Lite variant.

@martinrotter
Copy link
Owner

I would like to do that now. Can you fix conflicts? I will merge right away and release 4.2.7.

@guihkx
Copy link
Contributor Author

guihkx commented Dec 21, 2022

Absolutely, just give me a minute.

@martinrotter
Copy link
Owner

Sure, otherwise I would forget. I am crazily busy and would like to have things tidy before christmas.

These changes should only affect the Linux build.
@martinrotter martinrotter merged commit f64c46c into martinrotter:master Dec 21, 2022
@guihkx guihkx deleted the lite branch December 21, 2022 14:02
@martinrotter
Copy link
Owner

OK, I released 4.2.7 with your PR.

@martinrotter
Copy link
Owner

Feel free to do any Flathub magic. We do not really need to release 4.2.6/4.2.7 on Flathub under old ID, you can create those 2 PRs so that we can have new IDs accepted as soon as possible and release version 4.2.7 with them.

That would be maybe the best I think.

Thanks!

@guihkx
Copy link
Contributor Author

guihkx commented Dec 21, 2022

Neat! I was going to ask you exactly about that, but your idea sounds good to me. Just one question, for the new app ids should I go with Qt 6.4 or should I stay on Qt 6.3?

@martinrotter
Copy link
Owner

Neat! I was going to ask you exactly about that, but your idea sounds good to me. Just one question, for the new app ids should I go with Qt 6.4 or should I stay on Qt 6.3?

Stay with newest Qt from 6.3 line. Qt 6.4 has some regressions we also faced but they should be fixed with Qt 6.4.2 I believe.

@guihkx
Copy link
Contributor Author

guihkx commented Dec 21, 2022

Sounds good. I'll prepare the Flathub submissions and I'll tag you there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type-Deployment Problem is caused by badly deployed application files. Type-Desktop-Integration Application badly integrates into used desktop environment.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants