Re: Final thoughts/votes on Kubuntu Policy

2014-08-06 Thread Harald Sitter
On Tue, Aug 5, 2014 at 9:58 PM, Scott Kitterman ubu...@kitterman.com wrote:
 On Tuesday, August 05, 2014 21:36:24 Harald Sitter wrote:
 On Tue, Aug 5, 2014 at 8:40 PM, Scott Kitterman ubu...@kitterman.com
 wrote:
  On Tuesday, August 05, 2014 19:55:07 Harald Sitter wrote:
  On Tue, Aug 5, 2014 at 7:45 PM, Scott Kitterman ubu...@kitterman.com
 
  wrote:
   I, for one,
   think the notion that we won't apply known fixes because upstream is
   non-
   responsive is silly.  I don't intend to be bound by it.
 
  Where does the fix come from then?
 
  Could be defective Python code I figured out by myself (for reference,
  this
  exact scenario is why we had an even sort of working displayconfig in
  hardy - if this policy had been in effect, it would have had to be
  removed and not replaced since there was no replacement available).

 so why did you not pick up maintainership?

 Because it would have needed a full rewrite to work with the then brand new X
 stack reliably.  We were going to have a new tool for Intrepid anyway, so
 beating it into sort of working was enough for Kubuntu and I'm certainly not
 qualified to take on upstream development for all of KDE.

Why would you not be qualified? You created a Kubuntu specific fork of
the software, so since you were fit to maintain that one I am sure the
same would have worked upstream. Seeing as you were able to beat it
into working state for Kubuntu it would appear to me that there is
nothing that would have prevented you from doing the change upstream
and releasing a new tarball. At worse you had to roll a tarball
instead of dumping a patch into debian/ (which would then have had
up-to-date translations thus possibly not being all that much of a
waste of time to begin with), at best 3 other distributions had picked
it up and thanks to that ended up with a working display config in
their LTS release.

The reasons why we don't want to condone dead upstream pseudo
maintenance patchy nonesense is multifaceted. The fact that distro
patchy is selfish towards everyone else is one part of it. Another one
is that the patch policy needs a responsible person up the stream to
review and approve and possibly merge a patch, with out one the patch
policy doesn't allow certain patches at all.
Another important side of the argument is that of reliable and
balanced quality. No one takes on responsibility for the quality, so
we must assume it has excessively shitty quality or is of no use
because otherwise someone were to feel the need to stand up and take
on maintenance or at the very least care enough to fix startup
crashes, data loss, bug triage etc.etc.. And ultimately that leads to
the question of whether we should have a piece of software of
obviously shitty quality under our wings to begin with considering no
one else wants to care about it either.

All that being said, perhaps the policy ought to be amended to say
that instead of having the package removed from the archive it must
not be on our ISOs and Kubuntu should not be the maintainer. At the
end of the day what someone does because they want to is their own
business. So, if someone feels like foobar should be in the archive
and that they feel up to the task of keeping it not broken that's
their choice to make and execute. Even if it then reflects badly on
Kubuntu and Ubuntu at large if a user installs that software and finds
it to be unusable for whatever reason. There is not much one can do
about that, and this is a global problem to some extent anyway.

But, we as creators of Kubuntu however should not support selfish
life-support patching for the software we use to build our product on.
It does not benefit anyone to drag along broken unreliable software.
Giving it the boot on the other hand does not only free up resources
better spent elsewhere, it also makes people moan and whine about this
super important application that is now gone and this makes it all the
more likely that someone steps up and does what needs to be done to
make it a super awesome piece of software again.

The present policy is already given a lot of leeway to make sure the
user doesn't need to suffer unless there really is no other way. But
the must-not-be-patched thing is really not something that can be
changed or removed IMO. If patching maintained software is
semi-forking then patching unmaintained software that is entirely
broken as per the presented check list is a definite fork because the
patched version is then the only working version and thus the defacto
source to be used.

So, your concern is that this sort of short term workaround isn't
possible with the presented policy, but really it is. Instead of
making a distro patch you would commit your bandaid solution upstream,
release a new tarball. By doing that you are making your work easily
available to others and improve the quality of the upstream product.
You'd then be a maintainer (of sorts). Other distros as well as our
guys might have additional tweaks so they run it by 

Re: Final thoughts/votes on Kubuntu Policy

2014-08-06 Thread Scott Kitterman
On Wednesday, August 06, 2014 15:05:49 Harald Sitter wrote:
 On Tue, Aug 5, 2014 at 9:58 PM, Scott Kitterman ubu...@kitterman.com 
wrote:
  On Tuesday, August 05, 2014 21:36:24 Harald Sitter wrote:
  On Tue, Aug 5, 2014 at 8:40 PM, Scott Kitterman ubu...@kitterman.com
  
  wrote:
   On Tuesday, August 05, 2014 19:55:07 Harald Sitter wrote:
   On Tue, Aug 5, 2014 at 7:45 PM, Scott Kitterman ubu...@kitterman.com
   
   wrote:
I, for one,
think the notion that we won't apply known fixes because upstream is
non-
responsive is silly.  I don't intend to be bound by it.
   
   Where does the fix come from then?
   
   Could be defective Python code I figured out by myself (for reference,
   this
   exact scenario is why we had an even sort of working displayconfig in
   hardy - if this policy had been in effect, it would have had to be
   removed and not replaced since there was no replacement available).
  
  so why did you not pick up maintainership?
  
  Because it would have needed a full rewrite to work with the then brand
  new X stack reliably.  We were going to have a new tool for Intrepid
  anyway, so beating it into sort of working was enough for Kubuntu and I'm
  certainly not qualified to take on upstream development for all of KDE.
 
 Why would you not be qualified? You created a Kubuntu specific fork of
 the software, so since you were fit to maintain that one I am sure the
 same would have worked upstream. Seeing as you were able to beat it
 into working state for Kubuntu it would appear to me that there is
 nothing that would have prevented you from doing the change upstream
 and releasing a new tarball. At worse you had to roll a tarball
 instead of dumping a patch into debian/ (which would then have had
 up-to-date translations thus possibly not being all that much of a
 waste of time to begin with), at best 3 other distributions had picked
 it up and thanks to that ended up with a working display config in
 their LTS release.

Perhaps.  That would have required some commitment on my part to do work to 
support other distros that I wasn't willing to take on.  Since the X stuff does 
vary from distro to distro, I had (and still have) no idea what of what I was 
doing was Ubuntu specific and what might be generally applicable.

 The reasons why we don't want to condone dead upstream pseudo
 maintenance patchy nonesense is multifaceted. The fact that distro
 patchy is selfish towards everyone else is one part of it. Another one
 is that the patch policy needs a responsible person up the stream to
 review and approve and possibly merge a patch, with out one the patch
 policy doesn't allow certain patches at all.
 Another important side of the argument is that of reliable and
 balanced quality. No one takes on responsibility for the quality, so
 we must assume it has excessively shitty quality or is of no use
 because otherwise someone were to feel the need to stand up and take
 on maintenance or at the very least care enough to fix startup
 crashes, data loss, bug triage etc.etc.. And ultimately that leads to
 the question of whether we should have a piece of software of
 obviously shitty quality under our wings to begin with considering no
 one else wants to care about it either.

I generally agree with that, but there are cases where all the alternatives 
were worse.  Shipping without any tool at all to configure a monitor was a non-
starter.

 All that being said, perhaps the policy ought to be amended to say
 that instead of having the package removed from the archive it must
 not be on our ISOs and Kubuntu should not be the maintainer. At the
 end of the day what someone does because they want to is their own
 business. So, if someone feels like foobar should be in the archive
 and that they feel up to the task of keeping it not broken that's
 their choice to make and execute. Even if it then reflects badly on
 Kubuntu and Ubuntu at large if a user installs that software and finds
 it to be unusable for whatever reason. There is not much one can do
 about that, and this is a global problem to some extent anyway.

That's true.  It's definitely beyond the scope of what Kubuntu policy could 
mandate to insist on packages being removed from the archive if someone did 
not want them removed.  That said, we still have the situation where the 
unmaintained crap we have is better than the alternatives available.

 But, we as creators of Kubuntu however should not support selfish
 life-support patching for the software we use to build our product on.
 It does not benefit anyone to drag along broken unreliable software.
 Giving it the boot on the other hand does not only free up resources
 better spent elsewhere, it also makes people moan and whine about this
 super important application that is now gone and this makes it all the
 more likely that someone steps up and does what needs to be done to
 make it a super awesome piece of software again.

If someone had told me when I started 

continuous packaging? anyone?

2014-08-06 Thread Harald Sitter
aloha packagers

today the idea of continuous packaging popped up and I wanted to get
some general thoughts on the matter.

# what is this?
CP is essentially what project-neon does, build all packages off of
upstream git. Conceptually this technically is supposed lto be like
proper CI (i.e. build as often as possible with as small changes as
possible and run tests). Since this is partially not very practical
from a packaging perspective let's for now think of it as regular
daily builds.

# what's wrong with neon? :O
Neon is built in a very specific way. Namely:
- completely different prefix
- excessive envrionment manipulation to separate data lookup (as much
as possible) as well as user specific data and settings storage
- single binary units (i.e. each upstream git repo creates exactly one
debian package)
It is made this way because it creates next to no overhead in
packaging, this is curcial to what neon is meant to achive: Provide
the most bleeding edge of KDE software *next to* the ongoing efforts
of high quality packaging we do manually. In other words neon is made
in such a way that it does not take away developer time from the real
meat, at the expense of Debian policy compliance (in some ways
anyway).

# so how would CP be different from neon?
The idea is instead of doing daily dummy packages with only one deb as
described above we build our actual packages on a daily basis against
an actual upstream git branch. Continuously adjusting our packaging to
what is in git and will therefore eventually become a release we will
pick up.

# why oh why?
Right now we get a batch of a upstream tarballs, throw our *old*
packaging at it, and then hammer at it until it builds. This is not
only stressful it also scales really bad. The more changes are between
old-release and new-release the more hammering is needed, the longer
it takes, the more exhausting it is, the more bugs we introduce. Add
to that the fact that we sometimes get a very excessive batch of
partially even unrelated releases at pretty much the same time and
you've occupied some 2 or 3 packagers for a week or two (think KDE SC,
Plasma and KF5 in the same week for example).

# how does CP solve that?
The idea is, every day you have changes trickle in, ever so slowly,
built against our packaging HEAD. Instead of getting a crazy week at
the beginning of each month we spend maybe 5 minutes a day adjusting
the packages that need adjustment and once the actual release hits we
take our packaging throw it at the release tarballs and everything
builds without problems (in theory).

# why, there must be a downside to all this...
Numerous tiny problems popping up all over the place that will need to
have solutions invented. So it would be good if we could think of as
many as possible before moving forward. I'll make a start:
- unless we replicate tooling for l10n retrieval, there won't be
translations and more importantly .install files that explicitly list
/usr/share/locale/ will fail
- doing CP makes packaging branches more confusing unless we actually
land into archive (which would seem slightly terrible) as we'd have
two HEAD branches... one for the actual packaging in the archive and
one for the CP that is constantly moving, since keeping a handle on
many branches in bzr is a jolly nightmare I am not too fond of this

# and what about the tech?
Thanks to blue systems and yours truly most of the tech does already
exist and drives neon5 ;)

So, what do you guys and gals reckon?

HS

-- 
kubuntu-devel mailing list
kubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel


Re: Final thoughts/votes on Kubuntu Policy

2014-08-06 Thread Harald Sitter
On Wed, Aug 6, 2014 at 7:14 PM, Scott Kitterman ubu...@kitterman.com wrote:
 On Wednesday, August 06, 2014 18:05:20 Harald Sitter wrote:
 On Wed, Aug 6, 2014 at 3:24 PM, Scott Kitterman ubu...@kitterman.com
 wrote:
  On Wednesday, August 06, 2014 15:05:49 Harald Sitter wrote:
  On Tue, Aug 5, 2014 at 9:58 PM, Scott Kitterman ubu...@kitterman.com
 
  wrote:
   On Tuesday, August 05, 2014 21:36:24 Harald Sitter wrote:
   On Tue, Aug 5, 2014 at 8:40 PM, Scott Kitterman ubu...@kitterman.com
  
   wrote:
On Tuesday, August 05, 2014 19:55:07 Harald Sitter wrote:
On Tue, Aug 5, 2014 at 7:45 PM, Scott Kitterman
ubu...@kitterman.com
   
wrote:
 I, for one,
 think the notion that we won't apply known fixes because upstream
 is
 non-
 responsive is silly.  I don't intend to be bound by it.
   
Where does the fix come from then?
   
Could be defective Python code I figured out by myself (for
reference,
this
exact scenario is why we had an even sort of working displayconfig
in
hardy - if this policy had been in effect, it would have had to be
removed and not replaced since there was no replacement available).
  
   so why did you not pick up maintainership?
  
   Because it would have needed a full rewrite to work with the then brand
   new X stack reliably.  We were going to have a new tool for Intrepid
   anyway, so beating it into sort of working was enough for Kubuntu and
   I'm
   certainly not qualified to take on upstream development for all of KDE.
 
  Why would you not be qualified? You created a Kubuntu specific fork of
  the software, so since you were fit to maintain that one I am sure the
  same would have worked upstream. Seeing as you were able to beat it
  into working state for Kubuntu it would appear to me that there is
  nothing that would have prevented you from doing the change upstream
  and releasing a new tarball. At worse you had to roll a tarball
  instead of dumping a patch into debian/ (which would then have had
  up-to-date translations thus possibly not being all that much of a
  waste of time to begin with), at best 3 other distributions had picked
  it up and thanks to that ended up with a working display config in
  their LTS release.
 
  Perhaps.  That would have required some commitment on my part to do work
  to
  support other distros that I wasn't willing to take on.  Since the X stuff
  does vary from distro to distro, I had (and still have) no idea what of
  what I was doing was Ubuntu specific and what might be generally
  applicable.

 I hear kwin does fine without distribution specific solutions. At any
 rate, if a distro had not been able to use it because of compatibility
 issues and you were not willing or capable or whatever to resolve it,
 that would have been where they needed to make their own decisions on
 whether to patch it into working state and hopefully upstream that
 patch or not ship it at all or ship the old version or whatever. By
 not going out and saying this here software is unmaintained, I made
 it so it works with kubuntu and relased version x.y which is less
 shitty than the previous release you pretty much excluded others from
 an option to possibly use it as we cannot expect others to track what
 we patch or don't patch (just like we don't track every other distros
 patch work). So had another distro needed it worst case they'd have
 duplicated the work on their own or be lucky enough to find our patch
 through a web search.

  The reasons why we don't want to condone dead upstream pseudo
  maintenance patchy nonesense is multifaceted. The fact that distro
  patchy is selfish towards everyone else is one part of it. Another one
  is that the patch policy needs a responsible person up the stream to
  review and approve and possibly merge a patch, with out one the patch
  policy doesn't allow certain patches at all.
  Another important side of the argument is that of reliable and
  balanced quality. No one takes on responsibility for the quality, so
  we must assume it has excessively shitty quality or is of no use
  because otherwise someone were to feel the need to stand up and take
  on maintenance or at the very least care enough to fix startup
  crashes, data loss, bug triage etc.etc.. And ultimately that leads to
  the question of whether we should have a piece of software of
  obviously shitty quality under our wings to begin with considering no
  one else wants to care about it either.
 
  I generally agree with that, but there are cases where all the
  alternatives
  were worse.  Shipping without any tool at all to configure a monitor was a
  non- starter.

 There pretty much always is an almost equally suitable alternative
 (case in point: displayconfig-gtk).

 But yeah, let's assume there really is no replacement software
 available, and no one is willing to actually do an upstream commit
 (which is really a social problem as I am absolutely willing to go on
 record that 

Re: [Merge] lp:~unity-team/kubuntu-packaging/qtdeclarative-fix-1349705 into lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src

2014-08-06 Thread Timo Jyrinki
I'll merge this when it's actually published to archives since it seems to be 
in a landing PPA already, and meanwhile I'm preparing the next upload as well.
-- 
https://code.launchpad.net/~unity-team/kubuntu-packaging/qtdeclarative-fix-1349705/+merge/229183
Your team Kubuntu Packagers is requested to review the proposed merge of 
lp:~unity-team/kubuntu-packaging/qtdeclarative-fix-1349705 into 
lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src.

-- 
kubuntu-devel mailing list
kubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel


Re: [Merge] lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8 into lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src

2014-08-06 Thread Timo Jyrinki
Released, this is to trigger code coverage collection only.
-- 
https://code.launchpad.net/~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8/+merge/229651
Your team Kubuntu Packagers is requested to review the proposed merge of 
lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8 into 
lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src.

-- 
kubuntu-devel mailing list
kubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel


Re: [Merge] lp:~panfaust/kubuntu-packaging-next/plasma-desktop-work2 into lp:~kubuntu-packagers/kubuntu-packaging-next/plasma-desktop

2014-08-06 Thread Harald Sitter
Package: plasma-desktop-data
also needs to go from conflicts to breaks

and please add a Replaces relationship with the same version requirement (to be 
on the save side)
-- 
https://code.launchpad.net/~panfaust/kubuntu-packaging-next/plasma-desktop-work2/+merge/229082
Your team Kubuntu Packagers is subscribed to branch 
lp:~kubuntu-packagers/kubuntu-packaging-next/plasma-desktop.

-- 
kubuntu-devel mailing list
kubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel


[Merge] lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8 into lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src

2014-08-06 Thread Timo Jyrinki
The proposal to merge 
lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8 into 
lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src has been 
updated.

Status: Needs review = Approved

For more details, see:
https://code.launchpad.net/~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8/+merge/229651
-- 
https://code.launchpad.net/~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8/+merge/229651
Your team Kubuntu Packagers is requested to review the proposed merge of 
lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8 into 
lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src.

-- 
kubuntu-devel mailing list
kubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel


[Merge] lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8 into lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src

2014-08-06 Thread Timo Jyrinki
The proposal to merge 
lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8 into 
lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src has been 
updated.

Status: Needs review = Approved

For more details, see:
https://code.launchpad.net/~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8/+merge/229651
-- 
https://code.launchpad.net/~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8/+merge/229651
Your team Kubuntu Packagers is requested to review the proposed merge of 
lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8 into 
lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src.

-- 
kubuntu-devel mailing list
kubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel


[Merge] lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8 into lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src

2014-08-06 Thread Timo Jyrinki
Timo Jyrinki has proposed merging 
lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8 into 
lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src.

Requested reviews:
  Kubuntu Packagers (kubuntu-packagers)
Related bugs:
  Bug #1349297 in qtdeclarative-opensource-src (Ubuntu): Better fix for crash 
due to wrong objects being garbage collected
  
https://bugs.launchpad.net/ubuntu/+source/qtdeclarative-opensource-src/+bug/1349297

For more details, see:
https://code.launchpad.net/~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8/+merge/229651
-- 
https://code.launchpad.net/~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8/+merge/229651
Your team Kubuntu Packagers is requested to review the proposed merge of 
lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8 into 
lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src.
=== modified file 'debian/changelog'
--- debian/changelog	2014-07-07 08:43:27 +
+++ debian/changelog	2014-08-05 16:02:47 +
@@ -1,3 +1,21 @@
+qtdeclarative-opensource-src (5.3.0-3ubuntu8) utopic; urgency=medium
+
+  [ Michał Sawicz ]
+  * debian/patches/8454a21b-Flickable-Cancel-interaction-on-interactive-changes.patch
+- Fix flickable interaction (LP: #1349705)
+  * debian/control
+  * debian/rules
+- Force gcc-4.8 to avoid symbols changes
+
+  [ Timo Jyrinki ]
+  * debian/patches/parenttosubcreator_qqmlobjectcreator.patch:
+- Drop, rejected by upstream
+  * debian/patches/Fix-crash-when-deleting-component-in-Component.onCom.patch
+debian/patches/Fix-interaction-of-garbage-collector-with-JS-objects.patch:
+- Replace the old patch with accepted upstream approach (LP: #1349297)
+
+ -- Timo Jyrinki timo-jyri...@ubuntu.com  Mon, 04 Aug 2014 10:58:28 +
+
 qtdeclarative-opensource-src (5.3.0-3ubuntu7) utopic; urgency=medium
 
   * debian/patches/Support-RFC2822Date-date-format-similar-to-V8.patch

=== modified file 'debian/control'
--- debian/control	2014-06-19 19:14:47 +
+++ debian/control	2014-08-05 16:02:47 +
@@ -11,6 +11,8 @@
Timo Jyrinki t...@debian.org
 Build-Depends: debhelper (= 9),
dpkg-dev (= 1.16.1),
+# Avoiding symbols updates due to switch to gcc 4.9 by default.
+   g++-4.8,
libqt5xmlpatterns5-private-dev (= 5.3.0-0~),
pkg-kde-tools (= 0.15.12~),
python,

=== added file 'debian/patches/8454a21b-Flickable-Cancel-interaction-on-interactive-changes.patch'
--- debian/patches/8454a21b-Flickable-Cancel-interaction-on-interactive-changes.patch	1970-01-01 00:00:00 +
+++ debian/patches/8454a21b-Flickable-Cancel-interaction-on-interactive-changes.patch	2014-08-05 16:02:47 +
@@ -0,0 +1,152 @@
+From 8454a21b837ccf3968f6dbc56ed4f06d60d63c8f Mon Sep 17 00:00:00 2001
+From: Albert Astals Cid albert.ast...@canonical.com
+Date: Wed, 23 Jul 2014 15:40:42 +0200
+Subject: [PATCH] Flickable: Cancel interaction on interactive changes
+
+Otherwise if you have a listview with a flickable inside with a mouseare inside
+the pressed is never set to false if you make the interactive property of the
+outer list depend on the moving of the inner flickable. This makes that when
+later you change currentIndex of the list and you have
+StrictlyEnforceRange set, the list won't move because it still thinks it is pressed
+
+Change-Id: I2c2021f486fc0a31840c3f2199bc7cb76dc01e3e
+Reviewed-by: Martin Jones martin.jo...@jollamobile.com
+---
+ src/quick/items/qquickflickable.cpp  | 41 ++--
+ src/quick/items/qquickflickable_p_p.h|  2 ++
+ tests/auto/qmltest/listview/tst_listview.qml | 41 
+ 3 files changed, 63 insertions(+), 21 deletions(-)
+
+diff --git a/src/quick/items/qquickflickable.cpp b/src/quick/items/qquickflickable.cpp
+index ee71ea8..63dde66 100644
+--- a/src/quick/items/qquickflickable.cpp
 b/src/quick/items/qquickflickable.cpp
+@@ -763,15 +763,8 @@ void QQuickFlickable::setInteractive(bool interactive)
+ Q_D(QQuickFlickable);
+ if (interactive != d-interactive) {
+ d-interactive = interactive;
+-if (!interactive  (d-hData.flicking || d-vData.flicking)) {
+-d-clearTimeline();
+-d-hData.vTime = d-vData.vTime = d-timeline.time();
+-d-hData.flicking = false;
+-d-vData.flicking = false;
+-emit flickingChanged();
+-emit flickingHorizontallyChanged();
+-emit flickingVerticallyChanged();
+-emit flickEnded();
++if (!interactive) {
++d-cancelInteraction();
+ }
+ emit interactiveChanged();
+ }
+@@ -2015,18 +2008,24 @@ bool QQuickFlickable::yflick() const
+ void QQuickFlickable::mouseUngrabEvent()
+ {
+ Q_D(QQuickFlickable);
+-if (d-pressed) {
+-// if our mouse grab has been removed (probably by another Flickable),
+-// fix 

[Merge] lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8 into lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src

2014-08-06 Thread Timo Jyrinki
The proposal to merge 
lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8 into 
lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src has been 
updated.

Commit Message changed to:

[ Michał Sawicz ]
 * 
debian/patches/8454a21b-Flickable-Cancel-interaction-on-interactive-changes.patch
   - Fix flickable interaction (LP: #1349705)
 * debian/control
   debian/rules
   Force gcc-4.8 to avoid symbols changes

[ Timo Jyrinki ]
 * debian/patches/parenttosubcreator_qqmlobjectcreator.patch:
   - Drop, rejected by upstream
 * debian/patches/Fix-crash-when-deleting-component-in-Component.onCom.patch
   debian/patches/Fix-interaction-of-garbage-collector-with-JS-objects.patch:
   - Replace the old patch with accepted upstream approach (LP: #1349297)

For more details, see:
https://code.launchpad.net/~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8/+merge/229651
-- 
https://code.launchpad.net/~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8/+merge/229651
Your team Kubuntu Packagers is requested to review the proposed merge of 
lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-opensource-src_530ubuntu8 into 
lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src.

-- 
kubuntu-devel mailing list
kubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel


Re: [Merge] lp:~kubuntu-packagers/ubuntu-release-upgrader/qt5 into lp:ubuntu-release-upgrader

2014-08-06 Thread Rohan Garg
Generally looks alright to me.

Diff comments:

 === modified file 'DistUpgrade/DistUpgradeFetcherKDE.py'
 --- DistUpgrade/DistUpgradeFetcherKDE.py  2014-05-02 13:07:42 +
 +++ DistUpgrade/DistUpgradeFetcherKDE.py  2014-08-05 13:50:46 +
 @@ -2,6 +2,7 @@
  # -*- Mode: Python; indent-tabs-mode: nil; tab-width: 4; coding: utf-8 -*-
  #
  #  Copyright (c) 2008 Canonical Ltd
 +#  Copyright (c) 2014 Harald Sitter apachelog...@kubuntu.org
  #
  #  Author: Jonathan Riddell jridd...@ubuntu.com
  #
 @@ -18,58 +19,100 @@
  #  You should have received a copy of the GNU General Public License
  #  along with this program.  If not, see http://www.gnu.org/licenses/.
  
 -from PyKDE4.kdecore import ki18n, KAboutData, KCmdLineOptions, KCmdLineArgs
 -from PyKDE4.kdeui import KIcon, KMessageBox, KApplication, KStandardGuiItem
 -from PyQt4.QtCore import QDir, QTimer
 -from PyQt4.QtGui import QDialog, QDialogButtonBox
 -from PyQt4 import uic
 +try:
 +# 14.04 has a broken pyqt5, so don't even try to import it and require
 +# pyqt4.
 +# In 14.04 various signals in pyqt5 can not be connected because it 
 thinks
 +# the signal does not exist or has an incompatible signature. Since this
 +# potentially renders the GUI entirely broken and pyqt5 was not actively
 +# used back then it is fair to simply require qt4 on trusty systems.
 +from .utils import get_dist
 +if get_dist() == 'trusty':
 +raise ImportError
 +
 +from PyQt5 import uic
 +from PyQt5.QtCore import *
 +from PyQt5.QtGui import *
 +from PyQt5.QtWidgets import *
 +except ImportError:
 +from PyKDE4.kdecore import ki18n, KAboutData, KCmdLineOptions, 
 KCmdLineArgs
 +from PyKDE4.kdeui import KIcon, KMessageBox, KApplication, 
 KStandardGuiItem
 +from PyQt4.QtCore import QDir, QTimer
 +from PyQt4.QtGui import QDialog, QDialogButtonBox
 +from PyQt4 import uic
  
  import apt_pkg
  import sys
  
 -from .utils import inhibit_sleep, allow_sleep
 -from .DistUpgradeFetcherCore import DistUpgradeFetcherCore
 +from DistUpgrade.utils import inhibit_sleep, allow_sleep
 +from DistUpgrade.DistUpgradeFetcherCore import DistUpgradeFetcherCore
  from gettext import gettext as _
  from urllib.request import urlopen
  from urllib.error import HTTPError
  import os
  
 -from .MetaRelease import MetaReleaseCore
  import apt
  
 +from .QUrlOpener import QUrlOpener
 +
 +# TODO: uifile resolution is an utter mess and should be revised globally for
 +#   both the fetcher and the upgrader GUI.
 +
 +# TODO: make this a singleton
 +# We have no globally constructed QApplication available so we need to
 +# make sure that one is created when needed. Since from a module POV
 +# this can be happening in any order of the two classes this function takes 
 care
 +# of it for the classes, the classes only hold a ref to the qapp returned
 +# to prevent it from getting GC'd, so in essence this is a singleton scoped 
 to
 +# the longest lifetime of an instance from the Qt GUI. Since the lifetime is 
 +# pretty much equal to the process' one we might as well singleton up.
 +def _ensureQApplication():
 +if not QApplication.instance():
 +app = QApplication([ubuntu-release-upgrader])
 +# Try to load default Qt translations so we don't have to worry about
 +# QStandardButton translations.
 +# FIXME: make sure we dep on l10n
 +translator = QTranslator(app)
 +if PYQT_VERSION = 0x5:
 +translator.load(QLocale.system(), 'qt', '_', 
 '/usr/share/qt5/translations')
 +else:
 +translator.load(QLocale.system(), 'qt', '_', 
 '/usr/share/qt4/translations')
 +app.installTranslator(translator)
 +return app
 +return QApplication.instance()
 +
 +# Qt 5 vs. KDELibs4 compat functions
 +def _warning(text):
 +if PYQT_VERSION = 0x5:
 +QMessageBox.warning(None, , text)
 +else:
 +KMessageBox.sorry(None, text, )
 +
 +def _icon(name):
 +if PYQT_VERSION = 0x5:
 +return QIcon.fromTheme(name)
 +else:
 +return KIcon(name)
  
  class DistUpgradeFetcherKDE(DistUpgradeFetcherCore):
 -A small application run by Adept to download, verify
 -and run the dist-upgrade tool
 -
 -def __init__(self, useDevelopmentRelease=False, useProposed=False):
 -self.useDevelopmentRelease = useDevelopmentRelease
 -self.useProposed = useProposed
 -metaRelease = MetaReleaseCore(useDevelopmentRelease, useProposed)
 -metaRelease.downloaded.wait()
 -if metaRelease.new_dist is None and __name__ == __main__:
 -sys.exit()
 -elif metaRelease.new_dist is None:
 -return
 -
 -self.progressDialogue = QDialog()
 -if os.path.exists(fetch-progress.ui):
 -self.APPDIR = QDir.currentPath()
 -else:
 -self.APPDIR = /usr/share/ubuntu-release-upgrader
 -
 -uic.loadUi(self.APPDIR + /fetch-progress.ui, 

Re: [Merge] lp:~kubuntu-packagers/ubuntu-release-upgrader/qt5 into lp:ubuntu-release-upgrader

2014-08-06 Thread Dmitry Shachnev


Diff comments:

 === modified file 'DistUpgrade/DistUpgradeFetcherKDE.py'
 --- DistUpgrade/DistUpgradeFetcherKDE.py  2014-05-02 13:07:42 +
 +++ DistUpgrade/DistUpgradeFetcherKDE.py  2014-08-05 13:50:46 +
 @@ -2,6 +2,7 @@
  # -*- Mode: Python; indent-tabs-mode: nil; tab-width: 4; coding: utf-8 -*-
  #
  #  Copyright (c) 2008 Canonical Ltd
 +#  Copyright (c) 2014 Harald Sitter apachelog...@kubuntu.org
  #
  #  Author: Jonathan Riddell jridd...@ubuntu.com
  #
 @@ -18,58 +19,100 @@
  #  You should have received a copy of the GNU General Public License
  #  along with this program.  If not, see http://www.gnu.org/licenses/.
  
 -from PyKDE4.kdecore import ki18n, KAboutData, KCmdLineOptions, KCmdLineArgs
 -from PyKDE4.kdeui import KIcon, KMessageBox, KApplication, KStandardGuiItem
 -from PyQt4.QtCore import QDir, QTimer
 -from PyQt4.QtGui import QDialog, QDialogButtonBox
 -from PyQt4 import uic
 +try:
 +# 14.04 has a broken pyqt5, so don't even try to import it and require
 +# pyqt4.
 +# In 14.04 various signals in pyqt5 can not be connected because it 
 thinks
 +# the signal does not exist or has an incompatible signature. Since this
 +# potentially renders the GUI entirely broken and pyqt5 was not actively
 +# used back then it is fair to simply require qt4 on trusty systems.

 14.04 has a broken pyqt5, so don't even try to import it and require
 pyqt4.

Please file a bug (with a testcase that works in utopic and doesn't work in 
trusty). Maybe I'll fix it and this hack won't be needed.

 +from .utils import get_dist
 +if get_dist() == 'trusty':
 +raise ImportError
 +
 +from PyQt5 import uic
 +from PyQt5.QtCore import *
 +from PyQt5.QtGui import *
 +from PyQt5.QtWidgets import *
 +except ImportError:
 +from PyKDE4.kdecore import ki18n, KAboutData, KCmdLineOptions, 
 KCmdLineArgs
 +from PyKDE4.kdeui import KIcon, KMessageBox, KApplication, 
 KStandardGuiItem
 +from PyQt4.QtCore import QDir, QTimer
 +from PyQt4.QtGui import QDialog, QDialogButtonBox
 +from PyQt4 import uic
  
  import apt_pkg
  import sys
  
 -from .utils import inhibit_sleep, allow_sleep
 -from .DistUpgradeFetcherCore import DistUpgradeFetcherCore
 +from DistUpgrade.utils import inhibit_sleep, allow_sleep
 +from DistUpgrade.DistUpgradeFetcherCore import DistUpgradeFetcherCore
  from gettext import gettext as _
  from urllib.request import urlopen
  from urllib.error import HTTPError
  import os
  
 -from .MetaRelease import MetaReleaseCore
  import apt
  
 +from .QUrlOpener import QUrlOpener
 +
 +# TODO: uifile resolution is an utter mess and should be revised globally for
 +#   both the fetcher and the upgrader GUI.
 +
 +# TODO: make this a singleton
 +# We have no globally constructed QApplication available so we need to
 +# make sure that one is created when needed. Since from a module POV
 +# this can be happening in any order of the two classes this function takes 
 care
 +# of it for the classes, the classes only hold a ref to the qapp returned
 +# to prevent it from getting GC'd, so in essence this is a singleton scoped 
 to
 +# the longest lifetime of an instance from the Qt GUI. Since the lifetime is 
 +# pretty much equal to the process' one we might as well singleton up.
 +def _ensureQApplication():
 +if not QApplication.instance():
 +app = QApplication([ubuntu-release-upgrader])
 +# Try to load default Qt translations so we don't have to worry about
 +# QStandardButton translations.
 +# FIXME: make sure we dep on l10n
 +translator = QTranslator(app)
 +if PYQT_VERSION = 0x5:
 +translator.load(QLocale.system(), 'qt', '_', 
 '/usr/share/qt5/translations')
 +else:
 +translator.load(QLocale.system(), 'qt', '_', 
 '/usr/share/qt4/translations')
 +app.installTranslator(translator)
 +return app
 +return QApplication.instance()
 +
 +# Qt 5 vs. KDELibs4 compat functions
 +def _warning(text):
 +if PYQT_VERSION = 0x5:
 +QMessageBox.warning(None, , text)
 +else:
 +KMessageBox.sorry(None, text, )
 +
 +def _icon(name):
 +if PYQT_VERSION = 0x5:
 +return QIcon.fromTheme(name)
 +else:
 +return KIcon(name)
  
  class DistUpgradeFetcherKDE(DistUpgradeFetcherCore):
 -A small application run by Adept to download, verify
 -and run the dist-upgrade tool
 -
 -def __init__(self, useDevelopmentRelease=False, useProposed=False):
 -self.useDevelopmentRelease = useDevelopmentRelease
 -self.useProposed = useProposed
 -metaRelease = MetaReleaseCore(useDevelopmentRelease, useProposed)
 -metaRelease.downloaded.wait()
 -if metaRelease.new_dist is None and __name__ == __main__:
 -sys.exit()
 -elif metaRelease.new_dist is None:
 -return
 -
 -self.progressDialogue = QDialog()
 -if