Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[openSUSE] Add packaging for documentation in info format #65

Open
wants to merge 100 commits into
base: factory
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
c8eaeb7
[openSUSE][RPM] Add downstream packaging files
dfaggioli Apr 26, 2023
df6a2b9
[openSUSE][RPM] Provide seabios and skiboot version files
dfaggioli May 3, 2023
c94d5e5
[openSUSE][RPM] Split qemu and qemu-linux-user spec files
dfaggioli May 3, 2023
78c0f9d
[openSUSE][OBS] Add OBS workflow
dfaggioli Apr 26, 2023
1d1fd9d
[openSUSE][RPM] Spec file adjustments for 8.0.0 (and later)
dfaggioli May 12, 2023
10ac03f
[openSUSE] roms/Makefile: pass a packaging timestamp to subpackages w…
bfrogers Nov 19, 2016
2148d37
[openSUSE] roms/Makefile: add --cross-file to qboot meson setup for a…
bfrogers Nov 23, 2020
8d21f52
[openSUSE] qemu-binfmt-conf: Modify default path
afaerber Aug 10, 2016
4a1954d
[openSUSE] linux-user: use target_ulong
agraf Oct 9, 2012
13d1662
[openSUSE] linux-user: lseek: explicitly cast non-set offsets to signed
agraf Dec 13, 2012
3c8f379
[openSUSE] PPC: KVM: Disable mmu notifier check
agraf Jan 6, 2012
5e7588a
[openSUSE] Make char muxer more robust wrt small FIFOs
agraf Apr 1, 2010
8e75e84
[openSUSE] qemu-bridge-helper: reduce security profile (boo#988279)
bfrogers Aug 2, 2016
2bd05dd
[openSUSE] Raise soft address space limit to hard limit
afaerber Jan 15, 2012
dc213a2
[openSUSE] xen_disk: Add suse specific flush disable handling and map…
bfrogers Mar 9, 2016
1efaf88
[openSUSE] xen: add block resize support for xen disks
bfrogers Jan 16, 2019
97ce11f
[openSUSE] xen: ignore live parameter from xen-save-devices-state (bs…
olafhering Jan 8, 2019
8dc30b9
[openSUSE] scsi-generic: replace logical block count of response of R…
morecache Nov 20, 2021
bcc140f
[openSUSE] hw/scsi/megasas: check for NULL frame in megasas_command_c…
Mar 7, 2022
2f35aaa
[openSUSE] scsi-generic: check for additional SG_IO status on complet…
hreinecke Mar 25, 2022
52c60e9
[openSUSE] Revert "tests/qtest: enable more vhost-user tests by default"
dfaggioli May 24, 2022
37d8a73
[openSUSE] tests: change error message in test 162
bfrogers Mar 12, 2019
968e7fd
[openSUSE] tests/qemu-iotests: Triple timeout of i/o tests due to obs…
bfrogers Nov 20, 2018
e2ebc35
[openSUSE] Disable some tests that have problems in OBS
dfaggioli Jul 21, 2022
0ae8147
[openSUSE] Make installed scripts explicitly python3 (bsc#1077564)
bfrogers Jan 25, 2018
0f721bb
[openSUSE] meson: install ivshmem-client and ivshmem-server
bfrogers Aug 28, 2020
508f2b1
[openSUSE] meson: remove $pkgversion from CONFIG_STAMP input to broad…
dfaggioli Sep 20, 2022
46a2966
[openSUSE] pc: q35: Allow 1024 cpus for old machine types (bsc#120228…
dfaggioli Nov 16, 2022
f97fbed
[openSUSE][OBS] Limit the workflow runs to the factory branch (#25)
dfaggioli May 16, 2023
047d02d
[openSUSE] roms: add back edk2-basetools target
kraxel Apr 11, 2023
6440560
[openSUSE][RPM] Move documentation to a subpackage and fix qemu-headl…
dfaggioli May 13, 2023
02d91d8
[openSUSE][RPM] Try to avoid recommending too many packages (bsc#1205…
dfaggioli May 13, 2023
b2e39b6
[openSUSE][RPM] spec: require virtiofsd, now that it is a sep package…
dfaggioli May 22, 2023
46c78c6
[openSUSE][RPM] Fix deps for virtiofsd and improve spec files
dfaggioli May 29, 2023
addcb32
[openSUSE][RPM] Split qemu-tools package (#31)
dfaggioli Jun 30, 2023
5a78701
[openSUSE][RPM] Use --preserve-argv0 in qemu-linux-user (boo#1197298,…
Vogtinator Jun 30, 2023
0648675
[openSUSE][RPM] Update to version 8.1.0
dfaggioli Sep 7, 2023
2bb4d9c
[openSUSE][RPM] Transform meson subproject in git submodules
dfaggioli Sep 8, 2023
1a767ef
[openSUSE][RPM] Use discount instead of perl-Text-Markdown
dfaggioli Aug 7, 2023
5e79a5d
[openSUSE][RPM] spec: enable the Pipewire audio backend (bsc#1215486)
dfaggioli Oct 6, 2023
f761a5c
[openSUSE] Update to version 8.1.1
dfaggioli Oct 11, 2023
49dbef0
[openSUSE] Update version to 8.1.2
dfaggioli Oct 18, 2023
b8f7e09
[openSUSE] Add -p1 to autosetup in spec files
dfaggioli Oct 18, 2023
600e557
[openSUSE] supportconfig: Adapt plugin to modern supportconfig
jfehlig Oct 19, 2023
1eeb244
[openSUSE] Make Sphinx build reproducible (boo#1102408)
dfaggioli Nov 21, 2023
44bce91
[openSUSE] Update version to 8.1.3
dfaggioli Nov 28, 2023
a566e25
[openSUSE][RPM] New subpackage, for SPICE
dfaggioli Dec 11, 2023
2dc2156
[openSUSE][RPM] Normalize hostname, for reproducible builds
dfaggioli Jan 10, 2024
ced0ae8
[openSUSE][RPM] Some more refinements of inter-subpackage dependencies
dfaggioli Dec 15, 2023
4f6d0eb
[openSUSE][RPM] Disable Xen support in ALP-based distros
dfaggioli Dec 15, 2023
f109e8a
[openSUSE][RPM] Add support for canokeys (boo#1217520)
lnussel Dec 21, 2023
1e08e90
[openSUSE][RPM] Fix virtiofsd dependency on 32 bit systems
dfaggioli Jan 9, 2024
92d2843
[openSUSE][RPM] Restrict canokey to openSUSE only
dfaggioli Jan 10, 2024
20fb4ab
[openSUSE][RPM] Update version to 8.2
dfaggioli Jan 11, 2024
757eb23
[openSUSE] Update submodule references for 8.2.0
dfaggioli Jan 11, 2024
90a0ef3
[openSUSE][RPM] Fix enabling features on non-x86_64
Vogtinator Feb 9, 2024
62d1aa0
[openSUSE][RPM] Disable test-crypto-secret in linux-user build
andreas-schwab Feb 12, 2024
fca072d
[openSUSE] Update ipxe submodule reference (bsc#1219733, bsc#1219722)
dfaggioli Feb 14, 2024
90c1376
[openSUSE][RPM] spec: allow building without spice
dfaggioli Feb 13, 2024
854d583
[openSUSE][RPM] Create the legacy qemu-kvm symlink for all arches
dfaggioli Feb 16, 2024
21727d8
[openSUSE][RPM] Install the VGA module "more often" (bsc#1219164)
dfaggioli Feb 17, 2024
ce16c49
[openSUSE][RPM] factor common definitions between qemu and qemu-linux…
dfaggioli Feb 19, 2024
db66bf0
[openSUSE][RPM] Update to latest stable versio (8.2.1)
dfaggioli Feb 19, 2024
c3c9924
[openSUSE] roms/seabios: Drop an old (and no longer necessary) downst…
dfaggioli Feb 20, 2024
8e8bfeb
[openSUSE][RPM] Cosmetic fixes to spec files (copyright, sorting, etc)
dfaggioli Feb 21, 2024
4e8698a
[openSUSE] Increase default phys bits to 42, if host supports that
dfaggioli Feb 29, 2024
78cdd9b
[openSUSE] Update version to 8.2.2
dfaggioli Mar 14, 2024
b5859d7
[openSUSE] Update to version 8.2.3 (bsc#1224179)
dfaggioli Apr 29, 2024
9a8e0ff
[openSUSE][RPM] Update to version 9.0.0
dfaggioli Apr 30, 2024
8e01eb0
[openSUSE][RPM] Hostname normalization (for repr. build ) done proper…
dfaggioli May 8, 2024
8f9799c
[openSUSE][RPM] Prioritize PA over PipeWire in SLE (bsc#1222218)
antlarr-suse May 8, 2024
7070c0b
[openSUSE] Update to version 9.0.1
dfaggioli Jun 28, 2024
94a4cb2
[openSUSE] Update to version 9.0.2
dfaggioli Jul 23, 2024
212a893
[openSUSE] roms: Build ipxe with NO_WERROR=1 (bsc#1227960)
Jul 23, 2024
8c4efda
[openSUSE] Workflows for Virtualization:Staging:TDX
dfaggioli Jul 25, 2024
91ed45f
[openSUSE] fixup patch "pc: q35: Allow 1024 cpus for old machine types"
Aug 16, 2024
47d1318
[openSUSE] Update version to 9.1.0
dfaggioli Sep 4, 2024
969f032
[openSUSE][RPM] configure: remove options for removed features
Jul 12, 2024
6be8350
[openSUSE][RPM] Update tests acpi path
Jul 12, 2024
0f50dd0
[openSUSE][RPM] Remove nios2
Jul 12, 2024
c8d5b1f
[openSUSE][RPM] Exclude riscv edk2 files
Jul 12, 2024
fc0f5c8
[openSUSE][RPM] configure: Fix with-pkgversion option
Jul 12, 2024
e4ea83e
[openSUSE] block: Allow the wrapper script to see functions declared …
May 26, 2023
cf5dfab
[openSUSE] block: Temporarily mark bdrv_co_get_allocated_file_size as…
May 17, 2023
ef7177f
[openSUSE] block: Take the graph lock in bdrv_snapshot_list (bsc#1211…
Mar 27, 2024
c63baa6
[openSUSE] block: Reschedule query-block during qcow2 invalidation (b…
Apr 2, 2024
c44c6bd
[openSUSE] block: Run bdrv_do_query_node_info in a coroutine (bsc#121…
Mar 27, 2024
743c05d
[openSUSE] block: Convert bdrv_query_block_graph_info to coroutine (b…
Mar 27, 2024
a757dcc
[openSUSE] block: Convert bdrv_query_image_info to coroutine (bsc#121…
Mar 27, 2024
3270c1c
[openSUSE] block: Convert bdrv_block_device_info into co_wrapper (bsc…
Jun 7, 2023
74540fb
[openSUSE] block: Don't query all block devices at hmp_nbd_server_sta…
Jun 8, 2023
5237e55
[openSUSE] block: Convert qmp_query_block and qmp_query_named_block_n…
morecache May 14, 2023
71f8744
[openSUSE] block: Add a thread-pool version of fstat (bsc#1211000)
May 18, 2023
35150dc
[openSUSE][RPM] package qemu-vmsr-helper
dfaggioli Sep 4, 2024
7ff7eb6
[openSUSE][RPM] (commented out) services for qemu-pr-helper
dfaggioli Sep 4, 2024
bf08ca4
[openSUSE][RPM] Consolidate handling of conditional features
dfaggioli Sep 5, 2024
846d33a
[openSUSE][RPM] Consolidate disabling all features during 'configure'…
dfaggioli Sep 5, 2024
d6950a3
[openSUSE][RPM] explicitly enable qemu-img support for vhdx and vpc
dfaggioli Sep 11, 2024
ea24638
build: Build and install a Texinfo version of the manual.
Apteryks Sep 17, 2020
271a3f2
Add info subpackage with documentation in Info format
Thaodan Mar 31, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 20 additions & 5 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
[submodule "roms/seabios"]
path = roms/seabios
url = https://gitlab.com/qemu-project/seabios.git/
url = https://github.com/openSUSE/qemu-seabios.git
[submodule "roms/SLOF"]
path = roms/SLOF
url = https://gitlab.com/qemu-project/SLOF.git
url = https://github.com/openSUSE/qemu-SLOF.git
[submodule "roms/ipxe"]
path = roms/ipxe
url = https://gitlab.com/qemu-project/ipxe.git
url = https://github.com/openSUSE/qemu-ipxe.git
[submodule "roms/openbios"]
path = roms/openbios
url = https://gitlab.com/qemu-project/openbios.git
Expand All @@ -18,7 +18,7 @@
url = https://gitlab.com/qemu-project/u-boot.git
[submodule "roms/skiboot"]
path = roms/skiboot
url = https://gitlab.com/qemu-project/skiboot.git
url = https://github.com/openSUSE/qemu-skiboot.git
[submodule "roms/QemuMacDrivers"]
path = roms/QemuMacDrivers
url = https://gitlab.com/qemu-project/QemuMacDrivers.git
Expand All @@ -36,10 +36,25 @@
url = https://gitlab.com/qemu-project/opensbi.git
[submodule "roms/qboot"]
path = roms/qboot
url = https://gitlab.com/qemu-project/qboot.git
url = https://github.com/openSUSE/qemu-qboot.git
[submodule "roms/vbootrom"]
path = roms/vbootrom
url = https://gitlab.com/qemu-project/vbootrom.git
[submodule "tests/lcitool/libvirt-ci"]
path = tests/lcitool/libvirt-ci
url = https://gitlab.com/libvirt/libvirt-ci.git
[submodule "subprojects/berkeley-softfloat-3"]
path = subprojects/berkeley-softfloat-3
url = https://gitlab.com/qemu-project/berkeley-softfloat-3
[submodule "subprojects/berkeley-testfloat-3"]
path = subprojects/berkeley-testfloat-3
url = https://gitlab.com/qemu-project/berkeley-testfloat-3
[submodule "subprojects/dtc"]
path = subprojects/dtc
url = https://gitlab.com/qemu-project/dtc.git
[submodule "subprojects/libvfio-user"]
path = subprojects/libvfio-user
url = https://gitlab.com/qemu-project/libvfio-user.git
[submodule "subprojects/keycodemapdb"]
path = subprojects/keycodemapdb
url = https://gitlab.com/qemu-project/keycodemapdb.git
47 changes: 47 additions & 0 deletions .obs/workflows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
pr_factory:
steps:
- branch_package:
source_project: Virtualization:Staging
source_package: qemu
target_project: Virtualization:Staging:PRs
filters:
event: pull_request
branches:
only:
- factory

rebuild_factory:
steps:
# Will automatically rebuild the package
- trigger_services:
project: Virtualization:Staging
package: qemu
filters:
event: push
branches:
only:
- factory

pr_staging_tdx:
steps:
- branch_package:
source_project: Virtualization:Staging:TDX
source_package: qemu
target_project: Virtualization:Staging:TDX:PRs
filters:
event: pull_request
branches:
only:
- v8.2.6-tdx

rebuild_staging_tdx:
steps:
# Will automatically rebuild the package
- trigger_services:
project: Virtualization:Staging:TDX
package: qemu
filters:
event: push
branches:
only:
- v8.2.6-tdx
9 changes: 5 additions & 4 deletions block.c
Original file line number Diff line number Diff line change
Expand Up @@ -1296,6 +1296,7 @@ static void GRAPH_WRLOCK bdrv_backing_attach(BdrvChild *c)
parent->backing_blocker);
bdrv_op_unblock(backing_hd, BLOCK_OP_TYPE_BACKUP_TARGET,
parent->backing_blocker);
bdrv_op_unblock(backing_hd, BLOCK_OP_TYPE_INFO, parent->backing_blocker);
}

static void bdrv_backing_detach(BdrvChild *c)
Expand Down Expand Up @@ -6227,18 +6228,18 @@ BlockDriverState *bdrv_find_node(const char *node_name)
}

/* Put this QMP function here so it can access the static graph_bdrv_states. */
BlockDeviceInfoList *bdrv_named_nodes_list(bool flat,
Error **errp)
BlockDeviceInfoList *coroutine_fn bdrv_co_named_nodes_list(bool flat,
Error **errp)
{
BlockDeviceInfoList *list;
BlockDriverState *bs;

GLOBAL_STATE_CODE();
GRAPH_RDLOCK_GUARD_MAINLOOP();
GRAPH_RDLOCK_GUARD();

list = NULL;
QTAILQ_FOREACH(bs, &graph_bdrv_states, node_list) {
BlockDeviceInfo *info = bdrv_block_device_info(NULL, bs, flat, errp);
BlockDeviceInfo *info = bdrv_co_block_device_info(NULL, bs, flat, errp);
if (!info) {
qapi_free_BlockDeviceInfoList(list);
return NULL;
Expand Down
40 changes: 37 additions & 3 deletions block/file-posix.c
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,9 @@ typedef struct RawPosixAIOData {
struct {
unsigned long op;
} zone_mgmt;
struct {
struct stat *st;
} fstat;
};
} RawPosixAIOData;

Expand Down Expand Up @@ -2624,6 +2627,34 @@ static void raw_close(BlockDriverState *bs)
}
}

static int handle_aiocb_fstat(void *opaque)
{
RawPosixAIOData *aiocb = opaque;

if (fstat(aiocb->aio_fildes, aiocb->fstat.st) < 0) {
return -errno;
}

return 0;
}

static int coroutine_fn raw_co_fstat(BlockDriverState *bs, struct stat *st)
{
BDRVRawState *s = bs->opaque;
RawPosixAIOData acb;

acb = (RawPosixAIOData) {
.bs = bs,
.aio_fildes = s->fd,
.aio_type = QEMU_AIO_FSTAT,
.fstat = {
.st = st,
},
};

return raw_thread_pool_submit(handle_aiocb_fstat, &acb);
}

/**
* Truncates the given regular file @fd to @offset and, when growing, fills the
* new space according to @prealloc.
Expand Down Expand Up @@ -2868,11 +2899,14 @@ static int64_t coroutine_fn raw_co_getlength(BlockDriverState *bs)
static int64_t coroutine_fn raw_co_get_allocated_file_size(BlockDriverState *bs)
{
struct stat st;
BDRVRawState *s = bs->opaque;
int ret;

if (fstat(s->fd, &st) < 0) {
return -errno;
ret = raw_co_fstat(bs, &st);

if (ret) {
return ret;
}

return (int64_t)st.st_blocks * 512;
}

Expand Down
1 change: 1 addition & 0 deletions block/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ block_gen_c = custom_target('block-gen.c',
'../include/block/dirty-bitmap.h',
'../include/block/block_int-io.h',
'../include/block/block-global-state.h',
'../include/block/qapi.h',
'../include/sysemu/block-backend-global-state.h',
'../include/sysemu/block-backend-io.h',
'coroutines.h'
Expand Down
1 change: 1 addition & 0 deletions block/mirror.c
Original file line number Diff line number Diff line change
Expand Up @@ -1196,6 +1196,7 @@ static void mirror_complete(Job *job, Error **errp)
error_setg(&s->replace_blocker,
"block device is in use by block-job-complete");
bdrv_op_block_all(s->to_replace, s->replace_blocker);
bdrv_op_unblock(s->to_replace, BLOCK_OP_TYPE_INFO, s->replace_blocker);
bdrv_ref(s->to_replace);
}

Expand Down
34 changes: 25 additions & 9 deletions block/monitor/block-hmp-cmds.c
Original file line number Diff line number Diff line change
Expand Up @@ -387,10 +387,12 @@ void hmp_nbd_server_start(Monitor *mon, const QDict *qdict)
bool writable = qdict_get_try_bool(qdict, "writable", false);
bool all = qdict_get_try_bool(qdict, "all", false);
Error *local_err = NULL;
BlockInfoList *block_list, *info;
BlockBackend *blk;
SocketAddress *addr;
NbdServerAddOptions export;

GRAPH_RDLOCK_GUARD_MAINLOOP();

if (writable && !all) {
error_setg(&local_err, "-w only valid together with -a");
goto exit;
Expand All @@ -416,29 +418,43 @@ void hmp_nbd_server_start(Monitor *mon, const QDict *qdict)
/* Then try adding all block devices. If one fails, close all and
* exit.
*/
block_list = qmp_query_block(NULL);
for (blk = blk_all_next(NULL); blk; blk = blk_all_next(blk)) {
BlockDriverState *bs = blk_bs(blk);

for (info = block_list; info; info = info->next) {
if (!info->value->inserted) {
if (!*blk_name(blk)) {
continue;
}

/*
* Note: historically we used to call qmp_query_block() to get
* the list of block devices. The two 'continue' cases below
* are the same as used by that function and are here to
* preserve behavior.
*/

if (!blk_get_attached_dev(blk)) {
continue;
}

bs = bdrv_skip_implicit_filters(bs);
if (!bs || !bs->drv) {
continue;
}

export = (NbdServerAddOptions) {
.device = info->value->device,
.device = g_strdup(blk_name(blk)),
.has_writable = true,
.writable = writable,
};

qmp_nbd_server_add(&export, &local_err);

g_free(export.device);
if (local_err != NULL) {
qmp_nbd_server_stop(NULL);
break;
}
}

qapi_free_BlockInfoList(block_list);

exit:
hmp_handle_error(mon, local_err);
}
Expand Down Expand Up @@ -723,7 +739,7 @@ static void print_block_info(Monitor *mon, BlockInfo *info,
}
}

void hmp_info_block(Monitor *mon, const QDict *qdict)
void coroutine_fn hmp_info_block(Monitor *mon, const QDict *qdict)
{
BlockInfoList *block_list, *info;
BlockDeviceInfoList *blockdev_list, *blockdev;
Expand Down
Loading