<p>Preparation for 4.15.1 release, consisting of</p>
<ul>
<li>critical bugfixes here and there (arm, dynamic buildrequires rpmlib(), revert dbus shutdown)</li>
<li>handful of various %{expr:...} related fixes</li>
<li>ndb fixes (replacing PR <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="509528646" data-permission-text="Issue title is private" data-url="https://github.com/rpm-software-management/rpm/issues/908" data-hovercard-type="pull_request" data-hovercard-url="/rpm-software-management/rpm/pull/908/hovercard" href="https://github.com/rpm-software-management/rpm/pull/908">#908</a> )</li>
<li>add support for gcrypt crypto</li>
<li>bunch of documentation updates</li>
<li>misc other stuff</li>
</ul>
<p>Did I miss anything critical? Note that %[] and ternary operator intentionally not backported here, they have related behaviour changes that don't seem appropriate in a stable branch.</p>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/rpm-software-management/rpm/pull/923'>https://github.com/rpm-software-management/rpm/pull/923</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Correct and update Query formats documentation</li>
  <li>Support libgrypt as crypto library</li>
  <li>Disable marker on multiline expression error messages</li>
  <li>Improve description of conditionals in spec documentation</li>
  <li>Suppress inhibition lock warning message when DBus service is not available</li>
  <li>Add description of comments in spec documentation</li>
  <li>Add 'string' into query format extensions in man-pages</li>
  <li>Log debug messages upon entering and exiting chroot</li>
  <li>Do not expand %{expr:} again after evaluating the expression</li>
  <li>Print an error for expressions with missing operands</li>
  <li>Fix type error introduced in commit 1d055ae1df90fe54cf5c056de085cd987f0f6bbf</li>
  <li>Trap division by zero in expression parser</li>
  <li>Add all of the rpmbuild macro aliases to rpmspec as well</li>
  <li>Always check for rdToken() return codes in expression parsing</li>
  <li>Ensure expression syntax errors get at least a generic error message</li>
  <li>Resurrect %_missing_doc_files_terminate_build functionality</li>
  <li>Replace hardwired man page references to "redhat" in paths with "<vendor>"</li>
  <li>Free memory leak in unary op handling</li>
  <li>Fix suspicious condition in selinux plugin</li>
  <li>Percolate errors up from rpmfcHelper()</li>
  <li>Mark dynamically generated buildrequires autogenerated</li>
  <li>Stop on invalid dynamic buildrequires</li>
  <li>Always execute file trigger scriptlet callbacks with owning header</li>
  <li>Avoid using types from Lua includes in rpmlua.h again</li>
  <li>Implement fsync disabling for the ndb backend</li>
  <li>Delete all the IDXDB_FILESUPPORT code in the ndb backend</li>
  <li>Do not always fsync the database directories</li>
  <li>Use fdatasync in ndb if available</li>
  <li>Refactor mmap/munmap/mremap handling in ndb</li>
  <li>Add configure option to build with -Werror</li>
  <li>Run CI builds with -Werror</li>
  <li>Revert "Fully shutdown DBUS on systemd_inhibit cleanup (RhBug:1714657)"</li>
  <li>Revert "rpmrc: Add architecture compatibility mapping between aarch64 and arm64"</li>
  <li>Remove problematic sub variants of armv8 and related</li>
  <li>Increase lmdb DB size from 256M to 1G</li>
  <li>Don't report unimplemented db ctrl and verify ops as errors</li>
  <li>Use xdb's pagesize instead of sysconf(_SC_PAGE_SIZE)</li>
  <li>build: Add missing ifdef to conditionalize omp.h include statement</li>
  <li>Multiple fixes in rpmxdb.c for the ndb database backend</li>
  <li>Honor RPMSENSE_MISSINGOK on src.rpm rpmlib() dependencies too</li>
  <li>Don't provide rpmlib(DynamicBuildRequires) in source packages</li>
  <li>Flag build-time rpmlib() dependencies in src.rpm as missingok</li>
  <li>Only permit comments at beginning of line in file manifests (RhBug:112727)</li>
  <li>Resurrect --prtpkts debug switch functionality</li>
  <li>Handle incomplete escape seq in queryformat (RhBug:1755230)</li>
  <li>Preparing for rpm 4.15.1</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-0">build/build.c</a>
    (9)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-1">build/files.c</a>
    (19)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-2">build/parseSpec.c</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-3">build/reqprov.c</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-4">build/rpmfc.c</a>
    (19)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-5">ci/Dockerfile</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-6">configure.ac</a>
    (31)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-7">doc/ja/rpm.8</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-8">doc/ja/rpmbuild.8</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-9">doc/manual/queryformat</a>
    (38)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-10">doc/manual/spec</a>
    (68)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-11">doc/pl/rpm.8</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-12">doc/pl/rpmbuild.8</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-13">doc/rpm.8</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-14">doc/rpmbuild.8</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-15">doc/ru/rpm.8</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-16">lib/backend/dummydb.c</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-17">lib/backend/lmdb.c</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-18">lib/backend/ndb/glue.c</a>
    (17)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-19">lib/backend/ndb/rpmidx.c</a>
    (297)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-20">lib/backend/ndb/rpmpkg.c</a>
    (67)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-21">lib/backend/ndb/rpmxdb.c</a>
    (179)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-22">lib/backend/ndb/rpmxdb.h</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-23">lib/headerfmt.c</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-24">lib/manifest.c</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-25">lib/psm.c</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-26">lib/rpmchecksig.c</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-27">lib/rpmchroot.c</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-28">lib/rpmliblua.c</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-29">lib/rpmtriggers.c</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-30">plugins/selinux.c</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-31">plugins/systemd_inhibit.c</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-32">po/ar.po</a>
    (272)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-33">po/br.po</a>
    (272)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-34">po/ca.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-35">po/cmn.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-36">po/cs.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-37">po/da.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-38">po/de.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-39">po/el.po</a>
    (272)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-40">po/eo.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-41">po/es.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-42">po/fi.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-43">po/fr.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-44">po/id.po</a>
    (273)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-45">po/is.po</a>
    (272)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-46">po/it.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-47">po/ja.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-48">po/ko.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-49">po/ms.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-50">po/nb.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-51">po/nl.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-52">po/pl.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-53">po/pt.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-54">po/pt_BR.po</a>
    (275)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-55">po/rpm.pot</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-56">po/ru.po</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-57">po/sk.po</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-58">po/sl.po</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-59">po/sr.po</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-60">po/sr@latin.po</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-61">po/sv.po</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-62">po/te.po</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-63">po/tr.po</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-64">po/uk.po</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-65">po/vi.po</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-66">po/zh_CN.po</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-67">po/zh_TW.po</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-68">rpm.am</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-69">rpmio/Makefile.am</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-70">rpmio/digest_libgcrypt.c</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-71">rpmio/expression.c</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-72">rpmio/macro.c</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-73">rpmio/rpmkeyring.c</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-74">rpmio/rpmlua.c</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-75">rpmio/rpmlua.h</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-76">rpmpopt.in</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-77">rpmrc.in</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-78">tests/Makefile.am</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-79">tests/data/SPECS/docmiss.spec</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-80">tests/data/SPECS/shebang.spec</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-81">tests/rpmbuild.at</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-82">tests/rpmmacro.at</a>
    (0)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/rpm-software-management/rpm/pull/923/files#diff-83">tests/rpmquery.at</a>
    (0)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/rpm-software-management/rpm/pull/923.patch'>https://github.com/rpm-software-management/rpm/pull/923.patch</a></li>
  <li><a href='https://github.com/rpm-software-management/rpm/pull/923.diff'>https://github.com/rpm-software-management/rpm/pull/923.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/rpm-software-management/rpm/pull/923?email_source=notifications&email_token=ADLPZU22ZLHSPJ2RKHIJ7L3QSALO3A5CNFSM4JITDN32YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HWS2ADQ">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ADLPZUY5QUS7BDR3RDJFSEDQSALO3ANCNFSM4JITDN3Q">unsubscribe</a>.<img src="https://github.com/notifications/beacon/ADLPZU6W76TGHASNQWJ6JJDQSALO3A5CNFSM4JITDN32YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HWS2ADQ.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/rpm-software-management/rpm/pull/923?email_source=notifications\u0026email_token=ADLPZU22ZLHSPJ2RKHIJ7L3QSALO3A5CNFSM4JITDN32YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HWS2ADQ",
"url": "https://github.com/rpm-software-management/rpm/pull/923?email_source=notifications\u0026email_token=ADLPZU22ZLHSPJ2RKHIJ7L3QSALO3A5CNFSM4JITDN32YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HWS2ADQ",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>