mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
06205bdf30 | ||
|
|
c76fc5447e | ||
|
|
f970f093fb | ||
|
|
ae2344f8f2 | ||
|
|
f29092e8f4 | ||
|
|
d400b0637e | ||
|
|
cbfe36b7c7 | ||
|
|
c749314646 | ||
|
|
073fd0aa86 | ||
|
|
8cd31e58fd | ||
|
|
17061cf496 | ||
|
|
42e15f8cf1 | ||
|
|
bebec890e2 | ||
|
|
4a04ab9255 | ||
|
|
b56b5ca46c | ||
|
|
6cfcbfd9a2 | ||
|
|
4fdc89fb51 |
2
common
2
common
Submodule common updated: 54869c9875...93a7f3af5c
@@ -20,8 +20,8 @@
|
||||
# freeform string.
|
||||
m4_define([libguestfs_major], [1])
|
||||
m4_define([libguestfs_minor], [52])
|
||||
m4_define([libguestfs_release], [0])
|
||||
m4_define([release_date], [2024-01-05])
|
||||
m4_define([libguestfs_release], [1])
|
||||
m4_define([release_date], [2024-05-13])
|
||||
|
||||
AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release)
|
||||
AC_SUBST([RELEASE_DATE],release_date)
|
||||
|
||||
@@ -130,6 +130,7 @@ guestfsd_SOURCES = \
|
||||
fs-min-size.c \
|
||||
fsck.c \
|
||||
fstrim.c \
|
||||
gdisk.c \
|
||||
glob.c \
|
||||
grep.c \
|
||||
grub.c \
|
||||
|
||||
48
daemon/gdisk.c
Normal file
48
daemon/gdisk.c
Normal file
@@ -0,0 +1,48 @@
|
||||
/* libguestfs - the guestfsd daemon
|
||||
* Copyright (C) 2009-2024 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.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "daemon.h"
|
||||
#include "actions.h"
|
||||
#include "optgroups.h"
|
||||
|
||||
int
|
||||
optgroup_gdisk_available (void)
|
||||
{
|
||||
return prog_exists ("sgdisk");
|
||||
}
|
||||
|
||||
int
|
||||
do_part_expand_gpt(const char *device)
|
||||
{
|
||||
CLEANUP_FREE char *err = NULL;
|
||||
|
||||
int r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR,
|
||||
"sgdisk", "-e", device, NULL);
|
||||
|
||||
if (r == -1) {
|
||||
reply_with_error ("%s -e %s: %s", "sgdisk", device, err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -111,8 +111,9 @@ and is_partition_can_hold_filesystem partition =
|
||||
false
|
||||
else if is_mbr_bogus parttype device partnum then
|
||||
true
|
||||
else if is_mbr then
|
||||
true
|
||||
else (
|
||||
(* MBR partition id will be converted into corresponding GPT type. *)
|
||||
let gpt_type = Parted.part_get_gpt_type device partnum in
|
||||
match gpt_type with
|
||||
(* Windows Logical Disk Manager metadata partition. *)
|
||||
|
||||
@@ -424,30 +424,6 @@ do_part_get_bootable (const char *device, int partnum)
|
||||
return strstr (boot, "boot") != NULL;
|
||||
}
|
||||
|
||||
/* Test if sfdisk is recent enough to have --part-type, to be used instead
|
||||
* of --print-id and --change-id.
|
||||
*/
|
||||
static int
|
||||
test_sfdisk_has_part_type (void)
|
||||
{
|
||||
static int tested = -1;
|
||||
|
||||
if (tested != -1)
|
||||
return tested;
|
||||
|
||||
int r;
|
||||
CLEANUP_FREE char *out = NULL, *err = NULL;
|
||||
|
||||
r = command (&out, &err, "sfdisk", "--help", NULL);
|
||||
if (r == -1) {
|
||||
reply_with_error ("%s: %s", "sfdisk --help", err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
tested = strstr (out, "--part-type") != NULL;
|
||||
return tested;
|
||||
}
|
||||
|
||||
int
|
||||
do_part_set_mbr_id (const char *device, int partnum, int idbyte)
|
||||
{
|
||||
@@ -456,8 +432,6 @@ do_part_set_mbr_id (const char *device, int partnum, int idbyte)
|
||||
return -1;
|
||||
}
|
||||
|
||||
const char *param = test_sfdisk_has_part_type () ? "--part-type" : "--change-id";
|
||||
|
||||
char partnum_str[16];
|
||||
snprintf (partnum_str, sizeof partnum_str, "%d", partnum);
|
||||
|
||||
@@ -470,10 +444,10 @@ do_part_set_mbr_id (const char *device, int partnum, int idbyte)
|
||||
|
||||
udev_settle ();
|
||||
|
||||
r = command (NULL, &err, "sfdisk",
|
||||
param, device, partnum_str, idbyte_str, NULL);
|
||||
r = command (NULL, &err, "sfdisk", "--part-type",
|
||||
device, partnum_str, idbyte_str, NULL);
|
||||
if (r == -1) {
|
||||
reply_with_error ("sfdisk %s: %s", param, err);
|
||||
reply_with_error ("sfdisk --part-type: %s", err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -482,12 +456,6 @@ do_part_set_mbr_id (const char *device, int partnum, int idbyte)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
optgroup_gdisk_available (void)
|
||||
{
|
||||
return prog_exists ("sgdisk");
|
||||
}
|
||||
|
||||
int
|
||||
do_part_set_gpt_type (const char *device, int partnum, const char *guid)
|
||||
{
|
||||
@@ -688,19 +656,3 @@ do_part_set_disk_guid_random (const char *device)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
do_part_expand_gpt(const char *device)
|
||||
{
|
||||
CLEANUP_FREE char *err = NULL;
|
||||
|
||||
int r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR,
|
||||
"sgdisk", "-e", device, NULL);
|
||||
|
||||
if (r == -1) {
|
||||
reply_with_error ("%s -e %s: %s", "sgdisk", device, err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -25,33 +25,13 @@ open Utils
|
||||
|
||||
include Structs
|
||||
|
||||
(* Test if [sfdisk] is recent enough to have [--part-type], to be used
|
||||
* instead of [--print-id] and [--change-id].
|
||||
*)
|
||||
let test_sfdisk_has_part_type = lazy (
|
||||
let out = command "sfdisk" ["--help"] in
|
||||
String.find out "--part-type" >= 0
|
||||
)
|
||||
|
||||
(* Currently we use sfdisk for getting and setting the ID byte. In
|
||||
* future, extend parted to provide this functionality. As a result
|
||||
* of using sfdisk, this won't work for non-MBR-style partitions, but
|
||||
* that limitation is noted in the documentation and we can extend it
|
||||
* later without breaking the ABI.
|
||||
*)
|
||||
let part_get_mbr_id device partnum =
|
||||
if partnum <= 0 then
|
||||
failwith "partition number must be >= 1";
|
||||
|
||||
let param =
|
||||
if Lazy.force test_sfdisk_has_part_type then
|
||||
"--part-type"
|
||||
else
|
||||
"--print-id" in
|
||||
|
||||
udev_settle ();
|
||||
let out =
|
||||
command "sfdisk" [param; device; string_of_int partnum] in
|
||||
command "sfdisk" ["--part-type"; device; string_of_int partnum] in
|
||||
udev_settle ();
|
||||
|
||||
(* It's printed in hex, possibly with a leading space. *)
|
||||
@@ -173,7 +153,7 @@ let sgdisk_info_extract_field device partnum field extractor =
|
||||
commandr ~fold_stdout_on_stderr:true
|
||||
"sgdisk" [ device; "-i"; string_of_int partnum ] in
|
||||
if r <> 0 then
|
||||
failwithf "sgdisk: %s" err;
|
||||
failwithf "getting %S: sgdisk: %s" field err;
|
||||
|
||||
udev_settle ();
|
||||
|
||||
|
||||
@@ -80,3 +80,15 @@ guestfs_int_daemon_udev_settle (value optfilenamev, value unitv)
|
||||
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
value
|
||||
guestfs_int_get_random_uuid (value unitv)
|
||||
{
|
||||
CAMLparam1 (unitv);
|
||||
CAMLlocal1 (rv);
|
||||
CLEANUP_FREE char *uuid = get_random_uuid ();
|
||||
|
||||
rv = caml_copy_string (uuid);
|
||||
|
||||
CAMLreturn (rv);
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ external is_device_parameter : string -> bool = "guestfs_int_daemon_is_device_pa
|
||||
external is_root_device : string -> bool = "guestfs_int_daemon_is_root_device" [@@noalloc]
|
||||
external prog_exists : string -> bool = "guestfs_int_daemon_prog_exists" [@@noalloc]
|
||||
external udev_settle : ?filename:string -> unit -> unit = "guestfs_int_daemon_udev_settle" [@@noalloc]
|
||||
external get_random_uuid : unit -> string = "guestfs_int_get_random_uuid"
|
||||
|
||||
let commandr ?(fold_stdout_on_stderr = false) prog args =
|
||||
if verbose () then
|
||||
|
||||
@@ -34,6 +34,9 @@ val udev_settle : ?filename:string -> unit -> unit
|
||||
* file is created (or if it exists at the start).
|
||||
*)
|
||||
|
||||
val get_random_uuid : unit -> string
|
||||
(** Binding for utils.c get_random_uuid *)
|
||||
|
||||
val is_root_device : string -> bool
|
||||
(** Return true if this is the root (appliance) device. *)
|
||||
|
||||
|
||||
@@ -91,6 +91,7 @@ daemon/find.c
|
||||
daemon/fs-min-size.c
|
||||
daemon/fsck.c
|
||||
daemon/fstrim.c
|
||||
daemon/gdisk.c
|
||||
daemon/glob.c
|
||||
daemon/grep.c
|
||||
daemon/grub.c
|
||||
|
||||
@@ -7179,8 +7179,7 @@ See C<guestfs_get_e2generation>." };
|
||||
["btrfs_subvolume_create"; "/test1"; "NOARG"];
|
||||
["btrfs_subvolume_create"; "/test2"; "NOARG"];
|
||||
["btrfs_subvolume_create"; "/dir/test3"; "NOARG"];
|
||||
["btrfs_subvolume_snapshot"; "/dir/test3"; "/dir/test5"; "true"; "NOARG"];
|
||||
["btrfs_subvolume_snapshot"; "/dir/test3"; "/dir/test6"; ""; "0/1000"]]), []
|
||||
["btrfs_subvolume_snapshot"; "/dir/test3"; "/dir/test5"; "true"; "NOARG"]]), []
|
||||
];
|
||||
shortdesc = "create a btrfs snapshot";
|
||||
longdesc = "\
|
||||
@@ -8162,9 +8161,7 @@ for a useful list of type GUIDs." };
|
||||
];
|
||||
shortdesc = "get the type GUID of a GPT partition";
|
||||
longdesc = "\
|
||||
Return the type GUID of numbered GPT partition C<partnum>. For MBR partitions,
|
||||
return an appropriate GUID corresponding to the MBR type. Behaviour is undefined
|
||||
for other partition types." };
|
||||
Return the type GUID of numbered GPT partition C<partnum>." };
|
||||
|
||||
{ defaults with
|
||||
name = "part_set_gpt_attributes"; added = (1, 21, 1);
|
||||
@@ -8804,7 +8801,7 @@ Limit the size of the subvolume with path C<subvolume>." };
|
||||
["mount"; "/dev/sda1"; "/"];
|
||||
["btrfs_quota_enable"; "/"; "true"];
|
||||
["btrfs_subvolume_create"; "/sub1"; "NOARG"];
|
||||
["btrfs_qgroup_create"; "0/1000"; "/sub1"]]), [];
|
||||
["btrfs_qgroup_create"; "1/1000"; "/sub1"]]), [];
|
||||
];
|
||||
shortdesc = "create a subvolume quota group";
|
||||
longdesc = "\
|
||||
@@ -8820,8 +8817,8 @@ Create a quota group (qgroup) for subvolume at C<subvolume>." };
|
||||
["mount"; "/dev/sda1"; "/"];
|
||||
["btrfs_quota_enable"; "/"; "true"];
|
||||
["btrfs_subvolume_create"; "/sub1"; "NOARG"];
|
||||
["btrfs_qgroup_create"; "0/1000"; "/sub1"];
|
||||
["btrfs_qgroup_destroy"; "0/1000"; "/sub1"]]), [];
|
||||
["btrfs_qgroup_create"; "1/1000"; "/sub1"];
|
||||
["btrfs_qgroup_destroy"; "1/1000"; "/sub1"]]), [];
|
||||
];
|
||||
shortdesc = "destroy a subvolume quota group";
|
||||
longdesc = "\
|
||||
@@ -8836,7 +8833,7 @@ Destroy a quota group." };
|
||||
["mount"; "/dev/sda1"; "/"];
|
||||
["btrfs_quota_enable"; "/"; "true"];
|
||||
["btrfs_subvolume_create"; "/sub1"; "NOARG"];
|
||||
["btrfs_qgroup_create"; "0/1000"; "/sub1"];
|
||||
["btrfs_qgroup_create"; "1/1000"; "/sub1"];
|
||||
["btrfs_qgroup_show"; "/"]]), [];
|
||||
];
|
||||
optional = Some "btrfs"; camel_name = "BTRFSQgroupShow";
|
||||
@@ -8854,9 +8851,9 @@ usages." };
|
||||
[["mkfs_btrfs"; "/dev/sda1"; ""; ""; "NOARG"; ""; "NOARG"; "NOARG"; ""; ""];
|
||||
["mount"; "/dev/sda1"; "/"];
|
||||
["btrfs_quota_enable"; "/"; "true"];
|
||||
["btrfs_qgroup_create"; "0/1000"; "/"];
|
||||
["btrfs_qgroup_create"; "1/1000"; "/"];
|
||||
["btrfs_qgroup_assign"; "0/1000"; "1/1000"; "/"]]), [];
|
||||
["btrfs_qgroup_create"; "2/1000"; "/"];
|
||||
["btrfs_qgroup_assign"; "1/1000"; "2/1000"; "/"]]), [];
|
||||
];
|
||||
shortdesc = "add a qgroup to a parent qgroup";
|
||||
longdesc = "\
|
||||
@@ -8872,10 +8869,10 @@ several qgroups into a parent qgroup to share common limit." };
|
||||
[["mkfs_btrfs"; "/dev/sda1"; ""; ""; "NOARG"; ""; "NOARG"; "NOARG"; ""; ""];
|
||||
["mount"; "/dev/sda1"; "/"];
|
||||
["btrfs_quota_enable"; "/"; "true"];
|
||||
["btrfs_qgroup_create"; "0/1000"; "/"];
|
||||
["btrfs_qgroup_create"; "1/1000"; "/"];
|
||||
["btrfs_qgroup_assign"; "0/1000"; "1/1000"; "/"];
|
||||
["btrfs_qgroup_remove"; "0/1000"; "1/1000"; "/"]]), [];
|
||||
["btrfs_qgroup_create"; "2/1000"; "/"];
|
||||
["btrfs_qgroup_assign"; "1/1000"; "2/1000"; "/"];
|
||||
["btrfs_qgroup_remove"; "1/1000"; "2/1000"; "/"]]), [];
|
||||
];
|
||||
shortdesc = "remove a qgroup from its parent qgroup";
|
||||
longdesc = "\
|
||||
|
||||
@@ -793,7 +793,7 @@ let generate_daemon_caml_stubs () =
|
||||
| Bool n -> pr "Val_bool (%s)" n
|
||||
| Int n -> pr "Val_int (%s)" n
|
||||
| Int64 n -> pr "caml_copy_int64 (%s)" n
|
||||
| String ((PlainString|Device|Pathname|Dev_or_Path|Key), n) ->
|
||||
| String ((PlainString|Device|Pathname|Dev_or_Path|Key|GUID), n) ->
|
||||
pr "caml_copy_string (%s)" n
|
||||
| String ((Mountable|Mountable_or_Path), n) ->
|
||||
pr "guestfs_int_daemon_copy_mountable (%s)" n
|
||||
|
||||
@@ -32,6 +32,7 @@ EXTRA_DIST = \
|
||||
.gitignore \
|
||||
bindtests-retvalues.js \
|
||||
guestfs-gobject.pod \
|
||||
libguestfs-gobject-1.0.deps \
|
||||
tests-misc.js \
|
||||
run-tests \
|
||||
run-tests-retvalues \
|
||||
@@ -122,8 +123,6 @@ vapidir = $(datadir)/vala/vapi
|
||||
vapi_DATA = $(VAPIGEN_VAPIS) $(VAPIGEN_VAPIS:.vapi=.deps)
|
||||
endif
|
||||
|
||||
EXTRA_DIST += libguestfs-gobject-1.0.deps
|
||||
|
||||
endif HAVE_INTROSPECTION
|
||||
|
||||
# Documentation.
|
||||
|
||||
@@ -22,4 +22,4 @@ $TEST_FUNCTIONS
|
||||
skip_if_skipped
|
||||
skip_unless_environment_variable_set GJS
|
||||
|
||||
$GJS $srcdir/bindtests-retvalues.js 2>/dev/null
|
||||
$GJS $srcdir/bindtests-retvalues.js
|
||||
|
||||
@@ -61,7 +61,7 @@ MANPAGES = \
|
||||
guestfs-release-notes-1.8.1 \
|
||||
guestfs-release-notes-1.6.1 \
|
||||
guestfs-release-notes-1.4.1 \
|
||||
guestfs-release-notes-historical.1 \
|
||||
guestfs-release-notes.1 \
|
||||
guestfs-ruby.3 \
|
||||
guestfs-security.1 \
|
||||
guestfs-testing.1 \
|
||||
@@ -110,6 +110,13 @@ guestfish.1: guestfish.pod guestfish-actions.pod guestfish-commands.pod guestfis
|
||||
--license GPLv2+ \
|
||||
$<
|
||||
|
||||
guestmount.1: guestmount.pod blocksize-option.pod key-option.pod keys-from-stdin-option.pod
|
||||
$(PODWRAPPER) \
|
||||
--no-strict-checks \
|
||||
--man $@ \
|
||||
--license GPLv2+ \
|
||||
$<
|
||||
|
||||
virt-builder.1: virt-builder.pod customize-synopsis.pod customize-options.pod
|
||||
$(PODWRAPPER) \
|
||||
--no-strict-checks \
|
||||
@@ -179,13 +186,16 @@ virt-p2v.1: virt-p2v.pod virt-p2v-kernel-config.pod
|
||||
# Remove both.
|
||||
# XXX Fix po4a so it doesn't do this.
|
||||
%.pod: $(srcdir)/../$(LINGUA).po
|
||||
rm -f $@ $@-t
|
||||
$(guestfs_am_v_po4a_translate)$(PO4A_TRANSLATE) \
|
||||
-f pod \
|
||||
-M utf-8 -L utf-8 \
|
||||
-k 0 \
|
||||
-m $(top_srcdir)/$(shell grep '/$(notdir $@)$$' $(top_srcdir)/po-docs/podfiles) \
|
||||
-p $< \
|
||||
| $(SED) '0,/^=encoding/d' > $@
|
||||
-l $@-t
|
||||
$(SED) '0,/^=encoding/d' < $@-t > $@
|
||||
rm $@-t
|
||||
|
||||
# XXX Can automake do this properly?
|
||||
install-data-hook:
|
||||
|
||||
@@ -70,6 +70,7 @@ daemon/find.c
|
||||
daemon/fs-min-size.c
|
||||
daemon/fsck.c
|
||||
daemon/fstrim.c
|
||||
daemon/gdisk.c
|
||||
daemon/glob.c
|
||||
daemon/grep.c
|
||||
daemon/grub.c
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libguestfs 1.52.0\n"
|
||||
"Project-Id-Version: libguestfs 1.52.1\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
|
||||
"component=libguestfs&product=Virtualization+Tools\n"
|
||||
"POT-Creation-Date: 2024-01-04 17:31+0000\n"
|
||||
"POT-Creation-Date: 2024-05-13 14:54+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -29,7 +29,7 @@ In a future version of libguestfs, this will become the default.
|
||||
|
||||
=head2 EXCEPTIONS
|
||||
|
||||
Errors from libguestfs functions are mapped into C<RuntimeException>
|
||||
Errors from libguestfs functions are mapped into C<RuntimeError>
|
||||
with a single string argument which is the error message.
|
||||
|
||||
=head2 MORE DOCUMENTATION
|
||||
|
||||
0
test-data/binaries/bin-aarch64-dynamic
Executable file → Normal file
0
test-data/binaries/bin-aarch64-dynamic
Executable file → Normal file
0
test-data/binaries/bin-armv7-dynamic
Executable file → Normal file
0
test-data/binaries/bin-armv7-dynamic
Executable file → Normal file
0
test-data/binaries/bin-i586-dynamic
Executable file → Normal file
0
test-data/binaries/bin-i586-dynamic
Executable file → Normal file
0
test-data/binaries/bin-ia64-dynamic
Executable file → Normal file
0
test-data/binaries/bin-ia64-dynamic
Executable file → Normal file
0
test-data/binaries/bin-mipsel-dynamic
Executable file → Normal file
0
test-data/binaries/bin-mipsel-dynamic
Executable file → Normal file
0
test-data/binaries/bin-ppc64-dynamic
Executable file → Normal file
0
test-data/binaries/bin-ppc64-dynamic
Executable file → Normal file
0
test-data/binaries/bin-ppc64le-dynamic
Executable file → Normal file
0
test-data/binaries/bin-ppc64le-dynamic
Executable file → Normal file
0
test-data/binaries/bin-riscv64-dynamic
Executable file → Normal file
0
test-data/binaries/bin-riscv64-dynamic
Executable file → Normal file
0
test-data/binaries/bin-s390x-dynamic
Executable file → Normal file
0
test-data/binaries/bin-s390x-dynamic
Executable file → Normal file
0
test-data/binaries/bin-sparc-dynamic
Executable file → Normal file
0
test-data/binaries/bin-sparc-dynamic
Executable file → Normal file
0
test-data/binaries/bin-win32.exe
Executable file → Normal file
0
test-data/binaries/bin-win32.exe
Executable file → Normal file
0
test-data/binaries/bin-win64.exe
Executable file → Normal file
0
test-data/binaries/bin-win64.exe
Executable file → Normal file
0
test-data/binaries/bin-x86_64-dynamic
Executable file → Normal file
0
test-data/binaries/bin-x86_64-dynamic
Executable file → Normal file
0
test-data/binaries/lib-aarch64.so
Executable file → Normal file
0
test-data/binaries/lib-aarch64.so
Executable file → Normal file
0
test-data/binaries/lib-armv7.so
Executable file → Normal file
0
test-data/binaries/lib-armv7.so
Executable file → Normal file
0
test-data/binaries/lib-i586.so
Executable file → Normal file
0
test-data/binaries/lib-i586.so
Executable file → Normal file
0
test-data/binaries/lib-ia64.so
Executable file → Normal file
0
test-data/binaries/lib-ia64.so
Executable file → Normal file
0
test-data/binaries/lib-mipsel.so
Executable file → Normal file
0
test-data/binaries/lib-mipsel.so
Executable file → Normal file
0
test-data/binaries/lib-ppc64.so
Executable file → Normal file
0
test-data/binaries/lib-ppc64.so
Executable file → Normal file
0
test-data/binaries/lib-ppc64le.so
Executable file → Normal file
0
test-data/binaries/lib-ppc64le.so
Executable file → Normal file
0
test-data/binaries/lib-riscv64.so
Executable file → Normal file
0
test-data/binaries/lib-riscv64.so
Executable file → Normal file
0
test-data/binaries/lib-s390x.so
Executable file → Normal file
0
test-data/binaries/lib-s390x.so
Executable file → Normal file
0
test-data/binaries/lib-sparc.so
Executable file → Normal file
0
test-data/binaries/lib-sparc.so
Executable file → Normal file
0
test-data/binaries/lib-win32.dll
Executable file → Normal file
0
test-data/binaries/lib-win32.dll
Executable file → Normal file
0
test-data/binaries/lib-win64.dll
Executable file → Normal file
0
test-data/binaries/lib-win64.dll
Executable file → Normal file
0
test-data/binaries/lib-x86_64.so
Executable file → Normal file
0
test-data/binaries/lib-x86_64.so
Executable file → Normal file
@@ -50,6 +50,7 @@ write /etc/hostname "archlinux.test"
|
||||
upload $SRCDIR/archlinux-package /var/lib/pacman/local/test-package-1:0.1-1/desc
|
||||
|
||||
upload $SRCDIR/../binaries/bin-x86_64-dynamic /bin/ls
|
||||
chmod 0755 /bin/ls
|
||||
|
||||
mkdir /boot/grub
|
||||
touch /boot/grub/grub.conf
|
||||
|
||||
@@ -85,6 +85,7 @@ write /etc/hostname "debian.invalid"
|
||||
upload $SRCDIR/debian-packages /var/lib/dpkg/status
|
||||
|
||||
upload $SRCDIR/../binaries/bin-x86_64-dynamic /bin/ls
|
||||
chmod 0755 /bin/ls
|
||||
|
||||
upload $SRCDIR/debian-syslog /var/log/syslog
|
||||
|
||||
|
||||
@@ -331,6 +331,7 @@ $g->write ('/usr/lib/rpm/macros', <<EOF);
|
||||
EOF
|
||||
|
||||
$g->upload ($ENV{SRCDIR}.'/../binaries/bin-x86_64-dynamic', '/bin/ls');
|
||||
$g->chmod (0755, '/bin/ls');
|
||||
|
||||
$g->tar_in ($ENV{SRCDIR}.'/fedora-journal.tar.xz', '/var/log/journal', compress => "xz");
|
||||
|
||||
|
||||
@@ -76,6 +76,7 @@ write /etc/hostname "ubuntu.invalid"
|
||||
upload $SRCDIR/debian-packages /var/lib/dpkg/status
|
||||
|
||||
upload $SRCDIR/../binaries/bin-x86_64-dynamic /bin/ls
|
||||
chmod 0755 /bin/ls
|
||||
|
||||
mkdir /boot/grub
|
||||
touch /boot/grub/grub.conf
|
||||
|
||||
Reference in New Issue
Block a user