discuss@mandoc.bsd.lv
 help / color / mirror / Atom feed
From: Ingo Schwarze <schwarze@usta.de>
To: Paul Onyschuk <ptmelville@gmail.com>
Cc: discuss@mdocml.bsd.lv
Subject: Re: Portability of fts() functions
Date: Sat, 9 Aug 2014 23:59:19 +0200	[thread overview]
Message-ID: <20140809215919.GA32716@iris.usta.de> (raw)
In-Reply-To: <20140809190923.aa172f22b838ade5621fe601@gmail.com>

Hi Paul,

Paul Onyschuk wrote on Sat, Aug 09, 2014 at 07:09:23PM +0200:
> Ingo Schwarze wrote:

>> I guess what is needed is a compat_fts.h/compat_fts.c just like
>> for ohash(3).  I fear that won't be something that can be done
>> in a hurry, though.
>> 
>> So it looks like for the 1.13.1 release, it's probably to late
>> to fix the fts(3) issue, and systems not having it will have the
>> choice of either running 1.13.1 with "BUILD_TARGETS += db-build"
>> disabled (that is, without apropos/makewhatis)
>> or stay with 1.12.4 until 1.13.2 comes out.
>> 
>> Do you think that would be tolerable?

> For systems missing fts(3) I would say yes.  I would worry more about
> glibc scenario, especially if mdocml is packaged e.g. clean build on
> x86_64 system used by packager, where it could break otherwise, wasting
> someone's time.

Oh you mean if mandoc is compiled on a 32bit glibc platform with 32bit
off_t but more than 2 billion files in one file system or files larger
than 2 GB inside a manual tree, mandoc will compile all right,
but i may crash at runtime due to the broken fts(3) implementation
contained in glibc?  Did i get that right?

I'm not sure what i could do about that - both in the long term
and as a quick fix for this release.  What would you suggest?

> Using occasion:
> 
> In file included from mansearch_const.c:20:0:
> manpath.h:36:1: error: unknown type name '__END_DECLS'
> 
> mansearch_const.c is not including config.h before manpath.h, patch:
> 
> XXX
> --- mansearch_const.c.orig
> +++ mansearch_const.c
> @@ -14,6 +14,10 @@
>   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
>   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
>   */
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
>  #include <sys/types.h>
>  #include <stdint.h>
>  
> XXX

Yes, Thomas Klausner reported that one, too, and i fixed it with
exactly that patch in rc3.

> I think configure script should be guarded against standalone
> execution.  Right now you can do "./configure && make" expecting usual
> behavior (if you forget about looking at INSTALL).  Since in this case
> ${CC} won't be defined, script will try running commands starting with
> "-Wno-unused -Werror".  All tests will fail, enabling all compat
> functions.

Indeed, that sounds bad.

I guess i won't change that for this release, though.  I worry that
if we are very unlucky, whatever guard i put in there might break
on another system that was already tested and may not be tested
again.

For the next release, i have to keep this in mind.
I might do some more cleanup related to configure, anyway.

> I also have additional question.  Are there any plans for providing
> man(1) command also?  This would make mdocml a possible, standalone
> replacement for groff and man-db combination (typical in Linux
> distributions).

I will address that separately.

Yours,
  Ingo
--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

  reply	other threads:[~2014-08-09 22:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-09 10:38 Paul Onyschuk
2014-08-09 15:49 ` Ingo Schwarze
2014-08-09 17:09   ` Paul Onyschuk
2014-08-09 21:59     ` Ingo Schwarze [this message]
2014-08-09 23:26       ` Paul Onyschuk
2014-08-10  2:46         ` Ingo Schwarze
2014-08-10  1:23     ` man(1) replacement Ingo Schwarze
2014-08-10 10:53   ` Portability of fts() functions Paul Onyschuk
2014-08-11  3:28     ` Ingo Schwarze
  -- strict thread matches above, loose matches on Subject: below --
2014-08-09  9:54 Paul Onyschuk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140809215919.GA32716@iris.usta.de \
    --to=schwarze@usta.de \
    --cc=discuss@mdocml.bsd.lv \
    --cc=ptmelville@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).