Disable experimental/unstable features in release branch (0.92.x) in all build systems

Bug #1589340 reported by su_v
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
High
Bryce Harrington

Bug Description

In the upcoming stable release branch for Inkscape 0.92 <lp:inkscape/0.92.x>, experimental features currently enabled in trunk need to be disabled in all build systems (cmake, autotools, btool):

1) LPE_ENABLE_TEST_EFFECTS, WITH_LPETOOL
Experimental LPEs should not be enabled in a stable release, including the LPE tool (it was never enabled in a stable release so far, and originally disabled (for 0.47) by request of its author)

2) WITH_MESH
Needs to be discussed ... questions might be:
- is the format for meshes in SVG2 finalized/stable now?
- is the tool considered sufficiently stable and feature-complete to be
enabled in a _stable_ release by default (lack of undo, no support for copy&paste, duplicate, ...)?

3) Preference option to "Enable dynamic relayout for incomplete sections"
Tracked as bug task per release branch in bug #619903.

=====
Current state ( lp:inkscape/0.92.x r15215 ):

Cmake:
- experimental LPEs: disabled (r15118)
- mesh tool: enabled (r15215) [*]

Autotools:
- experimental LPEs: enabled (r13889)
- mesh tool: enabled (r13889)

btool (win32):
- experimental LPEs: disabled (r11818)
- mesh tool: enabled (r15214)

btool (win64):
- experimental LPEs: disabled (r13392)
- mesh tool: disabled (r13392)

Preferences:
- patch for bug #619903 available (needs review and commit)

[*] TODO for cmake: either completely remove cmake's configure option 'WITH_MESH' (turned ineffective with the changes of r15215) in top-level CMakeLists.txt (line 61, line 270); or turn it ON by default and revert r15215.

Tags: blocker build
Revision history for this message
su_v (suv-lp) wrote :

@ScislaC - I'm adding the blocker tag so that this isn't missed (feel free to remove it if you disagree). Could you please set milestone to 0.92?

tags: added: blocker
description: updated
Bryce Harrington (bryce)
Changed in inkscape:
milestone: none → 0.92
importance: Undecided → High
status: New → Triaged
Bryce Harrington (bryce)
Changed in inkscape:
assignee: nobody → Bryce Harrington (bryce)
Revision history for this message
Hachmann (marenhachmann) wrote :

About the mesh tool: if it could be 'enabled' just like it is in the current stable version (can be used via hidden keyboard shortcut, but is not available in UI) - then people who already use it would probably be grateful (and there seem to be a few who like to experiment).

Would the 'node selection demo' extension also belong here?

Revision history for this message
su_v (suv-lp) wrote : Re: [Bug 1589340] Re: Disable experimental/unstable features in release branch (0.92.x) in all build systems

On 2016-06-20 24:18 (+0200), Hachmann wrote:
> About the mesh tool: if it could be 'enabled' just like it is in the
> current stable version (can be used via hidden keyboard shortcut, but is
> not available in UI) - then people who already use it would probably be
> grateful (and there seem to be a few who like to experiment).

The mentioned build configuration setting related to the 'WITH_MESH'
define is only about the visibility of the tool in the toolbox (the
underlying feature is _not_ affected). The tool is enabled in current
trunk - this report simply asks whether 0.92 should ship with the same
state as 0.91 (tool hidden, accessible via custom shortcut only) or as
current trunk (tool visible).

> Would the 'node selection demo' extension also belong here?

Could you please clarify what exactly this refers to, and whether you
propose to include or exclude a "demo" extension in the next stable
release branch?
If this refers to bug #1545095, please note that that report has been
re-targeted to milestone 0.93, and that the debug extension attached
there ('Debug > Selected Nodes Info') was only provided to ease code
review/testing of the actual patch, and never was intended to be
committed at all (it is of no use for regular users, and does not work
without the actual patch applied to inkex.py (which is postponed for 0.93)).

Revision history for this message
Shlomi Fish (shlomif-gmail) wrote :

This is a patch to disable WITH_LPETOOL and LPE_ENABLE_TEST_EFFECTS in cmake.

Revision history for this message
Shlomi Fish (shlomif-gmail) wrote :

Should the patch from https://bugs.launchpad.net/inkscape/+bug/619903 be ported to the trunk?

Revision history for this message
su_v (suv-lp) wrote :

On 2016-06-20 15:05 (+0200), Shlomi Fish wrote:
> Should the patch from https://bugs.launchpad.net/inkscape/+bug/619903 be
> ported to the trunk?

No. This report (bug #1589340) is not about trunk.

description: updated
Revision history for this message
Bryce Harrington (bryce) wrote :

Thanks, I've pushed the patch Shlomi suggested to the 0.92.x branch.

Revision history for this message
Bryce Harrington (bryce) wrote :

This patch allows cmake configuration for WITH_MESH, enabling it only with SVG2.

Please let me know what you think, and if it seems to do the trick I'll land it on the 0.92.x branch.

Revision history for this message
Bryce Harrington (bryce) wrote :

Hi Maren, I'd like to follow up on your comment #3 on this bug just to make sure we're covering everything we need. You suggested the node selection demo might be worth considering disabling; would you mind elaborating on your thinking here? suv's response seems to suggest that maybe that's not relevant for the 0.92 branch, but I wanted to doublecheck just to be sure.

Revision history for this message
Bryce Harrington (bryce) wrote :

Regarding bug #619903, the "Enable dynamic relayout for incomplete sections" issue, is that considered resolved in 0.92 or should we consider pulling the patch that was included for 0.91 (or an equivalent) for the 0.92 release as well?

Revision history for this message
su_v (suv-lp) wrote :

On 2016-08-26 03:44 (+0200), Bryce Harrington wrote:
> Regarding bug #619903, the "Enable dynamic relayout for incomplete
> sections" issue, is that considered resolved in 0.92 ...

It is _not_ resolved in the stable release branch lp:inkscape/0.92.x -
the setting should be hidden in the GUI (preferences dialog) of the
stable release as was done in the prior release (0.91). [1]

> ... or should we consider pulling the patch that was included for
> 0.91 (or an equivalent) for the 0.92 release as well?

Yes (IMHO it should be patched for 0.92 the same way as was done for the
prior release 0.91).

[1] Steps to produce how the interface can break with the mentioned
preferences setting (using a build of the stable release branch):
1) launch inkscape
2) Enable the dynamic relayout for incomplete sections in the
preferences (Interface tab)
3) switch to toolbar layout 'Wide' (at the bottom of the 'View' menu)

Revision history for this message
Hachmann (marenhachmann) wrote :

@Bryce: at the time I made that comment, trunk and 0.92 were still one, and the builds in the ppa contained a demo extension (the one su_v describes), which I thought should not be visible in the menu of a stable release. I was only *asking* if that could possibly be relevant here in the context of this report (fearing it could be forgotten ;-) ), as I had no clue. Just ignore comment #2.

<offtopic>@su_v, I forgot to subscribe, so I never saw your reply before now. I'm sorry for not having reacted to your question.</offtopic>

Revision history for this message
su_v (suv-lp) wrote :

The attached diff syncs the change for Cmake build system in lp:inkscape/0.92.x r15045 (to disable experimental LPE features by default) with the (still supported) autotools-based build system (by partially reverting lp:inkscape r13889).

Revision history for this message
su_v (suv-lp) wrote :

On 2016-08-26 03:44 (+0200), Bryce Harrington wrote:
> Regarding bug #619903, the "Enable dynamic relayout for incomplete
> sections" issue

Updated patch for lp:inkscape/0.92.x to disable the mentioned option has been attached to bug #619903.

Revision history for this message
su_v (suv-lp) wrote :

Remaining issue: status of MESH tool (see bug description).
- patch from comment #8 for CMake build system not yet committed
- patch from comment #8 needs porting to autotools-based build system

Revision history for this message
Hachmann (marenhachmann) wrote :

I just remembered this issue:

- two-item-only boolops have been 'opened' for using them with more than two items, expecting someone to write the actual functions for that
- the problem with that is, that nobody did and it doesn't work as expected. e.g. with three objects above one another, difference cuts holes into the topmost object - so if a new user, who doesn't expect the boolops to work with an unlimited number of items tries it out, they will get an extremely unexpected result.

Should the change be undone in the release version, while we wait for someone to implement the necessary parts in trunk?

Revision history for this message
Hachmann (marenhachmann) wrote :

"who doesn't expect" -> "who expects" (Sorry!)

su_v (suv-lp)
description: updated
description: updated
su_v (suv-lp)
description: updated
su_v (suv-lp)
description: updated
Revision history for this message
su_v (suv-lp) wrote :

Attaching merge directive [1] for review to
1) sync cmake, autotools and btool configure options
2) disable experimental toolbar layout option (bug #619903)
in lp:inkscape/0.92.x (based on r15232), with these commits:

15233: CMake: remove WITH_MESH option obsoleted in r15215
15234: Autotools: disable experimental LPEs and LPETOOL
15235: Btool (win32): enable all SVG2 features (including Mesh tool)
15236: Btool (win64): enable all SVG2 features (including Mesh tool)
15237: Btool (win64 GTK3): enable all SVG2 features (including Mesh tool)
15238: Preferences: remove option for dynamic relayout of incomplete sections (bug #619903)

--
[1] the changes from the merge directive can be applied with
'bzr merge path/to/merge_lp1589340-v3' or alternatively with
'patch -p0 < path/to/merge_lp1589340-v3'

Revision history for this message
su_v (suv-lp) wrote :

Proposed change for cmake (lp:inkscape/0.92.x) attached separately (without changes for legacy build systems and preferences):

CMake: remove separate WITH_MESH option obsoleted in r15215

Revision history for this message
Bryce Harrington (bryce) wrote :

The merge directive in comment #18 was landed, which I believe resolves this bug for the release.

If there are any remaining followup steps needed for 0.92.0 reopen, otherwise start a new bug targeting 0.92.1 for changes that can go into that release.

Changed in inkscape:
status: Triaged → Fix Committed
Revision history for this message
su_v (suv-lp) wrote :

@bryce: Unfortunately, there's one unexpected issue the merge introduced with btool (legacy Windows build system) - the official CMake-based build OTOH does work with the same features enabled:
* Bug #1651137 “cannot compile 0.92x branch rev 15268 on Windows XP”
  https://bugs.launchpad.net/inkscape/+bug/1651137
(Comment #6 has details)

Bryce Harrington (bryce)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.