Bug 21519 - sys/dir.h should be deprecated some more
Summary: sys/dir.h should be deprecated some more
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: standards (show other bugs)
Version: 5.0-CURRENT
Hardware: Any Any
: Normal Affects Only Me
Assignee: Port Management Team
URL: https://reviews.freebsd.org/D20479
Keywords: patch-ready
Depends on: 238578 238614 238616 238617 238620 238622 238695 238696 238697
Blocks:
  Show dependency treegraph
 
Reported: 2000-09-24 17:10 UTC by Charlie Root
Modified: 2019-11-24 21:13 UTC (History)
6 users (show)

See Also:
delphij: exp-run?


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Charlie Root 2000-09-24 17:10:01 UTC
	<sys/dir.h> has been officially deprecated since 1997.  The
	POSIX interface, <sys/dirent.h>, has been standardized for ten
	years now.  It's time to pull the rug out from under any
	rotting code that still depends on the ancient interface.

Fix: 

cd sys/sys
	cvs rm -f dir.h
	cvs ci
	fix all the ports that break
How-To-Repeat: 
	N/A
Comment 1 Johan Karlsson freebsd_committer 2002-08-22 20:26:31 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-standards

POSIXs issue.
Comment 2 Johan Karlsson freebsd_committer 2002-08-25 03:17:13 UTC
Responsible Changed
From-To: freebsd-standards->standards

Use short names for mailing list to make searches    
using the web query form work with the shown responsible. 

This also makes open PRs show up in the summery mail.
Comment 3 Dag-Erling Smørgrav freebsd_committer 2004-02-17 15:46:02 UTC
Responsible Changed
From-To: standards->freebsd-standards

Misattributed PR.
Comment 4 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 07:59:45 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped
Comment 5 Xin LI freebsd_committer 2019-05-31 05:20:46 UTC
We would like to request an exp-run.
Comment 6 Antoine Brodin freebsd_committer 2019-05-31 08:01:57 UTC
This line should probably be removed from the ports tree before:

Templates/config.site     : ${ac_cv_header_sys_dir_h=yes}
Comment 7 Rene Ladan freebsd_committer 2019-05-31 08:04:13 UTC
(In reply to Antoine Brodin from comment #6)

Or changed to 'no'
Comment 8 Rene Ladan freebsd_committer 2019-05-31 18:35:44 UTC
(In reply to Rene Ladan from comment #7)
That will confuse older FreeBSD versions, silly me :(
Comment 9 Antoine Brodin freebsd_committer 2019-06-04 13:20:31 UTC
New failures on i386:

+ {"origin"=>"archivers/nulib", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"cad/calculix", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"cad/gplcver", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"databases/gtksql", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"deskutils/xpostit", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"editors/xed", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"games/aquaria", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"games/egoboo", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"games/gtkradiant", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"games/netradiant", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"games/vegastrike", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"graphics/instant-meshes", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"graphics/xpaint", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"misc/tcb", "phase"=>"stage", "errortype"=>"missing_header"}
+ {"origin"=>"news/nntpbtr", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"sysutils/reed", "phase"=>"configure", "errortype"=>"configure_error"}
+ {"origin"=>"x11-toolkits/nanogui", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"x11/tilda", "phase"=>"build", "errortype"=>"missing_header"}

New failure logs on i386:

http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/nulib-3.25.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/calculix-2.15.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/gplcver-2.12.a.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/gtksql-0.4.5_4.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/xpostit-3.3.1_2.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/xed-1.3_3.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/aquaria-1.002.22_5.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/egoboo-2.7.5_11,1.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/gtkradiant-1.5.0_15.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/netradiant-20130630_8.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/vegastrike-0.5.1.r1_16.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/instant-meshes-0.0.42_4.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/xpaint-2.9.10.3_2.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/tcb-1.4a_1.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/nntpbtr-1.7.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/reed-5.4_1.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/nanogui-g20180413_3.log
http://package23.nyi.freebsd.org/data/headi386PR21519-default/2019-06-02_20h34m21s/logs/errors/tilda-1.4.1_2.log
Comment 10 Antoine Brodin freebsd_committer 2019-06-04 19:40:35 UTC
New failures on amd64:

+ {"origin"=>"archivers/nulib", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"cad/calculix", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"cad/gplcver", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"databases/gtksql", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"deskutils/xpostit", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"editors/xed", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"games/aquaria", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"games/egoboo", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"games/gtkradiant", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"games/netradiant", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"games/vegastrike", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"graphics/instant-meshes", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"graphics/xpaint", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"misc/tcb", "phase"=>"stage", "errortype"=>"missing_header"}
+ {"origin"=>"news/nntpbtr", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"sysutils/reed", "phase"=>"configure", "errortype"=>"configure_error"}
+ {"origin"=>"x11-toolkits/nanogui", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"x11/tilda", "phase"=>"build", "errortype"=>"missing_header"}

New failure logs on amd64:

http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/nulib-3.25.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/calculix-2.15.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/gplcver-2.12.a.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/gtksql-0.4.5_4.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/xpostit-3.3.1_2.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/xed-1.3_3.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/aquaria-1.002.22_5.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/egoboo-2.7.5_11,1.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/gtkradiant-1.5.0_15.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/netradiant-20130630_8.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/vegastrike-0.5.1.r1_16.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/instant-meshes-0.0.42_4.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/xpaint-2.9.10.3_2.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/tcb-1.4a_1.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/nntpbtr-1.7.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/reed-5.4_1.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/nanogui-g20180413_3.log
http://package22.nyi.freebsd.org/data/headamd64PR21519-default/2019-06-02_20h38m30s/logs/errors/tilda-1.4.1_2.log
Comment 11 Ed Maste freebsd_committer 2019-06-05 17:22:35 UTC
(In reply to Antoine Brodin from comment #6)
> This line should probably be removed from the ports tree before:
>
> Templates/config.site     : ${ac_cv_header_sys_dir_h=yes}

As the plan is to commit this change once the dozen or so ports reporting errors are fixed, should we just go ahead and remove the ac_cv_header_sys_dir_h=yes now?
Comment 12 commit-hook freebsd_committer 2019-06-05 17:40:55 UTC
A commit references this bug:

Author: antoine
Date: Wed Jun  5 17:40:10 UTC 2019
New revision: 503514
URL: https://svnweb.freebsd.org/changeset/ports/503514

Log:
  sys/dir.h is deprecated and is scheduled to be removed from base

  PR:		21519

Changes:
  head/Templates/config.site
Comment 13 ota 2019-06-07 03:48:03 UTC
(In reply to Ed Maste from comment #11)

How do we handle these error form here on?

I suppose we create a local patch for immediate actions and then try to contact upstream.

I looked at few cases and it looks "missing_header" requires source code change. I saw ports overwrites "configure" files years ago; I wonder if we have easy fix/work around for "configure_error" ones.
Comment 14 ota 2019-06-12 03:39:12 UTC
[archivers/nulib] - https://reviews.freebsd.org/D20618
Comment 15 commit-hook freebsd_committer 2019-06-12 06:38:38 UTC
A commit references this bug:

Author: bapt
Date: Wed Jun 12 06:37:48 UTC 2019
New revision: 504002
URL: https://svnweb.freebsd.org/changeset/ports/504002

Log:
  Remove archivers/nulib: abandonware

  nulib is an abandonware with no upstream for a while, the only distfile is
  of a local directory of a committer inactive since 2001. Also it is using
  sys/dir.h which is planned to be phased out of FreeBSD.

  PR:		21519

Changes:
  head/MOVED
  head/archivers/Makefile
  head/archivers/nulib/
Comment 16 commit-hook freebsd_committer 2019-06-12 06:53:54 UTC
A commit references this bug:

Author: bapt
Date: Wed Jun 12 06:52:52 UTC 2019
New revision: 504003
URL: https://svnweb.freebsd.org/changeset/ports/504003

Log:
  Mark as deprecated a bunch of abandonware using sys/dir.h

  sys/dir.h is going to be phased out soon, so mark as deprecated non maintained
  abandonware using it.

  PR:		21519

Changes:
  head/cad/gplcver/Makefile
  head/databases/gtksql/Makefile
  head/editors/xed/Makefile
  head/games/vegastrike/Makefile
  head/misc/tcb/Makefile
Comment 17 commit-hook freebsd_committer 2019-06-13 14:52:29 UTC
A commit references this bug:

Author: bapt
Date: Thu Jun 13 14:51:45 UTC 2019
New revision: 504095
URL: https://svnweb.freebsd.org/changeset/ports/504095

Log:
  Incorporate a patch to stop using sys/dir.h which is deprecated in POSIX since
  1997

  PR:		21519
  Submitted by:	ota@j.email.ne.jp
  Differential Revision:	https://reviews.freebsd.org/D20621

Changes:
  head/cad/calculix/files/patch-dir.h
Comment 18 Rene Ladan freebsd_committer 2019-06-30 09:19:25 UTC
All ports using sys/dir.h have either been updated to include dirent.h instead or have been marked BROKEN.
Comment 19 Ed Maste freebsd_committer 2019-08-16 16:18:03 UTC
(In reply to commit-hook from comment #15)
> Remove archivers/nulib: abandonware

It looks like it is still being maintained here: https://github.com/fadden/nulib2
with distfiles at e.g. https://nulib.com/downloads/nulib325.tar.gz
Comment 20 commit-hook freebsd_committer 2019-08-16 20:54:12 UTC
A commit references this bug:

Author: delphij
Date: Fri Aug 16 20:53:37 UTC 2019
New revision: 351140
URL: https://svnweb.freebsd.org/changeset/base/351140

Log:
  Delete sys/dir.h which was deprecated since 1997.

  PR:		21519
  Submitted by:	Yoshihiro Ota <ota j email ne jp>
  Relnotes:	yes
  Differential Revision:	https://reviews.freebsd.org/D20479

Changes:
  head/ObsoleteFiles.inc
  head/sys/sys/dir.h
  head/sys/sys/param.h
Comment 21 Adam Weinberger freebsd_committer 2019-11-24 21:08:48 UTC
It looks like this has been resolved. Is it safe to close this PR?