ports/122688: mercurial does not work on 8.0-CURRENT

Shuichi KITAGUCHI ki at hh.iij4u.or.jp
Sat Apr 12 11:30:07 UTC 2008


>Number:         122688
>Category:       ports
>Synopsis:       mercurial does not work on 8.0-CURRENT
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Apr 12 11:30:06 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Shuichi KITAGUCHI
>Release:        8.0-CURRENT
>Organization:
>Environment:
FreeBSD rhea.k.ysnb.net 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Sat Apr  5 21:31:21 JST 2008     root at rhea.k.ysnb.net:/.usr2/obj/usr/src/sys/RHEA  i386

>Description:
8.0-CURRENT have *at() syscalls and AT_SYMLINK_NOFOLLOW is defined in fcntl.h.
when AT_SYMLINK_NOFOLLOW is defined, mercurial uses fdopendir() syscall and FreeBSD does not have it at the moment.


>How-To-Repeat:
% hg init

>Fix:
attached patch is *workaround* but works for the present...

Patch attached with submission follows:

--- mercurial/osutil.c.old	2008-03-25 08:05:20.000000000 +0900
+++ mercurial/osutil.c	2008-04-12 20:16:19.000000000 +0900
@@ -253,7 +253,7 @@
 
 	keep_stat = statobj && PyObject_IsTrue(statobj);
 
-#ifdef AT_SYMLINK_NOFOLLOW
+#if !defined(__FreeBSD__) && defined(AT_SYMLINK_NOFOLLOW)
 	dfd = open(path, O_RDONLY);
 	dir = fdopendir(dfd);
 #else


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list