diff --git a/sys-fs/ufsutils/Manifest b/sys-fs/ufsutils/Manifest new file mode 100644 index 00000000..2c9c1a8a --- /dev/null +++ b/sys-fs/ufsutils/Manifest @@ -0,0 +1,5 @@ +AUX ufsutils-8.2_p3-linux-shared-libufs.patch 1308 BLAKE2B 0b1541bb1c76978deea29e36cbd9a4c55c9813b8ca2290bd34f62ca022ee1ea58893806d679f0104e30e8f4e4f0b231b8cd7510b6580b54a0a1ad61184d21ec8 SHA512 23485e6227cb6b60aa1fde58df3bef1c5a0e531f03253a094a48991ca96ea0377be92f3f6ca4a2b68bf482df3508c28e4bcb8bd8364ea40c117c7c688cf25a7f +DIST ufsutils-8.2_p3.orig.tar.gz 463499 BLAKE2B 94a02de50724e4a1f59a889dbb696a62c8bbbf0935537cff92cd0edb1c5a0e790be45bc1a9aa0a27a9443efe33ec081e5cb26465a3eeb5dbb7b176c91d3c66cc SHA512 f378372c2493c16fe8cb3977f4ed2d104e747895e97d7642d21b5e87a2a03ac696bbac093e534e13c2f1dc4638741edcbbb0ddec5abcbfa6b4f7401efbf7cf14 +DIST ufsutils_8.2-3.drbl2.debian.tar.xz 20192 BLAKE2B 5f3fb3b61f7a20cea7b7cceb82206222cc73494fe9a8d227c5a50ac8b108afb68fa3376128b95c12cab80556639fd74c1f621659416ffbf15a4e941dee0730ff SHA512 817cbf744fb62f078db176b3e0d079b6934e4018dff0131de6ec595b62d80d2890fdf63ddbd5959083f2b67672a3212c8667bd33172bf5146d613daff8913379 +EBUILD ufsutils-8.2_p3.ebuild 1817 BLAKE2B 9658d8cfca01fba807c2e6d0a7e540f9a15ce3c0fd91b47c520e4fcfddd65a4ef14be78fbc35b3153833dbf92d1ff07fa25d00a552f92a2c71759ab41988f12e SHA512 a0e91c6857c81c2c8278183cad9e1ae81caec87b2a74333ff68e9df75af1c1d77311b00309dd10f4bd56c9a0c486654dbd169d65393c8f01b0dbfcc0cdc740d6 +MISC metadata.xml 229 BLAKE2B 788b41f65614429a4eda70781869125a02592839f229473bdb652739ae8ab95ed94747a5db004b2b3931e52d37b23ec6420d66a0500fdf6b16bdb4554ed1bfb4 SHA512 c54c4850f03fa9d9b064e4ea963faafb32642851fa40e8229a5cd1a11d312c67fa676a788d5ca597ea141cafffa7c7232f4b34b300f9d0ec1c9fbaffe9f3f202 diff --git a/sys-fs/ufsutils/files/ufsutils-8.2_p3-linux-shared-libufs.patch b/sys-fs/ufsutils/files/ufsutils-8.2_p3-linux-shared-libufs.patch new file mode 100644 index 00000000..676a9e1f --- /dev/null +++ b/sys-fs/ufsutils/files/ufsutils-8.2_p3-linux-shared-libufs.patch @@ -0,0 +1,68 @@ +--- a/lib/libufs/Makefile ++++ b/lib/libufs/Makefile +@@ -7,7 +7,7 @@ SHLIB_MAJOR= 2 + LIBSRCS= block.c cgroup.c inode.c sblock.c type.c + INCS= libufs.h + +-LIB_type = static ++LIB_type = shared + ALL_CFLAGS+= -D_LIBUFS + ifdef LIBUFS_DEBUG + ALL_CFLAGS+= -D_LIBUFS_DEBUGGING +--- /dev/null ++++ b/sys/sys/sysctl.h +@@ -0,0 +1,44 @@ ++#ifndef _SYS_SYSCTL_H_ ++#define _SYS_SYSCTL_H_ ++ ++#include ++#include ++ ++static inline int ++sysctl(const int *name, unsigned int namelen, void *oldp, size_t *oldlenp, ++ const void *newp, size_t newlen) ++{ ++ (void)name; ++ (void)namelen; ++ (void)oldp; ++ (void)oldlenp; ++ (void)newp; ++ (void)newlen; ++ errno = ENOSYS; ++ return -1; ++} ++ ++static inline int ++sysctlbyname(const char *name, void *oldp, size_t *oldlenp, const void *newp, ++ size_t newlen) ++{ ++ (void)name; ++ (void)oldp; ++ (void)oldlenp; ++ (void)newp; ++ (void)newlen; ++ errno = ENOSYS; ++ return -1; ++} ++ ++static inline int ++sysctlnametomib(const char *name, int *mibp, size_t *sizep) ++{ ++ (void)name; ++ (void)mibp; ++ (void)sizep; ++ errno = ENOSYS; ++ return -1; ++} ++ ++#endif +--- a/sbin/fsdb/fsdbutil.c ++++ b/sbin/fsdb/fsdbutil.c +@@ -32,6 +32,7 @@ static const char rcsid[] = + #endif /* not lint */ + + #include ++#include + #include + #include + #include diff --git a/sys-fs/ufsutils/metadata.xml b/sys-fs/ufsutils/metadata.xml new file mode 100644 index 00000000..5f0b88f9 --- /dev/null +++ b/sys-fs/ufsutils/metadata.xml @@ -0,0 +1,7 @@ + + + + + maintainer-needed@gentoo.org + + diff --git a/sys-fs/ufsutils/ufsutils-8.2_p3.ebuild b/sys-fs/ufsutils/ufsutils-8.2_p3.ebuild new file mode 100644 index 00000000..8e949aa3 --- /dev/null +++ b/sys-fs/ufsutils/ufsutils-8.2_p3.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +MY_PV="8.2-3.drbl2" +MY_P="${PN}_${PV%_p*}" + +DESCRIPTION="UFS filesystem utilities and shared library" +HOMEPAGE="https://free.nchc.org.tw/drbl-core/pool/drbl/dev/ufsutils/" +SRC_URI=" + https://free.nchc.org.tw/drbl-core/pool/drbl/dev/${PN}/${MY_P}.orig.tar.gz -> ${P}.orig.tar.gz + https://free.nchc.org.tw/drbl-core/pool/drbl/dev/${PN}/${PN}_${MY_PV}.debian.tar.xz +" +S="${WORKDIR}/${PN}-${PV%_p*}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + dev-libs/libbsd:= + sys-libs/libedit:= +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-linux-shared-libufs.patch +) + +src_prepare() { + local patch + + while read -r patch; do + [[ -z ${patch} || ${patch} == \#* ]] && continue + eapply "${WORKDIR}"/debian/patches/${patch} + done < "${WORKDIR}"/debian/patches/series + + default +} + +src_compile() { + append-cflags -fcommon + + emake -j1 \ + CC="$(tc-getCC)" \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" +} + +src_install() { + dodir /usr/sbin /usr/$(get_libdir) /usr/share/man/man8 + + emake -j1 \ + DESTDIR="${D}" \ + prefix="${EPREFIX}"/usr \ + sbindir="${EPREFIX}"/usr/sbin \ + libdir="${EPREFIX}"/usr/$(get_libdir) \ + mandir="${EPREFIX}"/usr/share/man \ + man8dir="${EPREFIX}"/usr/share/man/man8 \ + install + + rm -f "${ED}"/usr/$(get_libdir)/libport.a "${ED}"/usr/$(get_libdir)/libfsck.ufs.a || die + dosym libufs.so.2 /usr/$(get_libdir)/libufs.so + + insinto /usr/include/ufs + doins lib/libufs/libufs.h + + insinto /usr/include/ufs/ufs + doins sys/ufs/ufs/*.h + + insinto /usr/include/ufs/ffs + doins sys/ufs/ffs/*.h + + insinto /usr/include/ufs/sys + doins sys/sys/disklabel.h sys/sys/endian.h sys/sys/mount.h sys/sys/param.h sys/sys/sysctl.h sys/sys/ucred.h + + einstalldocs +}