Page MenuHomeFreeBSD

Update XFCE to 4.16
AbandonedPublic

Authored by madpilot on Dec 30 2020, 2:32 PM.

Details

Summary

This patch updates XFCE base libraries to version 4.16.

Ongoing work on this patch is based on [1]

This new XFCE version drops GTK2 support. This causes some ports to fail to build.

The following ones were already deprecated and will be removed:

  • print/xfce4-print
  • x11/xfce4-quicklauncher-plugin
  • x11/xfce4-wmdock-plugin

I'll also remove the old x11-toolkits/libxfce4gui, which fails to compile (depends on gtk2 support) and at this point has no dependent ports.

These I will mark as deprecated with a short expiration:

  • science/xfce4-equake-plugin
  • x11/xfce4-embed-plugin
  • deskutils/orage
  • deskutils/xfce4-volumed (maintainer approved)

There are a few That will brake but I expect new versions with fixes in the future:

  • deskutils/xfce4-notes-plugin
  • x11-clocks/xfce4-stopwatch-plugin

while deskutils/xfce4-generic-slider will be marked as broken, but I will let ehaupt choose what to do with it.

Everything else should work fine.

I have met a glitch with pkg, that with certain pkg combinations it will install newer libexo and later remove the old one, leaving the system without vital xfce files. I have no mitigation, only tunning pkg upgrade -f libexo to force it to reinstall the missing files.

This issue is described in the README at [1] and I also filed an issue with pkg at [2].

Any suggestion on how to work out this issue will be appreciated.

[1] https://github.com/madpilot78/FreeBSD-XFCE-4.15

[2] https://github.com/freebsd/pkg/issues/1923

Test Plan

I've tested building these packages multiple times in poudriere with supported FreeBSD versions, and I'm now using it by default on my PCs without problems.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 35854
Build 32743: arc lint + arc unit

Event Timeline

Fix glitch in patch with removed directories.

madpilot edited the summary of this revision. (Show Details)
madpilot edited the test plan for this revision. (Show Details)

Update thunar to latest version.

Thanks very much for your work on bringing Xfce 4.16 to the ports tree @madpilot!

I have included a couple of comments here, based on a desktop review (I did not perform any build or runtime testing).

You might also want to bump the deprecation dates if this doesn’t get committed in the next day or 2.

Mk/Uses/xfce.mk
19

Delete libgui

38–39

Delete libgui

deskutils/xfce4-tumbler/Makefile
72

To be pedantic, the EPUB option helpers could be inserted alphabetically (below COVER and above FFMPEG)

sysutils/catfish/Makefile
31

With the new release numbering for catfish coming online with other Xfce release numbers, probably should add the following:
PORTSCOUT= limitw:1,even

I imagine that catfish 4.15 development version was included with the Xfce 4.16 rollout, because it integrates better with the new desktop environment but the corresponding catfish 4.16 production release hasn’t yet landed?

x11-wm/xfce4/Makefile
21–22

Any reason that XPM isn’t included as a default option?

x11/xfce4-goodies/Makefile
13

Looks like a double space between datetime and dictionary?

15

Suggest adding the STOPWATCH panel plugin as a new option, on by default

19

Any reason the following were removed from default?
Systemload
Verve
Wavelan

19

Delete volumed from comment

69

Delete WMDOCK

93–94

Delete WMDOCK

119–120

Delete WMDOCK

134–135

Delete volumed

madpilot marked 11 inline comments as done.

Thanks very much for your work on bringing Xfce 4.16 to the ports tree @madpilot!

I have included a couple of comments here, based on a desktop review (I did not perform any build or runtime testing).

Thanks! You spotted a bunch of small errors that slipped by me! I'm going to correct those soon.

You might also want to bump the deprecation dates if this doesn’t get committed in the next day or 2.

Yes, I put wild guesses for those and plan to adapt them at time of commit. Anyway I will bump those in the review, with the intention to adapt them when I commit.

deskutils/xfce4-tumbler/Makefile
72

Actually the _DESC variables are also unsorted, with the occasion I'll sort those too.

sysutils/catfish/Makefile
31

Thanks, adding portscout here makes much sense.

I was really hoping for catfish 4.16 to come out in the while, anyway yes, the 4.15 one is better integrated and I thought, in this case, including a beta version was worth the risk.

x11-wm/xfce4/Makefile
21–22

Historical, I simply left it as it was, but I was asking the same myself the other day and was evaluating adding it, I think that's the right choice.

x11/xfce4-goodies/Makefile
15

the stopwatch plugin is broken at present. No new release has been created including the fix to make it compile with the new panel.

OTOH the fix is trivial [1], so I could include it and, after testing, add it here, so I'll take alittle time before addressing this feedback due to this.

19

Uhm, no special reason, I must have forgotten/lost them during the "trip" to 4.16 :)

madpilot marked 3 inline comments as done.

Address suggestions from @woodsb02.

Also import upstream fix for the xfce4-stopwatch-plugin and add it as an option to goodies. Default ON.

Thanks - looks good to me now. My approval isn't required in any way, but I have marked this review as accepted by me to show that I have reviewed and concur that it looks ready to land.

Still not sure how to address the CONFLICTS issue between the libexo and xfce4-settings packages during upgrade. Given this is a bug with pkg, not with your ports, perhaps an acceptable approach is to simply include a message in UPDATING explaining how to work around the issue manually? My guess would be first doing a "pkg upgrade libexo", then followed by a "pkg upgrade" should do the trick?

Thanks - looks good to me now. My approval isn't required in any way, but I have marked this review as accepted by me to show that I have reviewed and concur that it looks ready to land.

Thanks, your feedback is much appreciated!

Still not sure how to address the CONFLICTS issue between the libexo and xfce4-settings packages during upgrade. Given this is a bug with pkg, not with your ports, perhaps an acceptable approach is to simply include a message in UPDATING explaining how to work around the issue manually? My guess would be first doing a "pkg upgrade libexo", then followed by a "pkg upgrade" should do the trick?

What I actually did was pkg upgrade followed by pkg upgrade -f libexo to fix the mess. I need to test with manually upgrading libexo by hand.

I'm thinking about the options, if the pkg bug cannot be solved in a short time an UPDATING message looks like the only option.

I also hope the usecase I provided in github can help fix the bug in pkg, anyway if anything else can help I'm going to help as much as I can.

Given it’s a long standing pkg bug, I doubt it will be resolved soon even with your test pkg repo which helps reproduce it.

I think the best option is to land this with an UPDATING note.

I note that the new ports quarterly branch has not yet been cut, so if you land this soon Xfce 4.16 might even make it into the 2021Q1 ports branch.

Added UPDATING entry and a pkg-message to libexo.

Since the pkg bug itself is that it is installing and then uninstalling
libexo. So for the message to show up when the bug happens the
message needs to be an install message.

Also while here shorten again expiration dates.

I'm goign to commit this shortly, unluckily preparing the message
and verifying it works as expected required some time.

Committed in r559953 and r559955

Closing, update committed.