Bug#1033571: unblock: keyman/16.0.139-4

2023-05-03 Thread Paul Gevers

Hi Eberhard,

On 27-04-2023 16:48, Eberhard Beilharz wrote:
After the installation of ibus-keyman the ibus daemon needs to be 
restarted which is what the `postinst` script tries to do. It restarts 
or stops ibus-daemon, then checks if ibus-daemon is running - if not it 
will start it. If any of these steps fail we still want to successfully 
finish the installation. Since then ibus is not running the user will 
not be able to see any installed Keyman keyboards and will have to 
logout or reboot which will start ibus.


But without the failure, how will the user know this? Also, please 
consider policy 10.4 which says:

"""
Every script should use set -e or check the exit status of every command.
"""

Which you are moving away from. Is the failure to start happening that 
often? Is there a bug report about it?


If we return with a non-exit code from the postinst script instead the 
installation of ibus-keyman aborts. The user can then try to install 
again which might lead into the same error, leaving him with an 
uninstallable ibus-keyman where the only thing that failed was the 
failure to (re-)start ibus.


It feels weird to use "only" when referring to failure to (re)start a 
service. Can you elaborate? Shouldn't that have it's own RC bug?


Paul


OpenPGP_signature
Description: OpenPGP digital signature


Bug#1033571: unblock: keyman/16.0.139-4

2023-04-27 Thread Eberhard Beilharz




-set -e
+# Don't call `set -e`. Even if some commands should fail, it's still
+# worth running the rest of the commands.

Can you elaborate?


After the installation of ibus-keyman the ibus daemon needs to be 
restarted which is what the `postinst` script tries to do. It restarts 
or stops ibus-daemon, then checks if ibus-daemon is running - if not it 
will start it. If any of these steps fail we still want to successfully 
finish the installation. Since then ibus is not running the user will 
not be able to see any installed Keyman keyboards and will have to 
logout or reboot which will start ibus.


If we return with a non-exit code from the postinst script instead the 
installation of ibus-keyman aborts. The user can then try to install 
again which might lead into the same error, leaving him with an 
uninstallable ibus-keyman where the only thing that failed was the 
failure to (re-)start ibus.


Since all of postinst deals with ibus-daemon which is not part of the 
ibus-keyman package it seems to me that ignoring failures would be 
acceptable. This means the admin (who in most cases will be an ordinary 
user) won't be aware of problems with the postinst script, but he might 
notice ibus-daemon not running. Ignoring these postinst errors makes it 
harder for the developer to notice and fix errors in the postinst 
script, but IMO gives a better experience for the ordinary user.



Did I miss something but is the *only* change upstream the addition echo?
That might well be the only change. New upstream versions get released 
simultaneously with the same version on all platforms, so it can happen 
that there is a new version without any changes on a platform. IMO this 
still has value since it simplifies dealing with help requests (the 
latest version of the binary is the latest version in the source code).


Doesn't feel very appropriate at this stage... 
That's your call. I still would like to see this version be available in 
Bookworm, but if you decide that's not an appropriate change I can live 
with that.


Thanks,
    Eberhard




OpenPGP_0xE9140597606020D3.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature


Bug#1033571: unblock: keyman/16.0.139-4

2023-04-27 Thread Paul Gevers

Hi Eberhard,

On 01-04-2023 20:23, Paul Gevers wrote:

-set -e
+# Don't call `set -e`. Even if some commands should fail, it's still
+# worth running the rest of the commands.

Can you elaborate?


Ping.

Paul


OpenPGP_signature
Description: OpenPGP digital signature


Bug#1033571: unblock: keyman/16.0.139-4

2023-04-01 Thread Paul Gevers

Control: tags -1 moreinfo

On 27-03-2023 18:15, Eberhard Beilharz wrote:

While keyman has autopkgtests and so would qualify for automatic migration, the 
tests are skipped on s390x.


Ack.


Included are only small changes: one is a small fix in the postinst script,


-set -e
+# Don't call `set -e`. Even if some commands should fail, it's still
+# worth running the rest of the commands.

Can you elaborate? I could imagine you want to run the rest of the 
commands, but if there is any failure, shouldn't that be recorded and 
used as the exit code? With the current change, the admin isn't going to 
be aware of issues at all, which feels weird (why would you run the 
postinst then in the first place). See also policy 6.1 [1].


> Another reason why I'd like to get this version approved is that it 
brings the version in Debian on par with the upstream

version which simplifies user help requests.

Did I miss something but is the *only* change upstream the addition 
echo? Doesn't feel very appropriate at this stage...


Paul

[1] 
https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#introduction-to-package-maintainer-scripts


OpenPGP_signature
Description: OpenPGP digital signature


Bug#1033571: unblock: keyman/16.0.139-4

2023-03-27 Thread Eberhard Beilharz

Package: release.debian.org
Severity: normal
User:release.debian@packages.debian.org
Usertags: unblock
X-Debbugs-Cc:debian-input-met...@lists.debian.org,e...@sil.org

Please unblock package keyman.

[ Reason ]

While keyman has autopkgtests and so would qualify for automatic migration, the 
tests are skipped on s390x.
The reason is that Keyman doesn't yet support big endian architecture and so 
can't run on s390x (even though it's
possible to build it on that platform it won't work). See upstream 
bughttps://github.com/keymanapp/keyman/issues/5111.

Included are only small changes: one is a small fix in the postinst script, the 
other is an update of a timestamp in a
locale. It also excludes s390x from building since that makes more sense than 
building an unusable library.

Another reason why I'd like to get this version approved is that it brings the 
version in Debian on par with the upstream
version which simplifies user help requests.

[ Impact ]

The user won't notice any difference, but it would be helpful for the support 
team if the users would use the same version
that is used on the other platforms.

[ Tests ]

Manually installed the binaries and verified that things work as expected.

[ Risks ]

Changes are minimal. I can't think of any negative side effects.

[ Checklist ]

  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

unblock keyman/16.0.139-4

diff -Nru keyman-16.0.138/core/VERSION.md keyman-16.0.139/core/VERSION.md
--- keyman-16.0.138/core/VERSION.md 2023-02-01 04:55:31.0 +0100
+++ keyman-16.0.139/core/VERSION.md 2023-03-16 08:24:24.0 +0100
@@ -1 +1 @@
-16.0.138
\ No newline at end of file
+16.0.139
\ No newline at end of file
diff -Nru keyman-16.0.138/crowdin.yml keyman-16.0.139/crowdin.yml
--- keyman-16.0.138/crowdin.yml 2023-01-31 19:04:42.0 +0100
+++ keyman-16.0.139/crowdin.yml 2023-03-16 08:22:51.0 +0100
@@ -59,6 +59,7 @@
   locale:
 de: de
 fr: fr
+kn: kn
 
   - source: /windows/src/desktop/setup/locale/en/strings.xml
 dest: /windows/setup/strings.xml
@@ -68,6 +69,7 @@
   locale:
 de: de
 fr: fr
+kn: kn
 
   # iOS files
 
diff -Nru keyman-16.0.138/debian/changelog keyman-16.0.139/debian/changelog
--- keyman-16.0.138/debian/changelog2023-02-11 18:39:13.0 +0100
+++ keyman-16.0.139/debian/changelog2023-03-24 16:05:07.0 +0100
@@ -1,3 +1,29 @@
+keyman (16.0.139-4) unstable; urgency=medium
+
+  * debian/tests: Revert previous change and ignore s390x from autopkgtests
+
+ -- Eberhard Beilharz   Fri, 24 Mar 2023 16:05:07 +0100
+
+keyman (16.0.139-3) unstable; urgency=medium
+
+  * debian/tests: Run autopkgtests on s390x but immediately return
+
+ -- Eberhard Beilharz   Wed, 22 Mar 2023 19:25:02 +0100
+
+keyman (16.0.139-2) unstable; urgency=medium
+
+  * Don't build on s390x because Keyman doesn't work on big-endian 
architectures
+(upstream bug https://github.com/keymanapp/keyman/issues/5111)
+
+ -- Eberhard Beilharz   Mon, 20 Mar 2023 19:54:44 +0100
+
+keyman (16.0.139-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Re-release to Debian
+
+ -- Eberhard Beilharz   Thu, 16 Mar 2023 08:59:04 +0100
+
 keyman (16.0.138-4) unstable; urgency=medium
 
   * Team upload
diff -Nru keyman-16.0.138/debian/control keyman-16.0.139/debian/control
--- keyman-16.0.138/debian/control  2023-02-09 12:17:16.0 +0100
+++ keyman-16.0.139/debian/control  2023-03-20 20:02:09.0 +0100
@@ -105,7 +105,7 @@
  information about Keyman keyboard packages.
 
 Package: libkmnkbp-dev
-Architecture: any
+Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el riscv64
 Section: libdevel
 Depends:
  libkmnkbp0-0 (= ${binary:Version}),
@@ -129,7 +129,7 @@
  This package contains development headers and libraries.
 
 Package: libkmnkbp0-0
-Architecture: any
+Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el riscv64
 Section: libs
 Pre-Depends:
  ${misc:Pre-Depends},
@@ -155,7 +155,7 @@
  and applies rules from compiled Keyman keyboard files.
 
 Package: ibus-keyman
-Architecture: any
+Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el riscv64
 Depends:
  ibus (>= 1.3.7),
  sudo,
diff -Nru keyman-16.0.138/debian/ibus-keyman.postinst 
keyman-16.0.139/debian/ibus-keyman.postinst
--- keyman-16.0.138/debian/ibus-keyman.postinst 2023-02-09 12:17:16.0 
+0100
+++ keyman-16.0.139/debian/ibus-keyman.postinst 2023-03-16 08:57:27.0 
+0100
@@ -1,10 +1,13 @@
 #!/bin/sh
 
-set -e
+# Don't call `set -e`. Even if some commands should fail, it's still
+# worth running the rest of the commands.
 
 case "$1" in
 
   configure)
+# (Re-)Start IBus
+
 # if don't have sudo and ps then don't attempt to restart ibus
 if which sudo > /dev/null && which ps > /dev/null; then
 
@@ -37,20 +40,20 @@
   fi
 
   #