Empty parameters may be passed i.e. when calling install_archive with
UID/GID set to '-'. According to documentation this should preserve the
owner/group stored in the archive. Without this patch, empty strings are
mapped to the first entry in /etc/{passwd,group} (usually 0) instead,
thus breaking the documented behaviour.

Signed-off-by: Andrej Gantvorg <[email protected]>
---
  scripts/lib/ptxd_make_xpkg_pkg.sh | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/lib/ptxd_make_xpkg_pkg.sh 
b/scripts/lib/ptxd_make_xpkg_pkg.sh
index b3f2f20f3..0ec1c9b2a 100644
--- a/scripts/lib/ptxd_make_xpkg_pkg.sh
+++ b/scripts/lib/ptxd_make_xpkg_pkg.sh
@@ -79,12 +79,12 @@ export -f ptxd_install_getent_id
  # convert usr/grp that contain names into numeric values
  #
  ptxd_install_resolve_usr_grp() {
-    if ! [ 0 -le $usr ] 2>/dev/null; then
+    if ! [ 0 -le "$usr" ] 2>/dev/null && ! [ -z "$usr" ] ; then
     ptxd_install_getent_id usr || return
      else
     unset usr_name
      fi
-    if ! [ 0 -le $grp ] 2>/dev/null; then
+    if ! [ 0 -le "$grp" ] 2>/dev/null && ! [ -z "$grp" ] ; then
     ptxd_install_getent_id grp || return
      else
     unset grp_name
-- 
2.11.3
_______________________________________________
ptxdist mailing list
[email protected]

Reply via email to