From: Kito Date: Fri, 17 Mar 2006 22:15:37 +0000 (-0000) Subject: perms fix for webrsync, remove wheelgroup from configure.in. X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=dd7a1ca579445d813545e56706bf57d419bde625;p=portage.git perms fix for webrsync, remove wheelgroup from configure.in. svn path=/main/branches/prefix/; revision=2920 --- diff --git a/bin/emerge-webrsync b/bin/emerge-webrsync index 8df407cb7..4d5849f06 100755 --- a/bin/emerge-webrsync +++ b/bin/emerge-webrsync @@ -16,7 +16,8 @@ PORTDIR="$(@PORTAGE_BASE@/bin/portageq portdir)" FETCHCOMMAND="$(@PORTAGE_BASE@/bin/portageq envvar FETCHCOMMAND)" USERLAND="$(@PORTAGE_BASE@/bin/portageq envvar USERLAND)" DISTDIR="$(@PORTAGE_BASE@/bin/portageq envvar PORTAGE_TMPDIR)/emerge-webrsync" - +PORTAGE_INST_UID="$(@PORTAGE_BASE@/bin/portageq envvar PORTAGE_INST_UID)" +PORTAGE_INST_GID="$(@PORTAGE_BASE@/bin/portageq envvar PORTAGE_INST_GID)" if [ ! -d $DISTDIR ] ; then mkdir -p $DISTDIR fi @@ -49,7 +50,7 @@ fi sync_local() { echo Syncing local tree... if type -p tarsync &> /dev/null; then - if ! tarsync "${FILE}" "${PORTDIR}" -v -s 1 -o @rootuser@ -g @wheelgroup@ -e /distfiles -e /packages -e /local; then + if ! tarsync "${FILE}" "${PORTDIR}" -v -s 1 -o ${PORTAGE_INST_UID} -g ${PORTAGE_INST_GID} -e /distfiles -e /packages -e /local; then echo "tarsync failed; tarball is corrupt?" exit 1; fi @@ -61,8 +62,8 @@ sync_local() { exit 1 fi rm -f $FILE - # Make sure user and group file ownership is root - chown -R 0:0 portage + # Make sure user and group file ownership is ${PORTAGE_INST_UID}:${PORTAGE_INST_GID} + chown -R ${PORTAGE_INST_UID}:${PORTAGE_INST_GID} portage cd portage rsync -av --progress --stats --delete --delete-after \ --exclude='/distfiles' --exclude='/packages' \ diff --git a/configure.in b/configure.in index 50582a59b..502a6b0a9 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(portage, 2.1.5-prefix, kito@gentoo.org) +AC_INIT(portage, 2.1.11-prefix, kito@gentoo.org) case "${prefix}" in '') AC_MSG_ERROR([bad value ${prefix} for --prefix, must not be empty]) ;; @@ -80,8 +80,8 @@ if test "x${PERL}" = "x"; then ) fi -AC_PATH_PROG(BASENAME, basename, /bin/basename) -AC_PATH_PROG(DIRNAME, dirname, /usr/bin/dirname) +AC_PATH_PROGS(BASENAME, [gbasename basename], /bin/basename) +AC_PATH_PROGS(DIRNAME, [gdirname dirname], /usr/bin/dirname) AC_PATH_PROG(DIALOG, dialog, /usr/bin/dialog) AC_PATH_PROG(WGET, wget, /usr/bin/wget) AC_PATH_PROG(INSTALL_INFO, install-info, /usr/bin/install-info) @@ -94,12 +94,13 @@ AC_PATH_PROGS(GPG, [gpg pgp], /usr/bin/gpg) AC_PATH_PROG(INSTALL_INFO, install-info, /usr/bin/install-info) AC_PATH_PROG(MD5SUM, md5sum, /usr/bin/md5sum) AC_PATH_PROG(LOGGER, logger, /usr/bin/logger) -AC_PATH_PROG(FIND, find, /usr/bin/find) -AC_PATH_PROG(FILE, file, /usr/bin/file) +AC_PATH_PROGS(FIND, [gfind find], /usr/bin/find) +AC_PATH_PROGS(FILE, [gfile file], /usr/bin/file) AC_PATH_PROG(READELF, readelf, /usr/bin/readelf) AC_PATH_PROG(SETFILES, setfiles, /usr/sbin/setfiles) AC_PATH_PROG(FAKEROOT, fakeroot, /usr/bin/fakeroot) - +AC_PATH_PROGS(DIFF, [gdiff diff], /usr/bin/diff) +AC_PATH_PROGS(PATCH, [gpatch patch], /usr/bin/patch) dnl Checks for libraries. dnl Replace `main' with a function in -lc: AC_CHECK_LIB(c, main) @@ -171,14 +172,6 @@ AC_HELP_STRING([--with-group=mygroup],[use group 'mygroup' for portage to work a esac], [portagegroup="portage"]) -AC_ARG_WITH(wheelgroup, -AC_HELP_STRING([--with-wheelgroup=wheelgroup],[let portage use 'wheelgroup' as wheel group (default wheel)]), -[case "${withval}" in - ""|yes) AC_MSG_ERROR(bad value ${withval} for --with-wheelgroup);; - *) wheelgroup="${withval}";; -esac], -[wheelgroup="wheel"]) - AC_ARG_WITH(wheelgid, AC_HELP_STRING([--with-wheelgid=wheelgid],[let portage use 'wheelgid' as wheel group (default 0)]), [case "${withval}" in @@ -245,7 +238,6 @@ AC_CONFIG_FILES([ cnf/Makefile ]) AC_SUBST(portageuser) AC_SUBST(portagegroup) -AC_SUBST(wheelgroup) AC_SUBST(wheelgid) AC_SUBST(rootuser) AC_SUBST(rootuid) diff --git a/man/Makefile.in b/man/Makefile.in index 1be8cd69b..1bc34c7d8 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -170,7 +170,7 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -wheelgroup = @wheelgroup@ +wheelgid = @wheelgid@ man_MANS = dispatch-conf.1 \ ebuild.1 \ ebuild.5 \ diff --git a/pym/portage_const_autotool.py b/pym/portage_const_autotool.py index efea55a60..177c98616 100644 --- a/pym/portage_const_autotool.py +++ b/pym/portage_const_autotool.py @@ -5,7 +5,7 @@ # all vars that are to wind up in portage_const must have their name listed in __all__ -__all__ = ["PREFIX", "SYSCONFDIR", "PORTAGE_BASE", "portageuser", "portagegroup", "rootuser", "rootuid", "wheelgid", "wheelgroup"] +__all__ = ["PREFIX", "SYSCONFDIR", "PORTAGE_BASE", "portageuser", "portagegroup", "rootuser", "rootuid", "wheelgid" from os import path @@ -15,6 +15,5 @@ PORTAGE_BASE=path.normpath("@PORTAGE_BASE@") portagegroup="@portagegroup@" portageuser="@portageuser@" rootuser="@rootuser@" -rootuid="@rootuid@" -wheelgid="@wheelgid@" -wheelgroup="@wheelgroup@" +rootuid=int("@rootuid@") +wheelgid=int("@wheelgid@") diff --git a/pym/portage_data.py b/pym/portage_data.py index 28e1a0ec4..4252821c8 100644 --- a/pym/portage_data.py +++ b/pym/portage_data.py @@ -57,12 +57,11 @@ secpass=0 uid=os.getuid() wheelgid=portage_const.wheelgid -wheelgroup=portage_const.wheelgroup +wheelgroup=grp.getgrgid(portage_const.wheelgid)[0] if uid==0 or uid==int(portage_const.rootuid): secpass=2 try: - wheelgid=grp.getgrnam(wheelgroup)[2] if (not secpass) and (wheelgid in os.getgroups()): secpass=1 except KeyError: diff --git a/src/Makefile.in b/src/Makefile.in index a9980b02d..0763463c4 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -195,7 +195,7 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -wheelgroup = @wheelgroup@ +wheelgid= @wheelgid@ SUBDIRS = $(am__append_2) tbz2tool_SOURCES = tbz2tool.c MAINTAINERCLEANFILES = Makefile.in diff --git a/subst-install.vars.in.in b/subst-install.vars.in.in index 10099c636..149e44b35 100644 --- a/subst-install.vars.in.in +++ b/subst-install.vars.in.in @@ -108,7 +108,6 @@ ALLOCA=@ALLOCA@ portageuser=@portageuser@ portagegroup=@portagegroup@ wheelgid=@wheelgid@ -wheelgroup=@wheelgroup@ rootuser=@rootuser@ DOMAIN_PREFIX=@DOMAIN_PREFIX@ ARCH=@ARCH@ @@ -131,4 +130,4 @@ abs_builddir=@abs_builddir@ top_builddir=@top_builddir@ abs_top_builddir=@abs_top_builddir@ INSTALL=@INSTALL@ -all_configurevars=' SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S EGREP XCU_ID RM MV SED BASH PYTHON PERL BASENAME DIRNAME DIALOG WGET INSTALL_INFO SANDBOX PRELINK RSYNC CVS GPG MD5SUM LOGGER FIND FILE READELF SETFILES FAKEROOT CPP ALLOCA portageuser portagegroup wheelgid wheelgroup rootuser DOMAIN_PREFIX ARCH PORTAGE_BASE INSTALL_PYTHON_SOURCES_TRUE INSTALL_PYTHON_SOURCES_FALSE BUILD_TBZ2TOOL_TRUE BUILD_TBZ2TOOL_FALSE BUILD_MISSINGOS_TRUE BUILD_MISSINGOS_FALSE LIBOBJS LTLIBOBJS configure_input srcdir abs_srcdir top_srcdir abs_top_srcdir builddir abs_builddir top_builddir abs_top_builddir INSTALL' +all_configurevars=' SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S EGREP XCU_ID RM MV SED BASH PYTHON PERL BASENAME DIRNAME DIALOG WGET INSTALL_INFO SANDBOX PRELINK RSYNC CVS GPG MD5SUM LOGGER FIND FILE READELF SETFILES FAKEROOT CPP ALLOCA portageuser portagegroup wheelgid rootuser DOMAIN_PREFIX ARCH PORTAGE_BASE INSTALL_PYTHON_SOURCES_TRUE INSTALL_PYTHON_SOURCES_FALSE BUILD_TBZ2TOOL_TRUE BUILD_TBZ2TOOL_FALSE BUILD_MISSINGOS_TRUE BUILD_MISSINGOS_FALSE LIBOBJS LTLIBOBJS configure_input srcdir abs_srcdir top_srcdir abs_top_srcdir builddir abs_builddir top_builddir abs_top_builddir INSTALL'