twang2218 / qqmusic-snap

qqmusic-snap

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unofficial Snap package of QQ Music for Linux

QQ Music
QQ Music

This is the snap for QQ Music, “QQ Music provides massive high-quality music for you.”. It works on Ubuntu, Fedora, Debian, and other major Linux distributions.

qqmusic main screen qqmusic song lyrics qqmusic login

Published for with 💝 by Snapcrafters

Install

sudo snap install qqmusic-snap

Get it from the Snap Store

(Don't have snapd installed?)

Remaining tasks

Snapcrafters (join us) are working to land snap install documentation and the snapcraft.yaml upstream so QQ Music can authoritatively publish future releases.

  • Click the green "Use this template" button above to create a new repository based on this template
  • Give the newly created repository a sensible name, like godzilla-snap if you're snapping the Godzilla software
  • Update the description of the repository
  • Update logos and references to [QQ Music] and [qqmusic]
  • Create a snap that runs in devmode
  • Register the snap in the store, using the preferred upstream name
  • Add a screenshot to this README.md
  • Publish the devmode snap in the Snap store edge channel
  • Add install instructions to this README.md
  • Update snap store metadata, icons and screenshots
  • Convert the snap to strict confinement, or classic confinement if it qualifies
  • Publish the confined snap in the Snap store beta channel
  • Update the install instructions in this README.md
  • Post a call for testing on the Snapcraft Forum - link
  • Make a post in the Snapcraft Forum asking for a transfer of the snap name from you to snapcrafters - link
  • Ask a Snapcrafters admin to fork your repo into github.com/snapcrafters, and configure the repo for automatic publishing into edge on commit
  • Add the provided Snapcraft build badge to this README.md
  • Publish the snap in the Snap store stable channel
  • Update the install instructions in this README.md
  • Post an announcement in the Snapcraft Forum - link
  • Submit a pull request or patch upstream that adds snap install documentation - link
  • Submit a pull request or patch upstream that adds the snapcraft.yaml and any required assets/launchers - link
  • Add upstream contact information to the README.md
  • If upstream accept the PR:
    • Request upstream create a Snap store account
    • Contact the Snap Advocacy team to request the snap be transferred to upstream
  • Ask the Snap Advocacy team to celebrate the snap - link

If you have any questions, post in the Snapcraft forum.

Development

Build the package

snapcraft snap

The result *.snap will be put in the current directory.

➜ ls -hl *.snap
-rw-r--r-- 1 tao tao 106M Sep 16 19:51 qqmusic-snap_1.1.1_amd64.snap

Retrieve app icon

Update the link variable DEB_LINK in the Makefile if it's necessary, then run:

make icon

The icon will be snap/gui/qqmusic.png.

Install the package from local

sudo snap install --dangerous ./qqmusic-snap_1.1.1_amd64.snap

Known Issues

Tray icon not working properly

As unity7 is missing the path com/canonical/dbusmenu in the profile, so the tray icon is not working at the moment. To fix the problem, the profile can be modified manually.

The profile will be overwritten by reinstall/update the snap, so if the tray icon is not working anymore, you can check whether is the profile problem, and repeat the above again if it's necessary. Those operation should not be necessary after the snap team fix the problem.

Fix by provided fix-tray.sh script

This snap provided a script to help the AppArmor profile modification.

$ sudo /snap/qqmusic-snap/current/fix-tray.sh
Fix AppArmor profile of qqmusic-snap...
patching file /var/lib/snapd/apparmor/profiles/snap.qqmusic-snap.qqmusic-snap
--- /var/lib/snapd/apparmor/profiles/snap.qqmusic-snap.qqmusic-snap.bak	2021-09-24 21:40:15.083746116 +1000
+++ /var/lib/snapd/apparmor/profiles/snap.qqmusic-snap.qqmusic-snap	2021-09-24 21:40:15.083746116 +1000
@@ -973,21 +973,21 @@
 # dbusmenu
 dbus (send)
     bus=session
-    path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*}
+    path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*,com/canonical/dbusmenu}
     interface=com.canonical.dbusmenu
     member="{LayoutUpdated,ItemsPropertiesUpdated}"
     peer=(name=org.freedesktop.DBus, label=unconfined),
 
 dbus (receive)
     bus=session
-    path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*}
+    path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*,com/canonical/dbusmenu}
     interface="{com.canonical.dbusmenu,org.freedesktop.DBus.Properties}"
     member=Get*
     peer=(label=unconfined),
 
 dbus (receive)
     bus=session
-    path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*}
+    path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*,com/canonical/dbusmenu}
     interface=com.canonical.dbusmenu
     member="{AboutTo*,Event*}"
     peer=(label=unconfined),
Reloading the AppArmor profile for qqmusic-snap...
Done.

Rerun the qqmusic-snap, the systray icon should work correctly.

Fix by hand

sudo vi  /var/lib/snapd/apparmor/profiles/snap.qqmusic-snap.qqmusic-snap

use /dbusmenu find the # dbusmenu section, and add the path to the first 3 parts. Don't forget backup the old profile.

--- snap.qqmusic.qqmusic.bak	2021-09-19 12:47:04.518276613 +1000
+++ snap.qqmusic.qqmusic	2021-09-19 12:44:02.897018611 +1000
@@ -973,21 +973,21 @@
 # dbusmenu
 dbus (send)
     bus=session
-    path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*}
+    path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*,com/canonical/dbusmenu}
     interface=com.canonical.dbusmenu
     member="{LayoutUpdated,ItemsPropertiesUpdated}"
     peer=(name=org.freedesktop.DBus, label=unconfined),
 
 dbus (receive)
     bus=session
-    path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*}
+    path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*,com/canonical/dbusmenu}
     interface="{com.canonical.dbusmenu,org.freedesktop.DBus.Properties}"
     member=Get*
     peer=(label=unconfined),
 
 dbus (receive)
     bus=session
-    path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*}
+    path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*,com/canonical/dbusmenu}
     interface=com.canonical.dbusmenu
     member="{AboutTo*,Event*}"
     peer=(label=unconfined),

Then reload the profile:

sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.qqmusic-snap.qqmusic-snap

Rerun the qqmusic-snap, the systray icon should work correctly.

Uninstall the snap package

sudo snap remove qqmusic-snap

Reinstall and update the snap will keep the user's data, however, remove the snap app will remove the user's data, such as login information.

Reference

About

qqmusic-snap

License:MIT License


Languages

Language:Shell 65.1%Language:Makefile 34.9%