Request for sponsorship for new upstream release (zesty deb provided)

Bug #1664746 reported by Francesco Fumanti
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
onboard (Ubuntu)
Fix Released
Wishlist
Unassigned

Bug Description

Version 1.4.0 of Onboard has been released upstream several hours ago. I am proposing here a debianisation of the new version, based on onboard version currently shipping in the Ubuntu main repository. These are the main changes of the new Onboard version, copied from the relevant part of the debian/changelog:

  * Request for sponsorship for new upstream release (LP: #1664746)
  * debian/control:
    - Add libudev-dev to Build-Depends
  * debian/copyright.in:
    - Replaced by a more accurate, manually adjusted copyright file
  * debian/onboard.install:
    - Remove settings_auto_show_dialog.ui entry
  * debian/patches/add_defaults_for_ubuntu.patch:
    - Update system-theme-associations example key
    - Add DEP3 tag
    - Refresh
  * debian/source.lintian-overrides:
    - Create file
    - Override 2 missing-license-paragraph-in-dep5-copyright entries
  * Tablet-mode: (LP: #1366421)
    - Add detection based on acpid reporting the SW_TABLET_MODE switch
    - Add detection based on hotkey events from XInput
    - Add detection by reading tablet-mode state from a few known sysfs paths
    - Add option to the Auto-show page to auto-show Onboard only in tablet-mode
    - Only run GlobalKeyListener when necessary
    - Add tablet-mode settings to Preferences->Auto-show->Convertibles
  * GNOME Shell:
    - Add edge-drag gesture to show the keyboard in GNOME Shell
    - Add option to gnome-shell-extension-prefs to disable edge-drag
    - Enable auto-show only on first start (LP: #1650810)
    - Fix setup.py to have distutils-extra not open extension dir as a file
    - Stop the legacy icon panel from sliding in and out all the time
    - Add license and copyright header to gschema.xml
    - Fix broken string in prefs.js
    - Fix copyright information in prefs.js
    - Clean up prefs.js
    - Remove debug output
  * Auto-show:
    - Refactor settings_auto_show_dialog.ui into new Auto-show preferences page
    - Improve reliability in Unity Dash by reacting only to crucial events
    - Add D-Bus property AutoShowPaused for convertible devices (LP: #1366421)
    - Allow to block auto-show while external keyboards are connected
    - Don't auto-hide while keys are still pressed.
  * External keyboard detection:
    - Detect keyboards with udev
    - Add new preference subpage Preferences->Auto-show->External Keyboards
    - Allow devices to be ignored; e.g. always connected keyboard
  * onboard-autostart.desktop: (LP #1656779)
    - Rename it to onboard-autostart.desktop.in
    - Add _GenericName, _Comment and Icon keys
    - Make it translatable
  * Move listening for global key presses to new GlobalKeyListener.py file
  * Have separate resize protection preference for floating icon and keyboard
  * Add scale for label popup size to Preferences->Keyboard
  * Switch position of "play sound" and "label popups" in Preferences-Keyboard
  * Add MATE'S ContrastHighInverse to the map of known accessibility themes
  * Replace deprecated GdkScreen.get_monitor_workarea()
  * Delay visibility change via D-Bus until all keys are released (LP: #1648543)
  * Indicate in log when Onboard has been started from the project directory
  * Rename tools/socket.py to tools/xembed_socket.py to avoid name collision
  * Reorganize AtspiStateTracker for saner handling of multiple accessibles
  * Update licensing tool for gnome shell extension
  * Explicitely clean up Applndicator status icon on exit
  * Improve error handling when opening layouts files
  * Work around firefox 50 urlbar losing focus and giving wrong caret position
  * Work around broken transparency with Gtk 3.22 (Lp: #1636252)
  * Work around byobu not reporting trailing spaces
  * Fix -Wstrict-prototypes warning when building C++ extension lm
  * Fix negative keyboard window size when screen says zero size (LP: #1633284)
  * Fix geometry hints for minimum size calculation error on startup
  * Fix startup failure on Arch Linux when libdbus-glib isn't installed
  * Fix signed/unsigned comparison warnings when building in Arch Linux
  * Make sure to hide label popups when the keyboard is hidden
  * Ease adjustment of aspect ratio with more handles when docked and expanded
  * Keep more distance when auto-positioning to the Dash search entry
  * Enable docking by default in onboard-defaults.conf.example
  * Update build instructions in README for Arch and Mageia
  * Improve uninstall instructions in README

The source code has been tested against Unity and several other DEs.

The debianisation builds successfully in pbuilder and I am currently running the resulting debian packages.

Could anybody please review the package for inclusion into the main zesty repository.

Don't hesitate to contact us if you need further information:
https://launchpad.net/~onboard/+contactuser or simply be writing in this bug thread.

Thanks in advance for your help.

Have a good day.

Francesco

PS: This is a bit of topic, but in my opinion nevertheless worth mentioning here:

Marmuta and I are experiencing crashes to login when Onboard is running and menus, especially the appindicator menus are used. On my system, the crashes seem to happen especially, when also mozilla applications (firefox or thunderbird) are running.

I have been told that the problem should probably be fixed in libatk or unity-panel-service.

As the crashes also occur with the Onboard version currently in the main repository, I assume that it should not be crucial for this sponsorship review.

description: updated
description: updated
Revision history for this message
Francesco Fumanti (frafu) wrote :
description: updated
Revision history for this message
Francesco Fumanti (frafu) wrote :
Revision history for this message
Francesco Fumanti (frafu) wrote :
Revision history for this message
Francesco Fumanti (frafu) wrote :
Revision history for this message
Francesco Fumanti (frafu) wrote :
Revision history for this message
Mattia Rizzolo (mapreri) wrote :

Hi Francesco! This a huge update indeed.
I wonder, could you instead (well, also) send it to Debian? (see https://www.debian.org/Bugs/Reporting about sending bugs to Debian.) The packaging comes mostly from their work, and usually we prefer to keep in sync with Debian than to diverge, because then it requires extra effort to re-sync. You could ask them to updated in experimental now (Debian is frozen for the approaching release), then we could sync/merge from there.

Of course if they don't act soon we can look at this in Ubuntu, so zesty will ship an up-to-date version.

Thank you for your work!

Changed in onboard (Ubuntu):
status: New → Incomplete
importance: Undecided → Wishlist
Revision history for this message
Francesco Fumanti (frafu) wrote :

Thanks Mattia for your reply.

In fact, the onboard package came into existence "many" years ago to have a working onscreen keyboard in Ubuntu and came to debian only years later. Ubuntu being the main target of the package, we used to create a release shortly before feature freeze in Ubuntu and submit it for sponsorship as I did this time.

I noticed that the onboard package in zesty had switched to the version available in debian, but I assumed that it happened because the version number in debian was higher than the version number from the package inherited from yakkety. But I seem to have been wrong about the switch to the debian package being due to the version number. Thus, I will start looking at how to submit the new package to debian. By the way, thanks for the link about how to submit bugs to debian.

The package I am going to submit to debian will however have the patch with the Ubuntu defaults settings removed; but I suppose that you will port the Ubuntu defaults patch from the current package to the new package when doing the sync with debian...

Revision history for this message
Mattia Rizzolo (mapreri) wrote : Re: [Bug 1664746] Re: Request for sponsorship for new upstream release (zesty deb provided)

On Wed, Feb 15, 2017 at 02:00:51PM -0000, Francesco Fumanti wrote:
> The package I am going to submit to debian will however have the patch
> with the Ubuntu defaults settings removed; but I suppose that you will
> port the Ubuntu defaults patch from the current package to the new
> package when doing the sync with debian...

Yeah. Even if we'd very like to have the very same version it's ok to
have a small delta, you can see here the current delta (it's a bit noisy
as it shows the diff with patches applied, which is usually omitted…)
https://patches.ubuntu.com/o/onboard/onboard_1.3.0-1ubuntu1.patch

I'm subscribing jbicha, which seems to be a maintainer of that package
in Debian, and also did the previous merge in Ubuntu.

--
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`.
more about me: https://mapreri.org : :' :
Launchpad user: https://launchpad.net/~mapreri `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia `-

Revision history for this message
Jeremy Bícha (jbicha) wrote :

Mattia, thanks for subscribing me.

Francesco, I had intended to email you when I did the merge from Debian but it looks like I forgot. I apologize!

The Debian maintainers likely aren't interested in the new version right now since Debian is frozen and I believe Mike Gabriel is really busy.

The only thing Ubuntu currently does differently from Debian is override a bunch of settings, so I have two suggestions.
1. Can some of those settings just be changed upstream?

2. Could you use standard gsettings overrides instead of /etc/ configuration?
Take a look at the ubuntu-settings package for what I'm talking about.
It might make sense to move the remaining onboard overrides to the ubuntu-settings package. That would allow the onboard package to be synced with Debian once they package the new version.

I understand that Feature Freeze is very soon and I apologize again for not talking to you sooner. If there's not time to change the settings as I suggested, that's fine and can be done later.

Revision history for this message
Mattia Rizzolo (mapreri) wrote :

On Wed, Feb 15, 2017 at 04:11:47PM -0000, Jeremy Bicha wrote:
> The Debian maintainers likely aren't interested in the new version right
> now since Debian is frozen and I believe Mike Gabriel is really busy.

As I wrote in the past comments, it could be uploaded to experimental,
and you would be "allowed" to do it, since you're listed in Uploaders.

Revision history for this message
Jeremy Bícha (jbicha) wrote :

Mattia, I am a Debian Maintainer so I need a DD to explicitly authorize me to upload. It would be good to check with Mike Gabriel first before adding me to that list.

https://wiki.debian.org/DebianMaintainer#Granting_Permissions

Revision history for this message
Francesco Fumanti (frafu) wrote :

Jeremy, don't worry about the email; it might also have gone lost.

Concerning the settings problem: the patch I talked about, does not change anything in the source code; it adds an optional configuration file to the package, that gets taken into account only on the first start of Onboard. (This feature was added for distributions to have a way to adapt onboard to their wishes.) The ubuntu-settings package you indicated might be a replacement of the optional configuration file of onboard, assuming that it does not override the gsettings key on each update/installation of the ubuntu-settings package. Is this the case? I asked marmuta, who has been writing nearly all the onboard code these last years, to have a look at this.

Finally, I prepared a new debianisation without the patch and a few other small changes, that I was going to submit to debian. I will attach the debianisation to this bug thread in case you or Mike are interested. The files with version number 1.4.0-1 are the files I prepared for debian unstable. If I should do anything differently than I did in the debianisations for debian, please let me know.

Revision history for this message
Francesco Fumanti (frafu) wrote :
Revision history for this message
Francesco Fumanti (frafu) wrote :
Revision history for this message
Francesco Fumanti (frafu) wrote :
Revision history for this message
Francesco Fumanti (frafu) wrote :
Revision history for this message
Jeremy Bícha (jbicha) wrote :

Francesco, you can't remove the text of the GPL and BSD licenses from debian/copyright. If you put it back, you can drop those lintian overrides you added.

In debian/control, you changed the Maintainer which is inappropriate for Debian.
And we'll probably be targeting experimental instead of unstable.

Your debian/changelog is very verbose. I will probably shorten it dramatically for Debian. For your next release, I encourage you to ship a NEWS file. Then we can ship that to users in /usr/share/doc/onboard/NEWS (or NEWS.gz as it's automatically compressed if it's bigger than a certain size). And those who want to read about all the new features, bugfixes and improvements can find it there.

I need to talk to Mike about the debian/copyright changes. He may want to keep using his existing workflow for keeping that up-to-date.

Anyway, none of this should require any action from your for Debian 1.4.0.

Also for next time, please try to finalize the release sooner since you need sponsorship. I am pretty busy this week with the Feature Freeze deadline, but will try to squeeze this in.

Revision history for this message
Jeremy Bícha (jbicha) wrote :

> assuming that it does not override the gsettings key on each update/installation of the ubuntu-settings package

All it does is set the defaults. If a user has changed a particular setting, that changed setting will not be overridden by a new default. But if a setting is still at its default value, it will be changed if you change the default.

It should be fairly easy for you to copy the settings to the gsettings override file in ubuntu-settings and make a test .deb and try it out.

Revision history for this message
Francesco Fumanti (frafu) wrote :

Jeremy, thanks for the explanations. I took notes for next time.

We do ship a NEWS file; it is however located under /usr/share/onboard/

Marmuta also wrote a licensing tool to fetch the copyright information from the bzr branch. However, we do not ship it with the source package. In the case where Mike or you would be interested, you can find it here:
http://bazaar.launchpad.net/~onboard/onboard/trunk/files/head:/tools/

I will have a look to replace the optional onboard-defaults.conf file with data for onboard in the ubuntu-settings package; this way, both of Ubuntu and Debian can install onboard without the patch.

Finally, thanks for trying to find time to get onboard 1.4.0 in.

Revision history for this message
marmuta (marmuta) wrote :

Concerning gsettings overrides, Onboard-defaults.conf has a handful of keys that don't actually exist in gsettings schemas:

"superkey-label",
"superkey-label-independent-size",
"xembed-aspect-change-range",
"xembed-background-color",
"xembed-background-image-enabled",
"xembed-unity-greeter-offset-x

The first two are redundant, they are a shortcuts for another (more complicated) real gsettings key. These could be removed. I'm sure other maintainers would understand.

However, I believe the xembed stuff can't be easily dropped. These keys configure Onboard's appearance in lightdm/unity-greeter and elsewhere. I suppose we would have to create gsettngs overrides for the lightdm user too, and move them to gsettings in Onboard internally.

I'd look into that, but probably won't be able to safely finish it until tomorrow.

Revision history for this message
Francesco Fumanti (frafu) wrote :

The onboard-defaults.conf file I just uploaded is the file that the patch of the debianisation for ubuntu uploaded here adds to the onboard installation. It can be used to extract the values for the ubuntu-settings package.

Revision history for this message
marmuta (marmuta) wrote :

OK, done from my side, I believe. All essential keys are in gsettings now and a few issues without system defaults file are fixed. You're free to use gsettings overrides only. Changes here:
http://bazaar.launchpad.net/~onboard/onboard/trunk/revision/2251

@Francesco, better don't use onboard-defaults.conf as a guide anymore. I made some of the values project defaults and one has to take care of slight differences in the syntax between onboard-defaults.conf and override files. Also "superkey-label" and "superkey-label-independent-size" have to be replaced with the "key-label-overrides".

I recommend taking this new example as a guide:
https://bazaar.launchpad.net/~onboard/onboard/trunk/view/head:/onboard-default-settings.gschema.override.example

You should be able to paste its contents right into e.g. ubuntu-settings.gsettings-override.

Jeremy Bícha (jbicha)
tags: added: block-proposed upgrade-software-version
Changed in onboard (Ubuntu):
status: Incomplete → Fix Committed
Revision history for this message
Jeremy Bícha (jbicha) wrote :

Ok, I pushed the packaging change except the copyright change to Debian's git repo
https://anonscm.debian.org/git/pkg-mate/onboard.git?h=debian%2Fexperimental

The Debian maintainer Mike is going to take care of updating the copyright.

It includes marmuta's commit.

I added the gsettings to ubuntu-settings:
https://launchpad.net/ubuntu/+source/ubuntu-settings/17.04.0

I will contact the other official Ubuntu flavors to see if they want to add those overrides (or different) to their distro settings.

We should be good to sync from Debian from now on.

If onboard isn't in Debian experimental by this weekend, I'll probably just upload to zesty directly and we can sync later.

I am going to go ahead and unsubscribe ubuntu-sponsors now. Feel fee to re-subscribe if this bug seems stuck or there's something else you need sponsored.

Revision history for this message
Jeremy Bícha (jbicha) wrote :

I set the block-proposed tag so we can keep the new version in zesty-proposed until after Beta 1 so flavors can have time to try out the updated onboard version and see what settings change they want to make.

Revision history for this message
Francesco Fumanti (frafu) wrote :

We released onboard version 1.4.1 yesterday, which includes the gsettings overrides. You might prefer using version 1.4.1, instead of 1.4.0 with a patch.
https://launchpad.net/onboard/1.4/1.4.1/+download/onboard-1.4.1.tar.gz

For the case, where you decide to stick with the patch, you also need revision 2252 of the 1.4 branch if you want the gsettings overrides example file to be included in the source package.
http://bazaar.launchpad.net/~onboard/onboard/1.4/revision/2252#setup.py

Since the onboard-defaults.conf file I added to this thread does not correspond anymore to the version with the gsettings overrides, I deleted it.

Finally, I thought to have written a comment here yesterday to inform you about the 1.4.1 release, but appearantly something went wrong, as the comment is not in this thread; sorry.

Revision history for this message
Jeremy Bícha (jbicha) wrote :

Thanks for the update. I pushed 1.4.1 to Debian experimental git too.

I don't know about other sponsors but I downloaded the 1.4.1 tarball using debian/watch

Revision history for this message
Francesco Fumanti (frafu) wrote :

Jeremy, I created a new debianisation for zesty. It is based on the debianisation of Onboard 1.3.0-1ubuntu1 currently in the main Ubuntu repo and gave it version number 1.4.1-0ubuntu1 so that it can be overwritten by 1.4.1-1ubuntu1 when synching from debian.

I tried to follow your suggestions above and also looked at your debianisation of 1.4.1 for debian experimental:
- The debian/changelog only has entries concerning the debian folder and the bugs that have to be closed.
- I copied your onboard-common.install file moving some files to the doc directory. However, I removed the asterisk from from line 14, because we have to distinguish between the onboard-defaults.conf.example example file that can be moved to the doc directory and the onboard-defaults.conf file, which is not a doc file, when it is present. (onboard-defaults.conf is not present by default.)
- I removed the patch that installs the onboard-defaults.conf file.
- I used my updated copyright file

Feel free to use and change it the way you like.

Hoping to have been helpful.

Revision history for this message
Francesco Fumanti (frafu) wrote :
Revision history for this message
Francesco Fumanti (frafu) wrote :

Installation of the debs was broken, as onboard*.deb and onboard-common*.deb tried both to install the AUTHORS (and other doc files) into the same directory. So I moved them from onboard-common.install to onboard.install. Blow the corresponding debianisation:

Revision history for this message
Francesco Fumanti (frafu) wrote :
Revision history for this message
Francesco Fumanti (frafu) wrote :
Revision history for this message
Francesco Fumanti (frafu) wrote :
Revision history for this message
Francesco Fumanti (frafu) wrote :
Revision history for this message
Jeremy Bícha (jbicha) wrote :

I don't think there is any need to move the files installed to /usr/share/doc to the onboard package instead of onboard-common. I don't think the HACKING file is useful to users (only to developers who will probably need to use bzr anyway) so I'll stop installing it.

It's ok to install the .conf files with a wildcard to /usr/share/doc because this only affects the build files. That wildcard does not move or remove any .conf files already installed on a user's computer. I might spell it out any way since there is only one file affected so a wildcard isn't needed (the wildcard was there in the old Ubuntu package; I just pointed it /usr/share/doc instead).

Mike wants to keep using copyright.in but I don't know how that works so I'll let him do it.

Mike usually uses changelog entries automatically generated from git commit messages to the packaging repo; they can be manually adjusted but it means I usually keep my changelog entries there even shorter than I normally do.

I'll upload 1.4.1 to zesty tomorrow (Sunday); it takes Mike a while to review stuff some times.

Revision history for this message
Jeremy Bícha (jbicha) wrote :

Sorry for the delay. I finally uploaded this now.

What I did was upload straight from Debian experimental git. I did not update debian/copyright; we'll get that whenever Mike gets around to updating it and uploading.

I copied the onboard gsettings overrides from ubuntu-settings so there are no regressions for zesty and we don't have to update all the flavors' default-settings packages first.

I believe I had FFe clearance:
https://irclogs.ubuntu.com/2017/02/16/%23ubuntu-desktop.html#t16:19

https://launchpad.net/ubuntu/+source/onboard/1.4.1-0ubuntu1

Jeremy Bícha (jbicha)
tags: removed: block-proposed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package onboard - 1.4.1-0ubuntu1

---------------
onboard (1.4.1-0ubuntu1) zesty; urgency=medium

  * Sync with Debian experimental git repo (LP: #1664746)
  * Add debian/onboard-common.gsettings-override:
    - Copy gsettings overrides from ubuntu-settings to not cause regressions
      for Ubuntu flavors. These overrides should be evaluated for inclusion
      in the default-setttings packages since they will probably be dropped
      here after zesty in order to sync with Debian.

onboard (1.4.1-1) UNRELEASED; urgency=medium

  * New upstream release (LP: #1664746)
    - Add tablet mode (LP: #1366421)
    - For GNOME Shell, only auto-show on first start (LP: #1650810)
    - Add Comment field and more to autostart file (LP: #1656779)
      (Closes: #851305)
    - Work around broken transparency with GTK+ 3.22 (LP: #1636252)
    - Fix negative keyboard window size when screen says zero size
      (LP: #1633284)
  * Build-Depend on libudev-dev and libwayland-dev
  * debian/onboard-common.install:
    - Update for new and removed files
    - Move docs to /usr/share/doc/onboard

 -- Jeremy Bicha <email address hidden> Thu, 09 Mar 2017 10:10:07 -0500

Changed in onboard (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.