Move internal labeling helper to ostree
This way it can more easily be reused by Anaconda: https://git.gnome.org/browse/ostree/commit/?id=e11de9357cea643b45a2e5e3f94d33dbd84d9ca3
This commit is contained in:
parent
d4972ede5d
commit
2e97051d74
@ -27,12 +27,7 @@ rpm-ostree-autobuilder: src/autobuilder/rpm-ostree-autobuilder.in Makefile
|
|||||||
EXTRA_DIST += src/autobuilder/rpm-ostree-autobuilder.in
|
EXTRA_DIST += src/autobuilder/rpm-ostree-autobuilder.in
|
||||||
|
|
||||||
autobuilder_privlibdir=$(libdir)/$(PACKAGE)-autobuilder
|
autobuilder_privlibdir=$(libdir)/$(PACKAGE)-autobuilder
|
||||||
autobuilder_privlib_PROGRAMS = rpm-ostree-relabeling-helper
|
autobuilder_privlib_PROGRAMS = rpm-ostree-autobuilder-builtin-console
|
||||||
rpm_ostree_relabeling_helper_SOURCES = src/rpm-ostree-relabeling-helper.c
|
|
||||||
rpm_ostree_relabeling_helper_CFLAGS = $(AM_CFLAGS) $(PKGDEP_RPMOSTREE_CFLAGS)
|
|
||||||
rpm_ostree_relabeling_helper_LDADD = $(AM_LDFLAGS) $(PKGDEP_RPMOSTREE_LIBS)
|
|
||||||
|
|
||||||
autobuilder_privlib_PROGRAMS += rpm-ostree-autobuilder-builtin-console
|
|
||||||
rpm_ostree_autobuilder_builtin_console_SOURCES = src/autobuilder/rpm-ostree-autobuilder-builtin-console.c
|
rpm_ostree_autobuilder_builtin_console_SOURCES = src/autobuilder/rpm-ostree-autobuilder-builtin-console.c
|
||||||
rpm_ostree_autobuilder_builtin_console_CFLAGS = $(AM_CFLAGS) $(PKGDEP_RPMOSTREE_CFLAGS)
|
rpm_ostree_autobuilder_builtin_console_CFLAGS = $(AM_CFLAGS) $(PKGDEP_RPMOSTREE_CFLAGS)
|
||||||
rpm_ostree_autobuilder_builtin_console_LDADD = $(AM_LDFLAGS) $(PKGDEP_RPMOSTREE_LIBS) -lreadline
|
rpm_ostree_autobuilder_builtin_console_LDADD = $(AM_LDFLAGS) $(PKGDEP_RPMOSTREE_LIBS) -lreadline
|
||||||
|
@ -397,17 +397,18 @@ function pullDeploy(mntdir, srcrepo, osname, target, revision, originRepoUrl, ca
|
|||||||
let tmpOrigin = Gio.File.new_for_path('origin.tmp');
|
let tmpOrigin = Gio.File.new_for_path('origin.tmp');
|
||||||
tmpOrigin.replace_contents(originData, null, false, Gio.FileCreateFlags.REPLACE_DESTINATION, cancellable);
|
tmpOrigin.replace_contents(originData, null, false, Gio.FileCreateFlags.REPLACE_DESTINATION, cancellable);
|
||||||
|
|
||||||
adminCmd.push('deploy');
|
let deployCmd = adminCmd.concat([]);
|
||||||
|
deployCmd.push('deploy');
|
||||||
|
|
||||||
let rootArg = 'root=UUID=' + ROOT_UUID;
|
let rootArg = 'root=UUID=' + ROOT_UUID;
|
||||||
adminCmd.push('--karg=' + rootArg);
|
deployCmd.push('--karg=' + rootArg);
|
||||||
|
|
||||||
for (let i = 0; i < params.addKernelArgs.length; i++)
|
for (let i = 0; i < params.addKernelArgs.length; i++)
|
||||||
adminCmd.push('--karg=' + params.addKernelArgs[i]);
|
deployCmd.push('--karg=' + params.addKernelArgs[i]);
|
||||||
|
|
||||||
adminCmd.push.apply(adminCmd, ['--os=' + osname, '--origin-file=' + tmpOrigin.get_path(), revOrTarget]);
|
deployCmd.push.apply(deployCmd, ['--os=' + osname, '--origin-file=' + tmpOrigin.get_path(), revOrTarget]);
|
||||||
|
|
||||||
ProcUtil.runSync(adminCmd, cancellable,
|
ProcUtil.runSync(deployCmd, cancellable,
|
||||||
{logInitiation: true, env: adminEnv});
|
{logInitiation: true, env: adminEnv});
|
||||||
|
|
||||||
let sysroot = OSTree.Sysroot.new(mntdir);
|
let sysroot = OSTree.Sysroot.new(mntdir);
|
||||||
@ -423,11 +424,8 @@ UUID=' + SWAP_UUID + ' swap swap defaults 0 0\n';
|
|||||||
fstabPath.replace_contents(defaultFstab, null, false, Gio.FileCreateFlags.REPLACE_DESTINATION, cancellable);
|
fstabPath.replace_contents(defaultFstab, null, false, Gio.FileCreateFlags.REPLACE_DESTINATION, cancellable);
|
||||||
|
|
||||||
print("Labeling deployment root");
|
print("Labeling deployment root");
|
||||||
let libdir = Gio.File.new_for_path(GLib.getenv('OSTBUILD_LIBDIR'));
|
let relabelCmd = adminCmd.concat(['selinux-ensure-labeled', newDeploymentDirectory.get_path(), ""]);
|
||||||
ProcUtil.runSync([libdir.get_child('rpm-ostree-relabeling-helper').get_path(),
|
ProcUtil.runSync(relabelCmd,
|
||||||
newDeploymentDirectory.get_path(),
|
|
||||||
newDeploymentDirectory.get_path(),
|
|
||||||
""],
|
|
||||||
cancellable,
|
cancellable,
|
||||||
{ logInitiation: true });
|
{ logInitiation: true });
|
||||||
};
|
};
|
||||||
|
@ -80,13 +80,8 @@ const TaskEnsureDiskCaches = new Lang.Class({
|
|||||||
LibQA.pullDeploy(mntdir, this.repo, osname, ref, revision, originRepoUrl,
|
LibQA.pullDeploy(mntdir, this.repo, osname, ref, revision, originRepoUrl,
|
||||||
cancellable, { addKernelArgs: addKernelArgs });
|
cancellable, { addKernelArgs: addKernelArgs });
|
||||||
print("Doing initial labeling");
|
print("Doing initial labeling");
|
||||||
let sysroot = OSTree.Sysroot.new(mntdir);
|
ProcUtil.runSync(['ostree', 'admin', '--sysroot=' + mntdir.get_path(),
|
||||||
sysroot.load(null);
|
'selinux-ensure-labeled',
|
||||||
let deployments = sysroot.get_deployments();
|
|
||||||
let newDeployment = deployments[0];
|
|
||||||
let newDeploymentDirectory = sysroot.get_deployment_directory(newDeployment);
|
|
||||||
ProcUtil.runSync([this.libdir.get_child('rpm-ostree-relabeling-helper').get_path(),
|
|
||||||
newDeploymentDirectory.get_path(),
|
|
||||||
mntdir.get_path(),
|
mntdir.get_path(),
|
||||||
""],
|
""],
|
||||||
cancellable,
|
cancellable,
|
||||||
|
Loading…
Reference in New Issue
Block a user