mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
The firstboot infrastructure used to give the firstboot scripts some cryptic names which were impossible to relate to the actions they were supposed to take. This patch reworks the scheme such that the caller registering a firstboot script has to provide a descriptive name for the action. That name, with non-alphanumeric characters replaced with dashes, prefixed by the serial number, is then used as the name of the script, e.g. 0004-install-gcc or 0002-msiexec--i-foo-msi.bat OTOH the numbering becomes internal to the API, i.e. the scripts are numbered and executed in the order they are registered. This greatly facilitates debugging and troubleshooting in case when there are multiple firstboot scripts. Signed-off-by: Roman Kagan <rkagan@parallels.com>
32 lines
1.3 KiB
OCaml
32 lines
1.3 KiB
OCaml
(* virt-customize
|
|
* Copyright (C) 2012-2015 Red Hat Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*)
|
|
|
|
val add_firstboot_script : Guestfs.guestfs -> string -> string -> string -> unit
|
|
(** [add_firstboot_script g root name content] adds a firstboot
|
|
script called [name] containing [content].
|
|
|
|
[content] is the contents of the script, {b not} a filename.
|
|
|
|
The actual name of the script on the guest filesystem is made of [name]
|
|
with all characters but alphanumeric replaced with dashes.
|
|
|
|
The scripts are run in the order they are registered.
|
|
|
|
For Linux guests using SELinux you should make sure the
|
|
filesystem is relabelled after calling this. *)
|