> From: Joachim Schmitz [mailto:[email protected]]
> Sent: Friday, August 10, 2012 7:33 PM
> To: 'Shawn Pearce'
> Cc: '[email protected]'; '[email protected]'
> Subject: RE: Porting git to HP NonStop
>
> > From: Shawn Pearce [mailto:[email protected]]
> > Sent: Friday, August 10, 2012 6:28 PM
> > To: Joachim Schmitz
> > Cc: [email protected]; [email protected]
> > Subject: Re: Porting git to HP NonStop
> >
> > On Fri, Aug 10, 2012 at 8:04 AM, Joachim Schmitz
> > <[email protected]>
> > wrote:
<snip>
> > >> - HP NonStop doesn't have stat.st_blocks, this is used in
> > > builtin/count-objects.c
> > >> around line 45, not sure yet how to fix that.
> >
> > IIRC the block count is only used to give the user some notion of how
> > much disk was wasted by the repository. You could hack a macro that
> > redefines this as st_size.
>
> OK, thanks, will try that.
Setting "NO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease" in Makefile helps, no need
for further hacking ;-).
> > >> - HP NonStop doesn't have stat.st_?time.nsec, there are several
> > >> places
> > > what an
> > >> "#ifdef USE_NSEC" is missing, I can provide a diff if needed
> > >> (offending
> > >> files: builtin/fetch-pack.c and read-cache.c).
> >
> > I think this would be appreciated by anyone else that has a similar
> > problem where the platform lacks nsec.
>
> Will do.
OK, here we go:
/usr/local/bin/diff -EBbu ./builtin/fetch-pack.c.orig ./builtin/fetch-pack.c
--- ./builtin/fetch-pack.c.orig 2012-07-30 15:50:38 -0500
+++ ./builtin/fetch-pack.c 2012-08-10 01:50:28 -0500
@@ -1096,7 +1096,9 @@
int fd;
mtime.sec = st.st_mtime;
+#ifdef USE_NSEC
mtime.nsec = ST_MTIME_NSEC(st);
+#endif
if (stat(shallow, &st)) {
if (mtime.sec)
die("shallow file was removed during
fetch");
/usr/local/bin/diff -EBbu ./read-cache.c.orig ./read-cache.c
--- ./read-cache.c.orig 2012-07-30 15:50:38 -0500
+++ ./read-cache.c 2012-08-09 10:57:57 -0500
@@ -72,8 +72,10 @@
{
ce->ce_ctime.sec = (unsigned int)st->st_ctime;
ce->ce_mtime.sec = (unsigned int)st->st_mtime;
+#ifdef USE_NSEC
ce->ce_ctime.nsec = ST_CTIME_NSEC(*st);
ce->ce_mtime.nsec = ST_MTIME_NSEC(*st);
+#endif
ce->ce_dev = st->st_dev;
ce->ce_ino = st->st_ino;
ce->ce_uid = st->st_uid;
@@ -1465,7 +1467,9 @@
}
strbuf_release(&previous_name_buf);
istate->timestamp.sec = st.st_mtime;
+#ifdef USE_NSEC
istate->timestamp.nsec = ST_MTIME_NSEC(st);
+#endif
while (src_offset <= mmap_size - 20 - 8) {
/* After an array of active_nr index entries,
@@ -1821,7 +1825,9 @@
if (ce_flush(&c, newfd) || fstat(newfd, &st))
return -1;
istate->timestamp.sec = (unsigned int)st.st_mtime;
+#ifdef USE_NSEC
istate->timestamp.nsec = ST_MTIME_NSEC(st);
+#endif
return 0;
}
Hope this helps?
Could you also consider adding the following:
/usr/local/bin/diff -EBbu ./git-compat-util.h.orig ./git-compat-util.h
--- ./git-compat-util.h.orig 2012-07-30 15:50:38 -0500
+++ ./git-compat-util.h 2012-08-10 09:59:56 -0500
@@ -74,7 +74,8 @@
# define _XOPEN_SOURCE 500
# endif
#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__USLC__) &&
\
- !defined(_M_UNIX) && !defined(__sgi) && !defined(__DragonFly__)
+ !defined(_M_UNIX) && !defined(__sgi) && !defined(__DragonFly__) && \
+ !defined(__TANDEM)
#define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs
600 for S_ISLNK() */
#define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
#endif
@@ -98,6 +99,11 @@
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
+#ifdef __TANDEM
+# include <strings.h> /* for strcasecmp() */
+ typedef long int intptr_t;
+ typedef unsigned long int uintptr_t;
+#endif
#include <errno.h>
#include <limits.h>
#include <sys/param.h>
Bye, Jojo
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html