Bug #16290

Remove Scribus

Added by hefee 2019-01-05 14:58:13 . Updated 2019-04-02 16:19:10 .

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Target version:
Start date:
2019-01-05
Due date:
% Done:

0%

Feature Branch:
hefee/feature/15182-QT4-removal
Type of work:
Code
Blueprint:

Starter:
Affected tool:
Deliverable for:

Description

With upcoming Tails 4.0 we would be able to get rid of Qt4 completly, the only bit, that is holding us back is Scribus. Qt 4 has reached EOL at Dec.’15 (https://wiki.qt.io/Main). We have different options to go on from here:

  • Keep Scribus (1.4.7) in Tails and do not remove Qt4 dependency (overhead for Scribus + Qt4 stack ~100MB)
  • Upgrade to scribus-ng (1.5.3) from Debian experimental, that uses Qt 5 (~ 240MB). The Debian mantainers are not satified, that this version is ready to consume widely: https://bugs.debian.org/875180#26. But this comes with a maintance cost, as we will need to rebuild new version ourself from experimental. Aka more maintenance work for keeping scribus-ng inside Tails.
  • Remove Scribus entierly form Tails. But the user has still the possibility to install scribus/scribus-ng via additional sofware persitant feature

Subtasks


Related issues

Related to Tails - Bug #16298: Additional Software is not saving target release Rejected 2019-01-05
Related to Tails - Feature #15291: Remove less popular packages that users could install themselves Resolved 2018-04-17
Blocks Tails - Feature #16080: Core work 2018Q4 → 2019Q2: User experience Resolved 2018-10-29
Blocked by Tails - Bug #16604: buster: UID/GID stability? Resolved 2019-03-22

History

#1 Updated by hefee 2019-01-05 15:02:09

  • Assignee set to sajolida

@sajolida: We need input in what we should do about scribus in Tails 4.0 / buster.

#2 Updated by intrigeri 2019-01-05 15:48:03

  • Subject changed from Dicide what to do with Scribus to Decide what to do with Scribus

#3 Updated by intrigeri 2019-01-05 16:00:18

  • Assignee changed from sajolida to hefee
  • QA Check set to Info Needed

I think it’ll be easier to decide if the size info is about the size of a XZ-compressed (defaultcomp build option) ISO for:

  • feature/buster without Scribus nor Qt 4
  • feature/buster with scribus (and thus Qt 4)
  • feature/buster with scribus-ng (and thus Qt 5) but no Qt 4

Or if that’s too painful to come up with, the size difference of the corresponding binary Debian packages, which is a not-too-bad approximation of the resulting ISO size difference.

#4 Updated by intrigeri 2019-01-05 16:01:41

  • blocks Feature #16080: Core work 2018Q4 → 2019Q2: User experience added

#5 Updated by Anonymous 2019-01-05 17:08:13

  • Status changed from Confirmed to In Progress

Applied in changeset commit:tails|520b48d1bcd4019140105be530cd023ad7157bee.

#6 Updated by sajolida 2019-01-05 17:44:21

  • related to Bug #16298: Additional Software is not saving target release added

#7 Updated by sajolida 2019-01-05 17:48:06

Before having the size information, it’s unclear to me:

  • Will scribus (with Qt4) be available in Debian Buster?
  • Will scribus-ng (with Qt5) be available in Debian Buster?
  • If scribus (with Qt4) will be in Debian Buster what do we gain with its removal on top of a smaller image?

Because specifying a target release in Synaptic is quite convoluted and Additional Software is not saving this information anyway (Bug #16298).

#8 Updated by hefee 2019-01-05 21:06:36

  • Assignee changed from hefee to sajolida

sajolida wrote:
> Before having the size information, it’s unclear to me:
>
> * Will scribus (with Qt4) be available in Debian Buster?

yes

> * Will scribus-ng (with Qt5) be available in Debian Buster?

not as far I understand the mail from Debian correctly: https://bugs.debian.org/bug=875180#13

> * If scribus (with Qt4) will be in Debian Buster what do we gain with its removal on top of a smaller image?

Make the attack surface smaller as there is less old software that don’t getting security fixes for several years.
Screenreaders and non latin based languages should have better support within Qt5, as those are supported out of the box.

> Because specifying a target release in Synaptic is quite convoluted and Additional Software is not saving this information anyway (Bug #16298).

That can and should be fixed.

Do you know Tails users using Scribus?

Numbers:

- feature/buster with scribus-ng (Qt5) - 1.8G iso

- removing scribus-ng (apt purge scribus-ng && apt autoremove) and installing scribus-ng (Qt5) wants to download 63.8 MB (XZ zipped)
- removing scribus-ng (apt purge scribus-ng && apt autoremove) and installing scribus (Qt4) wants to download 29.4 MB (XZ zipped), but we want also proper Qt4 support for screenreaders /non latin based languages (ibus-qt4, qt-at-spi) it wants to download 70.9 MB (XZ zipped)

#9 Updated by intrigeri 2019-01-08 10:51:17

  • Assignee changed from sajolida to intrigeri

I’m very curious about this so I’ll do 2 builds (compressed with the release-time XZ settings) of feature/buster, one with Scribus (+ dependencies), one without.

#10 Updated by intrigeri 2019-01-08 14:33:59

  • Assignee changed from intrigeri to sajolida
  • Tails 3.11: 1169M
  • feature/buster ISO with Scribus (at commit:ba87916f5a3fd7a059c54c820f7a2292375922c9): 1287M
  • feature/buster ISO without Scribus nor its dependencies: 1256M

So yeah, the space saving, although welcome, is not particularly decisive; it’s a small step towards making the 4.0 ISO not too much bigger than the 3.x ones. Symmetrically, this also means that installing Scribus through Additional Software is rather cheap.

Personally, the “get rid of obsolete, unsupported Qt4 stack” argument is what makes me lean towards removing Scribus and Qt4 in Tails 4.0. But I’m happy to let sajolida decide and I can live with shipping Qt4 in the Tails 4.x series (as long as it is in Debian stable and has security support from Debian).

#11 Updated by intrigeri 2019-01-10 14:06:34

  • related to Feature #15291: Remove less popular packages that users could install themselves added

#12 Updated by sajolida 2019-01-16 16:54:39

  • Assignee changed from sajolida to hefee
  • QA Check deleted (Info Needed)

Thanks for all the additional information!

So yeah, if both scribus and scribus-ng will be installable in Tails 4.0 using Additional Software, then I’m all for removing it from Tails by default.

It will be a excellent candidate to remove software that’s possibly useful to our personas (eg. Riou could use it for leaflets or brochures) but probably not so popular (I know more people using LibreOffice or Inkscape for propaganda).

#13 Updated by intrigeri 2019-01-16 18:13:05

> So yeah, if both scribus and scribus-ng will be installable in Tails 4.0 using Additional Software

I don’t think scribus-ng will be installable this way, due to the ASP limitation you’ve pointed to.

#14 Updated by sajolida 2019-01-21 18:48:37

> I don’t think scribus-ng will be installable this way, due to the ASP limitation you’ve pointed to.

Sorry I miss read hefee’s last comment.

So scribus will be in Buster and installable using Additional Software
(along with it’s big pile of Qt4) but not scribus-ng which will only be
available in experimental.

That’s still fine with me.

#15 Updated by intrigeri 2019-01-21 19:34:17

  • Type of work changed from Research to Code

Thank you. So next steps are:

  • remove Scribus on feature/buster
  • update the description of the doc update ticket so it covers this change

Leaving this on hefee’s plate for now but feel free to deassign yourself, as you wish :)

#16 Updated by hefee 2019-01-22 08:18:17

  • Subject changed from Decide what to do with Scribus to Remove Scribus entierly form Tails.

#17 Updated by hefee 2019-01-22 08:22:24

  • Subject changed from Remove Scribus entierly form Tails. to Remove Scribus from Tails.

#18 Updated by hefee 2019-02-21 17:40:05

  • Assignee changed from hefee to CyrilBrulebois
  • QA Check set to Ready for QA
  • Feature Branch set to hefee/feature/15182-QT4-removal

I removed now scribus from buster (c0af08c52bb09cb407bcd5dfd888317c97d84da4).
And fixed the build errors from feature/buster branch on the way.

It is now ready for merge.

#19 Updated by intrigeri 2019-02-22 09:49:14

  • Assignee changed from CyrilBrulebois to hefee
  • QA Check changed from Ready for QA to Dev Needed

This branch FTBFS on Jenkins.

See https://tails.boum.org/contribute/merge_policy/#submit by the way :)

#20 Updated by hefee 2019-02-22 13:46:03

  • Assignee changed from hefee to intrigeri
  • QA Check changed from Dev Needed to Info Needed

intrigeri wrote:
> This branch FTBFS on Jenkins.

Well as Jenkins merges devel into my branch and breaks it. I’m not asking to merge this branch to devel I ask for merge to feature/buster. And I merged feature/buster into my branch before asking for review.

> See https://tails.boum.org/contribute/merge_policy/#submit by the way :)

What you want to tell me? That I should look onto Jenkins before asking for review?

#21 Updated by intrigeri 2019-02-22 14:23:48

  • Assignee changed from intrigeri to hefee
  • QA Check changed from Info Needed to Dev Needed

> intrigeri wrote:
>> This branch FTBFS on Jenkins.

> Well as Jenkins merges devel into my branch and breaks it. I’m not asking to merge this branch to devel I ask for merge to feature/buster. And I merged feature/buster into my branch before asking for review.

I understand where you come from but I think you’re missing part of the big picture. I’ve tried to share how things are, why, and what other options we have on the thread that starts on https://lists.autistici.org/message/20190115.011319.f3fe4d96.en.html.

>> See https://tails.boum.org/contribute/merge_policy/#submit by the way :)

> What you want to tell me? That I should look onto Jenkins before asking for review?

Yes. IMO making sure one’s branch builds on Jenkins is part of the base set of expectations for submitting a branch for merging. Now, as said in the thread I’m pointing to above, perhaps the way Jenkins currently builds Buster things is not what you and kibi want. If that’s so, fine, let’s change it and adjust the rest of the strategy so it’s consistent and produces meaningful CI results.

If we need to discuss this further, let’s discuss this on the mailing list: I don’t think this ticket is the best place to discuss general strategy/policy/expectations matters :)

#22 Updated by hefee 2019-03-14 11:44:45

  • Assignee changed from hefee to CyrilBrulebois
  • QA Check changed from Dev Needed to Ready for QA

I think the branch is ready for review. As feature/buster is currently not building, I’m not sure if you want to merge it before fixing the build issues or after it.

#23 Updated by intrigeri 2019-04-02 08:39:05

  • Assignee deleted (CyrilBrulebois)

#24 Updated by intrigeri 2019-04-02 09:06:47

  • Subject changed from Remove Scribus from Tails. to Remove Scribus
  • Assignee set to intrigeri

#25 Updated by intrigeri 2019-04-02 12:54:56

Cherry-picked commit:c0af08c52bb09cb407bcd5dfd888317c97d84da4 locally, will now build & test.

#26 Updated by intrigeri 2019-04-02 13:43:49

  • blocked by Bug #16604: buster: UID/GID stability? added

#27 Updated by intrigeri 2019-04-02 16:19:10

  • Status changed from In Progress to Resolved
  • Assignee deleted (intrigeri)
  • QA Check changed from Ready for QA to Pass