Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 203891
Collapse All | Expand All

(-)a/dependencies.tex (-1 / +3 lines)
Lines 502-508 The following tokens are permitted inside \t{RESTRICT}: Link Here
502
    be checked when fetching.
502
    be checked when fetching.
503
\item[fetch] The package's \t{SRC_URI} entries may not be downloaded automatically. If
503
\item[fetch] The package's \t{SRC_URI} entries may not be downloaded automatically. If
504
    entries are not available, \t{pkg_nofetch} is called. Implies \t{mirror}.
504
    entries are not available, \t{pkg_nofetch} is called. Implies \t{mirror}.
505
\item[strip] No stripping of debug symbols from files to be installed may be performed.
505
\item[strip] No stripping of debug symbols from files to be installed may be performed. In EAPIs
506
    listed in table~\ref{tab:dostrip} as supporting controllable stripping, this behaviour may be
507
    altered by the \t{dostrip} command.
506
\item[userpriv] The package manager may not drop root privileges when building the package.
508
\item[userpriv] The package manager may not drop root privileges when building the package.
507
\item[test] The \t{src_test} phase must not be run.
509
\item[test] The \t{src_test} phase must not be run.
508
\end{description}
510
\end{description}
(-)a/eapi-differences.tex (+7 lines)
Lines 290-295 Controllable compression & \compactfeatureref{docompress} & Link Here
290
\t{docompress} & \compactfeatureref{docompress} &
290
\t{docompress} & \compactfeatureref{docompress} &
291
    No & Yes & Yes & Yes & Yes \\
291
    No & Yes & Yes & Yes & Yes \\
292
292
293
Controllable stripping & \compactfeatureref{dostrip} &
294
    No & No & No & No & Yes \\
295
296
\t{dostrip} & \compactfeatureref{dostrip} &
297
    No & No & No & No & Yes \\
298
293
\t{use_with} empty third arg & \compactfeatureref{use-with} &
299
\t{use_with} empty third arg & \compactfeatureref{use-with} &
294
    No & Yes & Yes & Yes & Yes \\
300
    No & Yes & Yes & Yes & Yes \\
295
301
Lines 479-484 EAPI 7 is EAPI 6 with the following changes: Link Here
479
\item binding leftmost-of (\t{||=}) dependency group is supported, \featureref{binding-leftmost-of}.
485
\item binding leftmost-of (\t{||=}) dependency group is supported, \featureref{binding-leftmost-of}.
480
\item runtime-modifiable USE flags (\t{IUSE_RUNTIME}) are supported, \featureref{iuse-runtime}.
486
\item runtime-modifiable USE flags (\t{IUSE_RUNTIME}) are supported, \featureref{iuse-runtime}.
481
\item sandbox path removal flags (\t{rm*}) are supported, \featureref{sandbox-rm}.
487
\item sandbox path removal flags (\t{rm*}) are supported, \featureref{sandbox-rm}.
488
\item Controllable stripping and \t{dostrip}, \featureref{dostrip}.
482
\end{compactitem}
489
\end{compactitem}
483
490
484
\ChangeWhenAddingAnEAPI{7}
491
\ChangeWhenAddingAnEAPI{7}
(-)a/pkg-mgr-commands.tex (+63 lines)
Lines 828-833 in table~\ref{tab:compression-table} as supporting \t{docompress}. Link Here
828
    \end{tabular}
828
    \end{tabular}
829
\end{centertable}
829
\end{centertable}
830
830
831
\subsection{Commands affecting stripping of debug symbols}
832
833
\featurelabel{dostrip} In EAPIs listed in table~\ref{tab:dostrip} as supporting controllable
834
stripping of debug symbols, the package manager may compress a subset of the files under the \t{ED}
835
directory. To control which files may or may not be stripped, the package manager shall maintain
836
two lists:
837
838
\begin{compactitem}
839
\item An inclusion list. If the \t{RESTRICT} variable described in section~\ref{sec:restrict}
840
    enables a \t{strip} token, this list is initially empty; otherwise it initially contains \t{/}
841
    (the root path).
842
\item An exclusion list, which initially is empty.
843
\end{compactitem}
844
845
Stripping of symbols shall be carried out after \t{src_install} has completed, and before the
846
execution of any subsequent phase function. For each item in the inclusion list, pretend it has the
847
value of the \t{ED} variable prepended, then:
848
849
\begin{compactitem}
850
\item If it is a directory, act as if every file or directory immediately under this directory
851
    were in the inclusion list.
852
\item If the item is a file, it may be stripped unless it has been excluded as described below.
853
\item If the item does not exist, it is ignored.
854
\end{compactitem}
855
856
Whether an item is to be excluded is determined as follows: For each item in the exclusion list,
857
pretend it has the value of the \t{ED} variable prepended, then:
858
859
\begin{compactitem}
860
\item If it is a directory, act as if every file or directory immediately under this directory
861
    were in the exclusion list.
862
\item If the item is a file, it shall not be stripped.
863
\item If the item does not exist, it is ignored.
864
\end{compactitem}
865
866
The package manager shall take appropriate steps to ensure that its stripping mechanisms behave
867
sensibly even if an item is listed in the inclusion list multiple times, if an item is a symlink,
868
or if a file is already stripped.
869
870
The following commands may be used in \t{src_install} to alter these lists. It is an error to call
871
any of these functions from any other phase.
872
873
\begin{description}
874
\item[dostrip] If the first argument is \t{-x}, add each of its subsequent arguments to the
875
exclusion list. Otherwise, add each argument to the inclusion list. Only available in EAPIs listed
876
in table~\ref{tab:dostrip} as supporting \t{dostrip}.
877
\end{description}
878
879
\ChangeWhenAddingAnEAPI{7}
880
\begin{centertable}{EAPIs supporting controllable stripping}
881
    \label{tab:dostrip}
882
    \begin{tabular}{lll}
883
      \toprule
884
      \multicolumn{1}{c}{\textbf{EAPI}} &
885
      \multicolumn{1}{c}{\textbf{Supports controllable stripping?}} &
886
      \multicolumn{1}{c}{\textbf{Supports \t{dostrip}?}} \\
887
      \midrule
888
      0, 1, 2, 3, 4, 5, 6 & No  & No  \\
889
      7                   & Yes & Yes \\
890
      \bottomrule
891
    \end{tabular}
892
\end{centertable}
893
831
\subsection{USE list functions}
894
\subsection{USE list functions}
832
These functions provide behaviour based upon set or unset use flags. Ebuilds must not run any of
895
These functions provide behaviour based upon set or unset use flags. Ebuilds must not run any of
833
these commands once the current phase function has returned. It is an error if an ebuild calls any
896
these commands once the current phase function has returned. It is an error if an ebuild calls any

Return to bug 203891