Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rpm 4.17.0 RC1 #1760

Merged
merged 19 commits into from Aug 20, 2021
Merged

Conversation

pmatilai
Copy link
Member

This is just misc accumulated fixes since beta, plus dbus-announce plugin added.

Only regressions and documentation updates will be considered from here on to 4.17.0, so if your patch didn't make it, there's always the next release. And the next release can only occur after getting 4.17.0 out of the door...

ffesti and others added 19 commits August 18, 2021 16:17
just create them. Otherwise their date messes up the man page
genenration and triggers a rebuild when on wanted (e.g. when building
form the tar ball)

Resolves: rpm-software-management#1729
(cherry picked from commit 89eb448)
These curly brackets are already treated as literals by the shell, so
let's make that explicit for clarity, and silence a ShellCheck warning
at the same time.

More info: https://github.com/koalaman/shellcheck/wiki/SC1083

Found by ShellCheck.

(cherry picked from commit c7d7c5a)
Callers are supposed to free the error strings themselves:
https://www.sqlite.org/capi3ref.html#sqlite3_exec

Found by Coverity.

(cherry picked from commit d8dc4fd)
Even though the actual implementation of rpmGlob() does not allocate the
passed arg list (av) if the return code (rc) is non-zero or arg count
(ac) is 0, it's the responsibility of the caller (rpmInstall() here) to
free that memory, so make sure we do that irrespectively of the above
conditions.

Found by Coverity.

(cherry picked from commit 5baf73f)
This function is not used anywhere within our codebase (and neither is
it part of the public API) so it's basically a no-op... Still, rather
than yanking it completely, let's just silence the Coverity error here.

Found by Coverity.

(cherry picked from commit 3c8b01b)
Turns out this leak is already fixed in glibc's current version of fts.c
(where our copy originates from), so let's just backport that.

Original commit in glibc:
https://sourceware.org/git/?p=glibc.git;\
a=commit;h=db67c2c98b89a5723af44df54f38b779de8d4a65

Found by Coverity.

(cherry picked from commit 39b7bf8)
Found by Coverity.

(cherry picked from commit 9c093c4)
We permit two equivalent forms of specifying a list of languages per
file:

  %lang(xx,yy,zz) /path/to/file
  %lang(xx) %lang(yy) %lang(zz) /path/to/file

The leak was when parsing the second form.

Found by Coverity.

(cherry picked from commit 590b2fc)
This covers the following usage:

expr = rex.newPOSIX(<regex>)
expr:match(<string>)           # A leak occurred here
expr:gmatch(<string>, <func>)  # A leak occurred here

Found by Coverity.

(cherry picked from commit b7a1e99)
The d6a86b5 commit introduced
a new variable that is only used internally by headerMergeLegacySigs().

(cherry picked from commit 822c3dc)
We must avoid the "database is locked" errors at every cost because
otherwise the rpmdb gets corrupted and system ends up in inconsistent
state.

Resolves: rhbz#1946046
(cherry picked from commit 513d04d)
Otherwise SecureBoot signatures may be stripped too.

We used to exclude shared libraries from this strip as they were
supposed to be covered by another brp script (brp-strip-shared), however
it turned out the latter was never really used, so we removed the
exclusion in commit 0ab151a.

As it turns out, that was a little too ambitious, since we may now
inadvertently strip SecureBoot signatures from kernel modules too,
provided that they're made during the build, prior to the invocation of
brp-strip.

Note that this regression currently does *not* affect the following two
cases on Fedora/RHEL systems with redhat-rpm-config installed:

  - in-tree kernel modules; these are built from kernel.spec which
    already contains a hack ensuring that module signing only happens
    *after* any stripping (see %__modsign_install_post in kernel.spec)

  - out-of-tree kernel modules built with debuginfo enabled; this is
    because brp-strip is only called when %debug_package is set to
    %{nil}

Any other combinations may be affected, depending on the macros and
.spec files used, so let's fix this by effectively "reverting" said
commit for .ko files only.

Fixes: rhbz#1967291
(cherry picked from commit cfdb830)
(cherry picked from commit 7af8691)
Add brief introduction, section about comments and commit messages
Bit more details on code formatting

(cherry picked from commit 3cb4b8b)
Bump the Lua minimum version to 5.3.

The 986be66 commit introduced a use of
lua_rotate(), which is not available in Lua 5.2, unintentionally causing a dependency on 5.3. Rather than work around it, just bump the requirement to 5.3, it's almost seven years old by now...

(cherry picked from commit 24b6c45)
We now only invalidate the cache if the cached entry gets written
or deleted. This is needed for the code in rpmdbNextIterator()
which first reads the next header and then writes the modified
old header to the database. Therefore we must not free the cached
entry if a modified header with a different id is written.

(cherry picked from commit 297b7be)
The plugin announces start and end of transactions

(cherry picked from commit 2a03b8f)
@pmatilai pmatilai added the release Release creation label Aug 19, 2021
@pmatilai pmatilai merged commit bcb9baf into rpm-software-management:rpm-4.17.x Aug 20, 2021
@pmatilai pmatilai deleted the 4.17-rc1-pr branch February 2, 2022 13:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Release creation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants