Re: Building git-1.5.3.7 on HP-UX 11.00

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

 



On Tue, 04 Dec 2007 10:05:40 -0800, Junio C Hamano <gitster@xxxxxxxxx> wrote:

> "H.Merijn Brand" <h.m.brand@xxxxxxxxx> writes:
> 
> > On Tue, 4 Dec 2007 15:39:47 +0000 (GMT), Johannes Schindelin
> > ...
> > I found it! unset returns false
> > ...
> > I must leave now.
> 
> Thanks, you two.
> 
> I do not see "unset VAR... &&" outside t0001 test, but there are
> instances of "unset VAR... &&" in git-submodule implementations as well.
> 
> In short, not too many places to fix.

I took the snapshot from 10-12-2007 and applied the patch below

Summary of the changes:

1 Added a section for HP-UX in the Makefile. Note that this will
  cover most of HP-UX, but might need several changes for both
  newer HP-UX versions and 64bit environments. Will come to that
  once I've got it all running

2 HP-UX does not have <sys/select.h>. I mentioned this before

3 I am willing to believe that HP_UX' vsnprintf () is broken, or
  at least does not conform to the expectations in the GNU world,
  but chickening out like the way strbuf_addf () does is maybe a
  bit too rude, so I forced a minimum of 64bytes available. That
  fixes a lot!

  but it still breaks t4013 :(

4 'tr' doesn't like '\0', but wants '\000' instead.

5 'tr' cannot deal with character classes

6 I don't know how to attack another HP specific problem: HP has
  a system command called 'patch' and it is *very* incompatible
  with GNU patch. Very. On all my systems I have GNU patch as
  'npatch', but I also know of people that have it as 'gpatch'.
  In whatever case, HP's patch will fail, so you'd have to ask
  if the poor user does have a GNU patch lying around. In t4109
  I changed the three calls to patch to calls to npatch, but did
  not include this in the patch below. Same for the single call
  in t4110.

7 What do you expect for LOCALE's? below is the first failure for
  locale testing, but there are more, like

  *** t4201-shortlog.sh ***
  t4201-shortlog.sh[22]: Invalid multibyte character.

  and somewhere inside t5100-mailinfo.sh:
  fatal: cannot convert from iso-2022-jp to utf-8

After working my way down, I stopped after hitting this:

+ git-index-pack -o tmp.idx test-2-7f8ead892057e78576c0329a70cc83afb113f117.pack
fatal: serious inflate inconsistency

inside t5300-pack-object.sh

# make configure
:
# env CC=gcc configure --prefix=/pro/local --disable-nls --without-iconv \
  --with-perl=/pro/bin/perl
:
# make
:
# make test
:
:
*** t3900-i18n-commit.sh ***
*   ok 1: setup
*   ok 2: no encoding header for base case
*   ok 3: ISO-8859-1 setup
*   ok 4: EUCJP setup
*   ok 5: ISO-2022-JP setup
*   ok 6: check encoding header for ISO-8859-1
*   ok 7: check encoding header for EUCJP
*   ok 8: check encoding header for ISO-2022-JP
*   ok 9: config to remove customization
* FAIL 10: ISO-8859-1 should be shown in UTF-8 now

                compare_with ISO-8859-1 ../t3900/1-UTF-8.txt

* FAIL 11: EUCJP should be shown in UTF-8 now

                        compare_with EUCJP ../t3900/2-UTF-8.txt

* FAIL 12: ISO-2022-JP should be shown in UTF-8 now

                        compare_with ISO-2022-JP ../t3900/2-UTF-8.txt

*   ok 13: config to add customization
*   ok 14: ISO-8859-1 should be shown in itself now
*   ok 15: EUCJP should be shown in itself now
*   ok 16: ISO-2022-JP should be shown in itself now
*   ok 17: config to tweak customization
* FAIL 18: ISO-8859-1 should be shown in UTF-8 now

                compare_with ISO-8859-1 ../t3900/1-UTF-8.txt

* FAIL 19: EUCJP should be shown in UTF-8 now

                        compare_with EUCJP ../t3900/2-UTF-8.txt

* FAIL 20: ISO-2022-JP should be shown in UTF-8 now

                        compare_with ISO-2022-JP ../t3900/2-UTF-8.txt

*   ok 21: EUCJP should be shown in EUCJP now
* FAIL 22: ISO-2022-JP should be shown in EUCJP now

                                compare_with ISO-2022-JP ../t3900/EUCJP.txt

* FAIL 23: EUCJP should be shown in ISO-2022-JP now

                                compare_with EUCJP ../t3900/ISO-2022-JP.txt

*   ok 24: ISO-2022-JP should be shown in ISO-2022-JP now
*   ok 25: No conversion with ISO-8859-1
*   ok 26: No conversion with EUCJP
*   ok 27: No conversion with ISO-2022-JP
* failed 8 among 27 test(s)
make[1]: *** [t3900-i18n-commit.sh] Error 1

# locale -a
C
POSIX
C.iso88591
C.utf8
univ.utf8
nl_NL.iso88591
nl_NL.roman8
en_GB.iso88591
en_GB.roman8
en_US.iso88591
en_US.roman8
C.iso885915
nl_NL.iso885915@euro
en_GB.iso885915@euro

--8<--- git-hpux.diff
diff -pur git-2007-12-10_01/Makefile git-2007-12-10/Makefile
--- git-2007-12-10_01/Makefile  2007-12-09 10:23:48 +0100
+++ git-2007-12-10/Makefile     2007-12-10 13:41:39 +0100
@@ -398,6 +398,18 @@ EXTLIBS =
 # because maintaining the nesting to match is a pain.  If
 # we had "elif" things would have been much nicer...

+ifeq ($(uname_S),HP-UX)
+       # HP-UX
+       BASIC_LDFLAGS += -L/usr/local/ssl/lib -L/usr/local/lib
+       #EXTLIBS += -lc_r -lgcc
+       NO_HSTRERROR = YesPlease
+       NO_ICONV = YesPlease
+       NO_INET_NTOP = YesPlease
+       NO_INET_PTON = YesPlease
+       NO_UNSETENV = YesPlease
+       NO_STRTOULL = YesPlease
+       NO_STRTOUMAX = YesPlease
+endif
 ifeq ($(uname_S),Linux)
        NO_STRLCPY = YesPlease
 endif
diff -pur git-2007-12-10_01/git-compat-util.h git-2007-12-10/git-compat-util.h
--- git-2007-12-10_01/git-compat-util.h 2007-12-09 10:23:48 +0100
+++ git-2007-12-10/git-compat-util.h    2007-12-10 14:25:26 +0100
@@ -68,7 +68,9 @@
 #include <sys/poll.h>
 #include <sys/socket.h>
 #include <sys/ioctl.h>
+#ifndef _HPUX_SOURCE
 #include <sys/select.h>
+#endif
 #include <assert.h>
 #include <regex.h>
 #include <netinet/in.h>
diff -pur git-2007-12-10_01/strbuf.c git-2007-12-10/strbuf.c
--- git-2007-12-10_01/strbuf.c  2007-12-09 10:23:48 +0100
+++ git-2007-12-10/strbuf.c     2007-12-10 15:19:46 +0100
@@ -12,7 +12,7 @@ void strbuf_init(struct strbuf *sb, size
        sb->alloc = sb->len = 0;
        sb->buf = strbuf_slopbuf;
        if (hint)
-               strbuf_grow(sb, hint);
+           strbuf_grow(sb, hint);
 }

 void strbuf_release(struct strbuf *sb)
@@ -118,7 +118,7 @@ void strbuf_addf(struct strbuf *sb, cons
        int len;
        va_list ap;

-       if (!strbuf_avail(sb))
+       if (strbuf_avail(sb) < 64)
                strbuf_grow(sb, 64);
        va_start(ap, fmt);
        len = vsnprintf(sb->buf + sb->len, sb->alloc - sb->len, fmt, ap);
diff -pur git-2007-12-10_01/t/t0020-crlf.sh git-2007-12-10/t/t0020-crlf.sh
--- git-2007-12-10_01/t/t0020-crlf.sh   2007-12-09 10:23:48 +0100
+++ git-2007-12-10/t/t0020-crlf.sh      2007-12-10 14:25:58 +0100
@@ -5,7 +5,7 @@ test_description='CRLF conversion'
 . ./test-lib.sh

 q_to_nul () {
-       tr Q '\0'
+       tr Q '\000'
 }

 append_cr () {
diff -pur git-2007-12-10_01/t/t1300-repo-config.sh git-2007-12-10/t/t1300-repo-config.sh
--- git-2007-12-10_01/t/t1300-repo-config.sh    2007-12-09 10:23:48 +0100
+++ git-2007-12-10/t/t1300-repo-config.sh       2007-12-10 09:49:48 +0100
@@ -591,12 +591,12 @@ Qsection.sub=section.val4
 Qsection.sub=section.val5Q
 EOF

-git config --null --list | tr '[\000]' 'Q' > result
+git config --null --list | tr '\000' 'Q' > result
 echo >>result

 test_expect_success '--null --list' 'cmp result expect'

-git config --null --get-regexp 'val[0-9]' | tr '[\000]' 'Q' > result
+git config --null --get-regexp 'val[0-9]' | tr '\000' 'Q' > result
 echo >>result

 test_expect_success '--null --get-regexp' 'cmp result expect'
-->8--- git-hpux.diff

Can I put the ball back in your court now?


-- 
H.Merijn Brand         Amsterdam Perl Mongers (http://amsterdam.pm.org/)
using & porting perl 5.6.2, 5.8.x, 5.10.x  on HP-UX 10.20, 11.00, 11.11,
& 11.23, SuSE 10.1 & 10.2, AIX 5.2, and Cygwin.       http://qa.perl.org
http://mirrors.develooper.com/hpux/            http://www.test-smoke.org
                        http://www.goldmark.org/jeff/stupid-disclaimers/
-
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]

  Powered by Linux