DevHeads.net

Postings by Igor Gnatenko

License change for rust-tokio-*

Hash: SHA256

Upstream decided to relicense tokio crates from "MIT or ASL 2.0" to
"MIT". I'm updating some of these now.

Just FYI.

rust-brev changes license from WTFPL or MIT or ASL 2.0 to CC0

Nothing special, just simplification of licensing story. Enjoy ;)

Update will happen only in rawhide (0.1.12 → 0.1.14).

Missing BuildRequires: gcc/gcc-c++

Hash: SHA256

This is the second iteration of my mass-scratch-rebuild without
gcc/gcc-c++ in the buildroot[0]. Everything what was written in
original mail still applies.

Since people might have fixed their packages after I started rebuild, I
decided to include information about commits I have used to build
packages.

Packages which are not installable (obsoleted by other pacakges)

Hash: SHA256

I ran some check on latest compose and found that quite a few packages
in repo can't be installed due to being obsoleted. What do we do about
those packages?

No more gnupg2 in buildroot

Hash: SHA256

Hey,

today I've split⁰ librpmsign from rpm-build-libs into its own subpackage rpm-
sign-libs.

This resulted into 8 packages disappearing from buildroot¹².

This should not be a problem, but still useful to know.

⁰ <a href="https://src.fedoraproject.org/rpms/rpm/c/99d6687a36647cb307b789d19921a34154e9" title="https://src.fedoraproject.org/rpms/rpm/c/99d6687a36647cb307b789d19921a34154e9">https://src.fedoraproject.org/rpms/rpm/c/99d6687a36647cb307b789d19921a34...</a>
c671
¹ gnupg2, gnutls, ima-evm-utils, libassuan, libksba, libusbx, nettle, npth
² 171 → 163 packages

Missing BuildRequires: gcc/gcc-c++

Hash: SHA256

Over this weekend I've performed scratch-mass-rebuild without having gcc and
gcc-c++ in buildroot of all Fedora packages, many of which failed due to random
reasons and I grepped all logs for some common errors found by analyzing
hundreds of build logs.

Guidelines: <a href="https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B#BuildRequire" title="https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B#BuildRequire">https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B#BuildRequire</a>
s_and_Requies

The grep output is located here:
<a href="https://ignatenkobrain.fedorapeople.org/gcc-removal.txt" title="https://ignatenkobrain.fedorapeople.org/gcc-removal.txt">https://ignatenkobrain.fedorapeople.org/gcc-removal.txt</a>

Some packages might be missed due to short koji outage, broken dependencies and
so on, but majority of real failures is below.

If you fixed packa

RFC: BugURL in packages

Hash: SHA256

Hello,

it's been just 9 years since BugURL has been added to RPM, but it has not been
used.

I think it would be helpful for users to have it defined in RPMs, so when they
do `dnf info`, `rpm -qi` they would just click on it and it would select right
component, right version and such for it.

Do you think same way? If so, which URL should we put there?

Granularity in disable mangling shebangs

Hash: SHA256

Since redhat-rpm-config-97-1.fc28 you can use 2 new variables:

* `__brp_mangle_shebangs_exclude_from` to exclude specific paths from mangling.
* `__brp_mangle_shebangs_exclude` to exclude specific shebangs from mangling.

Those are using same syntax as Requires/Provides filtering (REGEX_EXTENDED), so
you can use AutoProvidesAndRequiresFiltering guidelines[0] as reference for
syntax.

Replacing %post/%postun -p /sbin/ldconfig

Hash: SHA256

As guidelines changed[0] and now require maintainers who package libraries in
default library path (/usr/lib, /usr/lib64) to use %ldconfig_scriptlets in case
they want spec file to be compatible with all Fedora/EPEL versions or drop them
entirely if they maintain one-spec-per-branch.

After branching (should be on 2018-02-20) completes + week (2018-02-26,
probably later), I'm going to replace your scriptlets to follow guidelines in
master branch (aka F29) with safest option available -- %ldconfig_scriptlets.
The whole purpose of this is to make installation of packages FASTER and

Removal of BuildRoot

Hash: SHA256

Just a small heads up, BuildRoot tag is not needed since RHEL6 (which is oldest
supported one nowadays, it's been year or so after EL5 retirement). And we
don't support EL5 anymore, so...

I wanted to send this heads up before I actually did that, but I hit "enter"
button too early.

Anyway, this is straitghtforward change, so no one should notice anything
(apart from one commit with, hopefully, useful description in their
repositories)

-Werror (or any alternatives in different languages)

Hash: SHA256

Hello,

- From time to time I see upstreams using -Werror (or, #[deny(warnings)] in Rust)
which is definitely causing problems when gcc or any other compiler adds new
warnings. Unfortunately, some upstreams reject removing -Werror and use it just
for specific warnings.

I'm thinking about passing --cap-lints warnings to rustc to prevent erroring on
this (and just show warning). Should we do same for C/C++? Or should I
reconsider decision in Rust land?

Escaping macros in %changelog

Hash: SHA256

Hello everyone,

It seems that a lot of people have %file, %check, %build, %whatsoever in their
changelog section.

Is there any reason I should not go and automatically escape them?

%check → %%check
%build → %%build
%whatsoever → %%whatsoever

There might be valid use-cases, but I'm not sure if they really are:
%{_localstatedir}/ft/ → %%{_localstatedir}/ft/

Thoughts?

Packaging DSO symlinks

Hash: SHA256

Hello,

You might have seen that we are trying to eliminate /sbin/ldconfig from
scriptlets which would speedup installation / upgrade of packages
**significantly**.

One of cases Florian brought that in case of libcrypt/libcrypt-nss, libraries
didn't have symlinks, so if it would not call ldconfig in its scriptlet, then
any packages which depend on libcrypt.so would fail to execute.

In 99% (this number came just out of my head, not a real investigation) of
packages, we always package those symlinks.

So I'm going to push change to glibc which during build process executes
ldconf

Removal of systemd-units

Hash: SHA256

It's been 6 years since systemd-units package was merged to systemd, but
package maintainers still use it. EL7 has same guidelines as Fedora, so it is
safe to make it compliant with Guidelines even there. This is very safe change.

It's just 198 packages and we are just going to fix them for you in following
days.

Plan to remove libxml2-static

Hash: SHA256

Hello,

is anybody against of removal of libxml2-static package? It is not used by any
Fedora package.

Unannounced SONAME bump in tinyxml2

Hash: SHA256

<a href="https://src.fedoraproject.org/rpms/tinyxml2/c/3600750a8f1b0eaa6cab346496fd75a07" title="https://src.fedoraproject.org/rpms/tinyxml2/c/3600750a8f1b0eaa6cab346496fd75a07">https://src.fedoraproject.org/rpms/tinyxml2/c/3600750a8f1b0eaa6cab346496...</a>
ea749cb

Manging shebangs in Rawhide

Hash: SHA256

Hello,

I'm planning to merge PR[0] somewhere later this week.

rust-pest changes license from MPLv2.0 to MIT or ASL 2.0

Hash: SHA256

Thanks for attention.

EPEL support in "master" branch (aka speeding up Fedora development)

Hash: SHA256

Hello,

I know that many of you like to have just one branch which builds everywhere
(starting from el6), but this really slows down development of Fedora for many
years.

RFC: Dropping %{?_isa} hack

Hash: SHA256

Hello,

Does anybody know why we are still using %{?_isa} thing?

DNF/libsolv forcefully install 64bit package for any 32bit package in
transaction. So it is not possible to get 32bit package without 64bit
counterpart.

So then what's the reason of using %{?_isa}? Just some old cruft from yum era?
Can we drop it? Thoughts?

Please stop re-adding gtk-update-icon-cache scriptlets (for Fedora)

Hash: SHA256

Hello,

I'm working on removing all this cruft from all our packages (and creating
conditionals for all packages which have epel branch).

Unfortunately some maintainers adding them back with conditionals like:
%if 0%{?fedora} < 28 || 0%{?rhel} < 8

1. Those scriptlets are not needed since ~ F24 era
2.

Updates which are never pushed to stable

Hash: SHA256

Hello,

I noticed that for multiple release we have updates which stuck in bodhi for
many months until distro goes EOL.

I wonder if we should just auto-unpush updates which are in testing in 1(?)
month? Thoughts?

Removing old cruft, e.g. Provides: systemd-units (was Re: What to I have to do....)

Hash: SHA256

After reading all responses in thread which is mentioned in subject I think we
need to develop some policies / procedures how to deal with old cruft, for
example:

- - Requires: systemd-units
- - Requires: /bin/mktemp

Former has changed to systemd in guidelines X years ago (not sure when exactly,
before I did my first package which contains systemd units, so I would guess
something like 5-6 years ago).

Package naming question

Hash: SHA256

Hello,

I would like to hear opinion of other packagers about naming. We have
`parallel` utility implemented in Rust which is drop-in replacement for GNU
parallel. I was thinking how to name package and how people would expect it to
be named. So far options are:

* rust-parallel
* parallel-rust
* parallel-rs

I dislike first one because it is not ending up in completion while second and
third are quite good.

Thoughts?

Annobin Change is implemented

Hash: SHA256

Hello everyone,

as of now, Annobin[0] has been enabled in Rawhide. This is special plugin for
gcc so something might break due to it (but not expected). Don't hesitate to
open a bug in that case.

Just small heads up.

[0] <a href="https://fedoraproject.org/wiki/Changes/Annobin" title="https://fedoraproject.org/wiki/Changes/Annobin">https://fedoraproject.org/wiki/Changes/Annobin</a>

7 applications written in Rust are available in Rawhide

Hash: SHA256

* base100
<a href="https://github.com/AdamNiederer/base100" title="https://github.com/AdamNiederer/base100">https://github.com/AdamNiederer/base100</a>
Encode things into Emoji.

Base

Missing libwebm

Hash: SHA256

Hello,

is there any reason we don't have libwebm[0] packaged? I'm packaging
libopenglrecorder[1] which appears to bundle some parts of it.

[0]https://chromium.googlesource.com/webm/libwebm
[1]https://github.com/Benau/libopenglrecorder

rust-crc-core changes license from MIT to MIT or ASL 2.0

Hash: SHA256

Nothing really interesting, but sending as per our policies.

Weekend's replacement for limb (creating new repositories)

Hash: SHA256

Hello,

I think many people work on new packages during weekends, but it's not possible
to get any new repos[0] during weekend (right now there are 73 opened tickets
in fedora-scm-requests). Is there someone who could process tickets during the
weekends? Can I help with this myself?

[0]https://pagure.io/releng/fedora-scm-requests/issues

Removal of obsolete /bin/* Provides from coreutils

Hash: SHA256

Hello,

After removal[0] of other ancient Provides from coreutils, it is time[1] to
remove next legacy part, /bin/* Provides.

There are some number of packages still relying on them, I've fixed most of
them already, although there are some packages which need some special care
(including reporting to upstream).