Pino Toscano
2014-Dec-05 14:28 UTC
[Libguestfs] [PATCH] customize, sysprep: add a short SELinux note
Add a short paragraph about SELinux, mostly to point to the documentation about it provided in the documentation of virt-builder. --- customize/virt-customize.pod | 8 ++++++++ sysprep/virt-sysprep.pod | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/customize/virt-customize.pod b/customize/virt-customize.pod index a666be7..8dbdfef 100644 --- a/customize/virt-customize.pod +++ b/customize/virt-customize.pod @@ -209,6 +209,14 @@ Enable tracing of libguestfs API calls. __CUSTOMIZE_OPTIONS__ +=head1 SELINUX + +For guests which make use of SELinux, special handling for them might +be needed when using operations which create new files or alter +existing ones. + +For further details, see L<virt-builder(1)/SELINUX>. + =head1 EXIT STATUS This program returns 0 on success, or 1 if there was an error. diff --git a/sysprep/virt-sysprep.pod b/sysprep/virt-sysprep.pod index 5b88863..970abce 100644 --- a/sysprep/virt-sysprep.pod +++ b/sysprep/virt-sysprep.pod @@ -509,6 +509,14 @@ module: cp template.img newguest.img virt-sysprep --enable customize -a newguest.img +=head1 SELINUX + +For guests which make use of SELinux, special handling for them might +be needed when using operations which create new files or alter +existing ones. + +For further details, see L<virt-builder(1)/SELINUX>. + =head1 WINDOWS 8 Windows 8 "fast startup" can prevent virt-sysprep from working. -- 1.9.3
Pino Toscano
2014-Dec-05 14:28 UTC
[Libguestfs] [PATCH] sysprep: add a "changed file" side effect
---
sysprep/sysprep_operation.ml | 3 +++
sysprep/sysprep_operation.mli | 2 ++
2 files changed, 5 insertions(+)
diff --git a/sysprep/sysprep_operation.ml b/sysprep/sysprep_operation.ml
index 1531268..ec5e374 100644
--- a/sysprep/sysprep_operation.ml
+++ b/sysprep/sysprep_operation.ml
@@ -30,8 +30,11 @@ let info fs = info ~prog fs
class filesystem_side_effects object
val mutable m_created_file = false
+ val mutable m_changed_file = false
method created_file () = m_created_file <- true
method get_created_file = m_created_file
+ method changed_file () = m_changed_file <- true
+ method get_changed_file = m_changed_file
end
class device_side_effects = object end
diff --git a/sysprep/sysprep_operation.mli b/sysprep/sysprep_operation.mli
index 5d3b44a..bed0266 100644
--- a/sysprep/sysprep_operation.mli
+++ b/sysprep/sysprep_operation.mli
@@ -26,6 +26,8 @@ val info : ('a, unit, string, unit) format4 -> 'a
class filesystem_side_effects : object
method created_file : unit -> unit
method get_created_file : bool
+ method changed_file : unit -> unit
+ method get_changed_file : bool
end
(** The callback should indicate if it has side effects by calling
methods in this class. *)
--
1.9.3
Pino Toscano
2014-Dec-05 14:28 UTC
[Libguestfs] [PATCH] sysprep: user-account: mark "changed file" if users were removed
Removing an user causes /etc/passwd, /etc/shadow, and /etc/group to
change, so mark the side effects as such if any user has been removed.
---
sysprep/sysprep_operation_user_account.ml | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/sysprep/sysprep_operation_user_account.ml
b/sysprep/sysprep_operation_user_account.ml
index bda6331..e53e5cc 100644
--- a/sysprep/sysprep_operation_user_account.ml
+++ b/sysprep/sysprep_operation_user_account.ml
@@ -55,6 +55,7 @@ let check_remove_user user
let user_account_perform ~verbose ~quiet g root side_effects let typ =
g#inspect_get_type root in
+ let changed = ref false in
if typ <> "windows" then (
g#aug_init "/" 0;
let uid_min = g#aug_get "/files/etc/login.defs/UID_MIN" in
@@ -72,6 +73,7 @@ let user_account_perform ~verbose ~quiet g root side_effects
String.sub userpath (i+1) (String.length userpath -i-1) in
if uid >= uid_min && uid <= uid_max
&& check_remove_user username then (
+ changed := true;
(* Get the home before removing the passwd entry. *)
let home_dir try Some (g#aug_get (userpath ^
"/home"))
@@ -90,7 +92,9 @@ let user_account_perform ~verbose ~quiet g root side_effects
)
) users;
g#aug_save ();
- )
+ );
+ if !changed then
+ side_effects#changed_file ()
let op = {
defaults with
--
1.9.3
Richard W.M. Jones
2014-Dec-05 15:57 UTC
Re: [Libguestfs] [PATCH] sysprep: user-account: mark "changed file" if users were removed
ACK series. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW