From: "Joachim Schmitz" <jojo@schmitz-digital.de>
To: "'Shawn Pearce'" <spearce@spearce.org>
Cc: <git@vger.kernel.org>, <rsbecker@nexbridge.com>
Subject: RE: Porting git to HP NonStop
Date: Fri, 10 Aug 2012 22:08:49 +0200 [thread overview]
Message-ID: <004d01cd7733$f55d43e0$e017cba0$@schmitz-digital.de> (raw)
In-Reply-To:
> From: Joachim Schmitz [mailto:jojo@schmitz-digital.de]
> Sent: Friday, August 10, 2012 7:33 PM
> To: 'Shawn Pearce'
> Cc: 'git@vger.kernel.org'; 'rsbecker@nexbridge.com'
> Subject: RE: Porting git to HP NonStop
>
> > From: Shawn Pearce [mailto:spearce@spearce.org]
> > Sent: Friday, August 10, 2012 6:28 PM
> > To: Joachim Schmitz
> > Cc: git@vger.kernel.org; rsbecker@nexbridge.com
> > Subject: Re: Porting git to HP NonStop
> >
> > On Fri, Aug 10, 2012 at 8:04 AM, Joachim Schmitz
> > <jojo@schmitz-digital.de>
> > 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
next prev parent reply other threads:[~2012-08-10 20:09 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-10 15:04 Porting git to HP NonStop Joachim Schmitz
2012-08-10 16:27 ` Shawn Pearce
2012-08-10 17:32 ` Joachim Schmitz
2012-08-10 17:38 ` Shawn Pearce
2012-08-19 8:57 ` Joachim Schmitz
2012-08-19 17:23 ` Junio C Hamano
2012-08-20 10:22 ` Joachim Schmitz
2012-08-20 14:41 ` Junio C Hamano
2012-08-20 16:09 ` Joachim Schmitz
2012-08-20 16:53 ` Junio C Hamano
2012-08-22 16:30 ` Joachim Schmitz
2012-08-22 17:00 ` Brandon Casey
2012-08-22 17:13 ` Brandon Casey
2012-08-22 17:18 ` Joachim Schmitz
2012-08-22 17:23 ` Brandon Casey
2012-08-22 17:30 ` Joachim Schmitz
2012-08-22 17:30 ` Junio C Hamano
2012-08-22 18:01 ` Joachim Schmitz
2012-08-22 18:24 ` Junio C Hamano
2012-08-22 18:52 ` Joachim Schmitz
2012-08-22 17:41 ` Johannes Sixt
2012-08-22 18:02 ` Joachim Schmitz
2012-08-22 18:09 ` Johannes Sixt
2012-08-22 18:18 ` Joachim Schmitz
2012-08-22 18:09 ` Brandon Casey
2012-08-22 18:24 ` Brandon Casey
2012-08-22 18:33 ` Junio C Hamano
2012-08-22 18:38 ` Brandon Casey
2012-08-22 20:18 ` Joachim Schmitz
2012-08-22 20:49 ` Junio C Hamano
2012-08-22 21:05 ` Joachim Schmitz
2012-08-22 21:12 ` Junio C Hamano
2012-08-22 21:22 ` Joachim Schmitz
2012-08-22 21:54 ` Junio C Hamano
2012-08-22 18:26 ` Junio C Hamano
2012-08-10 20:08 ` Joachim Schmitz [this message]
2012-08-11 8:20 ` Johannes Sixt
2012-08-14 7:05 ` Joachim Schmitz
2012-08-14 14:56 ` Junio C Hamano
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='004d01cd7733$f55d43e0$e017cba0$@schmitz-digital.de' \
--to=jojo@schmitz-digital.de \
--cc=git@vger.kernel.org \
--cc=rsbecker@nexbridge.com \
--cc=spearce@spearce.org \
/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).