[pacman-dev] [PATCH] makepkg: warn about repackaging without a package function
File permissions are not guaranteed to stay the same on exit from fakeroot, so repackaging may result in files with different permissions. This is avioded when using a package() function (or split packages) as the packaging step is rerun. Signed-off-by: Allan McRae <allan@archlinux.org> --- Two areas to comment on: 1) "makepkg -R --asroot" does not give this warning. This is because it is assumed that the initial packaging stage was also done as root and so file permissions will be correct. Is that a fair assumption? 2) Should we depricate repackaging without a package function in pacman-3.5? Using a package function was supported in 3.3 and using only a package function (no build function) will be supported in 3.4. If that is reasonable, I will alter the warning and add it to the --asroot case too. scripts/makepkg.sh.in | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index b2b449c..09a99e1 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1847,9 +1847,14 @@ fi if (( INFAKEROOT )); then if (( ! SPLITPKG )); then if (( ! PKGFUNC )); then - if (( BUILDFUNC && ! REPKG )); then - run_build - tidy_install + if (( ! REPKG )); then + if (( BUILDFUNC )); then + run_build + tidy_install + fi + else + warning "$(gettext "Repackaging without the use of a package() function may not")" + plain "$(gettext "preserve file permissions.")" fi else run_package -- 1.7.0.5
On Wed, Apr 14, 2010 at 8:29 AM, Allan McRae <allan@archlinux.org> wrote:
File permissions are not guaranteed to stay the same on exit from fakeroot, so repackaging may result in files with different permissions. This is avioded when using a package() function (or split packages) as the packaging step is rerun.
Signed-off-by: Allan McRae <allan@archlinux.org> ---
Two areas to comment on:
1) "makepkg -R --asroot" does not give this warning. This is because it is assumed that the initial packaging stage was also done as root and so file permissions will be correct. Is that a fair assumption?
2) Should we depricate repackaging without a package function in pacman-3.5? Using a package function was supported in 3.3 and using only a package function (no build function) will be supported in 3.4. If that is reasonable, I will alter the warning and add it to the --asroot case too.
I would deprecate all pkgbuilds that do not have a package() function. But I find it especially nicer when using -R, so I am totally for that warning in that case.
participants (2)
-
Allan McRae
-
Xavier Chantry