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 |