summaryrefslogtreecommitdiff
path: root/docs
Commit message (Collapse)AuthorAgeFilesLines
* docs: update grammar in dependency_generators.mdJan Engelhardt2023-03-131-18/+18
| | | | (cherry picked from commit e3c11a790367016aed7ea48cfcc78751a71ce862)
* fix typoPavel Simovec2023-03-131-1/+1
| | | | (cherry picked from commit 045dd10e1f52190b6bada3c83e4537354889626f)
* Briefly document %setup and %patch in reference manualPanu Matilainen2023-03-131-0/+54
| | | | | | | | Take the opportunity to document the recommended and deprecated syntaxes and their availability across rpm versions. Fixes: #2209 (cherry picked from commit c18f62e7b0630394e0bf2ccee0239a0cddd93d0a)
* Convert most of our examples to use a modern %patch syntaxPanu Matilainen2023-03-131-4/+4
| | | | | | | In order to properly deprecate the syntax, we need to move ourselves off it first... (cherry picked from commit 6edbb02d30a862be990c634d859ac80c6239f3f8)
* Use proper macro conditional negation syntax in the manualPanu Matilainen2023-03-131-3/+3
| | | | | | | | Historically only %{!?foo} syntax has been used, the reversed ?! version was only introduced in 0d75ef1e0a0609ee61386f02fa311d6d8ac79450 (perhaps accidentally) and should not be used, much less recommended. (cherry picked from commit 7b0b5e7d2cf53817ec5e2545c5f591a26db72cec)
* Add missed full stop.olf2023-03-131-1/+1
| | | | (cherry picked from commit 642dafdfc9920a563796f117923376904cf6671a)
* Fix broken markdown quoting …olf2023-03-131-5/+5
| | | | | | | | | … introduced in [commit 8b635e2](https://github.com/rpm-software-management/rpm/commit/8b635e2016931ec5bb7dddd6608c09b0b16f7b8e): - [Lines 98 - 101](https://github.com/rpm-software-management/rpm/commit/8b635e2016931ec5bb7dddd6608c09b0b16f7b8e#diff-f0f022b189e54462e3284599236a3b192b721928da4bea1a85d738b25ba5eaa7R98-R101): The two tildes lacked quoting, hence the text between them was struck out. - [Line 96](https://github.com/rpm-software-management/rpm/commit/8b635e2016931ec5bb7dddd6608c09b0b16f7b8e#diff-f0f022b189e54462e3284599236a3b192b721928da4bea1a85d738b25ba5eaa7R96): Eliminate IMO superfluous triple quoting: "**\`\`\`**" → "*\`*" - Rephrase [lines 95 - 96](https://github.com/rpm-software-management/rpm/commit/8b635e2016931ec5bb7dddd6608c09b0b16f7b8e#diff-f0f022b189e54462e3284599236a3b192b721928da4bea1a85d738b25ba5eaa7R95-R96), to be more concise. (cherry picked from commit a108d36acf29796b443285658a606c1b13866d9a)
* Fix markdown syntax typoolf2023-03-131-1/+1
| | | | (cherry picked from commit 7064a63a61ca631e745156a64c5ba9387df5e467)
* Docs: macros: Add some missing fencing, fix grammarFrank Dana2023-03-131-2/+2
| | | | (cherry picked from commit 752ed08d1026aeb4aa1716f32064453005e12d5e)
* Docs: Macros: Attempt to fix literal backslashFrank Dana2023-03-131-1/+1
| | | | (cherry picked from commit 43155029ccf530a5cd184a53c68ddcb46ce7983b)
* Docs: macros: backtick-fence more literals in bodyFeRD (Frank Dana)2023-03-131-45/+46
| | | | (cherry picked from commit 14e14a5c2a5140b00816ac7b8f104af810ab5208)
* Add payload compression macro documentationMichal Domonkos2023-03-131-2/+8
| | | | | | Just refer to the newly added mode string API docs. (cherry picked from commit bf6a97da0b035ce1d341f01b6301407dcad5a5af)
* Permit building rpm from git without pandocPanu Matilainen2023-03-131-0/+2
| | | | | | | | | | Pandoc is only required for converting .md to man pages, which is not terribly interesting unless you're creating a dist tarball. We already have an automake conditional for pandoc, might as well use it. "make dist" will still fail without pandoc, but that's exactly how we want it. (cherry picked from commit 1b8f7a182fe917ed5af5086d715cae529540a4d3)
* Fix typo in macros manualCarl George2023-03-131-1/+1
| | | | (cherry picked from commit 9f59af51b5969ab38f64bb7dcf881f45b8a41e7f)
* Clarify %bcond, %bcond_with and %bcond_without documentation, take XVIIPanu Matilainen2022-09-021-17/+25
| | | | | | | | | | | The key to understanding `%bcond_with` and `%bcond_without` is that these options *create command line switches* and unless the user thinks in those exact terms, there's little hope of understanding them. Further, take care to differentiate between option creation, enablement and defaults in terminology and document `%bcond` version availability. Fixes: #2150 (cherry picked from commit 8ee98091b7f50cfeab61e069c1cad0c74fa567a8)
* Add SourceLicense tag to spec syntaxFlorian Festi2022-09-021-0/+6
| | | | | | | | | to set a separate license to the source RPM. This can be useful if the sources have code under additional licenses that do not end up in the binary packeges. Resolves: #2079 (cherry picked from commit 9ed9d3fce34bc3c8121989e0cf263528e7e68756)
* Add UpstreamReleases tagStanislav Brabec2022-06-281-0/+1
| | | | | | | | | | | | | Create a new optional UpstreamReleases tag that allows to specify an URL of the location, where the source code could be downloaded. In contrast to the URL part of the Source tag, this is intended for the referrer of the sorce code, e. g. download top dir or the sub-page of the web that contains references to the source files. Third party tools or the package maintainer can use this tag and find the latest version of the source code. Co-authoredby: Florian Festi <ffesti@redhat.com> (cherry picked from commit c0b417f572d2450f060f8cde901a8edb4f9a3b33)
* Add TranslationURL tagStanislav Brabec2022-06-281-0/+1
| | | | | | | | Create a new optional TranslationURL tag that allows to specify URL for translators. Third party tools can visualize it and motivate people to translate. (cherry picked from commit c10073d1932a536c9f2db59b8426d4e630b21216)
* Document --root assumptions both in the manual and APIPanu Matilainen2022-06-281-0/+4
| | | | | Fixes: #2081 (cherry picked from commit 370c58746c3b8c178808aaa95e1acb009fc4a677)
* Remove build tree automatically on successfull binary package creationPanu Matilainen2022-06-281-0/+1
| | | | | | | | | | | | | | Traditionally rpmbuild has only cleaned up the build directory on --rebuild mode, but by default leaving tonnes of digital waste behind in the far more common -bb mode. Default to cleaning up build directory in addition to buildroot on successfull binary package creation, with the exception of short-circuit'ed builds. To go with this, have --noclean affect the build directory removal too. Change the diagnostics message from "--clean" to "rmbuild" because --clean is just misleading as it can get executed by other means too. (cherry picked from commit b34333fa021c0ee7215714eeef96d1a2843ea08e)
* Rewrite ordering documentationPanu Matilainen2022-06-281-157/+66
| | | | | | | | News about rpm 4.0.1 ordering algorithm changes are getting a bit long in the tooth. Rewrite the whole doc to make it reflect modern rpm behavior. (cherry picked from commit 944b14fe0d680eb21a452e978f6ba189daa640c1)
* Improve documentation for VCS tagFlorian Festi2022-06-281-1/+1
| | | | | | in reference manual and define a format (cherry picked from commit de5bd4990ce3ec99f3e996934458c701bf586b5e)
* Add parsed and expanded spec to src.rpm header (#1241)Panu Matilainen2022-06-281-0/+1
| | | | | | | | | | | | | | | | | | | | The trend of packaging is to hide more and more of what actually happens behind helper macros and other dynamically generated constructs. While this is mostly a good thing, it makes understanding and postmortem analysis harder than it should be. Add the spec in its parsed and expanded form into the src.rpm header to make the actual contents of the build more trackable. It can be argued this does not belong in the header and should be in payload instead, my rationale for the placement is that this way the payload remains effectively arch independent, whereas the header already heavily reflects the particular environment where it was built. Probably worth noting that %setup and %patch built-in macros are not properly expanded in the stored spec, but that's a separate issue related the special way %prep is processed. Fixes: #1241
* Fix missing preformat marker in %conf docsPanu Matilainen2022-04-131-0/+2
| | | | (cherry picked from commit 44a2201dac198868a3ca3c948f8069177364b305)
* docs/queryformat: fix query expressions exampleTodd Zullinger2022-03-231-1/+1
| | | | | | | | | | | | | | | | | | | The example command in the "Query Expressions" section fails because of the backslash added in a9678c2dc (Insert space between the "{" and "%", 2021-05-06): $ # rpm -qa --queryformat "%-30{NAME} %|PREINPROG?{ %{PREINPROG\}}:{no}|\n" error: incorrect format: unknown tag: "PREINPROG\" ... While this is relatively easy to spot and fix, it is better to avoid non-working examples in the documentation. Fortunately, there is no need to escape the closing `}}` as there is no opening `{{` tag. The dependency_generators and macros pages both contain un-escaped `}}` strings which are displayed correctly. Add a space to the else condition as well, to align the output.
* Unbreak build from docs removal, oopsPanu Matilainen2022-03-181-2/+0
| | | | | | Commits 20aff386fd642e6777082fefd6061eb0dabc0da1 and 47314cab91a308eb1a7dd04d503824b014eeefb1 failed to drop the relevant files from the tarball. It's a doc removal, what can possibly break?!
* Drop very outdated signature documentationPanu Matilainen2022-03-162-88/+0
|
* Scrap obsolete Tools section from package format docsPanu Matilainen2022-03-161-23/+0
|
* Fix very outdated definition of unspecified epoch.Panu Matilainen2022-03-161-1/+1
|
* Drop very outdated buildroot documentationPanu Matilainen2022-03-162-125/+1
|
* Handle missing RPMTAG_ARCH in RPMTAG_ARCHSUFFIXPanu Matilainen2022-03-021-1/+1
| | | | | | | | | | | | | | RPMTAG_ARCHSUFFIX from commit e6a6399cb4c87f049bb75b8da83f5759522bcc58 assumes all headers have RPMTAG_ARCH, but a notable exception is gpg-pubkey headers in rpmdb, causing segfaults on `rpm -qa` on normal systems. Special case conditionals in queryformats get ugly and error-prone real fast, which is why we have all the NEVRA formatter extensions. Avoid adding yet more of those tags by handling the dot formatting in ARCHSUFFIX instead - the "suffix" in the name seems to imply this anyway. Also add tests to cover the common -qa cases.
* Clarify docs wrt passing external data to generatorsPanu Matilainen2022-03-011-1/+10
|
* Add bunch of missing version infos on spec constructs to the manualPanu Matilainen2022-02-281-9/+9
|
* Add separate build configuration (%conf) section to specPanu Matilainen2022-02-283-5/+22
| | | | | | | | | | | | | Configuring the sources (eg ./configure, cmake and whatnot) is really a distinct step which is very unlike the actual build, in that the actual build steps are generally equal for all projects using a given build system, but configuration differs greatly once you go beyond the default paths and the like. This is essentially a pre-requisite for implementing build system templating in spec files. Fixes: #1086
* Split off rpmDigest*() APIs from rpmpgp.h to a new rpmcrypto.h headerPanu Matilainen2022-02-251-0/+3
| | | | | | These APIs never belonged to rpmpgp.h anyway, it was only used for being the least-worst fit within rpm. As if it was so hard to just add a new header...
* Add ARCHSUFFIX extension tagFlorian Festi2022-02-211-0/+1
| | | | | The new tag returns src/nosrc instead of the build architecture of (no)source packages.
* Allow rpmbuild to only check build dependenciessacha2022-02-161-3/+8
| | | | | | | | | | | | | | | | | without building anything if everything is ok. This is similar to the -br, -tr, -rr family of commands that run the dynamic build dependency generator and check for missing build requires. But the newly added -bd,-td,-rd will only create the buildreqs.nosrc.rpm package on missing dynamic build requirements and nothing else. This is a much cheaper operation for packages with large sources where creating a source rpm needlessly may be undesired. For now there is no way to skip the creation of the buildreqs.nosrc.rpm package. But it is cheap to create for reasonable amounts of build requires. Co-authored-by: Florian Festi <ffesti@redhat.com>
* Remove `_with_*` from the documentationPetr Viktorin2022-02-101-11/+0
| | | | | | | | | | | | | This section uses the `_with_*` macro, which is dangerous when used in combination with `%bcond` or `%bcond_without` because it doesn't honor the "default". The section above already explains what users should do -- some variation of: %{?with_gnutls:--with static} \ %{!?with_openssl:--without openssl} ... which is more verbose, but works with %bcond` & `%bcond_without`.
* Add %bcond macro for defining build conditionalsPetr Viktorin2022-02-101-4/+34
| | | | | Move documentation from comments to reference manual Fixes: https://github.com/rpm-software-management/rpm/issues/941
* Reimplement --restore as a transaction element, obsolete --setperms & coPanu Matilainen2022-02-031-28/+6
| | | | | | | | | | | | | | | | | | | | | | | --setperms, --setugids and --setcaps were fun demos of alias capabilities in the nineties, but they can be downright dangerous when used separately, are blisfully unaware of all state in rpm yet try to duplicate functionality existing in C, and thus are a constant source of bugs that are between hard to impossible to fix in the alias space. Add a new transaction element type for the restore operation, wire through all the necessary places. In places (like ordering) this is an overkill but otherwise it seems like a natural thing to be able to process restore alongside package install/remove. The restore operation is a cross between install and erase codepath-wise so touches some funny places, but FA_TOUCH does just the thing, and now all the regular disablers like --nocontext and --nocaps can be used if necessary, plugins get to do their work and also timestamps are restored. Remove the dangerous shell implementations of things and just make them aliases to --restore. Fixes: #965
* Explicitly state that \0 is not supported in queryformat strings. (#1904)Thomas Moschny2022-01-281-2/+2
| | | | | | * Explicitly state that \0 is not supported in queryformat strings. Signed-off-by: Thomas Moschny <thomas.moschny@gmx.de> Co-authored-by: Florian Festi <ffesti@redhat.com>
* Add --justdb counterpart --nodb and matching API flagPanu Matilainen2022-01-251-3/+7
| | | | | | | Sometimes you just want to extract the files without touching the database, just like sometimes you just want the database changed. Potential use-cases include rpm2cpio style operation and src.rpm install.
* Support relocatable packages in Lua scriptlets too (#1531)Panu Matilainen2022-01-241-0/+4
| | | | | | | | | | | Pass relocatable package prefixes as RPM_INSTALL_PREFIX Lua table to Lua scriptlets, add a test-case. In Lua, indexes start at 1 rather than 0, so the numbers appear off by one which is annoying, but consistent within Lua and our other similar Lua constructs such as scriptlet arg. Fixes: #1531
* Manual/tags: Use consistent language for scriptsFlorian Festi2022-01-211-6/+6
|
* Manual: OrderWithRequires dependency generatorsFlorian Festi2022-01-211-0/+5
| | | | Add new generator type to refence manual
* Manual/tags: Move Pubkeys to Internal / special sectionFlorian Festi2022-01-211-1/+1
|
* Manual/tags: Add column descriptions to tablesFlorian Festi2022-01-211-1/+37
|
* Manual/tags: Add introductions to different sectionsFlorian Festi2022-01-211-11/+66
|
* Manual/tags: Convert to tablesFlorian Festi2022-01-211-656/+254
| | | | for better readability. No change to the content.
* Document %doc relative path strippingOtto Urpelainen2022-01-181-1/+3
|