Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/musl:master commit in: sys-fs/btrfs-progs/, sys-fs/btrfs-progs/files/
Date: Sun, 10 Dec 2017 02:12:17
Message-Id: 1512871917.aa8814878e300f3e879cc2ab391045763c938dbb.blueness@gentoo
1 commit: aa8814878e300f3e879cc2ab391045763c938dbb
2 Author: Bjorn Pagen <bjornpagen <AT> gmail <DOT> com>
3 AuthorDate: Fri Dec 1 23:09:49 2017 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Sun Dec 10 02:11:57 2017 +0000
6 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=aa881487
7
8 sys-fs/btrfs-progs: initial commit
9
10 Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>
11
12 sys-fs/btrfs-progs/Manifest | 1 +
13 sys-fs/btrfs-progs/btrfs-progs-4.14.ebuild | 107 +++++++++++++++++++++++++++++
14 sys-fs/btrfs-progs/files/musl-compat.patch | 24 +++++++
15 sys-fs/btrfs-progs/metadata.xml | 22 ++++++
16 4 files changed, 154 insertions(+)
17
18 diff --git a/sys-fs/btrfs-progs/Manifest b/sys-fs/btrfs-progs/Manifest
19 new file mode 100644
20 index 0000000..14fed4e
21 --- /dev/null
22 +++ b/sys-fs/btrfs-progs/Manifest
23 @@ -0,0 +1 @@
24 +DIST btrfs-progs-v4.14.tar.xz 1697584 SHA256 09095cbc3bc2b6aa9d09c93146fb4d7437c51d2572f6918b74fe990fcdcb91af SHA512 11171e6730f4aa102bdb4cd405da2d4c55e2c102fec4cc6d3135df516c78af1c34fede722a1677bd9c638b47e77085e005b29333ae70b98771501e32628890f7 WHIRLPOOL 70584ed3dd537bea34d07fdb5597365326d826799c9ee70d6b64faec536e2eedee3feb32a0bcc487e962d90a8f075443d3adfaecd5410fc7780b7af296a53f5c
25
26 diff --git a/sys-fs/btrfs-progs/btrfs-progs-4.14.ebuild b/sys-fs/btrfs-progs/btrfs-progs-4.14.ebuild
27 new file mode 100644
28 index 0000000..79b512d
29 --- /dev/null
30 +++ b/sys-fs/btrfs-progs/btrfs-progs-4.14.ebuild
31 @@ -0,0 +1,107 @@
32 +# Copyright 1999-2017 Gentoo Foundation
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=6
36 +
37 +inherit bash-completion-r1
38 +
39 +libbtrfs_soname=0
40 +
41 +if [[ ${PV} != 9999 ]]; then
42 + MY_PV=v${PV}
43 + KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
44 + SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
45 + S="${WORKDIR}"/${PN}-${MY_PV}
46 +else
47 + WANT_LIBTOOL=none
48 + inherit autotools git-r3
49 + EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
50 + EGIT_BRANCH="devel"
51 +fi
52 +
53 +DESCRIPTION="Btrfs filesystem utilities"
54 +HOMEPAGE="https://btrfs.wiki.kernel.org"
55 +
56 +LICENSE="GPL-2"
57 +SLOT="0/${libbtrfs_soname}"
58 +IUSE="+convert reiserfs static static-libs +zstd"
59 +
60 +RESTRICT=test # tries to mount repared filesystems
61 +
62 +RDEPEND="
63 + dev-libs/lzo:2=
64 + sys-apps/util-linux:0=[static-libs(+)?]
65 + sys-libs/zlib:0=
66 + convert? (
67 + sys-fs/e2fsprogs:0=
68 + sys-libs/e2fsprogs-libs:0=
69 + reiserfs? (
70 + >=sys-fs/reiserfsprogs-3.6.27
71 + )
72 + )
73 + zstd? ( app-arch/zstd:0= )
74 +"
75 +DEPEND="${RDEPEND}
76 + convert? ( sys-apps/acl )
77 + >=app-text/asciidoc-8.6.0
78 + app-text/docbook-xml-dtd:4.5
79 + app-text/xmlto
80 + static? (
81 + dev-libs/lzo:2[static-libs(+)]
82 + sys-apps/util-linux:0[static-libs(+)]
83 + sys-libs/zlib:0[static-libs(+)]
84 + convert? (
85 + sys-fs/e2fsprogs:0[static-libs(+)]
86 + sys-libs/e2fsprogs-libs:0[static-libs(+)]
87 + reiserfs? (
88 + >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
89 + )
90 + )
91 + zstd? ( app-arch/zstd:0[static-libs(+)] )
92 + )
93 +"
94 +
95 +PATCHES=(
96 + "${FILESDIR}/musl-compat.patch"
97 +)
98 +
99 +if [[ ${PV} == 9999 ]]; then
100 + DEPEND+=" sys-devel/gnuconfig"
101 +fi
102 +
103 +src_prepare() {
104 + default
105 + if [[ ${PV} == 9999 ]]; then
106 + AT_M4DIR=m4 eautoreconf
107 + mkdir config || die
108 + local automakedir="$(autotools_run_tool --at-output automake --print-libdir)"
109 + [[ -e ${automakedir} ]] || die "Could not locate automake directory"
110 + ln -s "${automakedir}"/install-sh config/install-sh || die
111 + ln -s "${EPREFIX}"/usr/share/gnuconfig/config.guess config/config.guess || die
112 + ln -s "${EPREFIX}"/usr/share/gnuconfig/config.sub config/config.sub || die
113 + fi
114 +}
115 +
116 +src_configure() {
117 + local myeconfargs=(
118 + --bindir="${EPREFIX}"/sbin
119 + $(use_enable convert)
120 + $(use_enable elibc_glibc backtrace)
121 + $(use_enable zstd)
122 + --with-convert=ext2$(usex reiserfs ',reiserfs' '')
123 + )
124 + econf "${myeconfargs[@]}"
125 +}
126 +
127 +src_compile() {
128 + emake V=1 all $(usev static)
129 +}
130 +
131 +src_install() {
132 + local makeargs=(
133 + $(usex static-libs '' 'libs_static=')
134 + $(usex static install-static '')
135 + )
136 + emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
137 + newbashcomp btrfs-completion btrfs
138 +}
139
140 diff --git a/sys-fs/btrfs-progs/files/musl-compat.patch b/sys-fs/btrfs-progs/files/musl-compat.patch
141 new file mode 100644
142 index 0000000..424c59d
143 --- /dev/null
144 +++ b/sys-fs/btrfs-progs/files/musl-compat.patch
145 @@ -0,0 +1,24 @@
146 +diff -upr btrfs-progs-v4.3.1.orig/utils.c btrfs-progs-v4.3.1/utils.c
147 +--- btrfs-progs-v4.3.1.orig/utils.c 2015-11-20 01:15:32.227019383 +0100
148 ++++ btrfs-progs-v4.3.1/utils.c 2015-11-20 01:16:59.419971215 +0100
149 +@@ -1208,13 +1208,19 @@ static int resolve_loop_device(const cha
150 + {
151 + int ret;
152 + FILE *f;
153 ++ struct stat stat_buf;
154 + char fmt[20];
155 + char p[PATH_MAX];
156 + char real_loop_dev[PATH_MAX];
157 +
158 + if (!realpath(loop_dev, real_loop_dev))
159 + return -errno;
160 +- snprintf(p, PATH_MAX, "/sys/block/%s/loop/backing_file", strrchr(real_loop_dev, '/'));
161 ++
162 ++ if (stat(real_loop_dev, &stat_buf) || !S_ISBLK(stat_buf.st_mode))
163 ++ return -errno;
164 ++
165 ++ snprintf(p, PATH_MAX, "/sys/dev/block/%d:%d/loop/backing_file",
166 ++ major(stat_buf.st_rdev), minor(stat_buf.st_rdev));
167 + if (!(f = fopen(p, "r"))) {
168 + if (errno == ENOENT)
169 + /*
170
171 diff --git a/sys-fs/btrfs-progs/metadata.xml b/sys-fs/btrfs-progs/metadata.xml
172 new file mode 100644
173 index 0000000..d131bb2
174 --- /dev/null
175 +++ b/sys-fs/btrfs-progs/metadata.xml
176 @@ -0,0 +1,22 @@
177 +<?xml version="1.0" encoding="UTF-8"?>
178 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
179 +<pkgmetadata>
180 + <maintainer type="person">
181 + <email>floppym@g.o</email>
182 + <name>Mike Gilbert</name>
183 + </maintainer>
184 + <maintainer type="person">
185 + <email>slyfox@g.o</email>
186 + <name>Sergei Trofimovich</name>
187 + </maintainer>
188 + <maintainer type="person">
189 + <email>polynomial-c@g.o</email>
190 + <name>Lars Wendler</name>
191 + </maintainer>
192 + <use>
193 + <flag name="convert">Build ext2 conversion utility (btrfs-convert)</flag>
194 + <flag name="reiserfs">Enable reiserfs support in btrfs-convert tool.</flag>
195 + <flag name="static">Build static binaries in addition to the dynamic ones</flag>
196 + <flag name="zstd">Enable zstd compression support.</flag>
197 + </use>
198 +</pkgmetadata>