Re: kio-extras and the KF5/KF6 period

2023-06-21 Thread David Redondo
Am Dienstag, 20. Juni 2023, 14:52:44 CEST schrieb David Redondo:
> Harald and I prototyped another solution to build a Qt
> 5 and Qt 6 version out of the same repo and employed it on
> plasma-integration: https://invent.kde.org/plasma/plasma-integration/-/
> merge_requests/91
> This has the advantage of having the code for both versions in
> the same place and the Qt5 version being not stuck on some old
> version. Also the translations can be shared automatically since
> they use the same catalog.
> There is one case  where Qt uses unversioned targets and one
> unversioned ecm variable but cadavidn be easily worked around.

And here is the same idea applied to building both Qt5 and Qt6 versions out of 
a single src directory at the same time. The repo is smaller and nothing 
duplicated so you can get a better idea of what's going on. 
This looks like a good option for me for repos with little divergence between 
both versions.

https://invent.kde.org/plasma/kwayland-integration/-/merge_requests/45

 David





Re: kio-extras and the KF5/KF6 period

2023-06-21 Thread David Redondo
Am Dienstag, 20. Juni 2023, 14:52:44 CEST schrieb David Redondo:
> Harald and I prototyped another solution to build a Qt
>  5 and Qt 6 version out of the same repo and employed it on
> plasma-integration: https://invent.kde.org/plasma/plasma-integration/-/
> merge_requests/91
> This has the advantage of having the code for both versions in
> the same place and the Qt5 version being not stuck on some old
>  version. Also the translations can be shared automatically since
> they use the same catalog.
> There is one case  where Qt uses unversioned targets and one
> unversioned ecm variable but cadavidn be easily worked around.

And here is the same idea applied to building both Qt5 and Qt6 versions out of 
a single src directory at the same time. The repo is smaller and nothing 
duplicated so you can get a better idea of what's going on. 
This looks like a good option for me for repos with little divergence between 
both versions.

https://invent.kde.org/plasma/kwayland-integration/-/merge_requests/45

 David






Re: kio-extras and the KF5/KF6 period

2023-06-21 Thread David Redondo
Am Mittwoch, 21. Juni 2023, 12:31:47 CEST schrieb Ben Cooksley:
> It sounds like we are approaching (or have already hit) a "crossroads"
> where it is time for the Qt 5 codebase to enter a stable release only
> phase, with master becoming Qt 6 exclusive.
> Splitting the code into separate Qt 5 / Qt 6 folders sounds like it will be
> difficult to ensure that all bug fixes are applied equally to both sides.

You are right, that's why in general for Plasma projects the  master branch is 
Qt6 only.
But for some special projects we need to have Qt 5 AND Qt 6 builds in a Plasma 
6 session to support Qt5 apps on Plasma 6  - for example Breeze or plasma-
integration (our QPlatformTheme). Freezing Qt5 at a stable version doesn't 
work quite here as  development happening on master will lead to UX and visual 
divergence compared to the frozen branch.

> Cheers,
> Ben

David




Re: kio-extras and the KF5/KF6 period

2023-06-21 Thread Ben Cooksley
On Wed, Jun 21, 2023 at 8:22 PM Harald Sitter  wrote:

> On Tue, Jun 20, 2023 at 11:23 PM Sune Vuorela  wrote:
> >
> > On 2023-06-20, David Redondo  wrote:
> > > Harald and I prototyped another solution to build a Qt
> > >  5 and Qt 6 version out of the same repo and employed it on
> > > plasma-integration:
> https://invent.kde.org/plasma/plasma-integration/-/
> > > merge_requests/91
> >
> > Did I miss something or is this just branching but without having git to
> > help us move stuff between versions?
>
> Yes but no. If we have two branches we also need two tars and everyone
> needs to do two things. If we have everything in the same branch then
> everything is as usual. Also, the sources are so divergent that
> picking is bound to be annoying.
>

It sounds like we are approaching (or have already hit) a "crossroads"
where it is time for the Qt 5 codebase to enter a stable release only
phase, with master becoming Qt 6 exclusive.
Splitting the code into separate Qt 5 / Qt 6 folders sounds like it will be
difficult to ensure that all bug fixes are applied equally to both sides.


>
> HS
>

Cheers,
Ben


Re: kio-extras and the KF5/KF6 period

2023-06-21 Thread Harald Sitter
On Tue, Jun 20, 2023 at 11:23 PM Sune Vuorela  wrote:
>
> On 2023-06-20, David Redondo  wrote:
> > Harald and I prototyped another solution to build a Qt
> >  5 and Qt 6 version out of the same repo and employed it on
> > plasma-integration: https://invent.kde.org/plasma/plasma-integration/-/
> > merge_requests/91
>
> Did I miss something or is this just branching but without having git to
> help us move stuff between versions?

Yes but no. If we have two branches we also need two tars and everyone
needs to do two things. If we have everything in the same branch then
everything is as usual. Also, the sources are so divergent that
picking is bound to be annoying.

HS


Re: kio-extras and the KF5/KF6 period

2023-06-20 Thread David Redondo
Am Mittwoch, 17. Mai 2023, 00:02:18 CEST schrieb Albert Astals Cid:
> kio-extras provides plugins for kio.
> 
> So KF5 applications want a KF5 kio-extras and KF6 applications want a KF6
> kio- extras.
> 
> If we're going to support a period on which we ship both Kf5 and KF6 based
> applications we need to:
> 
> Make sure kf5 and kf6 are coinstallable.
> 
> a) release two tarballs, one for each KF
> b) release one tarball that compiles both for kf5 and kf6
> c) just release the kf6 tarball, stop releasing the kf5 tarball but ask
> distributions to still install it
> 
> 

Harald and I prototyped another solution to build a Qt
 5 and Qt 6 version out of the same repo and employed it on
plasma-integration: https://invent.kde.org/plasma/plasma-integration/-/
merge_requests/91
This has the advantage of having the code for both versions in 
the same place and the Qt5 version being not stuck on some old
 version. Also the translations can be shared automatically since 
they use the same catalog.
There is one case  where Qt uses unversioned targets and one
unversioned ecm variable but cadavidn be easily worked around.

David






Re: kio-extras and the KF5/KF6 period

2023-06-20 Thread Harald Sitter
On Tue, Jun 20, 2023 at 3:46 PM Luigi Toscano  wrote:
>
> Harald Sitter ha scritto:
> > On Tue, Jun 20, 2023 at 2:58 PM Luigi Toscano  
> > wrote:
> >>
> >> David Redondo ha scritto:
> >>> Am Mittwoch, 17. Mai 2023, 00:02:18 CEST schrieb Albert Astals Cid:
>  kio-extras provides plugins for kio.
> 
>  So KF5 applications want a KF5 kio-extras and KF6 applications want a KF6
>  kio- extras.
> 
>  If we're going to support a period on which we ship both Kf5 and KF6 
>  based
>  applications we need to:
> 
>  Make sure kf5 and kf6 are coinstallable.
> 
>  a) release two tarballs, one for each KF
>  b) release one tarball that compiles both for kf5 and kf6
>  c) just release the kf6 tarball, stop releasing the kf5 tarball but ask
>  distributions to still install it
> 
> 
> >>>
> >>> Harald and I prototyped another solution to build a Qt
> >>>  5 and Qt 6 version out of the same repo and employed it on
> >>> plasma-integration: https://invent.kde.org/plasma/plasma-integration/-/
> >>> merge_requests/91
> >>> This has the advantage of having the code for both versions in
> >>> the same place and the Qt5 version being not stuck on some old
> >>>  version. Also the translations can be shared automatically since
> >>> they use the same catalog.
> >>> There is one case  where Qt uses unversioned targets and one
> >>> unversioned ecm variable but cadavidn be easily worked around.
> >>
> >>
> >> This is good for example for phonon, and in the future and in retrospective
> >> for stuff like qtcurve, but not much for kio-extras, where the codebases
> >> started to diverge.
> >
> > I don't quite follow, as you can see it uses two different source
> > directories cause the goal was to split qt5 and 6 implementations due
> > to impl divergence. So in point of fact divergence is intended and
> > possible. We basically have two source directories in the same branch
> > and build. We believe a similar technique can be used with repos with
> > little divergence just as well as for ones with huge divergence.
>
> The situation of kio-extras is a bit different, as the translations are not
> fully shared between the two branches and I'd prefer to keep them separate.

Hm. They need to have a different catalog name anyway so they don't
overlap between kio-extras6 and 5 builds. We could still do that in
one branch, couldn't we? e.g.

- /qt6/smb/ (produces kio6_smb.pot)
- /qt5/smb/ (produces kio5_smb.pot)

HS


Re: kio-extras and the KF5/KF6 period

2023-06-20 Thread Luigi Toscano
Harald Sitter ha scritto:
> On Tue, Jun 20, 2023 at 2:58 PM Luigi Toscano  
> wrote:
>>
>> David Redondo ha scritto:
>>> Am Mittwoch, 17. Mai 2023, 00:02:18 CEST schrieb Albert Astals Cid:
 kio-extras provides plugins for kio.

 So KF5 applications want a KF5 kio-extras and KF6 applications want a KF6
 kio- extras.

 If we're going to support a period on which we ship both Kf5 and KF6 based
 applications we need to:

 Make sure kf5 and kf6 are coinstallable.

 a) release two tarballs, one for each KF
 b) release one tarball that compiles both for kf5 and kf6
 c) just release the kf6 tarball, stop releasing the kf5 tarball but ask
 distributions to still install it


>>>
>>> Harald and I prototyped another solution to build a Qt
>>>  5 and Qt 6 version out of the same repo and employed it on
>>> plasma-integration: https://invent.kde.org/plasma/plasma-integration/-/
>>> merge_requests/91
>>> This has the advantage of having the code for both versions in
>>> the same place and the Qt5 version being not stuck on some old
>>>  version. Also the translations can be shared automatically since
>>> they use the same catalog.
>>> There is one case  where Qt uses unversioned targets and one
>>> unversioned ecm variable but cadavidn be easily worked around.
>>
>>
>> This is good for example for phonon, and in the future and in retrospective
>> for stuff like qtcurve, but not much for kio-extras, where the codebases
>> started to diverge.
> 
> I don't quite follow, as you can see it uses two different source
> directories cause the goal was to split qt5 and 6 implementations due
> to impl divergence. So in point of fact divergence is intended and
> possible. We basically have two source directories in the same branch
> and build. We believe a similar technique can be used with repos with
> little divergence just as well as for ones with huge divergence.

The situation of kio-extras is a bit different, as the translations are not
fully shared between the two branches and I'd prefer to keep them separate.

Full blessing for other repositories where the difference is minimal.

--
Luigi


Re: kio-extras and the KF5/KF6 period

2023-06-20 Thread Harald Sitter
On Tue, Jun 20, 2023 at 2:58 PM Luigi Toscano  wrote:
>
> David Redondo ha scritto:
> > Am Mittwoch, 17. Mai 2023, 00:02:18 CEST schrieb Albert Astals Cid:
> >> kio-extras provides plugins for kio.
> >>
> >> So KF5 applications want a KF5 kio-extras and KF6 applications want a KF6
> >> kio- extras.
> >>
> >> If we're going to support a period on which we ship both Kf5 and KF6 based
> >> applications we need to:
> >>
> >> Make sure kf5 and kf6 are coinstallable.
> >>
> >> a) release two tarballs, one for each KF
> >> b) release one tarball that compiles both for kf5 and kf6
> >> c) just release the kf6 tarball, stop releasing the kf5 tarball but ask
> >> distributions to still install it
> >>
> >>
> >
> > Harald and I prototyped another solution to build a Qt
> >  5 and Qt 6 version out of the same repo and employed it on
> > plasma-integration: https://invent.kde.org/plasma/plasma-integration/-/
> > merge_requests/91
> > This has the advantage of having the code for both versions in
> > the same place and the Qt5 version being not stuck on some old
> >  version. Also the translations can be shared automatically since
> > they use the same catalog.
> > There is one case  where Qt uses unversioned targets and one
> > unversioned ecm variable but cadavidn be easily worked around.
>
>
> This is good for example for phonon, and in the future and in retrospective
> for stuff like qtcurve, but not much for kio-extras, where the codebases
> started to diverge.

I don't quite follow, as you can see it uses two different source
directories cause the goal was to split qt5 and 6 implementations due
to impl divergence. So in point of fact divergence is intended and
possible. We basically have two source directories in the same branch
and build. We believe a similar technique can be used with repos with
little divergence just as well as for ones with huge divergence.

HS


Re: kio-extras and the KF5/KF6 period

2023-06-20 Thread Luigi Toscano
David Redondo ha scritto:
> Am Mittwoch, 17. Mai 2023, 00:02:18 CEST schrieb Albert Astals Cid:
>> kio-extras provides plugins for kio.
>>
>> So KF5 applications want a KF5 kio-extras and KF6 applications want a KF6
>> kio- extras.
>>
>> If we're going to support a period on which we ship both Kf5 and KF6 based
>> applications we need to:
>>
>> Make sure kf5 and kf6 are coinstallable.
>>
>> a) release two tarballs, one for each KF
>> b) release one tarball that compiles both for kf5 and kf6
>> c) just release the kf6 tarball, stop releasing the kf5 tarball but ask
>> distributions to still install it
>>
>>
> 
> Harald and I prototyped another solution to build a Qt
>  5 and Qt 6 version out of the same repo and employed it on
> plasma-integration: https://invent.kde.org/plasma/plasma-integration/-/
> merge_requests/91
> This has the advantage of having the code for both versions in 
> the same place and the Qt5 version being not stuck on some old
>  version. Also the translations can be shared automatically since 
> they use the same catalog.
> There is one case  where Qt uses unversioned targets and one
> unversioned ecm variable but cadavidn be easily worked around.


This is good for example for phonon, and in the future and in retrospective
for stuff like qtcurve, but not much for kio-extras, where the codebases
started to diverge.


-- 
Luigi


Re: kio-extras and the KF5/KF6 period

2023-05-25 Thread Albert Astals Cid
El dijous, 25 de maig de 2023, a les 12:51:32 (CEST), Nicolas Fella va 
escriure:
> Hi,
> 
> Am 17.05.23 um 00:02 schrieb Albert Astals Cid:
> > kio-extras provides plugins for kio.
> > 
> > So KF5 applications want a KF5 kio-extras and KF6 applications want a KF6
> > kio- extras.
> 
> This is also the case in more places, e.g. Breeze/Oxygen and
> plasma-integration, so having a unified approach would make sense.
> 
> > If we're going to support a period on which we ship both Kf5 and KF6 based
> > applications we need to:
> > 
> > Make sure kf5 and kf6 are coinstallable.
> > 
> > a) release two tarballs, one for each KF
> 
> In some cases, where there is a large enough divergence between the 5
> and 6 code we might want to have separate branches to maintain those
> (e.g. master is Qt6 and we have a qt5-compat branch).
> 
> Having separate branches would imply separate tarballs.
> 
> How would this work with version numbers and tags? We'd have something
> like v23.08.0-qt5 and v23.08.0-qt6?

probably the branch name in front? I have the feeling it'd confuse the 
"version number extractors" a bit less.

So basically kio-extras-qt5-xxx and kio-extras-qt6-xxx (or without the qt) (or 
with kf instead of qt).

> 
> > b) release one tarball that compiles both for kf5 and kf6
> 
> This would be my preferred approach for things with little divergence
> between 5 and 6, i.e. not enough divergence to justify a separate branch.
> 
> > c) just release the kf6 tarball, stop releasing the kf5 tarball but ask
> > distributions to still install it
> 
> You mean installing the last KF5-based release? How well this works
> would depend on the amount of non-bugfix work we want to put into the
> Qt5 variant.

This is basically a variant of a) in which no longer release a KF5-based-
tarball but the distributions do some kind of renaming to make sure both the 
"old" KF5-based package and the "new" KF6-based package can both be installed 
at the same time.

Cheers,
  Albert

> 
> For Breeze in particular this could mean that the appearance of Qt5 and
> Qt6 apps could get out of sync.
> 
> > What's everyone's preference?
> > 
> > Cheers,
> > 
> >Albert
> 
> Cheers
> 
> Nico






Re: kio-extras and the KF5/KF6 period

2023-05-25 Thread Nicolas Fella

Hi,

Am 17.05.23 um 00:02 schrieb Albert Astals Cid:

kio-extras provides plugins for kio.

So KF5 applications want a KF5 kio-extras and KF6 applications want a KF6 kio-
extras.

This is also the case in more places, e.g. Breeze/Oxygen and
plasma-integration, so having a unified approach would make sense.

If we're going to support a period on which we ship both Kf5 and KF6 based
applications we need to:

Make sure kf5 and kf6 are coinstallable.

a) release two tarballs, one for each KF


In some cases, where there is a large enough divergence between the 5
and 6 code we might want to have separate branches to maintain those
(e.g. master is Qt6 and we have a qt5-compat branch).

Having separate branches would imply separate tarballs.

How would this work with version numbers and tags? We'd have something
like v23.08.0-qt5 and v23.08.0-qt6?


b) release one tarball that compiles both for kf5 and kf6

This would be my preferred approach for things with little divergence
between 5 and 6, i.e. not enough divergence to justify a separate branch.

c) just release the kf6 tarball, stop releasing the kf5 tarball but ask
distributions to still install it


You mean installing the last KF5-based release? How well this works
would depend on the amount of non-bugfix work we want to put into the
Qt5 variant.

For Breeze in particular this could mean that the appearance of Qt5 and
Qt6 apps could get out of sync.


What's everyone's preference?

Cheers,
   Albert


Cheers

Nico



Re: kio-extras and the KF5/KF6 period

2023-05-16 Thread Bernhard Rosenkränzer
Hi,

On Wednesday, May 17, 2023 00:02 CEST, Albert Astals Cid  wrote:

> If we're going to support a period on which we ship both Kf5 and KF6 based 
> applications we need to:
> 
> Make sure kf5 and kf6 are coinstallable.

I'm currently packaging a first KF6 snapshot in OpenMandriva. Looks pretty good 
already, but there's still a few problems with coinstallability, esp. when 
building man pages is enabled (some of them still have *5 names, conflicting 
with the identical parts in kf5, even where corresponding binaries have been 
renamed).

Of course some bits like kded still use conflicting *5 names even for the core 
parts.

> a) release two tarballs, one for each KF
> b) release one tarball that compiles both for kf5 and kf6 
> c) just release the kf6 tarball, stop releasing the kf5 tarball but ask 
> distributions to still install it
> 
> What's everyone's preference?

Depends: If the code is virtually the same with a few ifdefs, b) is good to 
make sure the kf5 version still gets fixes when all development has moved on. 
If the divergence becomes too big, either a) or c) works for us - probably no 
need for frequent releases of the kf5 version (so that would be c) + possibly a 
kf5 release if a major bug is found/fixed, but not necessarily with every kf6 
release).

ttyl
bero



kio-extras and the KF5/KF6 period

2023-05-16 Thread Albert Astals Cid
kio-extras provides plugins for kio.

So KF5 applications want a KF5 kio-extras and KF6 applications want a KF6 kio-
extras.

If we're going to support a period on which we ship both Kf5 and KF6 based 
applications we need to:

Make sure kf5 and kf6 are coinstallable.

a) release two tarballs, one for each KF
b) release one tarball that compiles both for kf5 and kf6 
c) just release the kf6 tarball, stop releasing the kf5 tarball but ask 
distributions to still install it


What's everyone's preference?

Cheers,
  Albert