Bug 223125 - x11/kdelibs4: 'large' is no longer a valid msdosfs mount option in head after r319735
Summary: x11/kdelibs4: 'large' is no longer a valid msdosfs mount option in head after...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-kde (Team)
Depends on:
Reported: 2017-10-20 07:55 UTC by Andriy Gapon
Modified: 2018-04-09 09:55 UTC (History)
2 users (show)

See Also:
rakuco: maintainer-feedback+

Proposed patch (2.70 KB, patch)
2018-02-18 19:22 UTC, Raphael Kubo da Costa
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andriy Gapon freebsd_committer 2017-10-20 07:55:37 UTC
x11/kdelibs4 has a patch, patch-solid_solid_backends_hal_halstorageaccess.cpp, that adds 'large' option to msdosfs (aka vfat) mount command if that option is reported as supported by hal.
The option was removed in head in commit base r319735 after completion of the ino64 project.
hal still advertises 'large' as a valid option for all version of FreeBSD, see bug #221709.
Conditionally removing that option in either hal or kde would work.

While I am here I would like to point out that patch-solid_solid_backends_hal_halstorageaccess.cpp contains a bug.
It adds this line:
    if ( halOptions.contains("-L=") && (cType = getenv("LC_ALL")) || (cType = getenv("LC_CTYPE")) || (cType = getenv("LANG")) )
it can be written in a compact form as
    if ( A && B || C || D )
which equivalent to
    if ( (A && B) || C || D )
but it really should be
    if ( A && (B || C || D) )
Comment 1 Walter Schwarzenfeld freebsd_triage 2018-02-18 18:46:19 UTC
Comment 2 Raphael Kubo da Costa freebsd_committer 2018-02-18 19:22:09 UTC
Created attachment 190753 [details]
Proposed patch

Does the attached patch work for you?
Comment 3 commit-hook freebsd_committer 2018-04-09 08:58:03 UTC
A commit references this bug:

Author: adridg
Date: Mon Apr  9 08:57:19 UTC 2018
New revision: 466840
URL: https://svnweb.freebsd.org/changeset/ports/466840

  'large' is no longer a valid msdosfs mount option in head after r319735.

  Removes the -o large passed to mount, when kdelibs-kde4 is built on
  a recent-ish 12-CURRENT system. At the same time, fix a logic error
  regarding the handling of the -L flag reported by HAL.

  PR:		223125
  Submitted by:	rakuco
  Reported by:	avg
  Approved by:	tcberner (mentor, implicit)

Comment 4 Adriaan de Groot freebsd_committer 2018-04-09 09:55:58 UTC
I've committed the patch from rakuco@, on the grounds that fixing the logical error is important anyway, and treusting that the version check for deciding to use "-o large" makes sense.