SwayNotificationCenter icon indicating copy to clipboard operation
SwayNotificationCenter copied to clipboard

Information for packagers

Open ErikReider opened this issue 2 years ago • 34 comments

I have no clue how this works in any sort of way so help would be very much appreciated. The main distro would be Arch (due to me primarily using it) and maybe Ubuntu and Fedora (I'll probably need to create a fedora build GitHub Action)

ErikReider avatar Jul 11 '22 20:07 ErikReider

For building Fedora there is already a rpkg spec file: https://github.com/ErikReider/SwayNotificationCenter/blob/main/swaync.rpkg.spec and a copr repo. If you are ok, I could create a Gihub Action to update that copr whenever you push a new version of of SwayNotificationCenter.

You could also push the package in the official Fedora repository, that would be greatly appreciated.

lexa avatar Jul 11 '22 21:07 lexa

I would really appreciate if you could pull it into official Fedora repository though

That would be preferred. Thanks @lexa for maintaining the copr repo :)

ErikReider avatar Jul 11 '22 21:07 ErikReider

That would be preferred.

Sure, but that is rather difficult, especially for such niche package.

lexa avatar Jul 11 '22 21:07 lexa

@lexa Hmmm. Is it possible to change the owner? Would the url change in that case?

ErikReider avatar Jul 11 '22 21:07 ErikReider

The URL will change if we change the maintainer of the Copr package. I don't think there is such thing as changing the owner on Fedora copr.

alekseifedotov avatar Jul 12 '22 08:07 alekseifedotov

If you @lexa would be willing to change the maintainer (or any similar option that also changes the URL), I'd be glad to take over it :)

ErikReider avatar Jul 13 '22 19:07 ErikReider

@ErikReider Got really excited about this idea of officially maintained Fedora repo and made a mistake of posting from a wrong account.

I've prepared a PR to add Github Action for updating copr repo automatically: https://github.com/ErikReider/SwayNotificationCenter/pull/148

If you want to take over maintenance over copr, you need to get an account on copr.fedorainfracloud.org, as described in the PR.

lexa avatar Jul 20 '22 21:07 lexa

Didn't I do that? I'll check

ErikReider avatar Jul 23 '22 14:07 ErikReider

Should be there if I'm not mistaken: image

ErikReider avatar Jul 23 '22 14:07 ErikReider

sorry, overlooked that configuration.

lexa avatar Jul 23 '22 14:07 lexa

For openSUSE distros, work is ongoing in https://build.opensuse.org/package/show/X11:Wayland/SwayNotificationCenter. Hopefully the package will be in Factory (and then Tumbleweed) soon.

FilippoBonazziSUSE avatar Aug 23 '22 17:08 FilippoBonazziSUSE

I started work on a debian package which will make its way into the offical repos and ubuntus soon (tm). I need someone to review my work and upload it, then it should be good to go.

werdahias avatar Aug 27 '22 01:08 werdahias

I need someone to review my work and upload it, then it should be good to go.

Someone like me or a package maintainer for Debian / Ubuntu?

ErikReider avatar Aug 27 '22 08:08 ErikReider

@ErikReider a package maintaiber for Debian

werdahias avatar Aug 27 '22 16:08 werdahias

FYI: The package is now available in openSUSE Tumbleweed, and can be installed with

sudo zypper install SwayNotificationCenter

FilippoBonazziSUSE avatar Oct 11 '22 16:10 FilippoBonazziSUSE

FYI: The package is now available in openSUSE Tumbleweed, and can be installed with

sudo zypper install SwayNotificationCenter

That's awesome! Never actually thought that this project would take off like it's done :))

ErikReider avatar Oct 12 '22 02:10 ErikReider

I added this to void-package and waiting for it to be merged into their main repo.
https://github.com/void-linux/void-packages/pull/40099

akhiljalagam avatar Nov 02 '22 18:11 akhiljalagam

FYI: The package is now available in openSUSE Tumbleweed, and can be installed with

sudo zypper install SwayNotificationCenter

Sorry for the late reply, updated the README to include installation instructions for OpenSUSE users in 345b4ba

ErikReider avatar Dec 17 '22 14:12 ErikReider

For Arch, it looks like two things need to happen

  1. Popularity metrics need to meet those defined in the Trusted User Guidelines, namely, reaching 1% popularity on pkgstats (currently 0.43) or by getting 10 votes on the AUR (currently at 9, likely the easier option).

  2. Somehow finding a Trusted User who will adopt the package. Once popularity is met, we could try and contact a few through official channels (mailing lists, IRC, or the forums), or unofficial channels (Reddit, Twitter/Mastodon).

I'm willing to put work into this if we can get one more AUR vote!

bd-g avatar Jan 11 '23 19:01 bd-g

For Arch, it looks like two things need to happen

1. Popularity metrics need to meet those defined in the [Trusted User Guidelines](https://wiki.archlinux.org/title/AUR_Trusted_User_guidelines#The_TU_and_%5Bcommunity%5D,_guidelines_for_package_maintenance), namely, reaching 1% popularity on pkgstats (currently 0.43) or by getting 10 votes on the AUR (currently at 9, likely the easier option).

2. Somehow finding a Trusted User who will adopt the package. Once popularity is met, we could try and contact a few through official channels (mailing lists, IRC, or the forums), or unofficial channels (Reddit, Twitter/Mastodon).

I'm willing to put work into this if we can get one more AUR vote!

In terms of Trusted Users to contact, starting with these three (listed with the current packages they maintain) might be a good idea.

bd-g avatar Jan 11 '23 21:01 bd-g

For Arch, it looks like two things need to happen

  1. Popularity metrics need to meet those defined in the Trusted User Guidelines, namely, reaching 1% popularity on pkgstats (currently 0.43) or by getting 10 votes on the AUR (currently at 9, likely the easier option).

  2. Somehow finding a Trusted User who will adopt the package. Once popularity is met, we could try and contact a few through official channels (mailing lists, IRC, or the forums), or unofficial channels (Reddit, Twitter/Mastodon).

I'm willing to put work into this if we can get one more AUR vote!

Is it really that "easy"?! Wow! Would I need to modify the PKGBUILD in any kind of way?

ErikReider avatar Jan 13 '23 09:01 ErikReider

Is it really that "easy"?! Wow! Would I need to modify the PKGBUILD in any kind of way?

tldr; slight change to build pipeline to release artifacts, and including License and Readme in the package release

I'm just googling around, no expert here, just want to see your project included in community :) but it doesn't seem like too big of a change. For example, look at the official PKGBUILD for swayidle, which is in [community]. I see only three differences.

  1. Slight difference in source files from builds. For example, when swayidle has a release, there are additional artifacts created, e.g. swayidle-1.8.0.tar.gz{.sig}. These are then directly used in the build process. So we might need to alter our release pipeline to produce these artifacts, and then they would get used by the PKGBUILD as below. .
    source=(
        "https://github.com/ErikReider/SwayNotificationCenter/releases/download/$pkgver/$pkgname-$pkgver.tar.gz"{,.sig}
    )
    
  2. Of course, there are valid pgp keys from the Trusted User - that would get added by the Trusted User who sponsors the project.
  3. Adding the License and ReadMe to the package. I would suggest renaming COPYING to LICENSE to follow convention, and then changing the package in PKGBUILD to something like below
    package() {
        DESTDIR="$pkgdir/" ninja -C build install
        install -Dm644 "$pkgname-$pkgver/LICENSE" -t "$pkgdir/usr/share/licenses/$pkgname"
        install -Dm644 "$pkgname-$pkgver/README.md" -t "$pkgdir/usr/share/doc/$pkgname"
    }
    

bd-g avatar Jan 13 '23 15:01 bd-g

Sounds easy enough! 🤜🪵

ErikReider avatar Jan 13 '23 15:01 ErikReider

A couple notes:

  1. I'm not sure the best way to produce the signature file on the releases, but I bet the Trusted Users are well versed in that. Could ask them when asking for sponsorship of the package?

  2. Running namcap on the PKGBUILD has this output. Can we remove these dependencies for just arch? Not sure if they are old dependencies or just needed for Fedora, Debian, etc. If you're fine removing them for just the arch build, I could push another commit to #200

    swaync W: Dependency included and not needed ('gobject-introspection')
    swaync W: Dependency included and not needed ('libgee')
    

Other than that, I think we could just reach out now to the three Trusted Users I listed above. Do you want to do that @ErikReider since it is your package? Great job by the way!

bd-g avatar Jan 13 '23 16:01 bd-g

I wonder why libgee and gobject-introspection aren't needed. They shouldn't be provided by any other of the dependencies right?

I can reach out to some of them. I'll just need to find some time to do it 😅

ErikReider avatar Jan 14 '23 12:01 ErikReider

Someone seems to keep you updated for Gentoo in the guru (semi-official) overlay, currently serving v0.9.0

I made myself a -9999 ebuild for master git, as this is where the action is... anyone else interested holla, otherwise I may see if any maintainer interested in adding it.

MrPenguin07 avatar Oct 01 '23 12:10 MrPenguin07

A heads up: #352 adds sassc as a dependency

ErikReider avatar Dec 14 '23 16:12 ErikReider

Thanks for the heads up, very much appreciated. If you can make sure to explicitly mention this in the release notes once this is released, we can adjust the packaging.

FilippoBonazziSUSE avatar Dec 14 '23 16:12 FilippoBonazziSUSE

Also, gvfs is a new dependency to get MPRIS covers to work: #310

ErikReider avatar Dec 15 '23 11:12 ErikReider

Also, just as a safety valac/vala >= 0.56 but shouldn't be that important for your packages

#327

ErikReider avatar Dec 15 '23 11:12 ErikReider