- semanage_migrate_store: add -r <root> option for migrating inside chroots
This commit is contained in:
Petr Lautrbach 2015-05-12 19:31:02 +02:00
parent 153a29f02a
commit 0df50b80dd
1 changed files with 42 additions and 0 deletions

View File

@ -11,3 +11,45 @@ index 4d25b07..32cc33c 100644
};
int fd;
FILE *fptr;
diff --git libsemanage-2.4/utils/semanage_migrate_store libsemanage-2.4/utils/semanage_migrate_store
index 03b492e..6584002 100755
--- libsemanage-2.4/utils/semanage_migrate_store
+++ libsemanage-2.4/utils/semanage_migrate_store
@@ -221,7 +221,7 @@ def rebuild_policy():
def oldroot_path():
- return "/etc/selinux"
+ return "%s/etc/selinux" % ROOT
def oldstore_path(store):
return "%s/%s/modules/active" % (oldroot_path(), store)
@@ -233,7 +233,7 @@ def disabledmodules_path(store):
return "%s/disabled" % newmodules_path(store)
def newroot_path():
- return PATH
+ return "%s%s" % (ROOT, PATH)
def newstore_path(store):
return "%s/%s/active" % (newroot_path(), store)
@@ -260,6 +260,8 @@ if __name__ == "__main__":
help="Disable rebuilding policy after migration (default: no)")
parser.add_option("-P", "--path", dest="path",
help="Set path for the policy store (default: /var/lib/selinux)")
+ parser.add_option("-r", "--root", dest="root",
+ help="Set an alternative root for the migration (default: /)")
(options, args) = parser.parse_args()
@@ -272,6 +274,10 @@ if __name__ == "__main__":
if PATH is None:
PATH = "/var/lib/selinux"
+ ROOT = options.root
+ if ROOT is None:
+ ROOT = ""
+
# List of paths that go in the active 'root'
TOPPATHS = [
"commit_num",