Merge pull request #62757 from lightbulbjim/libblockdev-sgdisk
libblockdev: add gptfdisk as a dependency
This commit is contained in:
commit
059ce69f39
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, gtk-doc, libxslt, docbook_xsl
|
||||
, docbook_xml_dtd_43, python3, gobject-introspection, glib, udev, kmod, parted, libyaml
|
||||
{ stdenv, fetchFromGitHub, substituteAll, autoreconfHook, pkgconfig, gtk-doc, libxslt, docbook_xsl
|
||||
, docbook_xml_dtd_43, python3, gobject-introspection, glib, udev, kmod, parted, gptfdisk, libyaml
|
||||
, cryptsetup, lvm2, dmraid, utillinux, libbytesize, libndctl, nss, volume_key
|
||||
}:
|
||||
|
||||
@ -17,6 +17,13 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./fix-paths.patch;
|
||||
sgdisk = "${gptfdisk}/bin/sgdisk";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs scripts
|
||||
'';
|
||||
@ -26,7 +33,7 @@ in stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib udev kmod parted cryptsetup lvm2 dmraid utillinux libbytesize libndctl nss volume_key libyaml
|
||||
glib udev kmod parted gptfdisk cryptsetup lvm2 dmraid utillinux libbytesize libndctl nss volume_key libyaml
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
47
pkgs/development/libraries/libblockdev/fix-paths.patch
Normal file
47
pkgs/development/libraries/libblockdev/fix-paths.patch
Normal file
@ -0,0 +1,47 @@
|
||||
--- a/src/plugins/part.c
|
||||
+++ b/src/plugins/part.c
|
||||
@@ -146,7 +146,7 @@ static GMutex deps_check_lock;
|
||||
#define DEPS_LAST 2
|
||||
|
||||
static const UtilDep deps[DEPS_LAST] = {
|
||||
- {"sgdisk", "0.8.6", NULL, "GPT fdisk \\(sgdisk\\) version ([\\d\\.]+)"},
|
||||
+ {"@sgdisk@", "0.8.6", NULL, "GPT fdisk \\(sgdisk\\) version ([\\d\\.]+)"},
|
||||
{"sfdisk", NULL, NULL, NULL},
|
||||
};
|
||||
|
||||
@@ -355,7 +355,7 @@ gboolean bd_part_create_table (const gchar *disk, BDPartTableType type, gboolean
|
||||
}
|
||||
|
||||
static gchar* get_part_type_guid_and_gpt_flags (const gchar *device, int part_num, guint64 *flags, GError **error) {
|
||||
- const gchar *args[4] = {"sgdisk", NULL, device, NULL};
|
||||
+ const gchar *args[4] = {"@sgdisk@", NULL, device, NULL};
|
||||
gchar *output = NULL;
|
||||
gchar **lines = NULL;
|
||||
gchar **line_p = NULL;
|
||||
@@ -1325,7 +1325,7 @@ gboolean bd_part_resize_part (const gchar *disk, const gchar *part, guint64 size
|
||||
|
||||
|
||||
static gboolean set_gpt_flag (const gchar *device, int part_num, BDPartFlag flag, gboolean state, GError **error) {
|
||||
- const gchar *args[5] = {"sgdisk", "--attributes", NULL, device, NULL};
|
||||
+ const gchar *args[5] = {"@sgdisk@", "--attributes", NULL, device, NULL};
|
||||
int bit_num = 0;
|
||||
gboolean success = FALSE;
|
||||
|
||||
@@ -1351,7 +1351,7 @@ static gboolean set_gpt_flag (const gchar *device, int part_num, BDPartFlag flag
|
||||
}
|
||||
|
||||
static gboolean set_gpt_flags (const gchar *device, int part_num, guint64 flags, GError **error) {
|
||||
- const gchar *args[5] = {"sgdisk", "--attributes", NULL, device, NULL};
|
||||
+ const gchar *args[5] = {"@sgdisk@", "--attributes", NULL, device, NULL};
|
||||
guint64 real_flags = 0;
|
||||
gchar *mask_str = NULL;
|
||||
gboolean success = FALSE;
|
||||
@@ -1791,7 +1791,7 @@ gboolean bd_part_set_part_name (const gchar *disk, const gchar *part, const gcha
|
||||
* Tech category: %BD_PART_TECH_GPT-%BD_PART_TECH_MODE_MODIFY_PART
|
||||
*/
|
||||
gboolean bd_part_set_part_type (const gchar *disk, const gchar *part, const gchar *type_guid, GError **error) {
|
||||
- const gchar *args[5] = {"sgdisk", "--typecode", NULL, disk, NULL};
|
||||
+ const gchar *args[5] = {"@sgdisk@", "--typecode", NULL, disk, NULL};
|
||||
const gchar *part_num_str = NULL;
|
||||
gboolean success = FALSE;
|
||||
guint64 progress_id = 0;
|
Loading…
Reference in New Issue
Block a user