filesystems: add new category for file systems and related utilities
The filesystems category houses file systems and file system utilities.
It is added mainly to turn the sysutils/fusefs-* pseudo-category into
a proper one, but is also useful for the sundry of other file systems
related ports found in the tree.
Ports that seem like they belong there are moved to the new category.
Two ports, sysutils/fusefs-funionfs and sysutils/fusefs-fusepak are
not moved as they currently don't fetch and don't have TIMESTAMP set
in their distinfo, but that is required to be able to push a rename
of the port by the pre-receive hook.
Approved by: portmgr (rene)
Reviewed by: mat
Pull Request: https://github.com/freebsd/freebsd-ports/pull/302
PR: 281988
sysutils/e2fsprogs: handle PORTREVISION==0 in *_DEPENDS
Else we would depend on, say, e2fsprogs-core-1.48.0_ (trailing
underscore) character when PORTREVISION was zeroed or omitted.
(Note that bsd.port.mk will default it to 0 value).
Use make(1)'s varname:?trueval:falseval: expansion to guard
the expansion. (_SUF1 is private in bsd.port.mk, let's avoid that).
Reported by: Tomoaki AOKI
PR: 276643
sysutils/e2fsprogs: bugfix update to 1.46.6
ChangeLog: https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.46.6
Add patch to make m_offset reliable. Due to some race conditions on the
pipeline between FreeBSD's yes a, which emits 8190-long writes on
13-STABLE, and GNU dd (gdd), which it pipes its output into, gdd can
sometimes receive short reads occasionally, and because the count=
normally is the number of read(2) calls dispatched, this then leads to a
shorter reference "file system" that we crcsum, and that causes false
negative test results. gdd warns that iflag=fullblock would avoid
effects of short reads, but this warning is discarded in the test
script. Anyways, patch m_offset to use dd's and gdd's iflag=fullblock,
which causes (g)dd to call read(2) again until the block is full for
each nominal block, so we definitely read the desired output size 512 kB
no matter what shorter blocks might travel through the pipeline.
MFH: 2023Q1
sysutils/e2fsprogs: 1/2 rename to -core, strip FLAVORS and /sbin
This is the first commit that renames e2fsprogs to e2fsprogs-core,
makes the necessary changes to Makefiles, strips the FLAVORs that
determined how to link or copy to /sbin. The latter feature will
be placed into a new e2fsprogs port that just copies two files to /sbin.
A followup 2/2 commit will then add the new e2fsprogs port.
This is done so that Git can properly track the rename.
While here, switch from FreeBSD's dd to GNU coreutils's dd
in an attempt to fix sporadic m_offset self-test failures.
sysutils/e2fsprogs: 2/2 add a port for /sbin fsck'ing ext2/ext3/ext4
This is the second half of the e2fsprogs commit to permit having
a big hier(7)-clean e2fsprogs port that does not ever reach into /sbin,
now called e2fsprogs-core, and this new port that will copy from
${LOCALBASE} to /sbin so that /usr can reside on an ext2/ext3/ext4
file system and still be fsck'd at boot time.
sysutils/e2fsprogs: misc/e2fsprogs-libblkid: fixes
- for libblkid, fix a buffer size when parsing device names
to make room for a trailing '\0' character from sscanf().
(This was a long-standing bug in our local patch.)
- patch out qsort_r redeclarations from the sort_r library that are
incompatible with FreeBSD since it aligned with GNU qsort_r() API
- remove FreeBSD 14-CURRENT BROKEN= tag.
Related to:
PR: 266227
sysutils/e2fsprogs: revert bogus qsort_r() patch.
delphij@ and the upstream maintainer were working on a autoconf-based
solution, and this patch was not approved. Remove it and mark
port BROKEN on systems that changed qsort_r() for the GNU-like API.
PR: 266227
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.
There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.
The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.
Approved by: portmgr (tcberner)
sysutils/e2fsprogs: fix CVE-2022-1304
Take patch from linux-ext4@ mailing list to fix
Security: CVE-2022-1304
Security: a58f3fde-e4e0-11ec-8340-2d623369b8b5
MFH: 2022Q2
sysutils/e2fsprogs: update to 1.46.5 (bug fixes)
Release notes:
http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.46.5
Workarounds:
* patch CPPFLAGS to avoid __GNUC_PREREQ internal GCC macro, upstream
regression in d55f8b8c 2021-08-17 | fix unused-function -Wall warnings
(reported to Theodore Y. Ts'o by e-mail); macro is unavailable in clang.
* timeout(1) not providing a -v; cherry-picking upstream's
8535250a 2022-01-03 | tests: support older versions of timeout in r_corrupt_fs
devel/e2fsprogs-libss: merge to sysutils/e2fsprogs
This is to break dependency cycles between e2fsprogs-libss and
e2fsprogs (see 254751 comment #18 for details), and to avoid creating
yet another split-out port, then for e2fsprogs's libcom_err.
Bump PORTREVISION of the four e2fsprogs consumers to flush out
their e2fsprogs-libss dependency records.
PR: 254751
Reported by: Felix Palmen
PR: 261217
Reported by: tech-lists@zyxst.net
Fixes: 8e6ae60 devel/e2fsprogs-libss: use local compile_et...
Approved by: prior maintainer timeout (Ben Kaduk, 7 months) on 254751
Fix CONFLICTS entries of multiple ports
There have been lots of missing CONFLICTS_INSTALL entries, either
because conflicting ports were added without updating existing ports,
due to name changes of generated packages, due to mis-understanding
the format and semantics of the conflicts entries, or just due to
typoes in package names.
This patch is the result of a comparison of all files contained in
the official packages with each other. This comparison was based on
packages built with default options and may therefore have missed
further conflicts with optionally installed files.
Where possible, version numbers in conflicts entries have been
generalized, some times taking advantage of the fact that a port
cannot conflict with itself (due to logic in bsd.port.mk that
supresses the pattern match result in that case).
A few ports that set the conflicts variables depending on complex
conditions (e.g. port options), have been left unmodified, despite
probably containing outdated package names.
These changes should only affect the installation of locally built
ports, not the package building with poudriere. They should give an
early indication of the install conflict in cases where currently
the pkg command aborts an installation when it detects that an
existing file would be overwritten,
Approved by: portmgr (implicit)
sysutils/e2fsprogs: regression fix update 1.46.4
Release Notes:
http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.46.4
and local port changes:
* do not hardlink to symlinks, neither dump/restore nor our
libarchive-based tar can copy them
* pkg-install texts add a blank before the full stop character,
to ease copy & paste
* tst/bitops.c patch was integrated upstream
Since this contains regression fixes vs. 1.46.3:
MFH: 2021Q3
sysutils/e2fsprogs: port rework
1 - sysutils/e2fsprogs: fix checksum mismatches
e2fsprogs has replaced symlinks by hardlinks in its post-install if
/sbin and ${PREFIX}/sbin were on the same file system, and unless
script processing was defeated on install or upgrade.
Leave symlinks in place to avoid checksum mismatches.
PR: 252184 [1]
2 - add FLAVORS for /sbin handling
- no flavor (default): set symlinks from $PREFIX/sbin to /sbin
- roothardlinks: set hardlinks from $PREFIX/sbin to /sbin, when
$PREFIX, its children, and /sbin reside on the same file system
- nobootfsck: do not install into /sbin, but this makes fsck
unavailable for ext2/ext3/ext4 file systems before $PREFIX/ is
mounted
Require tests on i386 and amd64 only for FreeBSD >= 14 (not >= 12).
Do not print removal advice from post-uninstall on upgrades.
sysutils/e2fsprogs: update to new upstream release v1.46.0
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/plain/doc/RelNotes/v1.46.0.txt?h=v1.46.0
The major item in porting is to switch from GNU libc's qsort_r()
interface to ours, but see https://reviews.freebsd.org/D17083
Also, it appears at cursory glance that it takes the FUSEFS option
to get HAVE_PTHREAD_H #defined. Just pass -DHAVE_PTHREAD_H through
CPPFLAGS without further investigation.
Finally, there appears to be some confusion around __u64 vs.
unsigned long long, we get format string complaints. Use <inttypes.h>
and leverage the PRIu64 macro.
I do not intend to MFH this.
e2fsprogs: make build more robust
Depending on external circumstances and options that I have not fully
investigated, several build-time failures occurred that were one of:
- missing symbols in liblzma (static build missed libmd)
on some versions with LIBUNWIND enabled
- sometimes /bin/csh being pulled up for scripting, breaking in
various places, reason unclear, possibly artifact of next one:
- questionable BASHTESTS handling cleaned up
As these are fixes for a potentially broken build,
no PORTREVISION bump necessary.
MFH: 2021Q1
- make /sbin/e2fsck and /sbin/fsck_ext2fs visible in pkg catalog/"pkg which",
so that "pkg which /sbin/e2fsck" yields the proper result.
* this entails symlinking from $PREFIX/sbin to /sbin, and the pkg-install
script will attempt to replace the symlinks by hard links if possible.
pkg 1.15.4 cannot deal with packaged hard links and will fail.
* Note that it is unavoidable that these be in /sbin because /usr/local or
/usr may not be mounted and consequently ext2 file systems could not
be fsck-ed or mounted from /etc/fstab.
There will be no port option to avoid /sbin installs for now. We have too
many options already and the testing effort increases exponentially.
- make sure pkg-message appears on both install and upgrade
- clean up and document/comment pkg-install so that armchair experts
will not pester me with meaningless change requests
- bugfix/change: logic of mke2fs.conf upgrade handling to present less work for
users on port/package upgrades
- bump PORTREVISION
PR: 249284 (related)
sysutils/e2fsprogs: fix "blkid" probe-all feature
e2fsprogs's misc/blkid utility would expect a /proc/partitions file
in a Linux-specific format. Add code to read the kern.geom.conftxt
sysctl(3) value instead, and adjust parser.
While here, patch /etc/blkid.tab location to ${ETCDIR}.
Reported by: Adam Dobrawy (private mail)
Tip to: bapt@ (for the pointer to kern.geom.conftxt)
sysutils/e2fsprogs: install extfs.info (if DOCS is enabled)
This should have appened along with r453102/r453120 on 2017-10-29,
when shared libext2fs and headers were added to the install.
Bump PORTREVISION.
Reported by: swills@
sysutils/e2fsprogs: Update to 1.45.6
Add three patches (one was extended) by Ted Y. Ts'o to fix various
issues (loff_t and type related).
Drop our own obsolete patches.
While here, drop obsolete parts of some of our patches
(malloc.h -> stdlib.h).
Since the online release notes are not available yet,
this is from doc/RelNotes/v1.45.6.txt, omitting Linux-/Hurd-specifics.
UI and Features
---------------
Debugfs will ignore lines in its command files which start with a
comment character ("#").
Fixes
-----
Fixed a number of potential out of bounds memory accesses caused by
fuzzed / malicious file systems. (Addresses Google Bug: #147849134)
Fix a spurious complaint from e2fsck when a directory which previously
had more than 32000 subdirectories has the number of subdirectories
drops below 32000.
Mke2fs -d now correctly sets permission with files where the owner
permissions are not rwx.
Improve e2fsck's ability to deal with file systems with very large
number of directories, such that various data structures take more than
2GiB of memory. Use better structure packing to improve the memory
efficiency of these data structures.
Fix debugfs so it correctly prints inode numbers > 2**31.
Filefrag now supports very large files (with > 4 billion blocks), as
well as block sizes up to 1 GiB.
Updated and clarified various man pages. (Addresses Debian Bugs:
#953493, #953494, #951808)
Performance, Internal Implementation, Development Support etc.
--------------------------------------------------------------
Reserved the error code EXT2_ET_NO_GDESC (which will be used in
e2fsprogs v1.46+)
Added a thread-safe variant of e2p_feature2string(),
e2p_feature_to_string() to the libe2p library.
Fixed portability problems caused by gcc 10.
Synchronized changes from Android's AOSP e2fsprogs tree.
Update the Malay translation from the translation project.
Obtained from: tytso@mit.edu (files/patch-0-tytso*)
MFH: 2020Q1
Ports MUST NOT set WITH_DEBUG.
WITH_DEBUG is a user facing variable. When a user wants to build a port
with debugging symbols enabled, they either set WITH_DEBUG globally, or
WITH_DEBUG_PORTS+=category/port.
Approved by: bapt
With hat: portmgr
Differential Revision: https://reviews.freebsd.org/D23940
Be more careful about what and how we link.
Only link what we need (--as-needed) to get unnecessary dependencies
out of the executables.
Be sure to properly link libc dynamically and the rest statically,
especially libgcc (-static-libgcc, should fix powerpc* builds => [1])
After two years, drop the "for now" LLD_UNSAFE=yes (r457508 by emaste@).
As e2fsprogs dlopen()s libmagic these days, our LIBMAGIC override is
useless. Instead patch libmagic.so.1 -> libmagic.so (12.1 calls it
libmagic.so.4; patch to lib/support/plausible.c).
Refresh files/patch-misc__Makefile.in
PR: 242798 [1]
Try to fix powerpc build, add LIBUNWIND option.
We've had a USES+=compiler:c11 on powerpc64,
see <https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231570>
extend and use it on all powerpc* in an attempt to fix PR 242798.
If that doesn't help, add a LIBUNWIND option that makes e2fsck's
signal catcher use libunwind instead of libexecinfo - FreeBSD's
stack unwinder doesn't currently work from signal handlers (#243746),
libunwind does and is supposed to work on powerpc and powerpc64,
among others.
PR: 242798
Reported by: canardo909@gmx.com
sysutils/e2fsprogs: Try and enable backtrace() where possible.
The configure script doesn't find backtrace() because it does not
attempt linking against -lexecinfo -lelf.
Note that currently backtrace() is broken at least on 12.1 amd64, and
does not return any frames. Filed separately as
<https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=243746>
PR: 242798 (which prompts this change, but is not fixed)
sysutils/e2fsprogs: update to 1.45.4 (security fix)
Release Notes: http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.45.4
This removes some patches or hunks that were integrated upstream.
MFH: 2019Q4
Security: ad3451b9-23e0-11ea-8b36-f1925a339a82
Security: CVE-2019-5094
Fix f_pre_1970_date_encoding on all 32-bit architectures but i386.
e2fsck would misparse the E2FSCK_TIME environment variable on architectures
where sizeof(long) < sizeof(time_t), i. e. all 32-bit architectures but i386.
This led to f_pre_1970_date_encoding test failures.
Note that I haven't tested the change for lack of respective hardware
or qemu rigs, and prior to receiving the reporter feedback, but
it would appear the fix is safe and plausible in itself.
Bump PORTREVISION as this changes the code on all architectures,
and to trigger version-based rebuild attempts where needed.
See also: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=932906
Reported by: Thorsten Glaser <tg@mirbsd.de> against Debian
Reported by: Stanislav S. Grinkin (privately) against FreeBSD
Reported by: prior fall-out and BROKEN_<ARCH> tags
Obtained
from: https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/commit/?id=a368e0cbfb33d3050dcccccf0bf5a5539d3dac39
MFH: 2019Q3
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Update e2fsprogs to new upstream release 1.45.3.
Moves fuse2fs from $(PREFIX)/sbin to $(PREFIX)/bin (it does not
require privileges).
Bugfix for e2fsck file systems that enabled large_dir and inline
directories at the same time.
Translation bug fixes.
Release Notes: <http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.45.3>
MFH: 2019Q3
Update e2fsprogs to new upstream release 1.45.2
Various bugfixes, and added Portuguese locale.
Update the Czech, Malay, Polish, Spanish, Swedish, and Ukarainian translations.
Release notes:
<http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.45.2>
MFH: 2019Q2
Update e2fsprogs suite to v1.45.0.
Sorry that this happens so short before the 2019Q2 branch; the
e2fsprogs.sourceforge.net website hadn't been updated for 1.44.6 and 1.45.0.
I am not packaging e2scrub[_all] as FreeBSD does not support LVM,
Linux's logical volume manager.
Changelogs:
<https://raw.githubusercontent.com/tytso/e2fsprogs/master/doc/RelNotes/v1.44.6.txt>
<https://raw.githubusercontent.com/tytso/e2fsprogs/master/doc/RelNotes/v1.45.0.txt>
While here, reset misc/e2fsprogs-libuuid PORTREVISION back to 0 now that
the included PORTVERSION got bumped.
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
Align *_DEPENDS and use paths for bash in my ports; fix var name.
On systems where bash is in $PATH but not in ${LOCALBASE}/bin/bash,
ilmbase would fail to build, and e2fsprogs might fail if the
BASHTESTS option was enabled.
Make sure that the _DEPENDS and the actual path handed to the configure or
test rig match to the letter, to avoid a time-of-check vs. time-of-use
discrepancy.
In e2fsprogs, the helper variable was also mistyped and would never
amend to BUILD_DEPENDS. Fix typo.
Check my other ports, but wiggle and xmlto [textproc/] seem unaffected.
Reported by: J R Matthews (direct email)
MFH: 2018Q4
Attempt to fix build on powerpc64.
Since the reporter has refused to test my proposed patch twice,
I am committing this anyways.
PR: 231570
Reported by: Piotr Kubaj <pkubaj@anongoth.pl>
Update sysutils/e2fsprogs to new upstream release 1.44.4.
This is a bug fixing release.
Full release notes:
<http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.44.4>
MFH: 2018Q3
Update to new upstream release 1.44.3.
* several features for debugfs added
* there is a new e2mmpstatus command
* there are several bug fixes, among them endianness fixes and robustness
fixes against corrupted input.
* add hashmap.h header file, for libext2fs users
* a few type fixes for format strings,
found while building for MIPS, ARM, or i386
* add new option SLOWTESTS which prevents skipping of slow tests
* add new option BASHTESTS which enables tests that require bash
(currently affects only the test f_large_dir that is also marked
as slow)
Full release notes:
<http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.44.3>
Reset PORTREVISION in slave ports, e2fsprogs{-libss,-libuuid} now
that we have bumped PORTVERSION.
MFH: 2018Q3
Update to new upstream release 1.44.2.
Most important changes over 1.44.1_1:
e2fsck: adjust quota counters when clearing orphaned inodes
e2fsprogs: fix Free Software Foundation address
mke2fs: print error string if ext2fs_close_free() fails
po: update pl.po (from translationproject.org)
Use @AR@ instead of hardcoded 'ar'
Changelog over 1.44.1:
<http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.44.2>
MFH: 2018Q2
Cherry-pick upstream bug fixes from Git.
This is pending an 1.44.2 release, and contains these fixes from maint:
filefrag: avoid temporary buffer overflow
libext2fs: add sanity checks for ea_in_inode
e2image: fix metadata image handling on big endian systems
e2fsck: warn if checkinterval and broken_system_clock both set
tests: don't leave temp files behind after running i_bitmaps
tests: add new test f_ea_inode_self_ref
chattr.1: 'a' and 'i' attribute do not affect existing file
MFH: 2018Q2
Don't set USE_LDCONFIG for child ports. They will do so themselves if
they need it. Also, use PREFIX instead of LOCALBASE.
Not bumping PORTREVISION as the only observable effect is the absence of
a warning message caused by running ldconfig on a non-existent directory.
Approved by: maintainer (mandree@)
Bugfix update to new upstream release 1.43.8.
This fixes a few important bugs where updates are missed, displayed data is
incorrect, a use-after-free-bug and fixes important bugs WRT super block
handling on big-endian systems (missed byte-swaps).
Changelog: <http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.43.8>
MFH: 2018Q1
sysutils/e2fsprogs: set LLD_UNSAFE to avoid linking with lld
One test fails when this port is linked with lld:
d_loaddump: debugfs load/dump test: failed
--- d_loaddump/expect 2017-10-16 05:45:45.000000000 +0000
+++ d_loaddump.log 2017-12-28 13:00:42.099973000 +0000
@@ -10,7 +10,7 @@
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
-test_filesys: 12/64 files (0.0% non-contiguous), 158/512 blocks
+test_filesys: 12/64 files (0.0% non-contiguous), 156/512 blocks
Exit status is 0
debugfs -R ''dump test_data d_loaddump.ver.tmp'' test.img
Exit status is 0
This looks like a very unusual failure and careful investigation into
lld's behaviour is warranted, but for now set LLD_UNSAFE to fall back
to ld.bfd so the port continues to build for users using lld as
/usr/bin/ld.
PR: 214864
Approved by: portmgr (LLD_UNSAFE blanket)
Sponsored by: The FreeBSD Foundation
Reconcile e2fsprogs ./. krb5-* conflicts.
* Move conflicting e2fsprogs headers & libs into .../e2fsprogs/... subdirs.
* Move conflicting awk scripts into ${DATADIR}.
* Rename and patch compile_et to e2fsprogs-compile_et.
* Remove conflict markers (from e2fsprogs and krb5-*).
* Add CPPFLAGS/LDFLAGS to sysutils/fusefs-ext2, including
--rpath setting.
While here, also:
* sort pkg-plist and files/unwanted
* use FUSEFS_CONFIGURE_ENABLE=fuse2fs to prevent e2fsprogs from picking up
fusefs (implies --disable-fuse2fs if the option remains disabled)
* add --without-included-gettext to CONFIGURE_ARGS just to be on the safe
side.
And of course, bump PORTREVISION to 3 in e2fsprogs. Since other ports
do not change files or runtime behaviour, their PORTREVISION remains
untouched.
Update to new upstream 1.43.7, install libext2fs.so [1].
Install shared libraries, and use them (except for e2fsck, which links it
statically so it can be used from /sbin), requested by pgf@ and fsu@.
To that end, we need to add LIB_DEPENDS and tweak CONFIGURE_ARGS (notably
LDFLAGS need to be passed there already, not in MAKE_ARGS, so that we can find
libuuid/libblkid).
Use @comment trick in pkg-plist to ignore not-to-install libraries (libss,
libblkid - these have their own ports) while shutting up make check-plist and
poudriere checks at the same time.
Reported by: pgf@, fsu@ [1]
misc/e2fsprogs-{libblkid,libuuid}: lift BROKEN
After r450705 www/firefox requires -libuuid via audio/jack. Both slaves
built fine on 11.0, 11.1 and 12.0 aarch64.
Pointy hat to: mandree (r450553)
Add FUSEFS option. Assorted fixes.
This adds a FUSEFS option based on earlier work by Fedor Uporov (fsu@)
and Pedro Giffuni (pfg@).
While here, repair DOCS/NLS options, broken since r418578 (1.43.1).
Leverage OPTIONS_SUB to replace NLS and FUSEFS in pkg-plist.
Add --enable-libuuid to avoid picking up a dynamic system libuuid.so
from /usr/local which would break the static /sbin/e2fsck (by
including a lib below /usr).
Bump PORTREVISION.
Reported by: pfg@
Update to new upstream release 1.43.6.
This fixes FreeBSD-related regressions observed in 1.43.4 and 1.43.5,
and portability issues around quota support on 32-bit builds.
Changelog: <http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.43.6>
[The MFH request will also need to take 1.43.5 upgrades into account,
so the easiest would probably to merge the entire history since branching.]
MFH: 2017Q3
Fix "invalid argument" regression.
e2fsprogs v1.43.4 and .5 appear to attempt unaligned writes to disk
devices, which causes "invalid argument" errors and failures.
Patch unix_io.c to always obtain the alignment requirements on
FreeBSD, so that e2fsprogs uses its own write buffers and read-
modify-write cycles when writing only parts of a block.
Bump PORTREVISION, as crucial executables and libs change.
While here, bump self-test requirement to FreeBSD >= 12,
since the maintainer has tested these on 11.0/11.1 amd64/i386.
Reported by: Artyon Mirgorodsky (in private)
Upgrade to new upstream release 1.43.5, assorted fixes.
Changelog:
<http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.43.5>
Add proper LICENSE* statements to all the Makefiles of e2fsprogs
and its slave ports.
Update e2fsprogs-libuuid's pkg-plist to use @preunexec and @dir,
instead of @[un]exec.
Add BLKID_FILE to e2fsprogs's Makefile to prevent f_detect_xfs
from polluting the system's /etc/blkid.tab in make check.
This port itself fails on tier-2, but its slave port does not.
I had not noticed it had a working slave port.
Noticed by: mmel
Approved by: portmgr (tier-2 blanket)
Pointy hat to: linimon
Mark some ports failing on power64. In cases where the error message
was a stub, provide a real one.
While here, pet portlint.
Approved by: portmgr (tier-2 blanket)
Update e2fsprogs to new upstream release 1.43.4.
This is predominantly a bug-fix release, it however ceases installing
the *ext4dev files, which have been replaced by *ext4 for quite a while,
and adds two translations [fi, ms].
While here, reset PORTREVISION on two slave ports.
ChangeLog: <http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.43.4>
Note in particular this part of the ChangeLog:
<<Replace a test file but which had a "non-commercial use-only" copyright
permission file with a newer version from the Cyrus imapd package which
now has a 4-clause BSD license, which was making some lawyers nervous,
even though the test file in question was only used in lib/et's
regression testing and was never included in any compiled binary.
(Addresses Debian Bug: #840733)>>
PR: 216774
Reported by: Thomas Zander (riggs@)
MFH: 2017Q1
Fix bounced I/O on unaligned buffers (FreeBSD 11+)
The bounce-buffer I/O driver fix in patch-lib_ext2fs_unix__io.c is a
prototypical fix, and has been forwarded upstream, but it permits us to
pass all self-tests (mostly undo-related) that were still failing on
11.0-RC2 amd64. There is some potential for optimization,
posix_memalign() might save us quite a few memcpy() calls and replace
the now-repaired code paths by a simple pread[64]() or pwrite[64]().
Remove BROKEN, but insist (by setting BROKEN conditionally) on anything
that is FreeBSD 11 or newer, or non-i386/non-amd64, that the user runs
at least the small self-tests.
Revise option descriptions a bit.
Bump PORTREVISION.
Fix most of the FreeBSD 11+ issues, except e2undo.
Pull in upstream Git patch for lib/ext2fs/unix_io.c to fix unaligned
multi-block writes, and disable the two known failing e2undo patches
ONLY for the exact 1.43.3_2, even if "ALLTESTS" is enabled.
(Modify the post-patch:: target to avoid that.)
The port is still marked BROKEN on FreeBSD 11+ to protect the innocent,
but a TRYBROKEN=1 build that will not use e2undo should be fine now.
Obtained from: Ted Y. Ts'o (upstream maintainer)
Ignore SIGINFO during self-tests.
In the FreeBSD-specific patch, when the environment variable
e2fsprogs_inhibit_SIGINFO exists (whatever its content, even if empty),
do NOT install the SIGINFO handler. Leverage this when running the
self-tests. This is to avoid false negatives during the self-tests due
to interspersed SIGINFO output redirected from stderr to the log files.
Bump PORTREVISION because this changes the e2fsck utility.
Update to new upstream release 1.43.3.
ChangeLog: (also see the log for 1.43.2 that the port skipped!)
<http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.43.3>
While here, refresh patches, and time-limit programs in self-test suite
to 60 s CPU time each, to avoid runaway processes from stalling the
self-tests for too long.
Still no joy on FreeBSD 11+ - the self-test results hint to massive data
loss, and more than 10 self-tests fail.