local file s
local count=0
- find "${D}/" -user portage | while read file; do
+ find "${D}/" -user @portageuser@ | while read file; do
count=$(( $count + 1 ))
if [ -L "${file}" ]; then
lchown ${PORTAGE_INST_UID} "${file}"
fi
count=0
- find "${D}/" -group portage | while read file; do
+ find "${D}/" -group @portagegroup@ | while read file; do
count=$(( $count + 1 ))
if [ -L "${file}" ]; then
lchgrp ${PORTAGE_INST_GID} "${file}"
[rootuser=root])
AC_ARG_WITH(offset-prefix,
-AC_HELP_STRING([--with-offset-prefix], [specific the offset prefix, defaults to /]),
+AC_HELP_STRING([--with-offset-prefix], [specify the offset prefix, defaults to /]),
[DOMAIN_PREFIX=$withval],
[DOMAIN_PREFIX='/'])
del use_defs_lists
try:
- mygcfg_dlists = [getconfig(os.path.join(x, "make.globals")) for x in self.profiles+["/etc"]]
+ mygcfg_dlists = [getconfig(os.path.join(x, "make.globals")) for x in self.profiles+[portage_const.SYSCONFDIR]]
self.mygcfg = stack_dicts(mygcfg_dlists, incrementals=portage_const.INCREMENTALS, ignore_none=1)
if self.mygcfg == None:
if not os.path.exists(root+portage_const.PREFIX+"/tmp"):
writemsg(">>> "+root+portage_const.PREFIX+"/tmp doesn't exist, creating it...\n")
os.mkdir(root+portage_const.PREFIX+"/tmp",01777)
-if not os.path.exists(root+portage_const.PREFIX+"var/tmp"):
- writemsg(">>> "+root+portage_const.PREFIX+"var/tmp doesn't exist, creating it...\n")
+if not os.path.exists(root+portage_const.PREFIX+"/var/tmp"):
+ writemsg(">>> "+root+portage_const.PREFIX+"/var/tmp doesn't exist, creating it...\n")
try:
- os.mkdir(root+portage_const.PREFIX+"var",0755)
+ os.mkdir(root+portage_const.PREFIX+"/var",0755)
except (OSError,IOError):
pass
try:
- os.mkdir(root+portage_const.PREFIX+"var/tmp",01777)
+ os.mkdir(root+portage_const.PREFIX+"/var/tmp",01777)
except SystemExit, e:
raise
except:
writemsg("portage: couldn't create "+root+portage_const.PREFIX+"/var/tmp; exiting.\n")
sys.exit(1)
-if not os.path.exists(root+portage_const.PREFIX+"var/lib/portage"):
- writemsg(">>> "+root+portage_const.PREFIX+"var/lib doesn't exist, creating it...\n")
+if not os.path.exists(root+portage_const.PREFIX+"/var/lib/portage"):
+ writemsg(">>> "+root+portage_const.PREFIX+"/var/lib doesn't exist, creating it...\n")
try:
- os.mkdir(root+portage_const.PREFIX+"var",0755)
+ os.mkdir(root+portage_const.PREFIX+"/var",0755)
except (OSError,IOError):
pass
try:
- os.mkdir(root+portage_const.PREFIX+"var/lib",0755)
+ os.mkdir(root+portage_const.PREFIX+"/var/lib",0755)
except (OSError,IOError):
pass
try:
- os.mkdir(root+portage_const.PREFIX+"var/lib/portage",0755)
+ os.mkdir(root+portage_const.PREFIX+"/var/lib/portage",0755)
except SystemExit, e:
raise
except:
- writemsg("portage: couldn't create "+root+portage_const.PREFIX+"var/lib/portage; exiting.\n")
+ writemsg("portage: couldn't create "+root+portage_const.PREFIX+"/var/lib/portage; exiting.\n")
sys.exit(1)
if not os.path.exists(root+portage_const.PORTAGE_BASE+""):
writemsg(">>> "+root+portage_const.PORTAGE_BASE+" doesn't exist, creating it...\n")
try:
- os.mkdir(root+portage_const.PREFIX+"var",0755)
+ os.mkdir(root+portage_const.PREFIX+"/var",0755)
except (OSError,IOError):
pass
try:
"version", "starttime",
"resume", "ldpath"
]
-mtimedbfile=root+portage_const.PREFIX+"var/cache/edb/mtimedb"
+mtimedbfile=root+portage_const.CACHE_PATH+"/mtimedb"
try:
mypickle=cPickle.Unpickler(open(mtimedbfile))
mypickle.find_global=None
# START OF CONSTANTS -- START OF CONSTANTS -- START OF CONSTANTS -- START OF
# ===========================================================================
-VDB_PATH = PREFIX+"var/db/pkg"
+VDB_PATH = PREFIX+"/var/db/pkg"
PRIVATE_PATH = PREFIX+"/var/lib/portage"
CACHE_PATH = PREFIX+"/var/cache/edb"
DEPCACHE_PATH = CACHE_PATH+"/dep"
INCREMENTALS=["USE","USE_EXPAND","USE_EXPAND_HIDDEN","FEATURES","ACCEPT_KEYWORDS","ACCEPT_LICENSE","CONFIG_PROTECT_MASK","CONFIG_PROTECT","PRELINK_PATH","PRELINK_PATH_MASK"]
STICKIES=["KEYWORDS_ACCEPT","USE","CFLAGS","CXXFLAGS","MAKEOPTS","EXTRA_ECONF","EXTRA_EINSTALL","EXTRA_EMAKE"]
EBUILD_PHASES = ["setup","unpack","compile","test","install","preinst","postinst","prerm","postrm"]
-DEFAULT_PATH = ":".join(map(lambda x: os.path.join(PREFIX, x), ["/sbin", "/usr/sbin/", "/bin", "/usr/bin"]))
+DEFAULT_PATH = ":".join(map(lambda x: os.path.normpath(os.path.join(PREFIX, x)), ["/sbin", "/usr/sbin", "/bin", "/usr/bin"]))
EAPI = "prefix"
__all__ = ["PREFIX", "SYSCONFDIR", "PORTAGE_BASE", "portageuser", "portagegroup", "rootuser", "wheelgid", "wheelgroup"]
-PREFIX="@DOMAIN_PREFIX@/"
-SYSCONFDIR="@sysconfdir@/"
-PORTAGE_BASE="@PORTAGE_BASE@/"
+from os import path
+
+PREFIX=path.normpath("@DOMAIN_PREFIX@")
+SYSCONFDIR=path.normpath("@sysconfdir@")
+PORTAGE_BASE=path.normpath("@PORTAGE_BASE@")
portagegroup="@portagegroup@"
portageuser="@portageuser@"
rootuser="@rootuser@"
elif ostype in ["FreeBSD","OpenBSD","NetBSD"]:
userland="BSD"
os.environ["XARGS"]="xargs"
+elif ostype in ["BeOS","Haiku","HP-UX","SunOS"]
+ userland="GNU"
+ os.environ["XARGS"]="xargs"
else:
writemsg(red("Operating system")+" \""+ostype+"\" "+red("currently unsupported. Exiting.")+"\n")
sys.exit(1)
#Discover the uid and gid of the portage user/group
try:
- portage_uid=pwd.getpwnam("portage")[2]
- portage_gid=grp.getgrnam("portage")[2]
+ portage_uid=pwd.getpwnam(portage_const.portageuser)[2]
+ portage_gid=grp.getgrnam(portage_const.portagegroup)[2]
if (secpass==0):
secpass=1
except KeyError:
portage_uid=0
portage_gid=wheelgid
writemsg("\n")
- writemsg( red("portage: 'portage' user or group missing. Please update baselayout\n"))
+ writemsg( red("portage: "+portage_const.portageuser+" user or group missing. Please update baselayout\n"))
writemsg( red(" and merge portage user(250) and group(250) into your passwd\n"))
writemsg( red(" and group files. Non-root compilation is disabled until then.\n"))
writemsg( " Also note that non-root/wheel users will need to be added to\n")
ALLOCA=@ALLOCA@
portageuser=@portageuser@
portagegroup=@portagegroup@
+wheelgid=@wheelgid@
wheelgroup=@wheelgroup@
rootuser=@rootuser@
DOMAIN_PREFIX=@DOMAIN_PREFIX@
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 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 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'