aarch64 builders upgrade
by Kevin Fenzi
Greetings.
I thought I would let everyone know that I have moved all the buildvm-a64
instances from some older hardware (lenovo emags) to newer hardware
(altra Mt. Snow). This should result in a noticable speed increase
along with allowing us to increase density of vm's per host.
If you notice any issues with buildvm-a64 machines, please file an
infrastructure ticket: https://pagure.io/fedora-infrastructure
Thanks,
kevin
1 year, 2 months
Orphaned packages looking for new maintainers
by Miro Hrončok
The following packages are orphaned and will be retired when they
are orphaned for six weeks, unless someone adopts them. If you know for sure
that the package should be retired, please do so now with a proper reason:
https://fedoraproject.org/wiki/How_to_remove_a_package_at_end_of_life
Note: If you received this mail directly you (co)maintain one of the affected
packages or a package that depends on one. Please adopt the affected package or
retire your depending package to avoid broken dependencies, otherwise your
package will fail to install and/or build when the affected package gets retired.
Request package ownership via the *Take* button in he left column on
https://src.fedoraproject.org/rpms/<pkgname>
Full report available at:
https://churchyard.fedorapeople.org/orphans-2022-09-26.txt
grep it for your FAS username and follow the dependency chain.
For human readable dependency chains,
see https://packager-dashboard.fedoraproject.org/
For all orphaned packages,
see https://packager-dashboard.fedoraproject.org/orphan
Package (co)maintainers Status Change
================================================================================
advancecomp cicku, orphan, tdawson, thias 1 weeks ago
amora orphan 2 weeks ago
blueberry nonamedotc, orphan, rathann 2 weeks ago
elementary-planner orphan 0 weeks ago
elementary-sound-theme orphan 2 weeks ago
elementary-theme orphan 2 weeks ago
erlang-esip bowlofeggs, erlang-maint-sig, 0 weeks ago
jcline, orphan
erlang-jiffy bowlofeggs, lkundrak, orphan 1 weeks ago
erlang-riak_ensemble bowlofeggs, erlang-maint-sig, 1 weeks ago
orphan
erlang-xmpp bowlofeggs, erlang-maint-sig, 0 weeks ago
jcline, orphan
espresso-ab avigne, orphan 3 weeks ago
geompp orphan 1 weeks ago
geteltorito orphan, rharwood 2 weeks ago
giada orphan 1 weeks ago
gimp-focusblur-plugin orphan 3 weeks ago
gmqcc orphan 3 weeks ago
golang-github-beevik-etree go-sig, mgoodwin, nathans, 0 weeks ago
orphan
golang-github-crewjam-httperr go-sig, mgoodwin, nathans, 0 weeks ago
orphan
golang-github-crewjam-saml go-sig, mgoodwin, nathans, 0 weeks ago
orphan
golang-github-dchest-uniuri go-sig, mgoodwin, nathans, 0 weeks ago
orphan
golang-github-gofrs-flock go-sig, orphan 0 weeks ago
golang-github-logr-stdr eclipseo, go-sig, orphan 0 weeks ago
golang-github-magefile-mage go-sig, mgoodwin, nathans, 0 weeks ago
orphan
golang-github-russellhaering- go-sig, mgoodwin, nathans, 0 weeks ago
goxmldsig orphan
golang-github-timberio-datemath go-sig, mgoodwin, nathans, 0 weeks ago
orphan
golang-github-ua-parser-uap go-sig, mgoodwin, nathans, 0 weeks ago
orphan
golang-github-urfave-cli-2 go-sig, mgoodwin, nathans, 0 weeks ago
orphan
granite orphan 2 weeks ago
hct avigne, orphan 3 weeks ago
kelbt orphan 3 weeks ago
libtvdb orphan 4 weeks ago
monobristol orphan 3 weeks ago
nautilus-search-tool orphan 1 weeks ago
novacom-client orphan 5 weeks ago
novacom-server orphan 5 weeks ago
origin go-sig, orphan, tdawson 3 weeks ago
owl-lisp huzaifas, orphan 2 weeks ago
perl-Parse-Debian-Packages orphan 3 weeks ago
perl-PatchReader orphan 1 weeks ago
php-psr-http-client orphan 3 weeks ago
pidgin-save-conv-order orphan 4 weeks ago
pinpoint orphan 1 weeks ago
pt-astra-sans-font orphan 2 weeks ago
pt-astra-serif-font orphan 2 weeks ago
python-august orphan 5 weeks ago
python-calligrabot merlinm, orphan 2 weeks ago
python-charon orphan 0 weeks ago
python-coreapi orphan 3 weeks ago
python-coreschema orphan 3 weeks ago
python-cu2qu orphan 5 weeks ago
python-drf-yasg orphan 3 weeks ago
python-evic orphan 5 weeks ago
python-googletrans orphan 4 weeks ago
python-hbmqtt orphan 1 weeks ago
python-itypes orphan 3 weeks ago
python-jaydebeapi orphan 5 weeks ago
python-pacpy orphan 3 weeks ago
python-phabricator orphan 3 weeks ago
python-pydenticon orphan 3 weeks ago
python-pytest-capturelog orphan, pviktori 3 weeks ago
python-qrencode orphan 3 weeks ago
python-w3lib orphan 2 weeks ago
qtscrob orphan 3 weeks ago
radamsa huzaifas, orphan 2 weeks ago
rubygem-font-awesome-rails abradshaw, ckyriakidou, 5 weeks ago
evgeni, fale, orphan, snecker
rubygem-hiera-eyaml orphan 3 weeks ago
rubygem-optimist orphan 3 weeks ago
rubygem-prawn-manual_builder abradshaw, ckyriakidou, 5 weeks ago
evgeni, fale, orphan, snecker
rust-cargo-bloat orphan, rust-sig 3 weeks ago
rust-just orphan, rust-sig 3 weeks ago
schroot orphan, zachcarter 5 weeks ago
scram orphan, vascom 3 weeks ago
scudcloud orphan 3 weeks ago
sgmanager orphan 3 weeks ago
shiny orphan 3 weeks ago
sticky-notes orphan 3 weeks ago
ufo2ft orphan 2 weeks ago
zola orphan 2 weeks ago
The following packages require above mentioned packages:
Report too long, see the full version at
https://churchyard.fedorapeople.org/orphans-2022-09-26.txt
See dependency chains of your packages at
https://packager-dashboard.fedoraproject.org/
See all orphaned packages at https://packager-dashboard.fedoraproject.org/orphan
Affected (co)maintainers (either directly or via packages' dependencies):
abradshaw: rubygem-prawn-manual_builder, rubygem-font-awesome-rails
aekoroglu: granite
amz: granite
anthr76: golang-github-urfave-cli-2
atim: granite
avigne: hct, espresso-ab
balajig8: advancecomp
bdperkin: golang-github-gofrs-flock
bowlofeggs: erlang-riak_ensemble, erlang-esip, erlang-jiffy, erlang-xmpp
brummbq: advancecomp
buckaroogeek: golang-github-urfave-cli-2
carlwgeorge: golang-github-urfave-cli-2
cdamian: php-psr-http-client
cheeselee: advancecomp
cicku: advancecomp
ckyriakidou: rubygem-prawn-manual_builder, rubygem-font-awesome-rails
copart: golang-github-gofrs-flock
cypret: golang-github-gofrs-flock
dcavalca: golang-github-urfave-cli-2, golang-github-gofrs-flock
echevemaster: python-w3lib
eclipseo: golang-github-urfave-cli-2, golang-github-gofrs-flock, advancecomp,
golang-github-logr-stdr
elmarco: golang-github-urfave-cli-2, golang-github-gofrs-flock
eparis: golang-github-urfave-cli-2, golang-github-gofrs-flock
ericedens: golang-github-gofrs-flock
erlang-maint-sig: erlang-riak_ensemble, erlang-esip, erlang-jiffy, erlang-xmpp
evgeni: rubygem-prawn-manual_builder, rubygem-font-awesome-rails
fab: golang-github-gofrs-flock
fale: golang-github-urfave-cli-2, rubygem-prawn-manual_builder,
golang-github-gofrs-flock, rubygem-font-awesome-rails
go-sig: origin, golang-github-crewjam-saml, golang-github-gofrs-flock,
golang-github-russellhaering-goxmldsig, golang-github-urfave-cli-2,
golang-github-beevik-etree, golang-github-magefile-mage,
golang-github-timberio-datemath, golang-github-logr-stdr,
golang-github-dchest-uniuri, golang-github-crewjam-httperr,
golang-github-ua-parser-uap
gotmax23: golang-github-urfave-cli-2, golang-github-gofrs-flock
gscrivano: golang-github-gofrs-flock
hpejakle: advancecomp
huzaifas: radamsa, owl-lisp
ignatenkobrain: python-coreschema, python-coreapi, python-itypes, python-drf-yasg
infra-sig: golang-github-gofrs-flock
jchaloup: golang-github-urfave-cli-2, golang-github-gofrs-flock
jcline: erlang-esip, erlang-jiffy, erlang-xmpp
jgrulich: advancecomp
jknife: granite
jonathanspw: python-w3lib
jreznik: advancecomp
kde-sig: advancecomp
kkofler: advancecomp
laiot: golang-github-urfave-cli-2
linkdupont: golang-github-urfave-cli-2, golang-github-gofrs-flock
lkundrak: erlang-jiffy
llaumgui: php-psr-http-client
lsm5: golang-github-urfave-cli-2, golang-github-gofrs-flock
lupinix: advancecomp
marcdeop: advancecomp
martinlanghoff: erlang-esip, erlang-jiffy, erlang-xmpp
mattia: golang-github-gofrs-flock
maxamillion: advancecomp
mbriza: advancecomp
merlinm: python-calligrabot
mgoodwin: golang-github-crewjam-saml, golang-github-russellhaering-goxmldsig,
golang-github-urfave-cli-2, golang-github-beevik-etree,
golang-github-magefile-mage, golang-github-timberio-datemath,
golang-github-dchest-uniuri, golang-github-crewjam-httperr,
golang-github-ua-parser-uap
mhayden: golang-github-gofrs-flock
mikelo2: golang-github-gofrs-flock
music: granite
nathans: golang-github-crewjam-saml, golang-github-russellhaering-goxmldsig,
golang-github-urfave-cli-2, golang-github-beevik-etree,
golang-github-magefile-mage, golang-github-timberio-datemath,
golang-github-dchest-uniuri, golang-github-crewjam-httperr,
golang-github-ua-parser-uap
ngompa: python-coreschema, golang-github-gofrs-flock, python-itypes,
python-coreapi, python-drf-yasg
nonamedotc: blueberry
olem: golang-github-urfave-cli-2, golang-github-gofrs-flock
peter: erlang-esip, erlang-jiffy, erlang-xmpp
pghmcfc: golang-github-gofrs-flock
philipp: golang-github-gofrs-flock
phuzion: advancecomp
pviktori: python-pytest-capturelog
qulogic: golang-github-gofrs-flock
raphgro: advancecomp
rathann: blueberry
rdieter: advancecomp
remi: php-psr-http-client
rharwood: geteltorito
rust-sig: rust-just, rust-cargo-bloat
sagitter: advancecomp
siwinski: php-psr-http-client
skottler: advancecomp
snecker: rubygem-prawn-manual_builder, rubygem-font-awesome-rails
spot: advancecomp
strigazi: golang-github-urfave-cli-2, golang-github-gofrs-flock
suve: granite
tdawson: rubygem-optimist, advancecomp, origin
than: advancecomp
thias: advancecomp
tstclair: golang-github-urfave-cli-2
ttomecek: python-pytest-capturelog
tuxbrewr: advancecomp
valtri: rubygem-optimist
vascom: scram
walters: golang-github-gofrs-flock
wef: granite
xavierb: erlang-esip, erlang-jiffy, erlang-xmpp
zachcarter: schroot
--
The script creating this output is run and developed by Fedora
Release Engineering. Please report issues at its pagure instance:
https://pagure.io/releng/
The sources of this script can be found at:
https://pagure.io/releng/blob/main/f/scripts/find_unblocked_orphans.py
Report finished at 2022-09-26 08:38:16 UTC
1 year, 2 months
Planned Outage - networking work - 2022-09-26 21:00 UTC and
2022-09-27 21:00 UTC
by Kevin Fenzi
There will be an outage starting at 2022-09-26/2022-09-27 21:00 UTC,
which will last approximately 4 hours on 2022-09-26 and 5 hours on 2022-09-27.
To convert UTC to your local time, take a look at
http://fedoraproject.org/wiki/Infrastructure/UTCHowto
or run:
date -d '2022-09-26 21:00UTC'
date -d '2022-09-27 21:00UTC'
Reason for outage:
On 2022-09-26 internet edge routers and switches will be upgraded. During this time period various
Fedora services will be down as switches and routers are rebooted.
On 2022-09-27 1gb internal switches will be upgraded. a 30min outage is likely during this time period.
Affected Services:
All services at the IAD2 datacenter
Ticket Link:
https://pagure.io/fedora-infrastructure/issue/10915
Please join #fedora-admin or #fedora-noc on irc.libera.chat
or add comments to the ticket for this outage above.
1 year, 2 months
F38 proposal: PHP 8.2 (Self-Contained Change proposal)
by Ben Cotton
https://fedoraproject.org/wiki/Changes/php82
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 ==
Update the PHP stack in Fedora to the latest version 8.2.x
== Owner ==
* Name: [[User:Remi| Remi Collet]] and [[SIGs/PHP|PHP SIG]]
* Email: remi at fedoraproject dot org
== Detailed Description ==
Update the PHP stack in Fedora to latest version 8.2.x.
Fedora has a 6 months cycle, PHP a 1 year cycle, our common practice
for some years:
* 2 Fedora cycles for each PHP minor release (exceptions below)
* 3 Fedora cycles for latest minor (e.g. 5.6 or 7.4) to give more time
before next major
* 1 Fedora cycle for first major (e.g. 7.0 or 8.0)
== Benefit to Fedora ==
Provides the latest PHP version to developers and system administrators.
== Scope ==
* Proposal owners: Check Koschei status. Test with latest version to
ensure compatibility. Work with upstream on bug fixing. Needed mass
rebuild (C extensions) done by change owner.
* Other developers: N/A (not a System Wide Change)
* Release engineering:
* Policies and guidelines: N/A (not a System Wide Change)
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
N/A (not a System Wide Change)
== How To Test ==
* The PHP stack (extensions and libraries) are monitored by Koschei,
see the [https://apps.fedoraproject.org/koschei/groups/php?order_by=state%2C-started
Koschei PHP group]
* install and play with your web applications
== User Experience ==
Developers and system administrators will have the great benefit or
running the latest PHP version.
== Dependencies ==
All php-* packages (and some *-php)
== Contingency Plan ==
* Contingency mechanism: Drop not compatible packages.
Contingency deadline: N/A (not a System Wide Change)
* Blocks release? N/A
* Blocks product?
== Documentation ==
* [https://raw.githubusercontent.com/php/php-src/PHP-8.2/UPGRADING UPGRADING]
* [https://raw.githubusercontent.com/php/php-src/PHP-8.2/UPGRADING.INTERNALS
UPGRADING.INTERNALS]
== Release Notes ==
--
Ben Cotton
He / Him / His
Fedora Program Manager
Red Hat
TZ=America/Indiana/Indianapolis
1 year, 2 months
Fedora Linux 37 Beta Released
by Ben Cotton
The Fedora Project is pleased to announce the immediate availability
of Fedora Linux 37 Beta, the next step towards our planned Fedora
Linux 37 release at the end of October.
Download the prerelease from our Get Fedora site:
* Get Fedora 37 Beta Workstation: https://getfedora.org/workstation/download/
* Get Fedora 37 Beta Server: https://getfedora.org/server/download/
* Get Fedora 37 IoT: https://getfedora.org/iot/download/
Or, check out one of our popular variants, including KDE Plasma, Xfce,
and other desktop environments:
* Get Fedora 37 Beta Spins: https://spins.fedoraproject.org/prerelease
* Get Fedora 37 Beta Labs: https://labs.fedoraproject.org/prerelease
## Beta Release Highlights
# Gnome 43
# Retire ARMv7
# Python 3.11, Perl 5.36, Golang 1.19
# RPM content is now signed with IMA signatures
For more details about the release, read the full announcement at
* https://fedoramagazine.org/announcing-fedora-37-beta/
or look for the prerelease pages in the download sections at
* https://getfedora.org/
Since this is a Beta release, we expect that you may encounter bugs or
missing features. To report issues encountered during testing, contact
the Fedora QA team via the test(a)lists.fedoraproject.org mailing list or
in #fedora-qa on Libera Chat or the #qa:fedoraproject.org Matrix room.
--
Ben Cotton
He / Him / His
Fedora Program Manager
Red Hat
TZ=America/Indiana/Indianapolis
1 year, 2 months
F39 proposal: Replace DNF with DNF5 (System-Wide Change proposal)
by Ben Cotton
https://fedoraproject.org/wiki/Changes/ReplaceDnfWithDnf5
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 ==
Make DNF5 the new default packaging tool. The change will replace DNF,
LIBDNF, and DNF-AUTOMATIC with the new DNF5 and new Libdnf5 library.
It is a second step after
https://fedoraproject.org/wiki/Changes/MajorUpgradeOfMicrodnf.
== Owner ==
* Name: [[User:jmracek| Jaroslav Mracek]]
* Email: jmracek(a)redhat.com
== Detailed Description ==
The new DNF5 will provide a significant improvement in user
experiences and performance. The replacement is the second step in
upgrade of Fedora Software Management stack. Without the change there
will be multiple software management tool (DNF5, old Microdnf,
PackageKit, and DNF) based on different libraries (libdnf, libdnf5),
providing a different behavior, and not sharing a history. We can also
expect that DNF will have only limited support from upstream. The DNF5
development was announced on
[https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.o...
Fedora-Devel] list in 2020.
=== New DNF5 Features ===
* Fully featured package manager without requirement of Python
** Smaller system
** Faster
** Replace DNF and Microdnf
* Unified behavior of in the software management stack
** New Libdnf5 plugins (C++, Python) will be applicable to DNF5, Dnf5Daemon
*** DNF4 plugins were not applicable for PackageKit and Microdnf (e.g.
versionlock, subscription-manager), therefore PackageKit behaves
differently in comparison to DNF
** Shared configurations
*** In DNF4 not all configuration is honored by PackageKit and Microdnf
** DNF/YUM was developed for decades with impact of multiple styles
and naming conventions (options, configuration, options, commands)
* New Daemon
** The new daemon can provide an alternative to PackageKit for RPMs
(only one backend of PackageKit) if it will be integrated into Desktop
** Support of Modularity and Comps group
* Performance improvement
** Loading of repositories
** Advisory operations
** RPM queries
*** Name filters with a case-insensitive search (the `repoquery` command)
** Smart sharing of metadata between dnf5 and daemon
*** Reduce disk and downloads requirements
*** Currently, DNF, Microdnf, and PackageKit use their own cache
*** Optional, may be not available for Fedora 39
* Decrease of a maintenance cost in the long term
** Shared plugins
** Removal of functional duplicates
* Fully integrated Modularity in LIBDNF5 workflows
** The Modularity is supported in DNF and LIBDNF but it is not fully
integrated. Integration was not possible due to limitation of
compatibility with other tools (PackageKit)
** Fully integrated Modularity required changes in the library workflow
=== Major codebase improvements ===
*Reports in structure
** DNF reports a lot of important information only in logs
* Removal of duplicated implementation
** LIBDNF evolved from LIBHIF (PackageKit library) and HAWKEY (DNF
library). The integration was never finished, therefore LIBDNF still
contains duplicated functionality.
** decrease of the code maintenance cost in future
* Unify Python bindings
** Formal Libdnf provides two types of Python bindings
*** CPython (hawkey)
*** SWIG (libdnf)
** Maintaining and communication between both bindings requires a lot
of resources
** Binding unification was not possible without breaking API compatibility
* SWIG bindings
** With SWIG we can generate additional bindings without spending huge resources
** Code in particular languages will be very similar to each other
* Separation of system state from history DB and `/etc/dnf/module.d`
** In dnf-4 the list of userinstalled packages and list of installed
groups along with the lists of packages installed from them is
computed as an aggregation of transaction history. In dnf5 it will be
stored separately, having multiple benefits, among them that the
history database will serve for informational purposes only and will
not define the state of the system (it gets corrupted occasionally
etc.).
** Data stored in `/etc/dnf/module.d` were not supposed to be user
modifiable and their format is not sufficient (missing information
about installed packages with installed profiles)
*** Content of `/etc/dnf/module.d` will be moved into the System State
== Feedback ==
== Benefit to Fedora ==
== Scope ==
* Proposal owners:
DNF5 is still in the development and some of the features or options
are not yet available. We still have to finish the implementation of
Modularity, storing internal data related to History and System State,
and also documentation and man pages. DNF5 can be tested from
repository with upstream nightly builds -
https://copr.fedorainfracloud.org/coprs/rpmsoftwaremanagement/dnf5-unstable/.
The project's github repository is here -
https://github.com/rpm-software-management/dnf5/
* Other developers:
* Release engineering: [https://pagure.io/releng/issues #Releng issue number]
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with Objectives:
== Upgrade/compatibility impact ==
The new DNF5 will obsolete `dnf`, `yum`, `dnf-automatic`, `yum-utils`,
and DNF plugins (core and extras). python3-dnf and LIBDNF (`libdnf`,
`python3-hawkey`) will be obsoleted by `fedora-obsolete-packages`.
=== Compatibility ===
The new DNF5 will provide a symlink to `/usr/bin/dnf` therefore users
will see the replacement as an upgrade of DNF with limited but
documented syntax changes. The DNF5 will provide some compatible
aliases of commands and options to improve adoption of the DNF5.
== How To Test ==
Install `dnf5` package from
https://copr.fedorainfracloud.org/coprs/rpmsoftwaremanagement/dnf5-unstable/
== User Experience ==
* Improved progress bars
* Improved transaction table
* Transaction progress reports including scriptlets reports
* Support of local rpm for transaction operation
* Great bash completion (better then DNF has)
* New commands and options that are only available with `DNF`
== Dependencies ==
There is a long list of dependent packages
=== dnf ===
auter
calamares
copr-builder
cpanspec
dnf-plugin-diff
dnfdragora
etckeeper-dnf
fedora-review
fedora-upgrade
kiwi-systemdeps-core
libdnf-plugin-subscription-manager
lpf
mock
osbuild
perl-CPAN-Plugin-Sysdeps
policycoreutils-devel
rbm
subscription-manager
supermin
system-config-language
=== python3-dnf ===
anaconda-core
dnf-plugin-ovl
dnfdaemon
fedora-easy-karma
fedora-review
lorax
mock-core-configs
module-build-service
modulemd-tools
needrestart
pungi
python3-bodhi-client
python3-dnf-plugin-cow
python3-dnf-plugin-flunk_dependent_remove
python3-imgcreate
python3-libreport
retrace-server
system-config-language
=== libdnf ===
PackageKit
copr-builder
gnome-software-rpm-ostree
libdnf-plugin-subscription-manager
libdnf-plugin-swidtags
libdnf-plugin-txnupd
=== python3-hawkey ===
mock-core-configs
modulemd-tools
python3-rpmdeplint
retrace-server
== Contingency Plan ==
* Contingency mechanism: (What to do? Who will do it?)
* Contingency deadline:
* Blocks release?
== Documentation ==
none
== Release Notes ==
--
Ben Cotton
He / Him / His
Fedora Program Manager
Red Hat
TZ=America/Indiana/Indianapolis
1 year, 2 months
F38 proposal: Node.js Repackaging (Self-Contained Change proposal)
by Ben Cotton
https://fedoraproject.org/wiki/Changes/NodejsRepackaging
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 ==
We are reworking the Node.js packaging to make Node.js versions
available as parallel-installable packages.
== Owner ==
* Name: [[User:SGallagh| Stephen Gallagher]]
* Email: sgallagh(a)redhat.com
== Detailed Description ==
We will be creating the packages nodejs-16, nodejs-18 and (in April)
nodejs-20. These packages will be parallel-installable (with the
exception of the -devel subpackages) and provide
`/usr/bin/node-$MAJOR`. We will also take advantage of the
`alternatives` subsystem to populate `/usr/bin/node` from the default
Node.js version for that release, or if the default is not installed,
the highest currently-installed version.
Notes:
* The default in Fedora 38 will be Node.js 18. If a user was to
install Node.js 16 and Node.js 20, but not Node.js 18, then Node.js 20
would provide `/usr/bin/node`
* The policy going forward will be to have the most recently-released
version of Node.js at the time of Fedora's expected Beta release date
be the default for that release throughout its lifetime.
== Feedback ==
[https://lists.fedoraproject.org/archives/list/nodejs@lists.fedoraproject....
Mailing list thread]
Neal Gompa raised the question of using a subpackage to own
`/usr/bin/node` instead of using the `alternatives` subsystem, citing
python as an example. My response was that the problem with this is
that I want `/usr/bin/node` to always be available so long as any
`nodejs-$MAJOR` version is installed. It also ensures that the
`node(1)` manpage always matches the `/usr/bin/node` executable.
== Benefit to Fedora ==
=== User Benefits ===
* Provides a simple way to have a different (or multiple) Node.js
interpreters on their system. No dealing with Modularity.
* Enables multiple versions of Node.js on the system (can test code
against different versions without using containers)
=== Packager Benefits ===
* No more modules to maintain.
* Availability of multiple Node.js versions in the buildroot means
that other `nodejs-*` packages can test against multiple supported
options.
== Scope ==
* Proposal owners:
The packaging work is done and can be played with at
https://copr.fedorainfracloud.org/coprs/sgallagh/nodejs-alternatives/
today.
* Other developers:
There should be no need to change any dependent packages, though
packagers of Node.js software may wish to take advantage of the
testing opportunities afforded.
* Release engineering:
* Policies and guidelines: We will be updating the Node.js Packaging
Guidelines with the new best practices.
* Trademark approval: N/A (not needed for this Change)
* Alignment with Objectives: N/A
== Upgrade/compatibility impact ==
Systems using the existing nodejs RPM package will be upgraded to the
matching `nodejs-$MAJOR` version. Work is pending on how to migrate
users of Modular Node.js to the new packages.
== How To Test ==
== User Experience ==
Done correctly, this should be handled entirely without the user's
need to know about it.
== Dependencies ==
== Contingency Plan ==
* Contingency mechanism: (What to do? Who will do it?) N/A (not a
System Wide Change)
* Contingency deadline: N/A (not a System Wide Change)
* Blocks release? N/A (not a System Wide Change)
== Documentation ==
https://lists.fedoraproject.org/archives/list/nodejs@lists.fedoraproject....
== Release Notes ==
Multiple releases of Node.js may now be installed in parallel from the
Fedora repositories.
--
Ben Cotton
He / Him / His
Fedora Program Manager
Red Hat
TZ=America/Indiana/Indianapolis
1 year, 2 months