From Fedora Project Wiki
(Initial Change proposal)
 
No edit summary
Line 15: Line 15:


== Current status ==
== Current status ==
[[Category:ChangeReadyForWrangler]]
[[Category:ChangeAnnounced]]
[[Category:SelfContainedChange]]
[[Category:SelfContainedChange]]


Line 26: Line 26:
ON_QA -> change is fully code complete
ON_QA -> change is fully code complete
-->
-->
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/TBYS5R6OG3INZ6HC3JW6COHFFU2WU7YQ/ devel thread]
* FESCo issue: <will be assigned by the Wrangler>
* FESCo issue: <will be assigned by the Wrangler>
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: <will be assigned by the Wrangler>

Revision as of 19:08, 30 December 2022

FPC repackaging

Important.png
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Summary

Split the fpc package (the Free Pascal Compiler) into several sub-packages (built from the same spec file).

Owner


Current status

  • Targeted release: Fedora Linux 38
  • Last updated: 2022-12-30
  • devel thread
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

The fpc package will be split into three packages:

  • fpc - the compiler itself, plus utility programs
  • fpc-ide - the terminal-based TUI IDE (/usr/bin/fp)
  • fpc-units-ARCHNAME-linux - pre-compiled units (think "FPC's stdlib") for developing programs for Linux

The "units" subpackage will be a shared dependency for both fpc and fpc-ide.

Benefit to Fedora

The TUI IDE will be moved to a separate package, slightly reducing the download size for packages requiring FPC to build.

Putting Linux units in an fpc-units-ARCHNAME-linux package will create a precedent which can be used in the future for introducing cross-compilation packages, like fpc-units-x86_64-win64 for MS Windows.

Scope

  • Proposal owners:
    • Edit fpc.spec as required and rebuild the package, preferably before the Mass Rebuild.
  • Other developers: No action required.
  • Release engineering: No action required.
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives: N/A

Upgrade/compatibility impact

After upgrading to Fedora 38, users interested in the TUI IDE will need to manually install the fpc-ide package. For those not interested in the TUI IDE, there will be no impact.

How To Test

A copr repository has been created where users can test out the modified package: copr/suve/fpc-split.

This copr repository also modifies the spec to build units for MS Windows (x86_64 only), allowing for cross-compilation.

User Experience

For users not interested in the TUI IDE, this Change will slightly reduce the install size (about 1.5 MiB for the IDE plus another 3.5 MiB for its dependencies).

Since the TUI IDE does not launch the compiler as a sub-process, but rather contains an embedded copy of the compiler, users who use only the IDE and not the standalone compiler will benefit in a similar way - they will be able to install just the IDE, without the main compiler package.

Dependencies

None.

Contingency Plan

Worst case scenario - give up, revert to an old version of fpc.spec and rebuild the package.

Documentation

N/A (not a System Wide Change)

Release Notes

The fpc package no longer includes the terminal-based TUI IDE. Users interested in the IDE should install the fpc-ide package.