summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Mueller <ulm@gentoo.org>2009-12-14 19:36:42 +0100
committerChristian Faulhammer <fauli@gentoo.org>2010-01-11 21:38:28 +0100
commit51690686a39149f89a64b80b5d6074cc56c46e1a (patch)
tree5f670305fe6e4860fe210a9f9f01c2a8cc5c7d28 /merge.tex
parentFix spelling of "unofficial". (diff)
downloadpms-51690686a39149f89a64b80b5d6074cc56c46e1a.tar.gz
pms-51690686a39149f89a64b80b5d6074cc56c46e1a.tar.bz2
pms-51690686a39149f89a64b80b5d6074cc56c46e1a.zip
Preserve modification times of regular files in EAPI 3.
See bug 264130 and council meetings of 2009-10-12 and 2009-12-07. Signed-off-by: Ulrich Mueller <ulm@gentoo.org>
Diffstat (limited to 'merge.tex')
-rw-r--r--merge.tex43
1 files changed, 41 insertions, 2 deletions
diff --git a/merge.tex b/merge.tex
index 91db3fb..e798f2d 100644
--- a/merge.tex
+++ b/merge.tex
@@ -60,8 +60,47 @@ as follows:
set*id bit set.
\end{compactitem}
-On SELinux systems, the SELinux context must also be preserved. Other file attributes, including
-modification time, may be discarded.
+On SELinux systems, the SELinux context must also be preserved. Other
+file attributes may be discarded.
+
+\subsection{File modification times}
+
+\featurelabel{mtime-preserve}
+In EAPIs listed in table~\ref{tab:mtime-preserve}, the package manager
+must preserve modification times of regular files. This includes files
+being compressed before merging. Exceptions to this are files newly
+created by the package manager and binary object files being stripped
+of symbols.
+
+When preserving, the seconds part of every regular file's mtime must
+be preserved exactly. The sub-second part must either be set to zero,
+or set to the greatest value supported by the operating system and
+filesystem that is not greater than the sub-second part of the
+original time.
+
+For any given destination filesystem, the package manager must ensure
+that for any two preserved files $a$, $b$ in that filesystem the
+relation $\mbox{mtime}(a) \leq \mbox{mtime}(b)$ still holds, if it
+held under the original image directory.
+
+In other EAPIs, the behaviour with respect to file modification times
+is undefined.
+
+\begin{centertable}{Preservation of file modification times (mtimes)}
+ \label{tab:mtime-preserve}
+ \begin{tabular}{ l l }
+ \toprule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
+ \midrule
+ \t{0} & Undefined \\
+ \t{1} & Undefined \\
+ \t{2} & Undefined \\
+ \t{3} & Yes \\
+ \t{4} & Yes \\
+ \bottomrule
+ \end{tabular}
+\end{centertable}
\subsection{Configuration File Protection}
\label{sec:config-protect}