Compare commits

...

17 Commits

Author SHA1 Message Date
Richard W.M. Jones
06205bdf30 Version 1.52.1. 2024-05-13 14:54:14 +01:00
Richard W.M. Jones
c76fc5447e gobject: Add libguestfs-gobject-1.0.deps to main EXTRA_DIST line
Move this outside the 'if HAVE_INTROSPECTION' conditional so that we
get this object in the tarball even if using ./configure --disable-gobject

(cherry picked from commit 27deba4074)
2024-05-13 14:53:53 +01:00
Richard W.M. Jones
f970f093fb tests: btrfs: Remove another test that used qgroup 0/*
This was failing with recent Linux:

  libguestfs: error: btrfs_subvolume_snapshot: /dir/test3: /dir/test6: ERROR: cannot snapshot '/sysroot/dir/test3': Invalid argument

I tried to change the test to use 1/1000 instead, but that fails with
a different error which I don't understand at all.

As we're not meant to be testing btrfs here, only that libguestfs can
translate between the guestfs API and btrfs commands and we know it
can do that, I simply deleted the sub-test entirely.

(cherry picked from commit c7fe9fd917)
2024-05-13 14:43:54 +01:00
Richard W.M. Jones
ae2344f8f2 daemon: Add an OCaml binding for get_random_uuid function
(cherry picked from commit a25f419802)
2024-05-13 14:17:49 +01:00
Richard W.M. Jones
f29092e8f4 generator: Allow String(GUID) parameter in daemon OCaml bindings
(cherry picked from commit 53eb96099a)
2024-05-13 14:17:46 +01:00
Richard W.M. Jones
d400b0637e daemon: Move gdisk function to a new file
After subsequent commits, this will be the only remaining use of
gdisk, so put it in its own file now.

(cherry picked from commit d5c6e15180)
2024-05-13 14:17:41 +01:00
Richard W.M. Jones
cbfe36b7c7 daemon: part_get_gpt_type: Remove unhelpful MBR fallback behaviour
This was an accident of the parted implementation, and wasn't really
used anywhere.  Remove it.

(cherry picked from commit 2811e42b43)
2024-05-13 14:17:35 +01:00
Richard W.M. Jones
c749314646 daemon/parted: Assume sfdisk --part-type exists
This "new" parameter was added in 2014:

  commit 8eab3194ce1737a167812d5e84d83b0dfc253fac
  Author: Karel Zak <kzak@redhat.com>
  Date:   Mon Sep 15 12:37:52 2014 +0200

    sfdisk: add --parttype

    The patch also makes --{id,change-id,print-id} deprecated in favour
    of --parttype. The original --id is too generic option name and the
    --print-id and --change-id are unnecessary and inconsistent with
    another sfdisk options (e.g. we don't have --change-bootable)

Also remove an extraneous / incorrect comment about parted.  As
history has played out, sfdisk proves to be the better tool and parted
is a PITA.

(cherry picked from commit 857615d6d2)
2024-05-13 14:17:29 +01:00
Richard W.M. Jones
073fd0aa86 gobject: tests: Don't erase error messages
(cherry picked from commit e0ffe31e96)
2024-05-13 14:17:18 +01:00
Richard W.M. Jones
8cd31e58fd test-data/binaries: Remove +x attribute
These binaries are not meant to be run, they are purely data files
used for testing.  Remove the +x attribute to prevent accidentally
running them.

However to avoid breaking the phony guests, we need to chmod +x the
files when we upload them into those guests.

(cherry picked from commit 574a87f889)
2024-05-13 14:17:01 +01:00
Richard W.M. Jones
17061cf496 po-docs: Make sure guestmount.1 depends on includes
guestmount.1 depends on translated files blocksize-option.pod,
key-option.pod & keys-from-stdin-option.pod (via __INCLUDE__
directives).  If these are not yet translated by the time we try to
generate guestmount.1 then it will fail with:

podwrapper.pl: key-option.pod: cannot find input file on path at /builddir/build/BUILD/libguestfs-1.50.1/podwrapper.pl line 672.

This happens especially in parallel builds.  Fix this by writing the
guestmount.1 rule explicitly, with the correct dependencies.

(cherry picked from commit 87b4d19f85)
2024-05-13 14:16:54 +01:00
Richard W.M. Jones
42e15f8cf1 Update common submodule
In particular pick this:

  commit 93a7f3af5c23ece6a8e092827ed5928a8973fd3c
  Author: Richard W.M. Jones <rjones@redhat.com>
  Date:   Wed Apr 24 12:08:01 2024 +0100

    options: Allow nbd+unix:// URIs

(cherry picked from commit 7968de46f1)

RWMJ: Although this is strictly a new feature, we don't have much
choice except to pick it for the stable 1.52 branch since it's part of
the submodule.  However it's probably a good idea to have this as it
aligns with our goal to have better support NBD URIs everywhere.
2024-05-13 14:15:16 +01:00
Richard W.M. Jones
bebec890e2 po-docs: Run po4a-translate and sed commands separately
I noticed that 1-byte translated POD files were being generated in the
output directory (po-docs/ja/).  This seems to have happened because
po4a-translate was generating an error, but because we were
immediately pipeing the output into sed the error was suppressed.

By running them as two separate commands this cannot happen.

Fixes: commit bd896d68c0
(cherry picked from commit d755070346)
2024-05-13 14:14:43 +01:00
Richard W.M. Jones
4a04ab9255 po-docs: Rename guestfs-release-notes-historical to guestfs-release-notes
This was missed from earlier commit 25ddaefb03 ("docs: Recreate
guestfs-release-notes(1) page").

Fixes: commit 25ddaefb03
(cherry picked from commit d829778529)
2024-05-13 14:14:38 +01:00
Richard W.M. Jones
b56b5ca46c python: Fix exception name in example
Fixes: https://github.com/libguestfs/libguestfs/issues/138
(cherry picked from commit 1d760b0d8f)
2024-05-13 14:14:34 +01:00
Richard W.M. Jones
6cfcbfd9a2 tests: btrfs: Don't try to create qgroup 0/_
This used to work in kernel <= 6.7 but has been forbidden in later
kernels:
0c309d66da

Reported-by: David Runge
Thanks: Jan Alexander Steffens
Fixes: https://github.com/libguestfs/libguestfs/issues/136
(cherry picked from commit 7211aac047)
2024-05-13 14:14:27 +01:00
Richard W.M. Jones
4fdc89fb51 daemon: parted: Print field we are extracting in error message
(cherry picked from commit c8cefa6f0f)
2024-05-13 14:14:18 +01:00
49 changed files with 110 additions and 100 deletions

2
common

Submodule common updated: 54869c9875...93a7f3af5c

View File

@@ -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)

View File

@@ -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
View 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;
}

View File

@@ -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. *)

View File

@@ -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;
}

View File

@@ -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 ();

View File

@@ -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);
}

View File

@@ -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

View File

@@ -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. *)

View File

@@ -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

View File

@@ -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 = "\

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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:

View File

@@ -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

View File

@@ -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"

View File

@@ -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
View File

0
test-data/binaries/bin-armv7-dynamic Executable file → Normal file
View File

0
test-data/binaries/bin-i586-dynamic Executable file → Normal file
View File

0
test-data/binaries/bin-ia64-dynamic Executable file → Normal file
View File

0
test-data/binaries/bin-mipsel-dynamic Executable file → Normal file
View File

0
test-data/binaries/bin-ppc64-dynamic Executable file → Normal file
View File

0
test-data/binaries/bin-ppc64le-dynamic Executable file → Normal file
View File

0
test-data/binaries/bin-riscv64-dynamic Executable file → Normal file
View File

0
test-data/binaries/bin-s390x-dynamic Executable file → Normal file
View File

0
test-data/binaries/bin-sparc-dynamic Executable file → Normal file
View File

0
test-data/binaries/bin-win32.exe Executable file → Normal file
View File

0
test-data/binaries/bin-win64.exe Executable file → Normal file
View File

0
test-data/binaries/bin-x86_64-dynamic Executable file → Normal file
View File

0
test-data/binaries/lib-aarch64.so Executable file → Normal file
View File

0
test-data/binaries/lib-armv7.so Executable file → Normal file
View File

0
test-data/binaries/lib-i586.so Executable file → Normal file
View File

0
test-data/binaries/lib-ia64.so Executable file → Normal file
View File

0
test-data/binaries/lib-mipsel.so Executable file → Normal file
View File

0
test-data/binaries/lib-ppc64.so Executable file → Normal file
View File

0
test-data/binaries/lib-ppc64le.so Executable file → Normal file
View File

0
test-data/binaries/lib-riscv64.so Executable file → Normal file
View File

0
test-data/binaries/lib-s390x.so Executable file → Normal file
View File

0
test-data/binaries/lib-sparc.so Executable file → Normal file
View File

0
test-data/binaries/lib-win32.dll Executable file → Normal file
View File

0
test-data/binaries/lib-win64.dll Executable file → Normal file
View File

0
test-data/binaries/lib-x86_64.so Executable file → Normal file
View File

View 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

View File

@@ -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

View File

@@ -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");

View File

@@ -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