sys-fs/e2fsprogs: move package back from overlay; sync

This commit is contained in:
Benjamin Gilbert 2017-07-28 18:03:08 -07:00
parent a272e70c18
commit db3845e652
13 changed files with 739 additions and 0 deletions

View File

@ -0,0 +1,13 @@
DEFINED_PHASES=compile configure install prepare
DEPEND=~sys-libs/e2fsprogs-libs-1.43.3 >=sys-apps/util-linux-2.16 fuse? ( sys-fs/fuse ) nls? ( virtual/libintl ) nls? ( sys-devel/gettext ) virtual/pkgconfig sys-apps/texinfo
DESCRIPTION=Standard EXT2/EXT3/EXT4 filesystem utilities
EAPI=5
HOMEPAGE=http://e2fsprogs.sourceforge.net/
IUSE=fuse nls static-libs elibc_FreeBSD
KEYWORDS=alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 -x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~m68k-mint
LICENSE=GPL-2 BSD
RDEPEND=~sys-libs/e2fsprogs-libs-1.43.3 >=sys-apps/util-linux-2.16 fuse? ( sys-fs/fuse ) nls? ( virtual/libintl )
SLOT=0
SRC_URI=mirror://sourceforge/e2fsprogs/e2fsprogs-1.43.3.tar.gz mirror://kernel/linux/kernel/people/tytso/e2fsprogs/v1.43.3/e2fsprogs-1.43.3.tar.gz elibc_mintlib? ( mirror://gentoo/e2fsprogs-1.42.9-mint-r1.patch.xz ) http://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/patch/?id=d33e690fe7a6cbeb51349d9f2c7fb16a6ebec9c2 -> e2fsprogs-1.43.3-missing_uninit_bg.patch
_eclasses_=epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 9c113d6a64826c40154cad7be15d95ea flag-o-matic 61cad4fb5d800b29d484b27cb033f59b ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 8fec6b1eb195836560e70b66d98fb163
_md5_=65a05d238f4369ad2fd6e66d9ce1f4cd

View File

@ -0,0 +1,13 @@
DEFINED_PHASES=compile configure install prepare
DEPEND=~sys-libs/e2fsprogs-libs-1.43.4 >=sys-apps/util-linux-2.16 fuse? ( sys-fs/fuse ) nls? ( virtual/libintl ) nls? ( sys-devel/gettext ) virtual/pkgconfig sys-apps/texinfo
DESCRIPTION=Standard EXT2/EXT3/EXT4 filesystem utilities
EAPI=5
HOMEPAGE=http://e2fsprogs.sourceforge.net/
IUSE=fuse nls static-libs elibc_FreeBSD
KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 -x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~m68k-mint
LICENSE=GPL-2 BSD
RDEPEND=~sys-libs/e2fsprogs-libs-1.43.4 >=sys-apps/util-linux-2.16 fuse? ( sys-fs/fuse ) nls? ( virtual/libintl )
SLOT=0
SRC_URI=mirror://sourceforge/e2fsprogs/e2fsprogs-1.43.4.tar.gz mirror://kernel/linux/kernel/people/tytso/e2fsprogs/v1.43.4/e2fsprogs-1.43.4.tar.gz elibc_mintlib? ( mirror://gentoo/e2fsprogs-1.42.9-mint-r1.patch.xz )
_eclasses_=epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 9c113d6a64826c40154cad7be15d95ea flag-o-matic 61cad4fb5d800b29d484b27cb033f59b ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 8fec6b1eb195836560e70b66d98fb163
_md5_=2856ee0a2ec2903e52c6c8ca5504cb86

View File

@ -0,0 +1,16 @@
AUX e2fsck.conf 138 SHA256 c2864aa7c5c5bf27227909bdb9af395fc07294d1f93d372ef10c79309d7aec08 SHA512 d10a8ef566a60815b6f65414d84d23f3ec535c2a93cd780d4425488465f4eff6910c20d0163d1b7d334e9f4c707beab35bf63078b9ec3a5602763ea219bddbef WHIRLPOOL b05c69b375411efe850a993a244e26513d6e4a8c1cfb3ea91617a283c819a47f2200a459849285a0e60288e86869d624aeee0589f4a6b9243572c500671f3b31
AUX e2fsprogs-1.40-fbsd.patch 352 SHA256 52865c6600fa0f601a89e4396797ae2d23a1ed895e64b098c36e8bcab1ac8505 SHA512 86374e641f958d7c4b53eb44abf7933af064b55a38fef6ca26f848bb63f0c6bf2966852c7cf0770337aef95ff965de95ef282205771e86be36e7ad74e8f81146 WHIRLPOOL b8889db0ced2312a06cbf2ca135340a9cb6c88aa0e3fc467f4cb4dc3c40c90f4be57d1678a735ef42a1d4b8313bcd1a3130d899cf5e9af39bfd13a37d1b1d449
AUX e2fsprogs-1.41.8-makefile.patch 317 SHA256 f8a4e2180f557c3bb9a50c38300e406420b3df296f50d6eab59d0b28cb65904d SHA512 dbd738affe910d3812ca4d969a6d4295b09abc413cab23f29dcbd0c1e82eefa095a61a377c494dd9b7e1d189d4edadc469dbf2d1a1068c11dd5fc8311bd83f8f WHIRLPOOL f81ecb87217bb312bbbb08357f76b2d5d7c2dc9cdee69d37e67e7b34632f4a3f3d2bab66aa600fa98776808b30cada735de05135ac60a5c2f9b59daf88b7eb53
AUX e2fsprogs-1.42.13-fix-build-cflags.patch 290 SHA256 3dc8246ee1d00d1ff4652aad0c4768d8a94317a5e8580507da33d23d8dbcf622 SHA512 fed2a8502fafb56a21c88d680a42848bdc8921b228f74842ce3f702279917b6e6c0d1204ee060ea0d2d5ebb02465fc1f3d1a4304068a59b45bf1ddfbdfd46507 WHIRLPOOL d68c4944734a67320a75f8e951b714b3fda08b220680797412ce946bb3c4f531074e4e8417ae92afec5b3d997ac20322f6e87c328b9269ef497a9a33da2c48e7
AUX e2fsprogs-1.43-sysmacros.patch 3301 SHA256 63ca9a2808ddfa62832447b9c1b4cab939849a34648d3445e09eac72810e0035 SHA512 181d1f71eb6776357521115ccd85227ee5c83bb798f198624722dc71e96f44f301ea79034182000f123fb9fc05db67de51206ff398c1a95f59b0f4dda8ba9ac6 WHIRLPOOL 5114aaa517e64831c24763470698d2913f042aa4424ef905aa32cf518e0889fcc5b9944e8e4dc78301594827bbfe4364314d76421e5de4b40043edb3db507f97
AUX fsck_ext2fs.8 3802 SHA256 e7f4778d173c031a1cc2dd222816a89ce42207ac96353d089f037650f28f1d1a SHA512 639af16c7881bdfca55a9cd39623d3eeb9ae0ca93f8e65321c69ab1b2591cb17cdd0cfc21d27c20b8cc65bd295cccf23e47f740fffb91f4cf17e32959bb166d0 WHIRLPOOL fc6892a98f5b40e32c252f74450fd4659fd873b9029f78429d03422daa920c4cb8d4fc2527259b7834b41d3d30c9dac50f70c05949edff11a1f539dcd275c62f
AUX fsck_ext2fs.c 2793 SHA256 7ec106ba31bf93dc334f946a88301d7eb26c2c35a65a7b8938b73c811e0d010c SHA512 1cac2963c0e85dd6a111bfe2a00f2b4f65c17a05bf0039cec073d4109ad4b0efee8905cff1a25098e0693f367db300054d92598a85dfbe8e5db7ff6419534af6 WHIRLPOOL 7290cf636ab232b8479b18acc97c2911109b1cf564df3352e1ccf87ef7693ad459face01436bb9a50edcc816a3adcb362cd8abf21ae3c839930d3d203cdb7f53
DIST e2fsprogs-1.42.9-mint-r1.patch.xz 9012 SHA256 3904654080b7f7776e97b703d17e1b59ae1d6f5e0cf32193b86e986bc0a9b396 SHA512 591a7c80d65082eebcdc455028be6ade05c9aae96c94f654106be0facef330a8875dae82891e6e3ad2b48dece2b4e1c1940dbc47cd3eba3e6eea3b5ddba9a8fc WHIRLPOOL ae6fc015fa77bfbde7a4ba2205c014b655e736c4ed5cb63a913245c6c40fa0637b65fa3eec6399dd1793c494892b76e0bbc12ffa6ac9c39d4da27333d8bbf6c7
DIST e2fsprogs-1.43.3-missing_uninit_bg.patch 1317 SHA256 4a4a59215efde3b0b398a19c9e74f73ae9bbbca954cf3e2aaaaa5f0a9f836313 SHA512 bd80dd679245c4d26837fa5a0f7dc6a05560973d912a3fe8f5c3c8c352675496f21c9b775d37fb190a7fbb3fb61882b6d4d6a20b34918cda0bfe65e7d0cce8e8 WHIRLPOOL a03a7461183b08ac178dc7d0c6a230df93d75902b0abc33ec0c7a19d018fdc4264910e688db4708bd16b23d175a3a9928e38c31f8377f7d28352bac83a8cd90f
DIST e2fsprogs-1.43.3.tar.gz 7405892 SHA256 ce8ef1bbb0d4730f170167284fda156ac9d6bf18db2750eb94af619a81b19927 SHA512 77e753f77222a0a7a334d7d93c900ea6cb339ed40af29952e414fc4e45d8c5c01d67771978a941195effe666df965746c2b31977c5f05ff307429b978dac8dea WHIRLPOOL c90dea3d01a103b7d11d0611b1b005748065ae90f15a02f3bde4c4baf9403931b40d2024297a2e02a92d11841d35decf8a4715d682212d4641ff34bb2f80d5db
DIST e2fsprogs-1.43.4.tar.gz 7552516 SHA256 1644db4fc58300c363ba1ab688cf9ca1e46157323aee1029f8255889be4bc856 SHA512 f73787aa6d2a521d156043779a4264231e28d7b15d95848a390cb00878cf07db73d0776954c4fef6446e2399f9feaf1ece6f3826cbbc303d14f4031ac133451b WHIRLPOOL 484d693bc8d5c2507655d5caf08bb09a71b48b5de76a9d9b484d8e9b9ccbad12bc811512ed0d5a53362e1471c0caff9e9a7e652c733c73cbc47b7d3702359601
EBUILD e2fsprogs-1.43.3-r1.ebuild 4040 SHA256 8eda4767977a467c700bd79f9b4b1b70ccabf76b007db75498101fc6edfe977e SHA512 5053ec14ad968d6f4f8bb0cf0a227c0f56af71eaf0201fe7d53448c962f6f097aeb92b561381194aea58f5d3d99421d455ad50f280413d83ada6b281e1361c9c WHIRLPOOL 278072ab829a9e9ea8810b98d70f43211ab71b187b3500b0c9297ca337a308f1eecc6978ffe685da06988debe2059301b49cb7b67b035b977a200a5fe35d1c7b
EBUILD e2fsprogs-1.43.4.ebuild 3835 SHA256 63f49a314c22ff09af9c83c1421c5390992ec2ec7175b40a3af8423d51621033 SHA512 3163d6a41c293613163170b57235608c8f8137831de162e2ba5e55bc869381914095c8f540f16095d38df9edbf78e700654a5bbc2e80e933e369983ee5be13c1 WHIRLPOOL b994b172bc5f8dfd3afbaf6e7c18bf3fb6337a5fa94aef0852ea6066ff927cd5c43b4e4711d63a7a01479ef12e581aafada2d6dded24f08d695d0453dea66f3e
MISC ChangeLog 7643 SHA256 c0cf2dd26e491ad39b3f867c0bd9296e10749d0f1838cb7cec65ba1d15e5956f SHA512 f46d87e5a695385f4642bb03316ceb7b622461d938c3af2c5e15836a07384cae7a573c86750217c3d49bf00b870187c248aaefa2bac1e819a6b21ae9e7f4b2cd WHIRLPOOL 0fe755f687bedb25e32f4d6050f77e6dcc4179e24211589fb6c10ceef98ad12e3bc2733a86db9de11bdaf618cf290901705fe947b30c87bab719f0182e44a036
MISC ChangeLog-2015 48117 SHA256 fd49ccd4dc8e7a53c8cba64fb936f960ee7c58fcf4150485321b23475a193f84 SHA512 82134fcce2aaa6bf15f3339b79b657b4e0827a132cca8c89a6521f7c6bc1246d3d55cd46d6c9adbd5b3e6f458e9f4e5e267d10f4c9929f15c9cd985949f5ee85 WHIRLPOOL ed9f1377d27424101d492f92a515cdf60f723cd6f519ea8a82b16d46ec86c7f297b8224b6d2833c83a6ca5e4c6f2140e7155beb1ce0d45f503debc51d71b9db2
MISC metadata.xml 520 SHA256 d7e8aff0886fa1a93bdd7f347cd5850753bc1cf1cf6eefde71e98a8aa6ac5eb4 SHA512 a5ff91610ed175147f1a9c2c725a30380908c02fc04c6b7df2792cb4fd805f9137374d2a910e456128a7bf2fec9e83af3063bcb5f2ad51394bed8bed648e3905 WHIRLPOOL 2f2712617962a77cc37b8761ec4965fd61654a084de695f72cb1c2a4a678a76dbb9cd4e1b5aed67ac6649f7222cb75f86bc36e24fce96a68f8448d33a733f69a

View File

@ -0,0 +1,139 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
case ${PV} in
*_pre*) UP_PV="${PV%_pre*}-WIP-${PV#*_pre}" ;;
*) UP_PV=${PV} ;;
esac
inherit eutils flag-o-matic multilib toolchain-funcs
DESCRIPTION="Standard EXT2/EXT3/EXT4 filesystem utilities"
HOMEPAGE="http://e2fsprogs.sourceforge.net/"
SRC_URI="mirror://sourceforge/e2fsprogs/${PN}-${UP_PV}.tar.gz
mirror://kernel/linux/kernel/people/tytso/e2fsprogs/v${UP_PV}/${PN}-${UP_PV}.tar.gz
elibc_mintlib? ( mirror://gentoo/${PN}-1.42.9-mint-r1.patch.xz )"
# Fix for bug #598100
SRC_URI+=" http://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/patch/?id=d33e690fe7a6cbeb51349d9f2c7fb16a6ebec9c2 -> ${PN}-1.43.3-missing_uninit_bg.patch"
LICENSE="GPL-2 BSD"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 -x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~m68k-mint"
IUSE="fuse nls static-libs elibc_FreeBSD"
RDEPEND="~sys-libs/${PN}-libs-${PV}
>=sys-apps/util-linux-2.16
fuse? ( sys-fs/fuse )
nls? ( virtual/libintl )"
DEPEND="${RDEPEND}
nls? ( sys-devel/gettext )
virtual/pkgconfig
sys-apps/texinfo"
S=${WORKDIR}/${P%_pre*}
PATCHES=(
"${FILESDIR}"/${PN}-1.41.8-makefile.patch
"${FILESDIR}"/${PN}-1.40-fbsd.patch
"${FILESDIR}"/${PN}-1.42.13-fix-build-cflags.patch #516854
"${FILESDIR}"/${PN}-1.43-sysmacros.patch
# Upstream patches (can usually removed with next version bump)
"${DISTDIR}"/${P}-missing_uninit_bg.patch
)
src_prepare() {
if [[ ${CHOST} == *-mint* ]] ; then
PATCHES+=( "${WORKDIR}"/${PN}-1.42.9-mint-r1.patch )
fi
epatch "${PATCHES[@]}"
# blargh ... trick e2fsprogs into using e2fsprogs-libs
rm -rf doc
sed -i -r \
-e 's:@LIBINTL@:@LTLIBINTL@:' \
-e '/^(STATIC_)?LIB(COM_ERR|SS)/s:[$][(]LIB[)]/lib([^@]*)@(STATIC_)?LIB_EXT@:-l\1:' \
-e '/^DEP(STATIC_)?LIB(COM_ERR|SS)/s:=.*:=:' \
MCONFIG.in || die "muck libs" #122368
sed -i -r \
-e '/^LIB_SUBDIRS/s:lib/(et|ss)::g' \
Makefile.in || die "remove subdirs"
ln -s $(which mk_cmds) lib/ss/ || die
# Avoid rebuild
echo '#include_next <ss/ss_err.h>' > lib/ss/ss_err.h
}
src_configure() {
# Keep the package from doing silly things #261411
export VARTEXFONTS=${T}/fonts
# needs open64() prototypes and friends
append-cppflags -D_GNU_SOURCE
ac_cv_path_LDCONFIG=: \
econf \
--with-root-prefix="${EPREFIX}/" \
--enable-symlink-install \
$(tc-is-static-only || echo --enable-elf-shlibs) \
$(tc-has-tls || echo --disable-tls) \
--without-included-gettext \
$(use_enable fuse fuse2fs) \
$(use_enable nls) \
--disable-libblkid \
--disable-libuuid \
--disable-fsck \
--disable-uuidd
if [[ ${CHOST} != *-uclibc ]] && grep -qs 'USE_INCLUDED_LIBINTL.*yes' config.{log,status} ; then
eerror "INTL sanity check failed, aborting build."
eerror "Please post your ${S}/config.log file as an"
eerror "attachment to https://bugs.gentoo.org/show_bug.cgi?id=81096"
die "Preventing included intl cruft from building"
fi
}
src_compile() {
emake V=1 COMPILE_ET=compile_et MK_CMDS=mk_cmds
# Build the FreeBSD helper
if use elibc_FreeBSD ; then
cp "${FILESDIR}"/fsck_ext2fs.c .
emake V=1 fsck_ext2fs
fi
}
src_install() {
# need to set root_libdir= manually as any --libdir options in the
# econf above (i.e. multilib) will screw up the default #276465
emake \
STRIP=: \
root_libdir="${EPREFIX}/usr/$(get_libdir)" \
DESTDIR="${D}" \
install install-libs
dodoc README RELEASE-NOTES
insinto /etc
doins "${FILESDIR}"/e2fsck.conf
# Move shared libraries to /lib/, install static libraries to
# /usr/lib/, and install linker scripts to /usr/lib/.
gen_usr_ldscript -a e2p ext2fs
# configure doesn't have an option to disable static libs :/
use static-libs || find "${D}" -name '*.a' -delete
if use elibc_FreeBSD ; then
# Install helpers for us
into /
dosbin "${S}"/fsck_ext2fs
doman "${FILESDIR}"/fsck_ext2fs.8
# filefrag is linux only
rm \
"${ED}"/usr/sbin/filefrag \
"${ED}"/usr/share/man/man8/filefrag.8 || die
fi
}

View File

@ -0,0 +1,135 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
case ${PV} in
*_pre*) UP_PV="${PV%_pre*}-WIP-${PV#*_pre}" ;;
*) UP_PV=${PV} ;;
esac
inherit eutils flag-o-matic multilib toolchain-funcs
DESCRIPTION="Standard EXT2/EXT3/EXT4 filesystem utilities"
HOMEPAGE="http://e2fsprogs.sourceforge.net/"
SRC_URI="mirror://sourceforge/e2fsprogs/${PN}-${UP_PV}.tar.gz
mirror://kernel/linux/kernel/people/tytso/e2fsprogs/v${UP_PV}/${PN}-${UP_PV}.tar.gz
elibc_mintlib? ( mirror://gentoo/${PN}-1.42.9-mint-r1.patch.xz )"
LICENSE="GPL-2 BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 -x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~m68k-mint"
IUSE="fuse nls static-libs elibc_FreeBSD"
RDEPEND="~sys-libs/${PN}-libs-${PV}
>=sys-apps/util-linux-2.16
fuse? ( sys-fs/fuse )
nls? ( virtual/libintl )"
DEPEND="${RDEPEND}
nls? ( sys-devel/gettext )
virtual/pkgconfig
sys-apps/texinfo"
S=${WORKDIR}/${P%_pre*}
PATCHES=(
"${FILESDIR}"/${PN}-1.41.8-makefile.patch
"${FILESDIR}"/${PN}-1.40-fbsd.patch
"${FILESDIR}"/${PN}-1.42.13-fix-build-cflags.patch #516854
"${FILESDIR}"/${PN}-1.43-sysmacros.patch
# Upstream patches (can usually removed with next version bump)
)
src_prepare() {
if [[ ${CHOST} == *-mint* ]] ; then
PATCHES+=( "${WORKDIR}"/${PN}-1.42.9-mint-r1.patch )
fi
epatch "${PATCHES[@]}"
# blargh ... trick e2fsprogs into using e2fsprogs-libs
rm -rf doc
sed -i -r \
-e 's:@LIBINTL@:@LTLIBINTL@:' \
-e '/^(STATIC_)?LIB(COM_ERR|SS)/s:[$][(]LIB[)]/lib([^@]*)@(STATIC_)?LIB_EXT@:-l\1:' \
-e '/^DEP(STATIC_)?LIB(COM_ERR|SS)/s:=.*:=:' \
MCONFIG.in || die "muck libs" #122368
sed -i -r \
-e '/^LIB_SUBDIRS/s:lib/(et|ss)::g' \
Makefile.in || die "remove subdirs"
ln -s $(which mk_cmds) lib/ss/ || die
# Avoid rebuild
echo '#include_next <ss/ss_err.h>' > lib/ss/ss_err.h
}
src_configure() {
# Keep the package from doing silly things #261411
export VARTEXFONTS=${T}/fonts
# needs open64() prototypes and friends
append-cppflags -D_GNU_SOURCE
ac_cv_path_LDCONFIG=: \
econf \
--with-root-prefix="${EPREFIX}/" \
--enable-symlink-install \
$(tc-is-static-only || echo --enable-elf-shlibs) \
$(tc-has-tls || echo --disable-tls) \
--without-included-gettext \
$(use_enable fuse fuse2fs) \
$(use_enable nls) \
--disable-libblkid \
--disable-libuuid \
--disable-fsck \
--disable-uuidd
if [[ ${CHOST} != *-uclibc ]] && grep -qs 'USE_INCLUDED_LIBINTL.*yes' config.{log,status} ; then
eerror "INTL sanity check failed, aborting build."
eerror "Please post your ${S}/config.log file as an"
eerror "attachment to https://bugs.gentoo.org/show_bug.cgi?id=81096"
die "Preventing included intl cruft from building"
fi
}
src_compile() {
emake V=1 COMPILE_ET=compile_et MK_CMDS=mk_cmds
# Build the FreeBSD helper
if use elibc_FreeBSD ; then
cp "${FILESDIR}"/fsck_ext2fs.c .
emake V=1 fsck_ext2fs
fi
}
src_install() {
# need to set root_libdir= manually as any --libdir options in the
# econf above (i.e. multilib) will screw up the default #276465
emake \
STRIP=: \
root_libdir="${EPREFIX}/usr/$(get_libdir)" \
DESTDIR="${D}" \
install install-libs
dodoc README RELEASE-NOTES
insinto /etc
doins "${FILESDIR}"/e2fsck.conf
# Move shared libraries to /lib/, install static libraries to
# /usr/lib/, and install linker scripts to /usr/lib/.
gen_usr_ldscript -a e2p ext2fs
# configure doesn't have an option to disable static libs :/
use static-libs || find "${D}" -name '*.a' -delete
if use elibc_FreeBSD ; then
# Install helpers for us
into /
dosbin "${S}"/fsck_ext2fs
doman "${FILESDIR}"/fsck_ext2fs.8
# filefrag is linux only
rm \
"${ED}"/usr/sbin/filefrag \
"${ED}"/usr/share/man/man8/filefrag.8 || die
fi
}

View File

@ -0,0 +1,6 @@
# See the e2fsck.conf man page for more info
[options]
# allow fsck to run sanely at any point in time #142850
buggy_init_scripts = yes

View File

@ -0,0 +1,11 @@
--- a/lib/ext2fs/ext2_fs.h
+++ b/lib/ext2fs/ext2_fs.h
@@ -414,7 +414,7 @@
#define i_size_high i_dir_acl
-#if defined(__KERNEL__) || defined(__linux__)
+#if defined(__KERNEL__) || defined(__linux__) || defined(__FreeBSD__)
#define i_reserved1 osd1.linux1.l_i_reserved1
#define i_frag osd2.linux2.l_i_frag
#define i_fsize osd2.linux2.l_i_fsize

View File

@ -0,0 +1,10 @@
--- e2fsprogs-1.41.5/Makefile.in
+++ e2fsprogs-1.41.5/Makefile.in
@@ -281,6 +66,7 @@
uninstall: uninstall-progs-recursive uninstall-shlibs-libs-recursive uninstall-doc-libs
install-libs: install-libs-recursive
+install-libs-recursive: | install-shlibs-libs-recursive
uninstall-libs: uninstall-libs-recursive

View File

@ -0,0 +1,13 @@
https://bugs.gentoo.org/516854
--- e2fsprogs-1.42.13/configure
+++ e2fsprogs-1.42.13/configure
@@ -1315,6 +1315,8 @@
if test $cross_compiling = no; then
BUILD_CFLAGS="$CFLAGS $CPPFLAGS $INCLUDES -DHAVE_CONFIG_H"
BUILD_LDFLAGS="$LDFLAGS"
+else
+ BUILD_CFLAGS="$INCLUDES"
fi

View File

@ -0,0 +1,125 @@
From 30ef41f68703b6a16027cc8787118b87f1462dff Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Mon, 28 Mar 2016 20:31:33 -0400
Subject: [PATCH e2fsprogs] include sys/sysmacros.h as needed
The minor/major/makedev macros are not entirely standard. glibc has had
the definitions in sys/sysmacros.h since the start, and wants to move away
from always defining them implicitly via sys/types.h (as this pollutes the
namespace in violation of POSIX). Other C libraries have already dropped
them. Since the configure script already checks for this header, use that
to pull in the header in files that use these macros.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
debugfs/debugfs.c | 3 +++
lib/blkid/devname.c | 3 +++
lib/blkid/devno.c | 3 +++
lib/ext2fs/finddev.c | 3 +++
lib/ext2fs/ismounted.c | 3 +++
misc/create_inode.c | 4 ++++
misc/mk_hugefiles.c | 3 +++
7 files changed, 22 insertions(+)
diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c
index ba8be40..7d481bc 100644
--- a/debugfs/debugfs.c
+++ b/debugfs/debugfs.c
@@ -26,6 +26,9 @@ extern char *optarg;
#include <errno.h>
#endif
#include <fcntl.h>
+#ifdef HAVE_SYS_SYSMACROS_H
+#include <sys/sysmacros.h>
+#endif
#include "debugfs.h"
#include "uuid/uuid.h"
diff --git a/lib/blkid/devname.c b/lib/blkid/devname.c
index 3e2efa9..671e781 100644
--- a/lib/blkid/devname.c
+++ b/lib/blkid/devname.c
@@ -36,6 +36,9 @@
#if HAVE_SYS_MKDEV_H
#include <sys/mkdev.h>
#endif
+#ifdef HAVE_SYS_SYSMACROS_H
+#include <sys/sysmacros.h>
+#endif
#include <time.h>
#include "blkidP.h"
diff --git a/lib/blkid/devno.c b/lib/blkid/devno.c
index 479d977..61e6fc7 100644
--- a/lib/blkid/devno.c
+++ b/lib/blkid/devno.c
@@ -31,6 +31,9 @@
#if HAVE_SYS_MKDEV_H
#include <sys/mkdev.h>
#endif
+#ifdef HAVE_SYS_SYSMACROS_H
+#include <sys/sysmacros.h>
+#endif
#include "blkidP.h"
diff --git a/lib/ext2fs/finddev.c b/lib/ext2fs/finddev.c
index 311608d..62fa0db 100644
--- a/lib/ext2fs/finddev.c
+++ b/lib/ext2fs/finddev.c
@@ -31,6 +31,9 @@
#if HAVE_SYS_MKDEV_H
#include <sys/mkdev.h>
#endif
+#ifdef HAVE_SYS_SYSMACROS_H
+#include <sys/sysmacros.h>
+#endif
#include "ext2_fs.h"
#include "ext2fs.h"
diff --git a/lib/ext2fs/ismounted.c b/lib/ext2fs/ismounted.c
index e0f69dd..7404996 100644
--- a/lib/ext2fs/ismounted.c
+++ b/lib/ext2fs/ismounted.c
@@ -49,6 +49,9 @@
#if HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
+#ifdef HAVE_SYS_SYSMACROS_H
+#include <sys/sysmacros.h>
+#endif
#include "ext2_fs.h"
#include "ext2fs.h"
diff --git a/misc/create_inode.c b/misc/create_inode.c
index 4dbd8e5..98aeb41 100644
--- a/misc/create_inode.c
+++ b/misc/create_inode.c
@@ -22,6 +22,10 @@
#include <attr/xattr.h>
#endif
#include <sys/ioctl.h>
+#ifdef HAVE_SYS_SYSMACROS_H
+#include <sys/sysmacros.h>
+#endif
+
#include <ext2fs/ext2fs.h>
#include <ext2fs/ext2_types.h>
#include <ext2fs/fiemap.h>
diff --git a/misc/mk_hugefiles.c b/misc/mk_hugefiles.c
index 71a15c5..00e95cd 100644
--- a/misc/mk_hugefiles.c
+++ b/misc/mk_hugefiles.c
@@ -35,6 +35,9 @@ extern int optind;
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
+#ifdef HAVE_SYS_SYSMACROS_H
+#include <sys/sysmacros.h>
+#endif
#include <libgen.h>
#include <limits.h>
#include <blkid/blkid.h>
--
2.8.2

View File

@ -0,0 +1,96 @@
.TH fsck_ext2fs 8 2006-07-02 "Matthias Andree" "FreeBSD Ports"
.\"
.\" fsck_ext2fs.8 - manual page for fsck_ext2fs wrapper
.\"
.\" (C) Copyright 2006 by Matthias Andree <matthias.andree@gmx.de>
.\"
.\" License: This file may be redistributed in accordance with the terms
.\" of the GNU General Public License v2.
.\"
.\" Upstream $Id: fsck_ext2fs.8,v 1.3 2006/07/02 11:45:21 emma Exp $
.\" $FreeBSD: ports/sysutils/e2fsprogs/files/fsck_ext2fs.8,v 1.1 2006/07/04 15:47:51 leeym Exp $
.\"
.SH NAME
.B fsck_ext2fs
\- compatibility wrapper for e2fsck
.SH SYNOPSIS
.P
.B fsck_ext2fs
[\fB\-Fpfnyv\fR] [\fB\-b\fR \fIblock\fR]
.SH DESCRIPTION
.P
\fBfsck_ext2fs\fR maps the traditional FreeBSD \fBfsck_ffs\fR options to
options with the same functionality for \fBe2fsck,\fR runs \fBe2fsck\fR
and then maps its exit status to values that FreeBSD understands.
\fBe2fsck\fR is a utility to check and repair ext2 and ext3 file
systems.
.SH OPTIONS
.IP \fB\-F\fR
(check foreground mode required) Immediately exits with status 1 to tell
\fBfsck\fR that ext2fs cannot be checked in the background. \fBfsck\fR
usually runs \fBfsck_*\fR programs twice, first with \fB\-F\fR to find
out if they can do background checking, then either immediately without
\fB\-F\fR for foreground checking or deferred in the background with
\fB\-B\fR.
.IP \fB\-p\fR
(preen mode) This option suppresses adding the \fB\-f\fR option (unless
\fB\-f\fR is also given) and adds the \fB\-p\fR option to the
\fBe2fsck\fR command line. This causes \fBe2fsck\fR to automatically fix
any filesystem problems that can safely be fixed without operator
intervention. Without this option given, \fBe2fsck\fR will be run with
the \fB\-f\fR option to force a check, since interactive scan and repair
mode is the default on FreeBSD, but not on Linux where \fBe2fsck\fR
comes from.
.IP \fB\-f\fR
(force check) This option forces the check of a clean file system while
preening and is passed to \fBe2fsck\fR verbatim.
.IP \fB\-n\fR
("no" mode) This option causes the file system to be opened in read-only
mode and assume "no" as answer to all questions. This is the only way to
safely run \fBfsck\fR on a mounted ext2 or ext3 file system. This option
is passed to \fBe2fsck\fR verbatim.
.IP \fB\-y\fR
("yes" mode) This option is passed verbatim to \fBe2fsck\fR and causes
it to assume "yes" as answer to all questions. This allows the
non-interactive use of e2fsck but is rather aggressive. Use with care.
.IP \fB\-v\fR
(verbose output) This option is passed verbatim to \fBe2fsck\fR and
causes it to verbosely report its progress.
.IP "\fB\-b\fR \fIblock\fR"
(use alternate super block) This option is passed verbatim to
\fBe2fsck\fR and selects an alternate super block, for use when the
primary super block has been damaged. Please see the \fBe2fsck\fR(8)
manual page for details.
.SH EXIT STATUS
If errors remain after \fBe2fsck\fR, an invalid option or too many
options have been specified, \fBe2fsck\fR was killed with a signal or
the \fIfork\fB system call failed, \fBfsck_ext2fs\fR exits with status
EXIT_FAILURE (usually 1). If \fBe2fsck\fR cannot be started, exits with
status 127. If the file system is clean after \fBe2fsck\fR operation,
exits with status EXIT_SUCCESS (0).
.SH NOTES
.P
This utility is merely meant as an adaptor so that \fBe2fsck\fR can be
run during the boot process, it does not support all options that
\fBe2fsck\fR offers. If you need one of its advanced options, please run
\fBe2fsck\fR directly.
.SH FILES
.TP
.I /sbin/e2fsck
is the location of the \fBe2fsck\fR program to run.
.SH AUTHOR
.P
Matthias Andree <matthias.andree@gmx.de> wrote the program and this
manual page.
.SH CONFORMING TO
The FreeBSD 6.1 command line interface for \fBfsck_ufs\fR(8).
.SH SEE ALSO
.BR fsck (8),
.BR e2fsck (8)
and
.BR fsck_ufs (8).

View File

@ -0,0 +1,147 @@
/*
* fsck_ext2fs - wrapper for e2fsck on FreeBSD
* Copyright (C) 2004,2006 Matthias Andree <matthias.andree@gmx.de>
* redistributable in accordance with the
* GNU General Public License v2
*
* $FreeBSD: ports/sysutils/e2fsprogs/files/fsck_ext2fs.c,v 1.5 2006/07/04 15:47:51 leeym Exp $
*
* Upstream: $Id: fsck_ext2fs.c,v 1.6 2006/07/02 11:37:49 emma Exp $
*
* format: gindent -kr
*/
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/wait.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <errno.h>
__attribute__ ((noreturn))
static int die(const char *tag)
{
perror(tag);
exit(EXIT_FAILURE);
}
int main(int argc, char **argv)
{
int ch, i = 1, force = 0, status, verbose = 0, t;
long block = 0;
enum { normal, preen, yes, no } mode = normal;
char *cmd[256];
pid_t pid;
cmd[0] = "/sbin/e2fsck";
while ((ch = getopt(argc, argv, "BFpfnyb:v")) != -1) {
switch (ch) {
case 'p':
mode = preen;
break;
case 'f':
force = 1;
break;
case 'n':
mode = no;
break;
case 'y':
mode = yes;
break;
case 'b':
block = atol(optarg);
break;
case 'v':
verbose++;
break;
case 'F':
/* e2fsck does not support background checking,
* hence exit with nonzero status to force
* the foreground check. */
exit(1);
case 'B':
default:
fprintf(stderr, "%s: unknown option -%c\n",
argv[0], optopt);
exit(EXIT_FAILURE);
}
}
if (force)
cmd[i++] = "-f";
switch (mode) {
case normal:
/* FreeBSD needs -f to force a check only in context
* with -p -- so map normal to force to match
* expectations */
if (!force)
cmd[i++] = "-f";
break;
case yes:
cmd[i++] = "-y";
break;
case no:
cmd[i++] = "-n";
break;
case preen:
cmd[i++] = "-p";
break;
}
if (block) {
static char b[30];
sprintf(b, "-b %ld", block);
cmd[i++] = b;
}
/* silently limit verbose to 15 so we don't overflow the cmd array */
if (verbose > 15)
verbose = 15;
for (t = verbose; t > 1; t--)
cmd[i++] = "-v";
while (optind < argc) {
cmd[i++] = argv[optind++];
/* sanity check so we don't overflow the cmd buffer */
if (i+1 == sizeof(cmd)/sizeof(cmd[0])) {
errno = E2BIG;
die(argv[0]);
}
}
cmd[i++] = 0;
if (verbose) {
for (i=0; cmd[i]; i++)
fputs(cmd[i], stderr),
fputc(' ', stderr);
fputc('\n', stderr);
}
pid = fork();
switch (pid) {
case -1:
/* error */
die("fork");
break;
case 0:
/* child */
(void) execv(cmd[0], cmd);
perror("execve");
_exit(127);
default:
/* parent */
if (pid != waitpid(pid, &status, 0))
die("waitpid");
if (WIFSIGNALED(status)
|| (WIFEXITED(status) && WEXITSTATUS(status) >= 4))
exit(EXIT_FAILURE);
}
exit(EXIT_SUCCESS);
}

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
<use>
<flag name='fuse'>Build fuse2fs, a FUSE file system client for ext2/ext3/ext4 file systems</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:ext2_filesystems_utilities:e2fsprogs</remote-id>
<remote-id type="sourceforge">e2fsprogs</remote-id>
</upstream>
</pkgmetadata>