Self Introduction: Chris Rapier
by rapier
Hello,
I'm Chris Rapier and I'm in the process of following the directions for
the inclusion of a new package into Fedora. I'm the primary developer of
hpn-ssh, a series of patches against OpenSSH to provide additional
functionality and performance to OpenSSH. I've been maintaining and
extending this code for 15 to 18 years now. I've worked on a number of
projects include web100 (which led to the development of autotuning
receive buffers), web10g, the visible human project, testrig2.0, and so
forth. All of the work I do is provided to the public with minimal
license restrictions (usually BSD).
We've been able to do a lot to make OpenSSH faster and more flexible for
a number of different communities over the years. While we primarily
focused on the high performance networking community (hence the hpn part
of the name) we've seen users in most every domain - from home users to
major corporations and governments. What we've never had is a package or
a place to easily distribute that package to the redhat community. I'm
hoping someone can take a look the request I've submitted and be willing
to sponsor me. https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2047943
I work at the Pittsburgh Supercomputing Center (part of Carnegie Mellon
University) as a research scientist and developer. hpn-ssh is one of the
first projects I took on solo. I've been fortunate enough to get support
for it over the years, most recently with a grant from the National
Science Foundation. I'm committed to maintaining this package for as
long as the community is interested in it (and then some).
Thanks for your time,
Chris Rapier
2 years, 3 months
Revisiting Fedora backgrounds spec
by Luya Tshimbalanga
Hello team,
It has been a while about default fedora backgrounds need a refresh. The
current method requires a package review for each release, which deemed
cumbersome.
One of suggestions is making a package containing a set of 10 Fedora
release wallpaper. The issue will be the increase of file size as the
Design Team chose to keep PNG format instead of JPG for the default
wallpaper.
Another idea is to have an umbrella of package named fxx-backgrounds as
an example containing subpackages including default and extras
wallpapers as illustrated below:
fxx-backgrounds as main package
f36-backgrounds-base and f36-backgrounds-extras as subpackages
The problem is I have no idea how to do that in spec format.
Feedback welcome.
--
Luya Tshimbalanga
Fedora Design Team
Fedora Design Suite maintainer
2 years, 3 months
dhcpd-pools failed rebuild
by Chris Adams
dhcpd-pools builds for Rawhide (in mock from F35) for me on x86_64, but
failed the mass rebuild on ppc64le with:
In file included from /usr/include/stdlib.h:1032,
from ./stdlib.h:36,
from mktime.c:49:
/usr/include/bits/stdlib-ldbl.h: In function '__LDBL_REDIR1_DECL':
/usr/include/bits/stdlib-ldbl.h:35:1: error: expected declaration specifiers before '__LDBL_REDIR1_DECL'
35 | __LDBL_REDIR1_DECL (strtold_l, __strtoieee128_l)
| ^~~~~~~~~~~~~~~~~~
In file included from mktime.c:44:
./stdlib.h:812:1: error: storage class specified for parameter '_gl_cxxalias_dummy'
812 | _GL_CXXALIASWARN (malloc);
| ^~~~~~~~~~~~~~~~
[and a whole lot more from there]
https://kojipkgs.fedoraproject.org//work/tasks/1255/81481255/build.log
Is this something I need to fix, or is it a toolchain issue?
--
Chris Adams <linux(a)cmadams.net>
2 years, 3 months
mass rebuild status - 2022-01-25
by Kevin Fenzi
Greetings.
The mass rebuild finished it's first pass on saturday morning, leaving
3448 failed builds.
We then did a second pass yesterday ( 2022-01-24 ) of all failed builds,
and that resulted in 1282 failed builds.
The f36-rebuild tag is being merged now, but unfortunately our SOP had
it merge via f36-signing-pending, so all the builds will pass through
signing again, which will be a slow process. We have updated docs and
next time will be just tagging directly into the final tag and signing
along the way.
There's a gcc build currently going that has fixes for some common
issues that caused failures on ppc64le builds along with some other
fixes. As soon as it's done we are going to do another pass of
resubmitting the failed builds and will tag any that finish there.
After that we will be done and it will be on maintainers to sort out
FTBFS issues.
kevin
_______________________________________________
devel-announce mailing list -- devel-announce(a)lists.fedoraproject.org
To unsubscribe send an email to devel-announce-leave(a)lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedora...
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
2 years, 3 months
F36 Change: Ruby 3.1 (System-Wide Change proposal)
by Ben Cotton
https://fedoraproject.org/wiki/Changes/Ruby_3.1
== Summary ==
Ruby 3.1 is the latest stable version of Ruby. Many new features and
improvements are included for the increasingly diverse and expanding
demands for Ruby. With this major update from Ruby 3.0 in Fedora 35 to
Ruby 3.1 in Fedora 36, Fedora becomes the superior Ruby development
platform.
== Owner ==
* Name: [[User:vondruch| Vít Ondruch]]
* Email: vondruch(a)redhat.com
== Detailed Description ==
Ruby 3.1 is upstream's new major release of Ruby. Many new features
and improvements are included.
=== YJIT: New experimental in-process JIT compiler ===
Ruby 3.1 merges YJIT, a new in-process JIT compiler developed by Shopify.
Since Ruby 2.6 introduced MJIT in 2018, its performance greatly
improved, and finally we achieved Ruby3x3 last year. But even though
Optcarrot has shown impressive speedups, the JIT hasn’t benefited real
world business applications.
Recently Shopify contributed many Ruby improvements to speed up their
Rails application. YJIT is an important contribution, and aims to
improve the performance of Rails applications.
Though MJIT is a method-based JIT compiler and uses an external C
compiler, YJIT uses Basic Block Versioning and includes JIT compiler
inside it. With Lazy Basic Block Versioning (LBBV) it first compiles
the beginning of a method, and incrementally compiles the rest when
the type of arguments and variables are dynamically determined. See
YJIT: a basic block versioning JIT compiler for CRuby for a detailed
introduction.
With this technology, YJIT achieves both fast warmup time and
performance improvements on most real-world software, up to 22% on
railsbench, 39% on liquid-render.
YJIT is still an experimental feature, and as such, it is disabled by
default. If you want to use this, specify the --yjit command-line
option to enable YJIT. It is also limited to macOS & Linux on x86-64
platforms for now.
https://bugs.ruby-lang.org/issues/18229
https://shopify.engineering/yjit-just-in-time-compiler-cruby
https://www.youtube.com/watch?v=PBVLf3yfMs8
=== debug gem: A new debugger ===
A new debugger debug.gem is bundled. debug.gem is fast debugger
implementation and it provides many features like remote debugging,
colorful REPL, IDE (VSCode) integration and more. It replaces
lib/debug.rb standard library.
=== error_highlight: Fine-grained error location in backtrace ===
A built-in gem, error_highlight, has been introduced. It includes
fine-grained error location in backtrace:
$ ruby test.rb
test.rb:1:in `<main>': undefined method `time' for 1:Integer (NoMethodError)
1.time {}
^^^^^
Did you mean? times
This gem is enabled by default. You can disable it by using a
command-line option --disable-error_highlight. See the repository in
detail.
=== Irb improvement ===
=== Other Notable New Features ===
* Language
** Values in Hash literals and keyword arguments can be omitted.
** Pin operator in pattern matching now takes an expression.
* RBS
** `rbs collection` has been introduced to manage gems’ RBSs.
** Many signatures for built-in and standard libraries have been added/updated.
** It includes many bug fixes and performance improvements too.
* TypeProf
** Experimental IDE support has been implemented.
** Many bug fixes and performance improvements.
=== Performance improvements ===
* MJIT
** For workloads like Rails, the default --jit-max-cache is changed
from 100 to 10000. The JIT compiler no longer skips compilation of
methods longer than 1000 instructions.
** To support Zeitwerk of Rails, JIT-ed code is no longer cancelled
when a TracePoint for class events is enabled.
=== Other notable changes since 3.0 ===
* One-line pattern matching, e.g., ary => [x, y, z], is no longer experimental.
* Multiple assignment evaluation order has been changed slightly.
** foo[0], bar[0] = baz, qux was evaluated in order baz, qux, foo, and
then bar in Ruby 3.0. In Ruby 3.1, it is evaluated in order foo, bar,
baz, and then qux.
* Variable Width Allocation: Strings (experimental)
* Standard libraries updates
== Benefit to Fedora ==
With a latest release, Ruby language is supporting the newest language
features, which enables even faster and easier development of Ruby
applications.
== Scope ==
* Proposal owners:
** Finish packaging of Ruby 3.1. Current changes available in PR
https://src.fedoraproject.org/rpms/ruby/pull-request/106
** Rebuilding of Ruby packages providing native extensions (i.e.
packages which depends on libruby).
* Other developers:
** Rebuild of packages with binary extensions (i.e. packages which
depends on libruby) will be handled automatically, but some packages
might need fixes/updates to support Ruby 3.1 properly.
* Release engineering: [https://pagure.io/releng/issue/10478 #10478]
** The packages are going to be rebuild in side-tag, but that does not
need releng involvement nowadays.
* 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 ==
* User specific Ruby binary extensions need to be rebuild.
* Ruby packages/application dependencies might need to be adjusted if
net-* and other newly bundled gems are used.
== How To Test ==
* No special hardware is needed.
* To test, install Ruby 3.1. The test builds are pusblished in PR or
on Ruby-SIG ML
* Try to locally rebuild your packages using Ruby 3.1.
* Use the packages with your applications previously written in Ruby.
* If something doesn't work as it should, let us know.
== User Experience ==
The Ruby programs/scripts should behave as they were used to.
== Dependencies ==
<pre>
$ dnf repoquery --disablerepo=* --enablerepo=rawhide
--enablerepo=rawhide-source --arch=src --whatrequires 'ruby-devel' |
sort | uniq | wc -l
130
</pre>
== Contingency Plan ==
* Contingency mechanism: We would like to get a special buildroot tag
to be able to rebuild necessary the packages with Ruby 3.1. If
anything goes wrong, the tag could be easily dropped and previous
version of Ruby 3.0 and its dependencies stays intact. The tag would
be merged into F36 after everything is rebuild.
* Contingency deadline: Mass Rebuild
* Blocks release? No
== Documentation ==
* [http://www.ruby-doc.org/ Help and documentation for the Ruby
programming language]
* [https://github.com/ruby/ruby/blob/v3_1_0_preview1/NEWS.md Ruby 3.1.0 NEWS]
* [https://www.ruby-lang.org/en/news/2021/11/09/ruby-3-1-0-preview1-released/
Ruby 3.1 release announcement]
== Release Notes ==
* The Ruby 3.1 bumps soname, therefore Ruby packages, which use binary
extensions, should be rebuilt. Nevertheless, since upstream paid great
attention to source compatibility, no changes to your code are needed.
https://github.com/ruby/ruby/blob/v3_1_0_preview1/NEWS.md
--
Ben Cotton
He / Him / His
Fedora Program Manager
Red Hat
TZ=America/Indiana/Indianapolis
2 years, 3 months