RE: Porting git to HP NonStop

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: git-owner@xxxxxxxxxxxxxxx [mailto:git-owner@xxxxxxxxxxxxxxx] On
> Behalf Of Joachim Schmitz
> Sent: Friday, August 10, 2012 5:01 PM
> To: git@xxxxxxxxxxxxxxx
> Cc: rsbecker@xxxxxxxxxxxxx
> Subject: RE: [PATCH v2] add tests for 'git rebase --keep-empty'
> 
> Hi folks
> 
> I'm a brand new subscriper of this mailing list, so please forgive if I
violate
> some protocol or talk about things that had been discussed to death
earlier.

Ahrgl, 1st mistake: wrong subject, sorry

> I'm currently in the process of porting git (1.7.11.4 for now) to the HP
NonStop
> platform and found several issues:
> 
> - HP NonStop is lacking poll(), git is making quite some use of it.
> My Solution: I 'stole' the implementation from GNUlib, which implements
> poll() using select().
> Git should either provide its own poll(), not use it at all or resort to
using
> GNUlib, what do you think?.
> 
> - HP NonStop is lacking getrlimit(), fsync(), setitimer() and memory
mapped IO.
> For now I've commented out the part that used getrlimit() and use a home
> brewed implementation for fsync(), setitimer() and mmap().
> 
> - git makes use of some C99 features or at least feature that are not
availabe in
> C89, like 'inline'
> C89 is the default compiler on HP NonStop, but we also habe a c99
compiler, so
> telling configure to search for c99  should help here.
> 
> - libintl and libiconv sem to get linked in the wrong order, resulting in
> unresolved symbols.
> I've just moved the "ifndef NO_GETTEXT" section of Makefile to above the
> "ifdef NEEDS_LIBICONF" section.
> 
> - 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.
> 
> - 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).
> 
> - HP NonStop doesn't know SA_RESTART
> I fixed that with a "#define SA_RESTART 0" in the 3 files affected
(builtin/log.c,
> fast-import.c and progress.c)
> 
> - using C99 but not using #include <strings.h> results in compiler errors
due to
> a missing prototype for strcasecmp() I fixed it by adding that to
git-compat-
> util.h
> 
> - HP NonStop doesn't have intptr_t and uintpr_t (in its stdint.h) I added
them to
> git-compat-util.h
> 
> - HP NonStop doesn't need the " #define _XOPEN_SOURCE 600", just like
> __APPLE__, __FreeBSD__ etc, so I added a "&& !defined(__TANDEM) in git-
> compat-util.h
> 
> - there seems to be an issue with compat/fnmatch/fnmatch.c not including
> string.h, seems that HAVE_STRING_H is not #define'd anywhere.
> 
> 
> - Once compiled and installed, a simple jojo@\hpitug:/home/jojo/GitHub $
git
> clone git://github.com/git/git.git fails with:
> /home/jojo/GitHub/git/.git/branches/: No such file or directory After
creating
> those manually it fails because the directory isn't empty,
> catch-22
> After some trial'n'error I found that the culprit seems to be the
subdirectories
> branches, hook and info in /usr/local/share/git-core/templates/, if I
> remove/rename those, the above command works fine.
> I have no idea why that is nor how to properly fix it, anyone out there?
> 
> Bye, Jojo

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]