Bug 1738174 - scribus depends on Python 2
Summary: scribus depends on Python 2
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: scribus
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Pete Walter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F31_PY2REMOVAL
TreeView+ depends on / blocked
 
Reported: 2019-08-06 13:22 UTC by Lumír Balhar
Modified: 2019-11-04 20:48 UTC (History)
8 users (show)

Fixed In Version: scribus-1.5.6-0.2.fc32
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-11-04 20:48:55 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
improved make-free-archive.sh (1.69 KB, application/x-shellscript)
2019-11-02 04:45 UTC, Luya Tshimbalanga
no flags Details

Description Lumír Balhar 2019-08-06 13:22:02 UTC
Python 2.7 will reach end-of-life in January 2020, over 9 years after it was released. This falls within the Fedora 31 lifetime.
Packages that depend on Python 2 are being switched to Python 3 or removed from Fedora: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages
Python 2 will be retired in Fedora 32: https://fedoraproject.org/wiki/Changes/RetirePython2

To help planning, we'd like to know the plans for scribus's future. Specifically:


- What is the reason for the Python2 dependency? (Is it software written in Python, or does it just provide Python bindings, or use Python in the build system or test runner?) 

- What are the upstream/community plans/timelines regarding Python 3?

- What is the guidance for porting to Python 3? (Assuming that there is someone who generally knows how to port to Python 3, but doesn't know anything about the particular package, what are the next steps to take?)


This bug is filed semi-automatically, and might not have all the context specific to scribus.
If you need anything from us, or something is unclear, please mention it here.

Thank you.

Comment 1 Ben Cotton 2019-08-13 16:54:10 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to '31'.

Comment 2 Ben Cotton 2019-08-13 17:39:49 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to 31.

Comment 3 Lumír Balhar 2019-08-15 07:47:37 UTC
Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages

If you need any information or help, or if you need some more time, please let us know.

Comment 4 Lumír Balhar 2019-08-22 07:01:32 UTC
Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages

If you need any information or help, or if you need some more time, please let us know.

Comment 5 Lumír Balhar 2019-08-29 05:20:52 UTC
Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages

If you need any information or help, or if you need some more time, please let us know.

Comment 6 Miro Hrončok 2019-09-05 10:41:51 UTC
According to the procedure described in https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages the package was now orphaned. If you think it was a mistake, you can provide the answers and claim the package back.

Let us know if you need any help or just need more time.

Comment 7 Miro Hrončok 2019-10-21 00:02:23 UTC
This was unorphaned.

Comment 8 Miro Hrončok 2019-10-21 00:02:41 UTC
Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages

If you need any information or help, or if you need some more time, please let us know.

Comment 9 Lumír Balhar 2019-10-29 12:17:43 UTC
Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages

If you need any information or help, or if you need some more time, please let us know.

Comment 10 Dan Horák 2019-10-29 15:31:53 UTC
I suspect there is no active maintainer for scribus. Dunno if the "Design Suite" SIG is still alive.

Comment 11 Miro Hrončok 2019-10-30 06:38:08 UTC
Pete unorphaned scribus a month ago: https://pagure.io/releng/issue/8829

Comment 12 François Cami 2019-10-30 10:18:59 UTC
There are changes upstream that would enable Scribus to run with Python3 and drop Python2 support entirely. This is new, as the previous approach was dual-version capable and never worked properly.
The above changes landed in trunk only 3 days ago: https://bugs.scribus.net/view.php?id=15030

I think these changes are all that's needed to remove py2 dependencies in Scribus but I haven't double-checked.

Furthermore, I'm not sure what the best course of action is now, between:
- fetch the patches from upstream trunk and apply those changes to rawhide
- wait until a new release is done
I'd vote for the first solution.

Comment 13 Miro Hrončok 2019-10-30 10:29:48 UTC
> I'd vote for the first solution.

+1

Comment 14 Luya Tshimbalanga 2019-10-30 15:31:11 UTC
(In reply to Dan Horák from comment #10)
> I suspect there is no active maintainer for scribus. Dunno if the "Design
> Suite" SIG is still alive.

Still alive. I will take scribus once orphaned.

Comment 15 Luya Tshimbalanga 2019-10-30 15:54:09 UTC
Hmm, I see scribus lacked updated for a while. If the current maintainer fails to response, assign to Design Suite team i.e. myself.

Comment 16 François Cami 2019-10-30 23:59:18 UTC
Dan, Miro, Luya, FYI, the Python3-related changes that landed in 1.5.6 trunk do not apply cleanly to 1.4.x.
Maybe we should consider shipping the 1.5.6 pre-release.
1.5.x are a development candidate releases while 1.4.x are considered stable, but the current situation warrants extraordinary solutions.
Debian ships 1.5.x as scribus-ng in some of their release branches.

I've got a WIP dist-git at https://github.com/fcami/scribus-dist-git/
Specifically the following commit is able to get past the %build stage:
https://github.com/fcami/scribus-dist-git/commit/f0e683274666e23835cae666289a868eba5b7c32

The associated SOURCES file can be found at:
https://fcami.fedorapeople.org/srpms/scribus-1.5.6-free.tar.xz
and the way to generate them is documented in scribus.spec and in make-free-archive.sh

There is still work to do:
* I removed all the patches but they should be updated if still needed instead.
* %install does not work (yet).

Please let me know if you agree with the above approach.

Comment 17 Miro Hrončok 2019-10-31 00:02:17 UTC
(In reply to Luya Tshimbalanga from comment #15)
> If the current maintainer fails to response, assign to Design Suite team i.e. myself.

Note that the procedural date when this happens and the package gets orphaned is more or less the same date when we propose to remove the Python 2 packages from Fedora. I suggest that some action is taken other than waiting for no response. E-mail the maintainer maybe, ask if you can co-maintain the package? Propose a pull request and get it approved by some of the co-maintainers?


(In reply to François Cami from comment #16)
> Please let me know if you agree with the above approach.

Very much so.

Comment 18 Miro Hrončok 2019-10-31 00:03:07 UTC
Oh, I see that François Cami is a co-maintainer, so we have somebody on board \o/

Comment 19 Luya Tshimbalanga 2019-10-31 02:43:06 UTC
(In reply to François Cami from comment #16)
> Dan, Miro, Luya, FYI, the Python3-related changes that landed in 1.5.6 trunk
> do not apply cleanly to 1.4.x.
> Maybe we should consider shipping the 1.5.6 pre-release.
> 1.5.x are a development candidate releases while 1.4.x are considered
> stable, but the current situation warrants extraordinary solutions.
> Debian ships 1.5.x as scribus-ng in some of their release branches.

Or 1.5.5. 1.4.x is outdated because of lack of complex text layout for Asian users. It seems upstream patch is applicable on 1.5.5.
> 
> I've got a WIP dist-git at https://github.com/fcami/scribus-dist-git/
> Specifically the following commit is able to get past the %build stage:
> https://github.com/fcami/scribus-dist-git/commit/
> f0e683274666e23835cae666289a868eba5b7c32


> The associated SOURCES file can be found at:
> https://fcami.fedorapeople.org/srpms/scribus-1.5.6-free.tar.xz
> and the way to generate them is documented in scribus.spec and in
> make-free-archive.sh
> 
> There is still work to do:
> * I removed all the patches but they should be updated if still needed
> instead.
> * %install does not work (yet).

I will suggest to take a look at the spec files located on:

scribus 1.5.6 snapshot
https://copr-be.cloud.fedoraproject.org/results/luya/scribus-unstable/fedora-rawhide-x86_64/01080654-scribus/scribus.spec

scribus 1.5.5
https://copr-be.cloud.fedoraproject.org/results/luya/scribus/fedora-rawhide-x86_64/00994786-scribus/scribus.spec

It includes all the needed changes and dependencies compared to the old 1.4.8, modernized macros adhering to Fedora packaging guideline.

Comment 20 François Cami 2019-10-31 09:12:56 UTC
Thanks for commenting, both of you.

Luya, thanks for your spec files, these will help.
But we cannot merge them as-is as Scribus contains some Forbidden Items.
This is why the current way to generate the archive is a two-step process:
* download the archive
* use make-free-archive.sh
and why there were patches in the first place.

I'll get this sorted out mixing your SPEC files, my changes, and possibly Debian/Arch changes as well.

Comment 21 Luya Tshimbalanga 2019-11-02 04:45:04 UTC
Created attachment 1631736 [details]
improved make-free-archive.sh

Here is an improved and up to date make-free-archive.sh script removing the need of non-free patch and with more verbose step describing the task. Note there may be some mistakes as I am more an artist than a coder.

Comment 22 Luya Tshimbalanga 2019-11-03 01:43:56 UTC
I had the opportunity to update the spec file and upgrading the make-free-archive script making more verbose and integrating the patches removing non-free contents. Pull Request is already filed: 
https://src.fedoraproject.org/rpms/scribus/pull-request/3

Here is the scratch result:
https://koji.fedoraproject.org/koji/taskinfo?taskID=38725398

Note the build failed on Rawhide due to Selinux issue nothing to do with Scribus.

Comment 23 Pete Walter 2019-11-04 20:48:55 UTC
Nice, thanks! I've merged the pull request.


Note You need to log in before you can comment on or make changes to this bug.