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