--- portage.py.orig 2006-02-19 19:58:31.000000000 -0500 +++ portage.py 2006-02-26 19:11:09.283446470 -0500 @@ -1974,11 +1974,11 @@ myfetch=string.replace(myfetch,"${FILE}",myfile) try: if selinux_enabled: - con=selinux.getcontext() + con=selinux.getcon()[1] con=string.replace(con,mysettings["PORTAGE_T"],mysettings["PORTAGE_FETCH_T"]) - selinux.setexec(con) + selinux_aux.setexec(con) myret=spawn(myfetch,mysettings,free=1, droppriv=("userfetch" in mysettings.features)) - selinux.setexec(None) + selinux_aux.setexec(None) else: myret=spawn(myfetch,mysettings,free=1, droppriv=("userfetch" in mysettings.features)) finally: @@ -2394,13 +2394,13 @@ # spawn ebuild.sh mycommand = EBUILD_SH_BINARY + " " if selinux_enabled and ("sesandbox" in features) and (mydo in ["unpack","compile","test","install"]): - con=selinux.getcontext() + con=selinux.getcon()[1] con=string.replace(con,mysettings["PORTAGE_T"],mysettings["PORTAGE_SANDBOX_T"]) - selinux.setexec(con) + selinux_aux.setexec(con) retval=spawn(mycommand + mydo,mysettings,debug=debug, free=actionmap[mydo]["args"][0], droppriv=actionmap[mydo]["args"][1],logfile=logfile) - selinux.setexec(None) + selinux_aux.setexec(None) else: retval=spawn(mycommand + mydo,mysettings, debug=debug, free=actionmap[mydo]["args"][0], @@ -2970,8 +2970,8 @@ if destexists and not stat.S_ISDIR(dstat[stat.ST_MODE]): os.unlink(dest) if selinux_enabled: - sid = selinux.get_lsid(src) - selinux.secure_symlink(target,dest,sid) + sid = selinux.lgetfilecon(src)[1] + selinux_aux.secure_symlink(target,dest,sid) else: os.symlink(target,dest) lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID]) @@ -2994,7 +2994,7 @@ if sstat[stat.ST_DEV]==dstat[stat.ST_DEV] or selinux_enabled: try: if selinux_enabled: - ret=selinux.secure_rename(src,dest) + ret=selinux_aux.secure_rename(src,dest) else: ret=os.rename(src,dest) renamefailed=0 @@ -3013,8 +3013,8 @@ if stat.S_ISREG(sstat[stat.ST_MODE]): try: # For safety copy then move it over. if selinux_enabled: - selinux.secure_copy(src,dest+"#new") - selinux.secure_rename(dest+"#new",dest) + selinux_aux.secure_copy(src,dest+"#new") + selinux_aux.secure_rename(dest+"#new",dest) else: shutil.copyfile(src,dest+"#new") os.rename(dest+"#new",dest) @@ -6244,8 +6244,8 @@ print "bak",mydest,mydest+".backup" #now create our directory if selinux_enabled: - sid = selinux.get_sid(mysrc) - selinux.secure_mkdir(mydest,sid) + sid = selinux.getfilecon(mysrc)[1] + selinux_aux.secure_mkdir(mydest,sid) else: os.mkdir(mydest) if bsd_chflags: @@ -6256,8 +6256,8 @@ else: #destination doesn't exist if selinux_enabled: - sid = selinux.get_sid(mysrc) - selinux.secure_mkdir(mydest,sid) + sid = selinux.getfilecon(mysrc)[1] + selinux_aux.secure_mkdir(mydest,sid) else: os.mkdir(mydest) os.chmod(mydest,mystat[0]) @@ -6659,20 +6659,22 @@ if 'selinux' in settings["USE"].split(" "): try: - import selinux - if hasattr(selinux, "enabled"): - selinux_enabled = selinux.enabled + import selinux, selinux_aux + # the return for this is -1, 0, or 1: + if selinux.is_selinux_enabled() == 1: + selinux_enabled=1 else: - selinux_enabled = 1 + selinux_enabled=0 except OSError, e: writemsg(red("!!! SELinux not loaded: ")+str(e)+"\n") selinux_enabled=0 except ImportError: - writemsg(red("!!! SELinux module not found.")+" Please verify that it was installed.\n") + writemsg(red("!!! SELinux modules not found.")+" Please verify that they were installed.\n") selinux_enabled=0 if selinux_enabled == 0: try: del sys.modules["selinux"] + del sys.modules["selinux_aux"] except KeyError: pass else: