| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Subsection headings were already changed from title case to sentence
case in commit ca463ce. This left chapter and section headings alone,
which is inconsistent (although it is specified by some style guides
like APA).
This commit changes headings to sentence case throughout, following
most other Gentoo documentation, e.g. wiki and devmanual.
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The sandbox commands addread, addwrite, addpredict and adddeny can
accept not only directories, but also other files like regular files
or device nodes.
This behaviour is supported by all three package managers. Also, the
sandbox's default configuration relies on it (e.g. "/dev/null" and
"${HOME}/.bash_history" in /etc/sandbox.conf), and it is widely used
in the Gentoo repository.
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The CONF_LIBDIR variable was used exclusively in the 2004.3 profile
(i.e. it was no longer defined in 2005.0). Portage support for
CONF_LIBDIR was added by this commit:
https://gitweb.gentoo.org/archive/proj/portage-cvs.git/commit/?id=ecc2faaa00b1e6250129267ba873bedd2121eac5
Note that neither the ABI nor the LIBDIR_${ABI} variable existed at
the time.
The CONF_LIBDIR_OVERRIDE and DEFAULT_ABI variables were never
implemented in the dolib* and einstall commands in Portage.
With the three variables dropped, the algorithm is identical to the
logic used for get_libdir(). Therefore drop alg:ebuild-libdir and
refer to alg:get-libdir instead.
Bug: https://bugs.gentoo.org/267159
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Following the previous change for --disable-static (commit e0aa80c),
check for proper end of string for all option names beginning with
"with", "disable" or "enable". This will mainly affect --with-sysroot,
where false positives have been observed.
Bug: https://bugs.gentoo.org/815169
Suggested-by: David Seifert <soap@gentoo.org>
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
| |
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The intention is to pass --disable-static, in order to (only) disable
static libtool archive building. The current condition asks for either
of --{disable,enable}-static in configure --help output, which causes
false positives:
https://archives.gentoo.org/gentoo-portage-dev/message/efc3f424d1dffd3415da538ec25532a9
Therefore, narrow the condition to require both --enable-static and
--enable-shared. In addition, backport the check for proper end of
string from the EAPI 9 feature list, but restrict it to this option
for now.
Bug: https://bugs.gentoo.org/814368
Bug: https://bugs.gentoo.org/815169
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
"abort", "dyn" and "prep" are only reserved at the beginning of a name.
This appears to be their only (historical and recent) usage in Portage.
"ebuild" is allowed as substring of words like "rebuild", which is
somewhat common in names.
Bug: https://bugs.gentoo.org/843779
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
| |
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
| |
In a non-prefix installation, files are to be owned by UID 0 / GID 0.
This is also what is implemented in Portage's dobin command.
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
| |
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
| |
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The help message produced by LT_INIT in libtool-2.4.6 always says
--enable-static regardless of the default value, see m4/ltoptions.m4:
AC_ARG_ENABLE([static],
[AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
...)
This means that looking only for --disable-static in output of
configure --help results in non-functional behaviour.
Implementation in Portage (which predates the PMS wording) looks for
--enable-static in addition.
Bug: https://bugs.gentoo.org/814368
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For most commands this is already implied by the combination of the
statements "When an ebuild is being sourced for metadata querying
rather than for a build [...], no external command may be executed."
in chapter 12 ("Available Commands") and "Except where otherwise
noted, they may be internal [...] or external commands available in
PATH; where this is not specified, ebuilds may not rely upon either
behaviour." in section 12.3 ("Ebuild-specific Commands").
For output commands (einfo etc.) and debug commands (debug-print etc.)
to be allowed in global scope, they must be implemented as shell
functions. Specify this, which follows the implementation in all three
package managers.
Closes: https://bugs.gentoo.org/520528
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
| |
Closes: https://bugs.gentoo.org/374791
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Portage uses both --exec-prefix and --prefix in its econf logic,
introduced in 2005:
https://gitweb.gentoo.org/archive/proj/portage-cvs.git/commit/?h=portage_2_0&id=865508e5cb2fd3e6ef7c312b6a7bb88cf8799f9c
Pkgcore agrees with Portage.
Paludis uses --prefix first, then --exec-prefix.
Closes: https://bugs.gentoo.org/806374
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
| |
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
| |
Bug: https://bugs.gentoo.org/690968
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
| |
Bug: https://bugs.gentoo.org/744868
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
| |
Bug: https://bugs.gentoo.org/657580
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
| |
Bug: https://bugs.gentoo.org/708360
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
| |
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
| |
Bug: https://bugs.gentoo.org/744871
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
| |
Bug: https://bugs.gentoo.org/651958
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
| |
Bug: https://bugs.gentoo.org/199722
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
| |
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
| |
Taken from https://tex.stackexchange.com/a/2645.
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
|
| |
This is only used a few times, so a shorthand is not needed.
(We really should get rid of \i and \t as well, because redefining
LaTeX internal commands sucks.)
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
| |
It is implemented as a bash function in all package managers.
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the -r option, it was unspecified what the mode of any created
directories is. Clarify that doins -r will create them as if dodir was
called (i.e., respect diropts), and that dodoc -r will create them as
if plain install -d was used.
For doins, this agrees with package manager implementations.
For dodoc, this agrees with historic Paludis behaviour. Portage
behaviour has changed in the past, when dodoc was changed from a
standalone helper to reusing parts of doins. Usage in the Gentoo
repository indicates that no ebuilds call diropts specifically for
installing of documentation. However, for several ebuilds dodoc -r is
affected by diropts called previously for another directory, which
looks like an unwanted side effect.
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
| |
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
If ESYSROOT is empty, then econf must pass --with-sysroot="/"
as option to configure.
This agrees with the implementation in portage and pkgcore.
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Correct the description of ver_cut and ver_rs commands to indicate
that they process ${PV} when no version argument is specified, rather
than wrongly ${PVR}.
It seems that the latter was introduced as a typo, as it neither agrees
with initial Bugzilla proposal of the function [1], pre-EAPI
implementation in eapi7-ver.eclass [2] or EAPI 7 cheatsheet in PMS.
Furthermore, it simply makes little sense as the common usage of those
functions is to manipulate URLs and filenames, and those do not use
ebuild revisions..
It is also how it was implemented in Portage, and initially in PkgCore
(afterwards the PkgCore implementation changed to conform to PMS, with
expectably breaking results).
[1] https://bugs.gentoo.org/482170#c15
[2] https://gitweb.gentoo.org/repo/gentoo.git/commit/eclass/eapi7-ver.eclass?id=59a1a0dda7300177a263eb1de347da493f09fdee
Bug: https://bugs.gentoo.org/689494
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Specify the behavior for dealing with already compressed files more
strictly, by requiring them not to be compressed twice if compressed
using the same format already. This replaces the previous vague
statement of 'behaving sensibly if already compressed'. This statement
had a number of problems.
Firstly, it was entirely vague on what 'sensible behavior' is. Most
of the developers seemed to presume it means decompressing the file
and compressing it again. However, without a clearly defined list
of compression formats to support, this is impossible to implement
properly.
Secondly, different package managers disagreed on the implementation.
For example, Portage recompressed the file, with the implementation
originally supporting .Z, .gz and .bz2, and later gaining support for
.lzma and .xz (independently of EAPI support for those formats).
PkgCore and Paludis never supported controllable compression, so they
always installed the files in original format.
The new wording aims to be more precise and strict while preserving
the spirit of the original and allowing the behavior currently exhibited
by the package manager implementations. Most notably, it accounts for
the possibility of the same file being iterated over by the compression
routine twice.
It does not require the package manager to recognize arbitrary
compressed file formats, making the current implementations compliant
with it. At the same time, it implies that the developers need to
account for the package manager not handling the particular compressed
file format used upstream, and appropriately needing to decompress
the file in order to fully respect controllable compression.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This allows calls like "use_with !foo bar" or "use_enable !foo bar"
which are supported by all three package managers and widely used in
the tree.
Explicitly forbid the "use_with !foo" one-argument form. It is not
used in the tree, and ebuilds can use the more explicit two-argument
form instead. (Current portage-2.3.46 outputs "--with-!foo".)
|
|
|
|
|
|
| |
For the non-prefix case, return to a wording close to that from before
the prefix changes (commit f49a53b3a97dbe299f1b71dad5a6bf5b9b6805ba),
which was simply "Gives the files mode 0755 and ownership root:root."
|
|
|
|
|
|
|
|
|
|
|
| |
My previous fix to insopts turns out twice wrong: firstly, because I did
not really type what I meant, and secondly because package managers have
inconsistent behavior there. Portage uses the default mode (specified
by PMS) when insopts was called with no arguments or arguments forming
an empty string; PkgCore and Paludis literally pass empty argument list
to install. Mark the behavior as undefined to match that.
Fixes: 2955b2dfaa5599677bf33e56c7619ccc557ebfff
|
|
|
|
|
|
|
|
| |
Version separators can consist of several characters. Clarify this
in the regexp accordingly.
A range of components or separators is not a "range of versions".
Say "range" only, because the meaning is clear from context.
|
|
|
|
|
|
| |
Remove the offset-prefix reference from heading to 'Commands affecting
install destinations'. The offset-prefix situation is explained
in 'into' already, and it applies only to the *into commands.
|
|
|
|
|
|
|
|
| |
Clarify the number of arguments taken by *into and *opts. The former
always takes a single argument, so clarify that calling it without
arguments is invalid. The latter may take 0+ arguments (with 0
resetting the list), so clarify that the correct way is to pass multiple
arguments rather than a single quoted argument.
|
|
|
|
|
|
|
| |
Reword the *into and *opts commands to use the 'As ..., for ...' wording
used in do*/new* commands. This makes the descriptions a bit shorter,
and makes it possible to extend the information given in original
commands without having to update the wording of derived commands.
|
| |
|
|
|
|
|
|
| |
Explain the format used by best_version command explicitly. Currently,
the function only lists what gets printed but not in what form or how it
is separated.
|
|
|
|
|
|
|
|
| |
Reword the description of 'nonfatal' to explicitly indicate that it
takes 1+ args and executes them as a command. The original 'remainder
of its argument' wording sounds weird, given that there is no earlier
mention of argument processing (-> remainder from what?). This also
clarifies that calling nonfatal with no argument is not valid.
|
|
|
|
|
|
|
|
| |
tab:added-env-vars-table was too wide, which is fixed by reducing
the width of the paragraph type columns.
tab:econf-options-table: Change columns with overlong headers to
paragraph type, in order to allow line breaks.
|
|
|
|
| |
Bug: https://bugs.gentoo.org/482170
|
| |
|
|
|
|
| |
Bug: https://bugs.gentoo.org/203891
|
|
|
|
| |
Bug: https://bugs.gentoo.org/595924
|