spheras / desktopfolder

Bring your Desktop Back to Life
GNU General Public License v3.0
202 stars 41 forks source link

Debian package #119

Closed fossfreedom closed 6 years ago

fossfreedom commented 6 years ago

Hi there,

Ubuntu Budgie have been evaluating this capability as a possible replacement for the extant Nautilus desktop icons capability (v3.26) when the Nautilus version is bumped to v3.32 for 19.04. Assuming the version of Nautilus is bumped in 19.04, an educated guess is that Ubuntu itself will default to the gnome-shell extension that has been developed to support desktop icons for the gnome-shell desktop. Ubuntu Budgie which uses the budgie-desktop would then be left without a desktop-icon solution which is why we have been looking at an off-the-shelf solution such as this project.

I am just seeking your advice - do you have any concerns about this? The alternative approach would be a brand new native budgie-desktop capability written from scratch.

The packaging approach would be to make the existing Debian package fully up-to Debian standards (if it isn't already) and then submit this to Debian for their consideration.

If Debian are content to include it in their repository it will then sync with Ubuntu automatically.

I would be the maintainer of the package in both Debian and Ubuntu - I would primarily sync the same release version as you publish - possibly include any stability type patches that may be released between versions.

Bug reports raised by either Ubuntu or Debian I would try to triage and possibly direct users to your project here. thanks in anticipation

spheras commented 6 years ago

Hello @fossfreedom, glad for your comment and the intention to use this project for Ubuntu Budgie. You ask me about concerns, and yes I have some:

On the other hand, it is very exciting the idea to be on the official channel of a distribution like Budgie. So, if I can help, I will try to do my best.

fossfreedom commented 6 years ago

The version of GTK we would be targeting is GTK+3.24 for Debian and Ubuntu - I understand there will be no more version bumps before GTK+4

Budgie does not use Wayland - as I understand - no immediate plans to move in that direction.

From an initial QA testing point of view desktopfolder works nicely with budgie-desktop. We haven't looked at potential integration issues yet - for example how to dynamically start and stop desktop folder via a budgie settings (think gnome-control-center but for budgie) checkbox.

HiDPI is a definite must have - but I'm surprised the normal resolution scaling to 200% does not work with desktopfolder - we will need to confirm.

More than happy to help with smallish maintenance issues - e.g. resolving new vala version compilation issues.

But yes - uploading to Debian and Ubuntu will expose your project to several fold increases of users. This could be both a blessing and a hindrance - more eyes means more potential help... but also much more potential triaging. Again the latter is something I definitely can help with through to adding any debugging etc to try to narrow stuff down. Hint: add a github template so that when users create new issues you could invite them to help diagnosing and help with actual pull-requests.

I'm going to have a much closer look over the next few days at potential code compilation and other integration issues (if any) - would it be ok to discuss this with you if I find anything I cannot figure out myself via this issue?

spheras commented 6 years ago

Sure, you are free to contact me via this issue, email or whatever.

fossfreedom commented 6 years ago

Ok - I had a quick 30 minute look last night. I made the following notes

If you don't mind I will continue looking more closely. Cheers.

spheras commented 6 years ago

quick response to your notes:

fossfreedom commented 6 years ago

re tarballs

This wiki explains how to create tarball signatures - https://wiki.debian.org/Creating%20signed%20GitHub%20releases

As to why - so you as project owner can be absolutely sure that anyone claiming to use your published source has not tampared with it in anyway. Its good practice - its not mandatory though but strongly recommended.

re License - let me know which way you want to go with this - I will do a PR. Do you want me to plough through the .vala sources and ensure you have a "GPL+2 (or later)" statement or a "GPL+3" statement. I will adjust your LICENSE file depending upon which license you want to publish with.

I will do PR's for the rest - or raise separate issues to track.

fossfreedom commented 6 years ago

Quick question with regards to deprecated code.

Are you still targeting trusty/xenial? N.B. your travis-ci is set to run for trusty. The deprecated code I'm looking at is making sure all code is compatible with GTK+3.22 and later. This means it would not be backward compatable with trusty/xenial unless we add compile time GTK checks around offending code.

Kind of messy - but needed if you want to be backward compatible.

spheras commented 6 years ago

re tarballs

This wiki explains how to create tarball signatures - https://wiki.debian.org/Creating%20signed%20GitHub%20releases

As to why - so you as project owner can be absolutely sure that anyone claiming to use your published source has not tampared with it in anyway. Its good practice - its not mandatory though but strongly recommended.

re License - let me know which way you want to go with this - I will do a PR. Do you want me to plough through the .vala sources and ensure you have a "GPL+2 (or later)" statement or a "GPL+3" statement. I will adjust your LICENSE file depending upon which license you want to publish with.

I will do PR's for the rest - or raise separate issues to track.

GPL+3 is the correct license

spheras commented 6 years ago

Quick question with regards to deprecated code.

Are you still targeting trusty/xenial? N.B. your travis-ci is set to run for trusty. The deprecated code I'm looking at is making sure all code is compatible with GTK+3.22 and later. This means it would not be backward compatable with trusty/xenial unless we add compile time GTK checks around offending code.

Kind of messy - but needed if you want to be backward compatible.

mmm As far as I know, travis is set to ubuntu bionic. Anyway, the travis configuration is set to elementary Juno scripts. They really maintain the scripts to test the application against elementary. So, I'm not sure exactly what are they doing behind the scene. You can see more about the requirements to publish in the elementary app center, here (my concern is I want to continue publishing there): https://github.com/elementary/houston/wiki/Before-You-Publish https://medium.com/elementaryos/developer-tips-updating-your-apps-for-juno-453c07a5b3a7

With the recent upgrade to Elementary Juno the idea was to freeze the Loki version (GTK+3.18), upgrade to GTK+3.22 for Juno with no backward compatibility for Loki and only maintain the application for Juno in the future. Therefore, my idea was not to be backward compatible. I will try to review the code during these days to avoid deprecated functions.

spheras commented 6 years ago

@fossfreedom, regarding this:

Drag-drop from the desktop into a desktop-folder is a nice bonus to implement. But not really a must have IMHO.

you can do it, but only with one file at a time. Press ctrl key, and then drag a file from a desktop. Once you start dragging you can release the ctrl key (ctrl key is for copying, without it you move). Drop the file onto a panel. I know it is a bit difficult to understand you must start with the ctrl key pressed, but that is what we have by the moment.

fossfreedom commented 6 years ago

One last request - assuming of course that you are interested - suggest add a donation's link to the README !

@spheras - when you are happy to proceed, I will begin the Debian/Ubuntu upload process when you create the next release tarball. thx for all your help and expertise. Much appreciated.

spheras commented 6 years ago

you're welcome. Do you need a release? I see there are some minor issues pending yet, I will try to solve them asap.

fossfreedom commented 6 years ago

As soon as you make a release I can begin the upload process which can take from a few days to several weeks or months...

After that the next version should be relatively quick to upload.

So I do think the current git master is in good shape.

The UB team will be working with you on a few ideas in the interim whilst the upload process is occurring. We would gratefully request you consider those and if possible include them in a subsequent release

Time frames ... hoping the Debian upload will occur sometime in December ... the next release in January/Feb. Thereafter bug fixes until final release in April.

On Thu, 8 Nov 2018, 07:05 José Amuedo Salmerón notifications@github.com<mailto:notifications@github.com wrote:

you're welcome. Do you need a release? I see there are some minor issues pending yet, I will try to solve them asap.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/spheras/desktopfolder/issues/119#issuecomment-436894125, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA8zkGO5QCU5X9CbAfFhBioYcIgYF3-Pks5us9fSgaJpZM4YCC9d.

fossfreedom commented 6 years ago

Thanks for signing the upload - just a quick thing - can you please change the release description from "Ubuntu Budgie" to "budgie-desktop" - changes will work on all budgie-desktop distro's. thx

I'm looking for your public key to check the package against on https://keyserver.pgp.com - did you upload your key to a public key server? It may be a bit slow to replicate ... so I'll check again in a few hours time.

spheras commented 6 years ago

No, I didn't upload. Ok, now is published.

fossfreedom commented 6 years ago

Hi I just realised that I cannot grab the source .tar.gz with a differently named .asc that are downloaded in completely different folders - a debian/watch file just doesn't like this!

mkrelease.tar.gz

enclosed is the way I do signed releases. If you extract the tarball into your root of the project and run ./mkrelease.sh it will sign and create the tarball at the same time. You can then attach both the tarball and the corresponding gpg file at the same time. Its just a very quick way of doing signed releases.

Obviously in the mkrelease.sh you need to change the signing key with yours - and each release you need to bump the version :)

Please can you remake and attach the tarball + signed file? thanks in advance.

spheras commented 6 years ago

Ok, I did. Just for curiosity, I don't understand what was bad. I followed the instructions given in the debian wiki, Did I something bad?, Now there are 2 tarballs in the release, the automatic done by github and the one I just uploaded... that seems strange. What was wrong exactly with the old one?

fossfreedom commented 6 years ago

The pictures and the words in the wiki do not match. The pictures are correct ... The file should be named v1.0.10.tar.gz.asc but the words said desktopfolder-1.0.10.tar.gz.asc

As I mentioned... The script method is very simple and guarantees a matching tarball and signature. I have tried the manual method in the wiki in the past and it us too easy to accidentally get a mismatched pair of files.

Cheers ... I will try again tonight with the revised files.

BTW desktopfolder already has a new translation from the wonderful country of Brazil.

On Fri, 9 Nov 2018, 07:16 José Amuedo Salmerón notifications@github.com<mailto:notifications@github.com wrote:

Ok, I did. Just for curiosity, I don't understand what was bad. I followed the instructions given in the debian wiki, Did I something bad?, Now there are 2 tarballs in the release, the automatic done by github and the one I just uploaded... that seems strange. What was wrong exactly with the old one?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/spheras/desktopfolder/issues/119#issuecomment-437271605, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA8zkLjGgbBZowO0rE2Yk9Wj5CsX_6hqks5utSvAgaJpZM4YCC9d.

fossfreedom commented 6 years ago

I have sent v1.0.10 to debian for evaluation now. Just a matter of waiting now and responding.

spheras commented 6 years ago

Ok, Thanks @fossfreedom. (curiosity) In what consists that evaluation? Automatic or manual? If I'm not wrong the evaluation is just to deploy the deb in their repository, isn't it?

fossfreedom commented 6 years ago

Bit of both

https://github.com/UbuntuBudgie/desktopfolder/tree/debian/debian

They will be evaluating the above package meets the current Debian standards. They look at the code to see things like copyright has been correctly captured in the debian package copyright file. They look to see if the source itself meets checks such as what is run by check-all-the-things They check lintian passes for the QA checks.

On Sat, 10 Nov 2018, 22:10 José Amuedo Salmerón notifications@github.com<mailto:notifications@github.com wrote:

Ok, Thanks @fossfreedomhttps://github.com/fossfreedom. (curiosity) In what consists that evaluation? Automatic or manual? If I'm not wrong the evaluation is just to deploy the deb in their repository, isn't it?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/spheras/desktopfolder/issues/119#issuecomment-437625376, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA8zkPFsLkqx-7JyC-B3RlguCLzv-K-5ks5ut07cgaJpZM4YCC9d.

fossfreedom commented 5 years ago

@spheras Good news!

v1.0.10 of desktopfolder has now been accepted into Debian and it will now be the version in Debian Buster next week when it transitions from unstable. It will make its way into Ubuntu 19.04 overnight.

spheras commented 5 years ago

Great! :tada: Thank you very much @fossfreedom for the effort!!

spheras commented 5 years ago

Do you think it is time to close a new release? Which functionality do you think is pending for that?

fossfreedom commented 5 years ago

I think what you have already is an excellent time for release!

From my UB hat on, three "must have" issues I would like to pitch for your consideration that our users have requested for a future release or a future + 1 release

  1. Vertical panel's - icons shouldn't fall under a vertical panel.
  2. Rubber band selection - group delete + the ability to drag and drop to something else e.g plank dock or a file-manager
  3. Drag and drop from the desktop by default to something else.

When I get some time I would like to ask you for some help with the outstanding PR - hopefully will get back to that in a week or two.

On Tue, 15 Jan 2019 at 08:51, José Amuedo Salmerón notifications@github.com<mailto:notifications@github.com> wrote:

Do you think it is time to close a new release? Which functionality do you think is pending for that?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/spheras/desktopfolder/issues/119#issuecomment-454312687, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA8zkBs59E9iCGx71oen7l0BbFYJzbI-ks5vDZaDgaJpZM4YCC9d.

spheras commented 5 years ago

I think the best is to add those features if possible in the new release. Let's study them:

  1. Could you explain better this issue, I'm not sure to understand.
  2. Ok, that's the #118 issue, isn't it?
  3. I don't understand this, could you explain it?
fossfreedom commented 5 years ago

Yeah - sorry - was on the phone at the time when I wrote the above.

  1. Any dock for example plank (when not set to autohide) that is positioned on the left hand side (or right). When creating new folders/files and reorganising, the files/folders appear partially under the dock

image

We also discussed this with Unity #229 which has a vertical dock - and budgie itself can have left and right panels. Can you have additional panels in Elementary? Certainly you should be able to switch Elementary's version of plank to the left hand side.

  1. correct #118
  2. If you use most file-managers and desktops that have desktop icon-support (I guess - Ubuntu 18.04 or Ubuntu Budgie 18.04/18.10) and click + drag that icon from the desktop you see the grab-hand cursor auto-appear - this actually also switches on drag-and-drop mode. You can move the icon anywhere on the desktop - but if it is over a droppable application like a file-manager the file will move/copy to the drop location.

At the moment with desktopfolder - if you have "app-arrange" mode the grab-hand and auto copy happens. From Grid and Free, whilst the grab-hand appears the drag and drop mode doesnt work until you press the shift key.

spheras commented 5 years ago

Ok:

  1. issue #211
  2. issue #118
  3. I think this is the most difficult, I opened an issue for that (#244). Please feel free to add there your comments about the issue. I'm not sure if this will be achieved, but lets start studying it.