commit:     24afabed23ff17e60b64c8eb405f3acb85c65d27
Author:     Bjorn Pagen <bjornpagen <AT> gmail <DOT> com>
AuthorDate: Wed Nov  1 00:28:28 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Nov  2 01:19:51 2017 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=24afabed

add sys-libs/libblockdev

 sys-libs/libblockdev/Manifest                      |   5 +
 .../libblockdev/files/libblockdev-fix-clang.patch  | 111 +++++++++++++++++++++
 .../libblockdev/files/libblockdev-fix-musl.patch   |  40 ++++++++
 sys-libs/libblockdev/libblockdev-2.13.ebuild       |  84 ++++++++++++++++
 sys-libs/libblockdev/metadata.xml                  |  17 ++++
 5 files changed, 257 insertions(+)

diff --git a/sys-libs/libblockdev/Manifest b/sys-libs/libblockdev/Manifest
new file mode 100644
index 0000000..8a3ef17
--- /dev/null
+++ b/sys-libs/libblockdev/Manifest
@@ -0,0 +1,5 @@
+AUX libblockdev-fix-clang.patch 4620 SHA256 
8c3d791e166a26fbe42cd930727dc26e3bd82e7a6afcea74ef6d6ec9c518e848 SHA512 
456376b00481e0841eed0437fcfbe9db020392c6131ab2351eb0e6a3edae8fb29a38c175d2a41d7525f78c63b6a9cdaf7c7b144cd4588a509e4b551d10970a89
 WHIRLPOOL 
53deb86ac2a9bfb9d2286c0faebaff4e5b8819d4d712daf5501be9471d6be9af2c53954a9d250cffcb7152c8f4e28fa50c4491fee6301313ed3d08ef1f72e82a
+AUX libblockdev-fix-musl.patch 1267 SHA256 
438adccce53111e08e408568abc784d731878f3809bd8f44966680e890d419b1 SHA512 
bf6eaea8d8de44abe9ecc00615e2c24bd717a209db1e6234722bdb261cee2a5f08b6f9f9a4e9b4871c1bacfe6e2874a7b1d6430289575d9957d2f9d421632b9c
 WHIRLPOOL 
dcd81d6dba58af62e2d7a74c5f5d9b906766d4fbda05b2746598aacfc670328d1e493e20cab3e551bee7540b722409f390a1f2eb6ba3855981ba934cf488e3c8
+DIST libblockdev-2.13-1.tar.gz 269162 SHA256 
0eca9236ec47dad64729b602d6658ff48034bf95f749296df1aa23e733abf5df SHA512 
eaa0751691008f2cb3c4cdbf00af8f3653b7e309a02ccb700528601ccfa0cca7631e6072e2a25d9da3862b0638dac08b0ac739b1ae4702b9b263fb58f73d10c9
 WHIRLPOOL 
311ccc4a65963f0457d519e8858d3d0e8a286d3343efb8819b2ffd1d1d01057b6ca2f6926472cc11b2b6f918cf8644654c328c074e63fddbe2447f62f02fc7fb
+EBUILD libblockdev-2.13.ebuild 1537 SHA256 
82e4314c2276f90997f455c896671fc358eb8731a3f8d78d909d3ee19072044b SHA512 
78cbff39035f1c4960346024c4794f683b47e0baaa38778047b8c00cfb9ea29e74d83fe7f2837879e4cf707ab774ff6332f3badafdadb143aeada53235787710
 WHIRLPOOL 
a27332e3995ef44fe0ca38b8f96b09c1e506fe6f2216c8aa413d23bfd24c55605233d8a8b8dbfe91c154e0f839bcd0d7a7a7bdb48195ec9ab78b2e276679d05f
+MISC metadata.xml 699 SHA256 
066244bf0d29afd9a7c56bf92b302f1a44a2e2964f3bbccb979af6de9e836ef8 SHA512 
64d93b75e3100a80d83112de338979f1ea9dd42ff39ef96f232343e977058de0b1d8785f93760ee24616df564ab4f8af490909242cbbad037f044b283a21634d
 WHIRLPOOL 
3f0e27a344b607c7f33e15fd967f7d2a90f484901ec8673d7b8f6703697054b4e17a1fa07b2da915a6b08cec7f19b6f44e0f8b1751782f05915b30112edc8769

diff --git a/sys-libs/libblockdev/files/libblockdev-fix-clang.patch 
b/sys-libs/libblockdev/files/libblockdev-fix-clang.patch
new file mode 100644
index 0000000..3818936
--- /dev/null
+++ b/sys-libs/libblockdev/files/libblockdev-fix-clang.patch
@@ -0,0 +1,111 @@
+From 9b4a7a4d0653b627d747e00d6b3ada2990caa1d3 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <[email protected]>
+Date: Wed, 9 Aug 2017 13:57:57 +0800
+Subject: [PATCH] fix a clang compiling issue
+
+[snip]
+../../../git/src/plugins/fs.c:2617:26: error: missing field 'start'
+initializer [-Werror,-Wmissing-field-initializers]
+    PedGeometry geom = {0};
+                         ^
+../../../git/src/plugins/fs.c:2618:30: error: missing field 'start'
+initializer [-Werror,-Wmissing-field-initializers]
+    PedGeometry new_geom = {0};
+[snip]
+
+Fix typo s/enum libvk_packet_format format/enum libvk_secret secret_type/
+
+Upstream-Status: Submitted 
[https://github.com/storaged-project/libblockdev/pull/266]
+
+Signed-off-by: Hongxu Jia <[email protected]>
+---
+ src/plugins/crypto.c | 6 +++---
+ src/plugins/fs.c     | 4 ++--
+ src/plugins/part.c   | 4 ++--
+ src/utils/exec.c     | 2 +-
+ 4 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/plugins/crypto.c b/src/plugins/crypto.c
+index 8fbce4f..7ee7cdc 100644
+--- a/src/plugins/crypto.c
++++ b/src/plugins/crypto.c
+@@ -881,7 +881,7 @@ gboolean bd_crypto_tc_open (const gchar *device, const 
gchar *name, const guint8
+     gint ret = 0;
+     guint64 progress_id = 0;
+     gchar *msg = NULL;
+-    struct crypt_params_tcrypt params = {0};
++    struct crypt_params_tcrypt params = {NULL,0,NULL,0,NULL,NULL,NULL,0,0};
+ 
+     msg = g_strdup_printf ("Started opening '%s' TrueCrypt/VeraCrypt device", 
device);
+     progress_id = bd_utils_report_started (msg);
+@@ -999,7 +999,7 @@ static gchar *replace_char (gchar *str, gchar orig, gchar 
new) {
+     return str;
+ }
+ 
+-static gboolean write_escrow_data_file (struct libvk_volume *volume, struct 
libvk_ui *ui, enum libvk_packet_format format, const gchar *out_path,
++static gboolean write_escrow_data_file (struct libvk_volume *volume, struct 
libvk_ui *ui, enum libvk_secret secret_type, const gchar *out_path,
+                                         CERTCertificate *cert, GError 
**error) {
+     gpointer packet_data = NULL;
+     gsize packet_data_size = 0;
+@@ -1008,7 +1008,7 @@ static gboolean write_escrow_data_file (struct 
libvk_volume *volume, struct libv
+     gsize bytes_written = 0;
+     GError *tmp_error = NULL;
+ 
+-    packet_data = libvk_volume_create_packet_asymmetric_with_format (volume, 
&packet_data_size, format, cert,
++    packet_data = libvk_volume_create_packet_asymmetric_with_format (volume, 
&packet_data_size, secret_type, cert,
+                                                                      ui, 
LIBVK_PACKET_FORMAT_ASYMMETRIC_WRAP_SECRET_ONLY, error);
+ 
+     if (!packet_data) {
+diff --git a/src/plugins/fs.c b/src/plugins/fs.c
+index c4b6ac8..647096d 100644
+--- a/src/plugins/fs.c
++++ b/src/plugins/fs.c
+@@ -2614,8 +2614,8 @@ BDFSVfatInfo* bd_fs_vfat_get_info (const gchar *device, 
GError **error) {
+  */
+ gboolean bd_fs_vfat_resize (const gchar *device, guint64 new_size, GError 
**error) {
+     PedDevice *ped_dev = NULL;
+-    PedGeometry geom = {0};
+-    PedGeometry new_geom = {0};
++    PedGeometry geom = {NULL, 0, 0, 0};
++    PedGeometry new_geom = {NULL, 0, 0, 0};
+     PedFileSystem *fs = NULL;
+     PedSector start = 0;
+     PedSector length = 0;
+diff --git a/src/plugins/part.c b/src/plugins/part.c
+index 12d2ef7..d277688 100644
+--- a/src/plugins/part.c
++++ b/src/plugins/part.c
+@@ -849,7 +849,7 @@ static PedPartition* add_part_to_disk (PedDevice *dev, 
PedDisk *disk, BDPartType
+         return NULL;
+     }
+ 
+-    part = ped_partition_new (disk, type, NULL, geom->start, geom->end);
++    part = ped_partition_new (disk, (PedPartitionType)type, NULL, 
geom->start, geom->end);
+     if (!part) {
+         set_parted_error (error, BD_PART_ERROR_FAIL);
+         g_prefix_error (error, "Failed to create new partition on device 
'%s'", dev->path);
+@@ -1427,7 +1427,7 @@ gboolean bd_part_set_part_flags (const gchar *disk, 
const gchar *part, guint64 f
+     PedPartition *ped_part = NULL;
+     const gchar *part_num_str = NULL;
+     gint part_num = 0;
+-    guint64 i = 0;
++    int i = 0;
+     gint status = 0;
+     gboolean ret = FALSE;
+     guint64 progress_id = 0;
+diff --git a/src/utils/exec.c b/src/utils/exec.c
+index 7ac44fd..0a3094c 100644
+--- a/src/utils/exec.c
++++ b/src/utils/exec.c
+@@ -354,7 +354,7 @@ gboolean bd_utils_exec_and_report_progress (const gchar 
**argv, const BDExtraArg
+     GIOStatus io_status = G_IO_STATUS_NORMAL;
+     guint i = 0;
+     guint8 completion = 0;
+-    GPollFD fds[2] = {{0}, {0}};
++    GPollFD fds[2] = {{0,0,0}, {0,0,0}};
+     gboolean out_done = FALSE;
+     gboolean err_done = FALSE;
+     GString *stdout_data = g_string_new (NULL);
+-- 
+1.8.3.1
+

diff --git a/sys-libs/libblockdev/files/libblockdev-fix-musl.patch 
b/sys-libs/libblockdev/files/libblockdev-fix-musl.patch
new file mode 100644
index 0000000..c9b9358
--- /dev/null
+++ b/sys-libs/libblockdev/files/libblockdev-fix-musl.patch
@@ -0,0 +1,40 @@
+ src/plugins/crypto.c | 2 +-
+ src/plugins/part.c   | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/plugins/crypto.c b/src/plugins/crypto.c
+index 8fbce4f..66e11e5 100644
+--- a/src/plugins/crypto.c
++++ b/src/plugins/crypto.c
+@@ -22,7 +22,7 @@
+ #include <libcryptsetup.h>
+ #include <nss.h>
+ #include <volume_key/libvolume_key.h>
+-#include <sys/fcntl.h>
++#include <fcntl.h>
+ #include <sys/ioctl.h>
+ #include <linux/random.h>
+ #include <locale.h>
+diff --git a/part.c.orig b/part.c
+index 87fd2ad..58bfcc4 100644
+--- a/src/plugins/part.c
++++ b/src/plugins/part.c
+@@ -25,6 +25,7 @@
+ #include <inttypes.h>
+ #include <unistd.h>
+ #include <sys/file.h>
++#include <fcntl.h>
+ #include <sys/ioctl.h>
+ #include <linux/fs.h>
+ #include <blockdev/utils.h>
+@@ -1335,7 +1336,7 @@ static gboolean set_gpt_flags (const gchar *device, int 
part_num, guint64 flags,
+         real_flags |= 0x4000000000000000; /* 1 << 62 */
+     if (flags & BD_PART_FLAG_GPT_NO_AUTOMOUNT)
+         real_flags |= 0x8000000000000000; /* 1 << 63 */
+-    mask_str = g_strdup_printf ("%.16"__PRI64_PREFIX"x", real_flags);
++    mask_str = g_strdup_printf ("%.16"__PRI64"x", real_flags);
+ 
+     args[2] = g_strdup_printf ("%d:=:%s", part_num, mask_str);
+     g_free (mask_str);
+-- 
+1.8.3.1

diff --git a/sys-libs/libblockdev/libblockdev-2.13.ebuild 
b/sys-libs/libblockdev/libblockdev-2.13.ebuild
new file mode 100644
index 0000000..1eaffc0
--- /dev/null
+++ b/sys-libs/libblockdev/libblockdev-2.13.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{4,5,6} )
+inherit autotools python-single-r1
+
+MY_PV="${PV}-1"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="A library for manipulating block devices"
+HOMEPAGE="https://github.com/rhinstaller/libblockdev";
+SRC_URI="https://github.com/rhinstaller/${PN}/archive/${MY_PV}.tar.gz -> 
${MY_P}.tar.gz"
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="bcache +crypt dmraid doc lvm kbd test"
+
+CDEPEND="
+       >=dev-libs/glib-2.42.2
+       dev-libs/libbytesize
+       >=sys-apps/util-linux-2.27
+       >=sys-block/parted-3.1
+       crypt? (
+               >=dev-libs/nss-3.18.0
+               dev-libs/volume_key
+               >=sys-fs/cryptsetup-1.6.7
+       )
+       dmraid? (
+               sys-fs/dmraid
+               sys-fs/lvm2
+       )
+       lvm? (
+               sys-fs/lvm2
+               virtual/udev
+       )
+       kbd? ( >=sys-apps/kmod-19 )
+       ${PYTHON_DEPS}
+"
+
+DEPEND="
+       ${CDEPEND}
+       >=dev-libs/gobject-introspection-1.3.0
+       doc? ( dev-util/gtk-doc )
+"
+
+RDEPEND="
+       ${CDEPEND}
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+       python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       eapply "${FILESDIR}/${PN}-fix-musl.patch"
+       eapply "${FILESDIR}/${PN}-fix-clang.patch"
+       default
+       eautoreconf
+}
+
+src_configure() {
+       local myeconfargs=(
+               --with-btrfs
+               --with-fs
+               --with-part
+               --with-python3
+               --without-mpath
+               $(use_enable test tests)
+               $(use_with bcache)
+               $(use_with crypt crypto)
+               $(use_with dmraid dm)
+               $(use_with doc gtk-doc)
+               $(use_with lvm lvm)
+               $(use_with lvm lvm-dbus)
+               $(use_with kbd)
+       )
+       econf "${myeconfargs[@]}"
+}

diff --git a/sys-libs/libblockdev/metadata.xml 
b/sys-libs/libblockdev/metadata.xml
new file mode 100644
index 0000000..6f4957a
--- /dev/null
+++ b/sys-libs/libblockdev/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+  <maintainer type="person">
+    <email>[email protected]</email>
+    <name>Lars Wendler</name>
+  </maintainer>
+  <use>
+    <flag name="bcache">Enable block device cache support.</flag>
+    <flag name="dmraid">Support for dmraid devices, also known as ATA-RAID, or 
Fake RAID.</flag>
+    <flag name="lvm">Enable support for Logical Volume Management via 
<pkg>sys-fs/lvm2</pkg>.</flag>
+    <flag name="kbd">Enable kernel block device support.</flag>
+  </use>
+  <upstream>
+    <remote-id type="github">storaged-project/libblockdev</remote-id>
+  </upstream>
+</pkgmetadata>

Reply via email to