{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":215283129,"defaultBranch":"master","name":"libguestfs-common","ownerLogin":"libguestfs","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-10-15T11:36:14.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1318582?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1680515632.0","currentOid":""},"activityList":{"items":[{"before":"ec1f99fcfd29c572ca003fdd0b0ee0c416e5ad80","after":"830cbdcf4321f289ccfea9ac1e69198678da0a8d","ref":"refs/heads/master","pushedAt":"2024-05-16T12:27:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"mlcustomize: Add Inject_virtio_win.inject_blnsvr implementation","shortMessageHtmlLink":"mlcustomize: Add Inject_virtio_win.inject_blnsvr implementation"}},{"before":"93a7f3af5c23ece6a8e092827ed5928a8973fd3c","after":"ec1f99fcfd29c572ca003fdd0b0ee0c416e5ad80","ref":"refs/heads/master","pushedAt":"2024-05-16T12:22:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"mlcustomize: Add virt-customize --inject-blnsvr generated files","shortMessageHtmlLink":"mlcustomize: Add virt-customize --inject-blnsvr generated files"}},{"before":"0330ebe40cb645df311bab25888c5ca6cc179efe","after":"93a7f3af5c23ece6a8e092827ed5928a8973fd3c","ref":"refs/heads/master","pushedAt":"2024-04-24T11:22:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"options: Allow nbd+unix:// URIs\n\nAllow nbd+unix:// scheme in URIs as an alternative to plain nbd://.\n\nWe are pretty liberal about parsing (also necessary to retain\nbackwards compatibility), so we don't enforce that nbd+unix URIs have\nto have the socket= parameter, or that nbd URIs must be over TCP.\n\nExample failure before:\n\n$ nbdkit -U - memory 1G --run 'guestfish --ro --format=raw -a \"$uri\" run : list-devices'\nguestfish: access: nbd+unix://?socket=/tmp/nbdkit5nBClB/socket: No such file or directory\n\nWith this fix applied:\n\n$ nbdkit -U - memory 1G --run 'guestfish --ro --format=raw -a \"$uri\" run : list-devices'\n/dev/sda\n\nSee: https://github.com/NetworkBlockDevice/nbd/blob/master/doc/uri.md\nReported-by: Ming Xie\nFixes: https://issues.redhat.com/browse/RHEL-33851","shortMessageHtmlLink":"options: Allow nbd+unix:// URIs"}},{"before":"54869c9875318db5e7b7c07be1b17931fbc17895","after":"0330ebe40cb645df311bab25888c5ca6cc179efe","ref":"refs/heads/master","pushedAt":"2024-03-28T12:54:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"Initialise bar->fp as NULL\n\nReviewed-by: Richard W.M. Jones \nFixes: https://bugzilla.redhat.com/show_bug.cgi?id=2272045","shortMessageHtmlLink":"Initialise bar->fp as NULL"}},{"before":"0dba002c20b1ff4046f45fc51528ee199a20706c","after":"54869c9875318db5e7b7c07be1b17931fbc17895","ref":"refs/heads/master","pushedAt":"2024-01-19T13:32:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"mlcustomize: Update virt-customize generated files\n\nModified by this patch to libguestfs:\n\n generator/customize.ml: Split --chown parameter on ':' character","shortMessageHtmlLink":"mlcustomize: Update virt-customize generated files"}},{"before":"cd29aee912d61d6fa5c6538acb6355efbd5a2c05","after":"0dba002c20b1ff4046f45fc51528ee199a20706c","ref":"refs/heads/master","pushedAt":"2023-12-09T13:04:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"mltools/libosinfo-c.c: Fix off-by-one error\n\nWhen adding a new field to struct osinfo_device_driver in\ncommit 27816bd9 (\"convert/libosinfo: retrieve the device list for\nOsinfoDeviceDriver\") we forgot to increase the allocated size\n(caml_alloc). This surprisingly worked, until it caused mysterious\ncrashes on one machine.\n\nFixes: commit 27816bd952b609b45e98670fe538b621f3d254e4","shortMessageHtmlLink":"mltools/libosinfo-c.c: Fix off-by-one error"}},{"before":"6185aa8431b00ea3669e9e81e75233f4e865f828","after":"cd29aee912d61d6fa5c6538acb6355efbd5a2c05","ref":"refs/heads/master","pushedAt":"2023-12-08T11:01:20.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"options: Allow --key all:SELECTOR to be used to match any device\n\nvirt-v2v (and other virt tools using --key) forces you to supply keys\non the command line per-device, eg. --key UUID:SELECTOR where UUID is\nthe UUID of the encrypted device. In practice this requires users to\npre-inspect guests to find out what device UUIDs they are using (or\nhave some out-of-band method), match keys to UUIDs, and then pass the\nresult to virt-v2v.\n\nObviously this is a pain in the neck for users, as predicted when the\nfeature was initially added. Although it is more efficient for\nvirt-v2v -- because attempting to decrypt a device with an invalid key\nis slow -- there is a significant number of VMs (probably the vast\nmajority) that only have a single encrypted device, so this isn't an\nissue in most cases.\n\nThis change allows --key all:SELECTOR to be used, to try the key\nagainst any encrypted device encountered.\n\nFixes: https://issues.redhat.com/browse/RHEL-18142","shortMessageHtmlLink":"options: Allow --key all:SELECTOR to be used to match any device"}},{"before":"e711121607869363200aa80218719dcb25fcd98f","after":"6185aa8431b00ea3669e9e81e75233f4e865f828","ref":"refs/heads/master","pushedAt":"2023-11-27T14:07:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"mlxml: Include for xmlReadMemory\n\nRequired since libxml2 2.12.1.","shortMessageHtmlLink":"mlxml: Include <libxml/parser.h> for xmlReadMemory"}},{"before":"9a8ba593511f94d59049bd920a6aee9210a2611f","after":"e711121607869363200aa80218719dcb25fcd98f","ref":"refs/heads/master","pushedAt":"2023-11-02T10:43:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"mldrivers: look for bootloader config in /boot/grub/grub.cfg in case of UEFI\n\nOn some older Debian-based distros (in particular, this is true for\nDebian 8) GRUB config file doesn't reside on EFI partition, but rather\nat /boot/grub/grub.cfg even if UEFI firmware is being used. As a\nresult, in the UEFI case we get \"error: no bootloader detected\". Let's\njust append this path to the end of the corresponding list as a workaround\nwhen dealing with UEFI guests.\n\nSigned-off-by: Andrey Drobyshev \nReviewed-by: Laszlo Ersek ","shortMessageHtmlLink":"mldrivers: look for bootloader config in /boot/grub/grub.cfg in case …"}},{"before":"e70d89a58dae068be2e19c7c21558707261af96a","after":"9a8ba593511f94d59049bd920a6aee9210a2611f","ref":"refs/heads/master","pushedAt":"2023-10-26T20:16:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"mlcustomize: Update virt-customize generated files\n\nModified by these patches to libguestfs:\n\n commit 297db5cccc1eb6e838f35d38e60fac894b372676\n Author: Richard W.M. Jones \n Date: Thu Oct 26 21:06:21 2023 +0100\n\n generator: Sort virt-customize options into alphabetical order\n\n commit cf48d04185a3b941b735040964d14006a6d64bd3\n Author: Richard W.M. Jones \n Date: Thu Oct 26 19:44:03 2023 +0100\n\n generator: Add new virt-customize --tar-in operation","shortMessageHtmlLink":"mlcustomize: Update virt-customize generated files"}},{"before":"bbb54714ce24c76e5761d96a0227a753896dc4c4","after":"e70d89a58dae068be2e19c7c21558707261af96a","ref":"refs/heads/master","pushedAt":"2023-07-15T15:49:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"customize: Update generated files for --chown with StringTriplet","shortMessageHtmlLink":"customize: Update generated files for --chown with StringTriplet"}},{"before":"420892e660726c7184c000b9b86b11f491a5a126","after":"bbb54714ce24c76e5761d96a0227a753896dc4c4","ref":"refs/heads/master","pushedAt":"2023-06-29T16:14:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"mlcustomize: Update generated files adding --chown option","shortMessageHtmlLink":"mlcustomize: Update generated files adding --chown option"}},{"before":"d61cd820b49e403848d15c5deaccbf8dd7045370","after":"420892e660726c7184c000b9b86b11f491a5a126","ref":"refs/heads/master","pushedAt":"2023-06-29T12:20:11.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"mltools: curl: Print the URL which we are downloading in the error message\n\nBecause we use a config file when invoking curl it's never obvious\nwhat we're actually trying to download in error messages such as the\none below, making debugging difficult:\n\n $ virt-builder --list\n curl: (60) SSL certificate problem: self-signed certificate in certificate chain\n More details here: https://curl.se/docs/sslcerts.html\n\n curl failed to verify the legitimacy of the server and therefore could not\n establish a secure connection to it. To learn more about this situation and\n how to fix it, please visit the web page mentioned above.\n virt-builder: error: external command ‘'curl' -q --config\n '/tmp/virt-builder.j8NH9X/guestfscurl045325.conf'’ exited with error 60\n\n If reporting bugs, run virt-builder with debugging enabled and include the\n complete output:\n\n virt-builder -v -x [...]\n\nAfter this change the error message is the same except that it tells\nus what URL we were trying to fetch:\n\n virt-builder: error: downloading\n https://file.rdu.redhat.com/~rjones/builder/index.asc: external command\n [etc]","shortMessageHtmlLink":"mltools: curl: Print the URL which we are downloading in the error me…"}},{"before":"b636c3f20a1b8d1a6a75f33dcb1fd931c95c5e00","after":"d61cd820b49e403848d15c5deaccbf8dd7045370","ref":"refs/heads/master","pushedAt":"2023-05-22T16:17:23.646Z","pushType":"push","commitsCount":1,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"Add support for OCaml 5.0\n\nPervasives is deprecated since Ocaml 4.08 and has been\nremoved in OCaml 5.0.\n\nhttps://github.com/ocaml/ocaml/pull/1605","shortMessageHtmlLink":"Add support for OCaml 5.0"}},{"before":"38e6988c1864cdcae2017b7110ce6cf68b509c68","after":"b636c3f20a1b8d1a6a75f33dcb1fd931c95c5e00","ref":"refs/heads/master","pushedAt":"2023-05-19T09:30:19.515Z","pushType":"push","commitsCount":2,"pusher":{"login":"lersek","name":"Laszlo Ersek","path":"/lersek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4354893?s=80&v=4"},"commit":{"message":"options/keys: introduce unescape_device_mapper_lvm()\n\nLibguestfs uses the\n\n /dev/VG/LV\n\nformat internally, for identifying LVM logical volumes, but the user might\nwant to specify the\n\n /dev/mapper/VG-LV ID\n\nformat with the \"--key ID:...\" options.\n\nIntroduce unescape_device_mapper_lvm() for turning\n\n /dev/mapper/VG-LV\n\nkey IDs into\n\n /dev/VG/LV\n\nones, unescaping doubled hyphens to single hyphens in both VG and LV in\nthe process.\n\nCall unescape_device_mapper_lvm() from key_store_import_key(). That is,\ntranslate the ID as soon as the \"--key\" option is processed -- let the\nkeystore only know about the usual /dev/VG/LV format, for later matching.\n\nBugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2168506\nSigned-off-by: Laszlo Ersek \nMessage-Id: <20230518130942.288152-3-lersek@redhat.com>\nReviewed-by: Richard W.M. Jones ","shortMessageHtmlLink":"options/keys: introduce unescape_device_mapper_lvm()"}},{"before":"70c10a079a30ff3a84f38596d725a6c5d46e2470","after":"38e6988c1864cdcae2017b7110ce6cf68b509c68","ref":"refs/heads/master","pushedAt":"2023-04-22T08:09:39.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"mlcustomize/SELinux_relabel.ml: Use Array.mem\n\nWe now assume OCaml >= 4.04, and Array.mem has been present since\nOCaml 4.03.","shortMessageHtmlLink":"mlcustomize/SELinux_relabel.ml: Use Array.mem"}},{"before":null,"after":"01f4fa3cff4bdc877ca8834b8989205a3019f056","ref":"refs/heads/rhel-8.8.0","pushedAt":"2023-04-03T09:53:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"RHEL 8: If setfiles fails fall back to autorelabel\n\nSFDC case 03473932, RHEL 8 only.\n\nSee discussion in private email thread \"Customer case requiring our\nassistance\" in 2023.\n\nReviewed-by: Laszlo Ersek ","shortMessageHtmlLink":"RHEL 8: If setfiles fails fall back to autorelabel"}},{"before":"402f7600d7077cc0c60b75cfc72413af93dc4e6e","after":"70c10a079a30ff3a84f38596d725a6c5d46e2470","ref":"refs/heads/master","pushedAt":"2023-03-21T15:48:37.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lersek","name":"Laszlo Ersek","path":"/lersek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4354893?s=80&v=4"},"commit":{"message":"detect_kernels: deal with RHEL's kernel-core / kernel-modules-core split\n\nIn \"kernel-5.14.0-269.el9\", the \"kernel-modules-core\" subpackage got split\nfrom the \"kernel-core\" subpackage. Therefore, a single binary RPM\ncontaining *both* the \"/boot/vmlinuz-5.14.0-269.el9.x86_64\" file *and* the\n\"/lib/modules/5.14.0-269.el9.x86_64\" directory no longer exists. The file\nnow belongs to \"kernel-core\", and the directory to \"kernel-modules-core\".\n\nAs a result, when we investigate the file list of \"kernel-core\" (based on\n\"kernel-core\" providing \"/boot/vmlinuz-5.14.0-269.el9.x86_64\"), the first\nmatch against \"/lib/modules/\" is not the actual module root directory\n\"/lib/modules/5.14.0-269.el9.x86_64\", but the nonsensical\n\"/lib/modules/5.14.0-269.el9.x86_64/.vmlinuz.hmac\" regular file. This\nlatter file is never a directory, therefore we rule out \"kernel-core\" as a\nkernel package.\n\nWe also rule out \"kernel-modules-core\" (even earlier) because it does not\ncontain \"/boot/vmlinuz-5.14.0-269.el9.x86_64\".\n\nNow, the code already deals with the case if the prospective kernel\npackage *does not provide a match* for the \"/lib/modules/\" prefix: in that\ncase, we construct the modpath manually, from said prefix, and the version\nnumber found in \"/boot/vmlinuz-\". This fallback is good, but it's\nunreachable if *there is* a candidate, it's just wrong (i.e., not a\ndirectory).\n\nPerform the \"is_dir\" check on the candidate modpath earlier, so that we\ncan fall back to the manual modpath construction if the modpath candidate\nexists, but is wrong.\n\nWith this, the original \"is_dir\" check becomes superfluous (duplicated)\n*except* when the \"Not_found\" branch is taken. Therefore, hoist the\noriginal \"is_dir\" check into that branch.\n\nBugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2175703\nReported-by: Vera Wu \nSigned-off-by: Laszlo Ersek \nTested-by: Vera Wu \nMessage-Id: <20230320115301.43051-3-lersek@redhat.com>","shortMessageHtmlLink":"detect_kernels: deal with RHEL's kernel-core / kernel-modules-core split"}},{"before":"360e037dc49830ff47e263bcab7453daa9540514","after":"402f7600d7077cc0c60b75cfc72413af93dc4e6e","ref":"refs/heads/master","pushedAt":"2023-03-18T21:49:25.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"rwmjones","name":null,"path":"/rwmjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/259688?s=80&v=4"},"commit":{"message":"Merge pull request #5 from d-hatayama/fix_segfault_progress_bar\n\nprogress: fix segmentation fault when TERM variable is \"dumb\"","shortMessageHtmlLink":"Merge pull request #5 from d-hatayama/fix_segfault_progress_bar"}},{"before":"7acf991a25b3fd625eb1ff1fbd8dc9fedf245942","after":"360e037dc49830ff47e263bcab7453daa9540514","ref":"refs/heads/master","pushedAt":"2023-03-14T11:57:33.725Z","pushType":"push","commitsCount":4,"pusher":{"login":"lersek","name":"Laszlo Ersek","path":"/lersek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4354893?s=80&v=4"},"commit":{"message":"inject_virtio_win: write the proper block controller PCI ID to Win registry\n\nIn case when we are injecting virtio-scsi device driver into the guest\n(rather than the default virtio-blk), make sure we write the right PCI ID\nvalue into the Windows guest registry. This is essential for the guest\nto be bootable afterwards.\n\nOriginally-by: Roman Kagan \nSigned-off-by: Andrey Drobyshev \nMessage-Id: <20230310175455.781411-5-andrey.drobyshev@virtuozzo.com>\nReviewed-by: Richard W.M. Jones \nReviewed-by: Laszlo Ersek ","shortMessageHtmlLink":"inject_virtio_win: write the proper block controller PCI ID to Win re…"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAES5itvwA","startCursor":null,"endCursor":null}},"title":"Activity · libguestfs/libguestfs-common"}