Postings by Igor Gnatenko

libsolv 0.7

Hello folks,

It is the release towards 1.0 (yes, after more than 10 years) which is out
for 4 days now.

I'm going to investigate whether it will affect libdnf and push into the
rawhide within few days.

Version 0.7.0
- soname bump to "1"
- incompatible API changes:
* bindings: Selection.flags is now an attribute
* repodata_lookup_num now works like the other lookup_num functions
- new functions:
* selection_make_matchsolvable
* selection_make_matchsolvablelist
* pool_whatmatchessolvable
* repodata_search_arrayelement
* repodata_lookup_kv_uninternalized
* repodata_search_unint

Fedora Packaging Guidelines on

Hello everyone,

We have moved packaging guidelines onto[0].
If you find any error or would like to change something, don't hesitate to
open ticket or submit pull request for packaging committee repo[1].

Thanks for attention!

[0] <a href="" title=""></a>
[1] <a href="" title=""></a>

Meson 0.48.0

Hello folks,

new meson release is out (release notes
<>) which removes tools
which are deprecated for quite long time:
* mesonconf
* mesonintrospect
* mesontest
* wraptool

I will push it now for Rawhide and F29. F28 and EPEL7 won't get update
because of this incompatibility, but if you need it for building updates --
let me know and I will consider pushing it even there.

Thanks for attention!

PyWavelets 1.x is coming to Rawhide

Release notes:

There are some incompatible changes so I'm building it only for Rawhide.

Just wanted to let you know yet another software reaching 1.0 milestone.
Enjoy ;)

Building multiple version of a package from same dist-git repo


is it possible to build packages like foo0.6 from dist-git repo with name
foo and not foo0.6?

Since in Rust ecosystem from time to time we need to build multiple
versions of a same package, it is much easier if it would be one repo with
branches 0.6, 0.7 instead of multiple separate git repos.

If not, what are the limitations?

-Wl,--as-needed is added in rawhide

It's in redhat-rpm-config-118-1.fc30.

If it causes any problems for you - let me know. In the meantime, you can
use `%undefine _ld_as_needed` to disable it.

Thanks for attention!

Update libgit2 to 0.27

Hello everyone,

0.27.x is released long time ago, but I never got time for updating it. It
obviously involves SONAME change.

The good thing about this release is that it breaks only things in runtime
and only one function changed signature (for building) which nobody uses

I'm going to update library as soon as I get time (possibly on this weekend
if no all dependent packages build fine).

Rust SIG


it seems to be a week of SIG announcements, so why shouldn't I share that
we also have Rust SIG <>.

At this point we have over 400 crates packaged, few applications like
ripgrep, tokei, stratisd and more.

IRC: #fedora-rust
ML: <a href="mailto: ... at lists dot"> ... at lists dot</a>

Feel free to stop by and don't hesitate to ping me ;)

P.S. I'm going to Flock this year, so let me know if you would like to meet
and work on.

RFC: Pass --auto-features=enabled in meson


meson 0.47.0 has new option type - feature
(tri-state option - enabled/disabled/auto). It is quite common that in
autofoo and less in cmake worlds people rely on auto-detection of
dependencies and enabling features based on those.

I believe that for distribution we should make sure that all default
features are enabled and if not, packager should explicitly disable

rust-bytes license change (MIT or ASL 2.0 → MIT)

Upstream released 0.4.9 which does this correction

Should not affect anyone. Thanks for attention.

gcc/gcc-c++ removal from buildroot and more

Hello everyone,

today we finally dropped gcc and gcc-c++ from the buildroot
<>. This
made 12 packages go away along with 134MB installed size. This means that
you need to add gcc/gcc-c++ in the BuildRequires (guidelines stated this
for few years but not many were following them).

Also Mark fixed bug today which was pulling in systemd in the buildroot
which was pulling gnutls/libgcrypt/nettle and stuff like that.

Removal of GCC from the buildroot

As per Changes/Remove GCC from BuildRoot
<>, I'm
going to automatically add BuildRequires: gcc and/or BuildRequires: gcc-c++
to packages which fail to build with common messages (like gcc: command not
found, also autotools/cmake/meson are supported).

I'm going to do this tomorrow.

After which, I'm going to ask rel-eng to finally remove it from buildroot.
This will happen before mass rebuild. Stay tuned.

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 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


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

This resulted into 8 packages disappearing from buildroot¹².

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

⁰ <a href="" title=""></a>
¹ 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="" title=""></a>

The grep output is located here:
<a href="" title=""></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


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

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

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

-Werror (or any alternatives in different languages)

Hash: SHA256


- 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/


Packaging DSO symlinks

Hash: SHA256


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

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 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

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

Plan to remove libxml2-static

Hash: SHA256


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="" title=""></a>

Manging shebangs in Rawhide

Hash: SHA256


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.