Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 640822 - sci-misc/boinc migration to wxGTK:3.0-gtk3 slot
Summary: sci-misc/boinc migration to wxGTK:3.0-gtk3 slot
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Sven Eden
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: wxgtk2-removal 629122
  Show dependency tree
 
Reported: 2017-12-12 13:23 UTC by kuzetsa CatSwarm (kuza for short)
Modified: 2017-12-27 11:56 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kuzetsa CatSwarm (kuza for short) 2017-12-12 13:23:10 UTC
Not an exhaustive summary:

sci-misc/boinc is currently the only package in portage tree which needs wxGTK built with USE=webkit

Support will be dropped soon for USE=webkit on the older gtk2 slot to ease porting wxGTK to webkit-gtk:4 (newer API with security-related fixes)
Comment 1 Mart Raudsepp gentoo-dev 2017-12-12 13:30:14 UTC
gtk2 versions can not work with any security safe webkit-gtk, thus you HAVE to use 3.0-gtk3 WX_GTK_VER ASAP, so we can clean the security vulnerability from both SLOTS - removing webkit support from 3.0 and backporting patches to support webkit-gtk:4 for 3.0-gtk3.

Removing of the older version using WX_GTK_VER=3.0 will be in a hurry as well, as I'd like to stabilize new and remove old version rather soon. Also as soon as it's bumped, there will be fun blockers then due to newest wxGTK:3.0 not having a USE=webkit anymore, but the old boinc deps on it.
Comment 2 Mart Raudsepp gentoo-dev 2017-12-12 17:19:59 UTC
I think my re-assigning/commenting might have collided with the GH bot trying to add a reference to a pull request (or it didn't work with force push). Adding manually.
Comment 3 kuzetsa CatSwarm (kuza for short) 2017-12-12 23:49:19 UTC
This is the only consumer for wxGTK: USE=webkit
Comment 4 Sven Eden 2017-12-13 11:25:39 UTC
(In reply to kuzetsa from comment #3)
> This is the only consumer for wxGTK: USE=webkit

If I ever needed a strong reason to drop gtk2 based wxGTK support in BOINC, this is it. The current version works very well, so I'll have a look at this issue at the next week-end. Sorry, but this is the fastest I can do.
Comment 5 Mart Raudsepp gentoo-dev 2017-12-13 11:38:46 UTC
I'm not sure we wait that long with the addition of wxGTK:3.0 that does NOT have USE=webkit. Can we at least meanwhile change the old ebuild wxGTK dep to

x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,webkit(-)]

to minimize the issues? I think it might give better error messages about incompatibility of the new version of wxGTK, once added, and more automatically prevents the wxGTK:3.0 upgrade until boinc is fixed
Comment 6 kuzetsa CatSwarm (kuza for short) 2017-12-13 11:50:49 UTC
(In reply to Mart Raudsepp from comment #5)
> I'm not sure we wait that long with the addition of wxGTK:3.0 that does NOT
> have USE=webkit. Can we at least meanwhile change the old ebuild wxGTK dep to
> 
> x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,webkit(-)]
> 
> to minimize the issues? I think it might give better error messages about
> incompatibility of the new version of wxGTK, once added, and more
> automatically prevents the wxGTK:3.0 upgrade until boinc is fixed

Maybe we could do this for now?

[ package.use.mask ]

# pre-gtk3 versions deprecated, per bug #618642
x11-libs/wxGTK:3.0 webkit

Haven't tested but that syntax looks right at first glance.
Comment 7 Mart Raudsepp gentoo-dev 2017-12-13 12:44:03 UTC
(In reply to kuzetsa from comment #6)
> (In reply to Mart Raudsepp from comment #5)
> > I'm not sure we wait that long with the addition of wxGTK:3.0 that does NOT
> > have USE=webkit. Can we at least meanwhile change the old ebuild wxGTK dep to
> > 
> > x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,webkit(-)]
> > 
> > to minimize the issues? I think it might give better error messages about
> > incompatibility of the new version of wxGTK, once added, and more
> > automatically prevents the wxGTK:3.0 upgrade until boinc is fixed
> 
> Maybe we could do this for now?
> 
> [ package.use.mask ]
> 
> # pre-gtk3 versions deprecated, per bug #618642
> x11-libs/wxGTK:3.0 webkit
> 
> Haven't tested but that syntax looks right at first glance.

Tree would be broken, unless sci-misc/boinc X is added to mask as well.
Comment 8 kuzetsa CatSwarm (kuza for short) 2017-12-13 13:57:13 UTC
(In reply to Mart Raudsepp from comment #7)
> (In reply to kuzetsa from comment #6)
> > (In reply to Mart Raudsepp from comment #5)
> > > I'm not sure we wait that long with the addition of wxGTK:3.0 that does NOT
> > > have USE=webkit. Can we at least meanwhile change the old ebuild wxGTK dep to
> > > 
> > > x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,webkit(-)]
> > > 
> > > to minimize the issues? I think it might give better error messages about
> > > incompatibility of the new version of wxGTK, once added, and more
> > > automatically prevents the wxGTK:3.0 upgrade until boinc is fixed
> > 
> > Maybe we could do this for now?
> > 
> > [ package.use.mask ]
> > 
> > # pre-gtk3 versions deprecated, per bug #618642
> > x11-libs/wxGTK:3.0 webkit
> > 
> > Haven't tested but that syntax looks right at first glance.
> 
> Tree would be broken, unless sci-misc/boinc X is added to mask as well.

Aye. It was a rude / vague [and probably bad] idea:

Explicit sabotage until users who don't put in effort to manually unmask webkit support on the vulnerable slot:

That process of opting in would bring it to their attention that these issues exist (particularly, because the comment on the preceding line is typically displayed when portage refuses to take an action)

Using either an ewarn/einfo message, or the less drastic approach which you described would involve a revbump (or reinstall/rebuild). Either of those methods requires changes to the ebuild.

The more ideal balance is probably somewhere between waiting on the maintainer or applying one or more changes without explicit permission.

Alternatively - I did perform a quick build & runtest on the version from PR #6530, and any issues from the slot change should be cosmetic at worst, and limited to just the boincmgr GUI, nothing which will impact work performed for & submitted to the boinc grid itself.
Comment 9 Sven Eden 2017-12-18 07:54:18 UTC
I can't build the current in-tree boinc-7.8.1 - it fails in compile stage.

Tonight I have some time to investigate. Hopefully we can have this done fast. I have some other bugs to close on boinc, but would prefer to concentrate on this one first.

As I can see, the old boinc versions have been dropped already? Good!
Comment 10 Sven Eden 2017-12-19 07:59:01 UTC
Alright. I couldn't build boinc because of bug 639108 - which I fixed.

But then I got stuck and am highly irritated and unnerved right now.

tl;dr: I'd love to migrate boinc to wxGTK:3.0-gtk3, but can't build said wxGTK version.

Long:
I hit the wretched
 (...)/lib64/crt1.o: In function `_start': init.c: undefined reference to `main' collect2: ld returned 1
error when trying to build wxGTK:3.0-gtk3

Everything the internet could tell me was, that the build reacts quite sissy on -Wl,O1 LDFLAGS. I do not have those anywhere in /etc/portage set, but "ebuild (...) unpack" showed, that it got added by (some) profile.

So I went and removed that flag from all *FLAGs in temp/environment, and built wxGTK without it.

Unfortunately the merge failed with the very same error. All flags used look sane, so I have no clue where to look for a solution.

And to top it all there was a fire in the main central station of hamburg, germany, this morning. My urban railway line to work got dropped, and I had to take another one, which was so crowded, that I couldn't whip out my laptop for some research about that issue. (The one with wxGTK not linking.)

----

Down the line I need some more time. I have no clue whether the boinc manager will compile and link against wxGTK:3.0-gtk3. And people will go nuts if we remove it.

Any pointers on how to build wxGTK:3.0-gtk3 on a 17.0 profile (just finished emerge -e @world on sunday, which took over a week) are highly welcome.
Comment 11 Mart Raudsepp gentoo-dev 2017-12-19 14:20:50 UTC
I don't have a clue what the problem is, especially if you don't file a proper bug report on it. I just built 3.0.2.0-r301 on 17.0 profiles with gcc7 yesterday just fine with LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu". the -O1 and --as-needed comes from profile and I happen to append the hash-style to it, which shouldn't affect anything (it intends to change the default --hash-style=both as I don't need the sysv hash, but only gnu might already be a default by now in our binutils).

Seems like kuzetsa had some GUI thing working fine with boinc against gtk3 too?

I don't see why it would fail linking due to not having a main function - this is a library, it mustn't have one. Maybe it's during a build of some executable inside, but as there's no proper bug report with build.log attached - no clue.
Comment 12 kuzetsa CatSwarm (kuza for short) 2017-12-19 19:53:49 UTC
(In reply to Sven Eden from comment #9)
> I can't build the current in-tree boinc-7.8.1 - it fails in compile stage.
> 
> Tonight I have some time to investigate. Hopefully we can have this done
> fast. I have some other bugs to close on boinc, but would prefer to
> concentrate on this one first.
> 
> As I can see, the old boinc versions have been dropped already? Good!

I didn't check to see if the 7.8.1 version worked, just the bump.
Comment 13 kuzetsa CatSwarm (kuza for short) 2017-12-19 19:56:30 UTC
(In reply to Mart Raudsepp from comment #11)
> I don't have a clue what the problem is, especially if you don't file a
> proper bug report on it. I just built 3.0.2.0-r301 on 17.0 profiles with
> gcc7 yesterday just fine with LDFLAGS="-Wl,-O1 -Wl,--as-needed
> -Wl,--hash-style=gnu". the -O1 and --as-needed comes from profile and I
> happen to append the hash-style to it, which shouldn't affect anything (it
> intends to change the default --hash-style=both as I don't need the sysv
> hash, but only gnu might already be a default by now in our binutils).
> 
> Seems like kuzetsa had some GUI thing working fine with boinc against gtk3
> too?
> 

I wouldn't know, as I don't test against unstable gcc7.

(My @system profile is on keyword-stabilized gcc 6.4)

Yes, the ebuild I made for boinc 7.8.4 uses the 3.0-gtk3 slot.
Comment 14 kuzetsa CatSwarm (kuza for short) 2017-12-19 20:07:36 UTC
(In reply to Sven Eden from comment #10)

> Down the line I need some more time. I have no clue whether the boinc
> manager will compile and link against wxGTK:3.0-gtk3. And people will go
> nuts if we remove it.
> 
> Any pointers on how to build wxGTK:3.0-gtk3 on a 17.0 profile (just finished
> emerge -e @world on sunday, which took over a week) are highly welcome.

Unmasking 3.0-gtk3 slot for me is stable and builds clean on my otherwise stable-
 keyworded system. "something weird" [tm] in a system-wide ~amd64 might cause a regression though (like I said - it works for me on stable.)

I did have some weird breakage initially when I migrated to the 17.0 profile until I did the recommended @world rebuild. Pretty sure it was just the PIE / non-PIE mixing badly, as indicated by the eselect news entry for the profile change. YMMV

May not have been clear from comment#8 so I'll clarify:

I did test the boincmgr gui (but only for the bumped 7.8.4 ebuild). Upstream specifically added support for gtk3, so an older version (7.8.1 was before the upstream fixes) won't work with the wxGTK:3.0-gtk3 slot unless you backport the upstream changes which were made by the boinc team.
Comment 15 Sven Eden 2017-12-20 07:41:20 UTC
(In reply to Mart Raudsepp from comment #11)
> I don't have a clue what the problem is, especially if you don't file a
> proper bug report on it. I just built 3.0.2.0-r301 on 17.0 profiles with
> gcc7 yesterday just fine with LDFLAGS="-Wl,-O1 -Wl,--as-needed
> -Wl,--hash-style=gnu".

Mart, there is no proper bug report, because I am absolutely convinced that the problem is somewhere between my chair and the screen. I can't file a bug on myself, can I?
wxGTK:3.0 merged fine in may when I upgraded to gcc-7, and now I can build neither 3.0 nor 3.0-gtk3 <-- this can't be a problem with the packages. Just with me not doing the profile upgrade carefully enough.


(In reply to kuzetsa from comment #14)
> I did have some weird breakage initially when I migrated to the 17.0
> profile until I did the recommended @world rebuild. Pretty sure it
> was just the PIE / non-PIE mixing badly, as indicated by the eselect
> news entry for the profile change. YMMV

It took me a week to do the emerge -e @world, as I have a developer machine with over 2,000 packages, all but three built with -ggdb and split-debug FEATURE.

*BUT* I downgraded beforehand to gcc-6.4.0, as I (absolutely naively) dreamed of having a cuda enabled opencv again.

What I did last night was to go back up to gcc-7.2, do a multiple (aka paranoid) toolchain rebuild, and then an "emerge -e @system".

However, this was not enough, and I have to look through my package list very carefully whether something simply fiddles with portage functionality. (maybe the bashrc.d enhancement from the mv overlay?)

Some packages failed with weird messages about some obscure xattr feature not being supported, so I had to deactivate xattr USE flag on portage. That worked for years. So something is really fishy here.

In the meantime PR 6530 could be merged, so I can rebase on that version bump once I got the contumaciousness out of my laptop.
Comment 16 Mart Raudsepp gentoo-dev 2017-12-20 13:41:29 UTC
Thanks for the ACK, and sorry for assuming too much
Comment 17 Sven Eden 2017-12-20 15:29:49 UTC
(In reply to Mart Raudsepp from comment #16)
> Thanks for the ACK, and sorry for assuming too much

Don't worry. I was just pissed off by myself. ;-)

In the meantime I have removed app-portage/portage-bashrc-mv (didn't have the time to really work with it anyway) and voilá, wxGTK:3.0-gtk3 built just fine. 8^D
Comment 18 Sven Eden 2017-12-21 10:00:19 UTC
I hereby confirm that both boinc-7.8.1 and boinc 7.8.4 just work with wxGTK:3.0-gtk3. There is no further adaptation needed. The wxWidgets team has done really really well!

It would be great if PR 6530 could be merged soon, so I can continue with fixing the other issues.
Comment 19 Larry the Git Cow gentoo-dev 2017-12-21 10:47:29 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f371aa1404ec4ff581399ce81685ffe828270005

commit f371aa1404ec4ff581399ce81685ffe828270005
Author:     kuzetsa <kuzetsa@gmail.com>
AuthorDate: 2017-12-12 13:24:32 +0000
Commit:     Mart Raudsepp <leio@gentoo.org>
CommitDate: 2017-12-21 10:46:48 +0000

    sci-misc/boinc: sci-misc/boinc: bump 7.8.4 & SLOT wxGTK:3.0-gtk3
    
    Bug: https://bugs.gentoo.org/640822
    Package-Manager: Portage-2.3.13, Repoman-2.3.3

 sci-misc/boinc/Manifest           |   1 +
 sci-misc/boinc/boinc-7.8.4.ebuild | 181 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 182 insertions(+)}
Comment 20 Mart Raudsepp gentoo-dev 2017-12-21 10:52:30 UTC
This wasn't "Closes:" because we need old revisions removed for this bug to be fixed for the purposes of the bugs this bug entry blocks. So your followup "remove old" commit will have to do that. Also (Sven) see the followup commit and the note in PR #6530.
Comment 21 Sven Eden 2017-12-21 15:11:57 UTC
@Mart: Thank you very much, that icon cache thing was on my list, too. Only the "xlocale.h incident" left, and the clean-up.

I'll but the "Closes:" tag in there on my PR. Hopefuly I can open my PR tomorrow.
Comment 22 Sven Eden 2017-12-21 15:12:29 UTC
> I'll but the "Closes:" tag in there on my PR. Hopefuly I can open my PR
> tomorrow.
*put not but. :-/
Comment 23 Larry the Git Cow gentoo-dev 2017-12-27 11:56:30 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e5f2f2be84c3b6a791f53864d397372d41308430

commit e5f2f2be84c3b6a791f53864d397372d41308430
Author:     Sven Eden <yamakuzure@gmx.net>
AuthorDate: 2017-12-24 14:24:24 +0000
Commit:     Mart Raudsepp <leio@gentoo.org>
CommitDate: 2017-12-27 11:55:54 +0000

    sci-misc/boinc: Clean up old ebuilds
    
    As it was discussed in bug 640822, said bug is now closed with
    cleaning up the old ebuilds.
    The newest no longer depends on gtk2 based wxWidgets, and remains.
    
    Closes: https://bugs.gentoo.org/640822
    Package-Manager: Portage-2.3.19, Repoman-2.3.6

 sci-misc/boinc/Manifest              |   1 -
 sci-misc/boinc/boinc-7.8.1-r1.ebuild | 189 -----------------------------------
 sci-misc/boinc/boinc-7.8.1.ebuild    | 181 ---------------------------------
 3 files changed, 371 deletions(-)