Support PARSEC - Fedora 33 Self-Contained Change proposal
by Ben Cotton
https://fedoraproject.org/wiki/Changes/PARSEC
== Summary ==
PARSEC is the Platform AbstRaction for SECurity, an open-source
initiative to provide a common API to hardware security and
cryptographic services in a platform-agnostic way. This abstraction
layer keeps workloads decoupled from physical platform details,
enabling cloud-native delivery flows within the data center and at the
edge.
From a hardware perspective the PARSEC daemon can currerntly use a
TPM2, HSM or an Arm TrustZone secure world application.
== Owner ==
* Name: [[User:pbrobinson| Peter Robinson]], [[User:puiterwijk |
Patrick Uiterwijk]]
* Email: [mailto:pbrobinson@gmail.com| pbrobinson(a)gmail.com],
[mailto:patrick@puiterwijk.org | patrick(a)puiterwijk.org]
== Detailed Description ==
PARSEC (Platform AbstRaction for SECurity) is an initiative started
out of Arm to provide a straight forward API for accessing secure
credentials stored in hardware. It's a sandbox project in the CNCF.
== Benefit to Fedora ==
PARSEC is a useful technology for Fedora because making HW security
technologies appear seemless to applications and users helps make
security more straight forward and secure overall. It's a relative new
initiative and having it available in Fedora for people to start to
integrate into their applications helps make Fedora a leader in
security in particular for Internet of Things and Device Edge. The IoT
Edition will be using PARSEC.
== Scope ==
* Proposal owners:
** Package the PARSEC daemon, libraries and language bindings.
* Other developers:
** No impact but developers may wish to add support for PARSEC to
their application.
* Release engineering: [https://pagure.io/releng/issue/9583 #9583]
* Policies and guidelines: N/A (not a System Wide Change)
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
This is net new to Fedora so there is no upgrade issues.
== How To Test ==
There's a number of hardware options for testing. Any device with a
TPM2 including most modern laptops.
There will be selection of Arm devices available (final models still
TBD) with the appropriate firmware running the TrustZone secure world
application.
A VM with a swTPM, while not secure, will enable testing.
A number of HW security modules, exact devices still TBD.
== User Experience ==
There will be a new daemon start in the early boot process for those
that install the PARSEC stack. Fedora IoT Edition will install and
start this by default.
The Red Hat Device Edge team and Arm are working on a demo application
for IoT to provide a demonstration application on the technology.
== Dependencies ==
N/A (not a System Wide Change)
== Contingency Plan ==
* Contingency mechanism: Most of the work here is packaging so if it
doesn't make the release it would be available as an installable
update.
* Contingency deadline: N/A (not a System Wide Change)
* Blocks release? No.
* Blocks product? No.
== Documentation ==
N/A (not a System Wide Change)
== Release Notes ==
--
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
3 years, 9 months
List of long term FTBFS packages to be retired in August
by Miro Hrončok
Dear maintainers.
Based on the current fail to build from source policy, the following packages
will be retired from Fedora 33 approximately one week before branching (August
2020).
Policy:
https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fai...
Note that some listed packages are orphaned and hence may be retired even sooner.
The packages in rawhide were not successfully built at least since Fedora 31.
This report is based on dist tags.
Packages collected via:
https://github.com/hroncok/fedora-report-ftbfs-retirements/blob/master/ft...
If you see a package that was built, please let me know.
If you see a package that should be exempted from the process, please let me
know and we can work together to get a FESCo approval for that.
If you see a package that can be rebuilt, please do so.
Package (co)maintainers Latest build
====================================================================
OpenCoarrays jussilehtola Fedora 30
js-jquery-jqplot xavierb Fedora 30
js-jquery1 nodejs-sig, patches, vondruch Fedora 30
js-jquery2 vondruch Fedora 30
js-sizzle nodejs-sig, patches, vondruch Fedora 30
nodejs-path-type nodejs-sig, orphan Fedora 30
nodejs-temp-write orphan Fedora 30
nodejs-unique-stream jsmith, nodejs-sig Fedora 30
orpie bowlofeggs, orphan Fedora 30
rubygem-ruby-hmac humaton, mmorsi Fedora 30
xvarstar orphan Fedora 30
The following packages require above mentioned packages:
Depending on: js-jquery-jqplot (1)
sympa (maintained by: xavierb)
sympa-6.2.56-1.fc33.src requires js-jquery-jqplot = 1.0.9-3.fc30
sympa-6.2.56-1.fc33.x86_64 requires js-jquery-jqplot = 1.0.9-3.fc30
Depending on: js-jquery1 (70)
R-profvis (maintained by: qulogic)
R-profvis-0.3.6-3.fc33.src requires js-jquery1 = 1.12.4-7.fc30
R-profvis-0.3.6-3.fc33.x86_64 requires js-jquery1 = 1.12.4-7.fc30
R-rmarkdown (maintained by: qulogic)
R-rmarkdown-2.2-1.fc33.noarch requires js-jquery1 = 1.12.4-7.fc30
R-rmarkdown-2.2-1.fc33.src requires js-jquery1 = 1.12.4-7.fc30
copr-frontend (maintained by: clime, copr-sig, dturecek, frostyx, msuchy, praiskup)
copr-frontend-1.166-1.fc33.noarch requires js-jquery1 = 1.12.4-7.fc30
ghc-pretty-show (maintained by: mathstuf)
ghc-pretty-show-1.9.5-3.fc32.x86_64 requires js-jquery1 = 1.12.4-7.fc30
mkdocs (maintained by: cheeselee)
mkdocs-1.1.2-1.fc33.noarch requires js-jquery1 = 1.12.4-7.fc30
mkdocs-1.1.2-1.fc33.src requires js-jquery1 = 1.12.4-7.fc30
python-XStatic-jQuery (maintained by: mrunge, openstack-sig, rdopiera)
python3-XStatic-jQuery-3.4.1.0-2.fc33.noarch requires js-jquery1 = 1.12.4-7.fc30
python-sphinx-bootstrap-theme (maintained by: besser82, sic)
python3-sphinx-bootstrap-theme-0.8.0-3.fc33.noarch requires js-jquery1 =
1.12.4-7.fc30
rubygem-apipie-rails (maintained by: jaruga, ruby-packagers-sig, vondruch)
rubygem-apipie-rails-0.5.5-6.fc32.noarch requires js-jquery1 = 1.12.4-7.fc30
R-BiocFileCache (maintained by: spot)
R-BiocFileCache-1.12.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-DBItest (maintained by: qulogic)
R-DBItest-1.7.0-1.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-V8 (maintained by: qulogic)
R-V8-3.1.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-broom (maintained by: qulogic)
R-broom-0.5.6-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-cellranger (maintained by: qulogic)
R-cellranger-1.1.0-6.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-clipr (maintained by: qulogic)
R-clipr-0.7.0-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-dbplyr (maintained by: qulogic)
R-dbplyr-1.4.3-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-devtools (maintained by: qulogic)
R-devtools-2.1.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-diffobj (maintained by: qulogic)
R-diffobj-0.3.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-dplyr (maintained by: qulogic)
R-dplyr-0.8.5-2.fc33~bootstrap.src requires R-rmarkdown = 2.2-1.fc33
R-dtplyr (maintained by: qulogic)
R-dtplyr-1.0.1-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-foghorn (maintained by: qulogic)
R-foghorn-1.1.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-forcats (maintained by: qulogic)
R-forcats-0.5.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-formatR (maintained by: qulogic)
R-formatR-1.7-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-fs (maintained by: qulogic)
R-fs-1.4.1-1.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-gargle (maintained by: qulogic)
R-gargle-0.5.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-ggplot2 (maintained by: qulogic)
R-ggplot2-3.2.1-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-glue (maintained by: qulogic)
R-glue-1.4.1-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-gmailr (maintained by: qulogic)
R-gmailr-1.0.0-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-haven (maintained by: qulogic)
R-haven-2.3.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-httr (maintained by: qulogic)
R-httr-1.4.1-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-hunspell (maintained by: qulogic)
R-hunspell-3.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-jose (maintained by: qulogic)
R-jose-1.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-jqr (maintained by: qulogic)
R-jqr-1.1.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-later (maintained by: qulogic)
R-later-1.1.0.1-1.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-lazyeval (maintained by: qulogic)
R-lazyeval-0.2.2-4.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-lifecycle (maintained by: qulogic)
R-lifecycle-0.2.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-lintr (maintained by: qulogic)
R-lintr-2.0.1-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-packrat (maintained by: qulogic)
R-packrat-0.5.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-pkgdown (maintained by: qulogic)
R-pkgdown-1.5.1-2.fc33.noarch requires R(rmarkdown) = 2.2
R-pkgdown-1.5.1-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-polynom (maintained by: qulogic)
R-polynom-1.4.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-prettydoc (maintained by: qulogic)
R-prettydoc-0.3.1-3.fc33.noarch requires R(rmarkdown) = 2.2
R-prettydoc-0.3.1-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-promises (maintained by: qulogic)
R-promises-1.1.0-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-purrr (maintained by: qulogic)
R-purrr-0.3.4-2.fc33~bootstrap.src requires R-rmarkdown = 2.2-1.fc33
R-qcc (maintained by: jjmcd)
R-qcc-2.7-1.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-rcmdcheck (maintained by: qulogic)
R-rcmdcheck-1.3.3-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-readr (maintained by: qulogic)
R-readr-1.3.1-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-readxl (maintained by: qulogic)
R-readxl-1.3.1-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-remotes (maintained by: qulogic)
R-remotes-2.1.1-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-reprex (maintained by: qulogic)
R-reprex-0.3.0-5.fc33.noarch requires R(rmarkdown) = 2.2
R-reprex-0.3.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-reticulate (maintained by: qulogic)
R-reticulate-1.16-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-rex (maintained by: qulogic)
R-rex-1.2.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-rhub (maintained by: qulogic)
R-rhub-1.1.1-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-rlang (maintained by: qulogic)
R-rlang-0.4.6-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-roxygen2 (maintained by: qulogic)
R-roxygen2-7.1.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-rsconnect (maintained by: qulogic)
R-rsconnect-0.8.16-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-rvest (maintained by: qulogic)
R-rvest-0.3.5-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-servr (maintained by: qulogic)
R-servr-0.17-1.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-shiny (maintained by: qulogic)
R-shiny-1.4.0.2-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-showtext (maintained by: qulogic)
R-showtext-0.8.1-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-sodium (maintained by: qulogic)
R-sodium-1.1-4.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-styler (maintained by: qulogic)
R-styler-1.3.2-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-svglite (maintained by: qulogic)
R-svglite-1.2.3-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-systemfonts (maintained by: qulogic)
R-systemfonts-0.2.2-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-tibble (maintained by: qulogic)
R-tibble-3.0.1-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-tidyr (maintained by: qulogic)
R-tidyr-1.1.0-1.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-tidyselect (maintained by: qulogic)
R-tidyselect-1.1.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-tufte (maintained by: qulogic)
R-tufte-0.6-2.fc33.noarch requires R(rmarkdown) = 2.2
R-tufte-0.6-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-unitizer (maintained by: qulogic)
R-unitizer-1.4.10-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-usethis (maintained by: qulogic)
R-usethis-1.5.1-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-websocket (maintained by: qulogic)
R-websocket-1.1.0-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-zeallot (maintained by: qulogic)
R-zeallot-0.1.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
Too many dependencies for js-jquery1, not all listed here
Depending on: nodejs-path-type (1)
nodejs-read-pkg (maintained by: nodejs-sig, orphan)
nodejs-read-pkg-2.0.0-7.fc32.noarch requires npm(path-type) = 2.0.0
Affected (co)maintainers (directly and indirectly):
besser82: js-jquery1
bowlofeggs: orpie
cheeselee: js-jquery1
clime: js-jquery1
copr-sig: js-jquery1
dturecek: js-jquery1
frostyx: js-jquery1
humaton: rubygem-ruby-hmac
jaruga: js-jquery1
jjmcd: js-jquery1
jsmith: nodejs-unique-stream
jussilehtola: OpenCoarrays
mathstuf: js-jquery1
mmorsi: rubygem-ruby-hmac
mrunge: js-jquery1
msuchy: js-jquery1
nodejs-sig: js-sizzle, nodejs-unique-stream, js-jquery1, nodejs-path-type
openstack-sig: js-jquery1
patches: js-sizzle, js-jquery1
praiskup: js-jquery1
qulogic: js-jquery1
rdopiera: js-jquery1
ruby-packagers-sig: js-jquery1
sic: js-jquery1
spot: js-jquery1
vondruch: js-jquery2, js-sizzle, js-jquery1
xavierb: js-jquery-jqplot
3 years, 9 months
Packagers with no corresponding valid bugzilla accounts
by Pierre-Yves Chibon
Good Morning Everyone,
If you are a packagers or are watching tickets on dist-git (ie: asked to be
cc'ed on tickets on bugzilla for a given package), you must have a valid
bugzilla account associated with the email address you have set in FAS.
There are currently 66 users and groups who do not satisfy this requirement.
This has a direct impact as the script syncing from dist-git to bugzilla the
information about the default assignee and the CC list updates components in
bugzilla in a single request to reduce the load on the server.
So if someone in the CC list does not have a valid bugzilla account, the
entire request will fail to update both the CC list and the default assignee.
Accounts in this state may at some point be removed from packages/cc, so it's
important to correct your account soon!
So, if your name is listed here, please take a minute and create a bugzilla
for the email you have associated with your FAS account:
aarondmarasco
adsllc
affix
ajeetdsouza
alen
amitshah
andreyma
avesh
bpereto
@certbot-sig
csomh
darkdragon001
dcantrel
digimer
dmsimard
doug1
edwintorok
etingof
fepitre
gnikandrov
@graphics-sig
ignotusp
itsbill
jefferson2z
jkratoch
jkreuzer
karsten
kir
klausdevwalker
labbott
lamm
luismartingil
marcdeop
mathstuf
mbartos
mhabrnal
mildew
mmahut
moisesguimaraes
mzidek
nguzman
njohnston
omejzlik
pgibson
portante
proski
rbtr
robled
romal
rpitonak
rspanton
sakalosj
squallbayu
sspreitz
sturivnyi
svahl
tnorth
trasher
tstclair
usercont
vbatts
vicodan
vpolasek
@weldr-sig
yuwata
zmc
If you really to have two distinct email addresses, we keep a mapping of FAS
emails to bugzilla account in [1], which you can update via a pull-request if
you wish to use this.
Thanks for your help,
Pierre
[1]
https://pagure.io/fedora-infra/ansible/blob/master/f/roles/openshift-apps...
3 years, 9 months
FlexiBLAS as BLAS/LAPACK manager - Fedora 33 System-Wide Change proposal
by Ben Cotton
https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager
== Summary ==
BLAS/LAPACK packages will be compiled against the FlexiBLAS wrapper
library, which will set OpenBLAS as system-wide default backend, and
at the same time will provide a proper switching mechanism that
currently Fedora lacks.
== Owner ==
* Name: [[User:iucar| Iñaki Úcar]]
* Email: i.ucar86 at gmail
== Detailed Description ==
BLAS and LAPACK are API standards for basic linear algebra operations
(such as vector and matrix multiplication). Fedora packages the
reference implementation from Netlib as well as several optimized
backends, such as ATLAS, BLIS and OpenBLAS. Historically, there have
been two unresolved issues regarding this API:
# '''Fedora lacks a system-wide default'''. Due to implementation
differences, it is important that all components of a particular
software stack link to the same BLAS/LAPACK implementation. Although
there have been [[Changes/OpenBLAS_as_default_BLAS|efforts]] to
standardize OpenBLAS as a system-wide default, they are incomplete.
# '''Fedora lacks a proper switching mechanism'''. Different
implementations work differently depending on the workload, but also
depending on whether the consumer of this API implements some kind of
parallelization, for instance. Therefore, users may want to choose a
particular implementation that works best for them at run time.
Mechanisms such as update-alternatives and modules have been discussed
in the past, but were considered improper (the former) or faced
technical issues (the former).
This change proposal aims to solve both issues at the same time with
minimal changes and minimal impact by using FlexiBLAS.
FlexiBLAS is a framework that wraps the BLAS/LAPACK API with
interfaces for both 32- and 64-bit integers. It provides runtime
exchangeable backends without recompilation, with a transparent
fallback mechanism to Netlib's reference implementation if a certain
symbol is not present in the selected backend. It also supports
flexible per-system/user/host configuration files and basic profiling.
Therefore, this change proposal requires:
# Recompilation of all BLAS/LAPACK-dependent packages linking against
FlexiBLAS instead of the current implementation they are using (just
changing a BuildRequires line should be sufficient in most cases,
unless a SPEC has something hardcoded somewhere else).
# Changing the packaging guidelines to reflect this new requirement
for BLAS/LAPACK consumers (there is [[PackagingDrafts/BLAS_LAPACK| a
draft]] already.
In this way, all the BLAS/LAPACK-dependent packages will automatically
use the system-wide default backend, set and centralized in the
FlexiBLAS SPEC, and will benefit from the straightforward switching
mechanism that FlexiBLAS provides.
== Benefit to Fedora ==
* '''Packaging of BLAS/LAPACK-dependent packages will be easier and
safer'''. FlexiBLAS is 100% compatible with the reference API. It uses
optimized symbols that are present in the selected backend and
transparently falls back to Netlib for the missing ones, so
compatibility is always guaranteed.
* '''Provides a centralized way of managing the system-wide
default''', just by changing a global variable in the FlexiBLAS SPEC.
* '''Provides sysadmins with tools to manage the system-wide
configuration'''. FlexiBLAS ships system-wide configuration files to,
e.g., change the default or point to new backends. A CLI tool is also
provided to easily manage such configurations.
* '''Provides users with tools to switch the backend'''. This can be
managed by the same CLI tool too in user mode, and it generates
per-user configuration files.
* '''Provides developers with an API to hook into the BLAS/LAPACK API
calls'''. E.g., FlexiBLAS comes with a plugin that enables basic
profiling support.
== Scope ==
* Proposal owners: Modify the SPECs of the BLAS/LAPACK-dependent
packages to build against FlexiBLAS instead of the current backend
they are using.
* Other developers: Maintainers of the affected packages need to merge
the changes and rebuild. Alternatively, a provenpackager could help
with this process (it's 30-40 packages).
* Release engineering: N/A
* Policies and guidelines:
[https://pagure.io/packaging-committee/issue/995 #995] Package
guidelines should be updated to require BLAS/LAPACK-dependent packages
to link against FlexiBLAS.
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
There is no upgrade/compatibility impact.
== How To Test ==
BLAS/LAPACK-dependent packages should work normally, without any (new)
issue. To test the switching capabilities, testers may want to run a
BLAS/LAPACK benchmark. There are many out there for different
software, but we will describe the workflow for R as an example:
* Install R, which requires BLAS/LAPACK for operations with matrices.
* Run any benchmark involving calculations with matrices (e.g.,
R-benchmark-25.R provided by an R-core member
[https://mac.r-project.org/benchmarks here]).
* Switch to the reference implementation:
flexiblas -u default netlib
* Run the benchmark again. Timings should be much worse.
== User Experience ==
Users will have a new CLI tool, called flexiblas, which will allow
them to properly switch the BLAS/LAPACK backend without administrative
privileges and any compatibility issues.
== Dependencies ==
Packages depedent on the BLAS/LAPACK API will depend on FlexiBLAS
after this change. Maintainers of those packages are required to
collaborate to change their BuildRequires or, alternatively, this can
be done with the help of a provenpackager.
== Contingency Plan ==
* Contingency mechanism: Revert BLAS/LAPACK-dependent packages to
their prior BuildRequires and rebuild them.
* Contingency deadline: Beta freeze.
* Blocks release? No.
* Blocks product? No.
== Documentation ==
See the [https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release/-/blob/mas...
README] of the upstream project and their
[https://www.mpi-magdeburg.mpg.de/projects/flexiblas homepage] for
further information about FlexiBLAS.
== Release Notes ==
TBD
--
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
3 years, 9 months