{"thread":{"id":"49890","subject":"[RFC PATCH 0/7] test: NetBSD support","startedAt":"2018-11-25T11:07:05Z","lastAt":"2018-11-26T15:42:19Z","messageCount":16,"participants":["Carlo Marcelo Arenas Belón","Junio C Hamano","Ævar Arnfjörð Bjarmason"],"isPatch":true,"patchVersion":1,"patchTotal":7},"messages":[{"id":"364026","messageId":"cover.1543143503.git.carenas@gmail.com","threadId":"49890","inReplyTo":null,"subject":"[RFC PATCH 0/7] test: NetBSD support","fromName":"Carlo Marcelo Arenas Belón","fromEmail":"carenas@gmail.com","sentAt":"2018-11-25T11:06:43Z","receivedAt":"2018-11-25T11:07:05Z","isPatch":true,"sender":{"key":"carenas@gmail.com","avatar":"https://avatars.githubusercontent.com/u/76036?v=4"},"body":"Likely still missing changes as it only completes a run with a minimal\nnumber of dependencies but open for feedback\n\nRequires pkgsrc packages for gmake, perl, bash and curl and completes a run\n\n  $ gmake SHELL_PATH=/usr/pkg/bin/bash NO_PYTHON=1 CURL_DIR=/usr/pkg test\n\nCarlo Marcelo Arenas Belón (7):\n  Documentation: update INSTALL for NetBSD\n  t0301: remove trailing / for dir creation\n  config.mak.uname: NetBSD uses BSD semantics with fread for directories\n  config.mak.uname: NetBSD uses old iconv interface\n  test-lib: use pkgsrc provided unzip for NetBSD\n  t5004: use GNU tar to avoid known issues with BSD tar\n  config.mak.uname: use pkgsrc perl for NetBSD\n\n INSTALL                         | 6 +++---\n config.mak.uname                | 3 +++\n t/t0301-credential-cache.sh     | 8 ++++----\n t/t5004-archive-corner-cases.sh | 2 ++\n t/test-lib.sh                   | 1 +\n 5 files changed, 13 insertions(+), 7 deletions(-)\n\n-- \n2.20.0.rc1\n\n"},{"id":"364027","messageId":"91d5d8cf6c3013f6c309d3666d8626ef546b18df.1543143503.git.carenas@gmail.com","threadId":"49890","inReplyTo":"cover.1543143503.git.carenas@gmail.com","subject":"[RFC PATCH 1/7] Documentation: update INSTALL for NetBSD","fromName":"Carlo Marcelo Arenas Belón","fromEmail":"carenas@gmail.com","sentAt":"2018-11-25T11:06:44Z","receivedAt":"2018-11-25T11:07:08Z","isPatch":true,"sender":{"key":"carenas@gmail.com","avatar":"https://avatars.githubusercontent.com/u/76036?v=4"},"body":"NetBSD added a BSD licensed reimplementation of GNU libintl to\nits base at least since release 4.0 (mid 2012) and git can be\nconfigured to build with it.\n\nSigned-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n---\n INSTALL | 6 +++---\n 1 file changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/INSTALL b/INSTALL\nindex c39006e8e7..100718989f 100644\n--- a/INSTALL\n+++ b/INSTALL\n@@ -154,11 +154,11 @@ Issues of note:\n \t  git-gui, you can use NO_TCLTK.\n \n \t- A gettext library is used by default for localizing Git. The\n-\t  primary target is GNU libintl, but the Solaris gettext\n-\t  implementation also works.\n+\t  primary target is GNU libintl, but the Solaris and NetBSD gettext\n+\t  implementations also work.\n \n \t  We need a gettext.h on the system for C code, gettext.sh (or\n-\t  Solaris gettext(1)) for shell scripts, and libintl-perl for Perl\n+\t  gettext(1) utility) for shell scripts, and libintl-perl for Perl\n \t  programs.\n \n \t  Set NO_GETTEXT to disable localization support and make Git only\n-- \n2.20.0.rc1\n\n"},{"id":"364028","messageId":"fdf6f2ec6296cf48f5e5ac5edc5fe93adca77f32.1543143503.git.carenas@gmail.com","threadId":"49890","inReplyTo":"cover.1543143503.git.carenas@gmail.com","subject":"[RFC PATCH 2/7] t0301: remove trailing / for dir creation","fromName":"Carlo Marcelo Arenas Belón","fromEmail":"carenas@gmail.com","sentAt":"2018-11-25T11:06:45Z","receivedAt":"2018-11-25T11:07:08Z","isPatch":true,"sender":{"key":"carenas@gmail.com","avatar":"https://avatars.githubusercontent.com/u/76036?v=4"},"body":"the semantics of how mkdir -p should work, specially when using -m are\nnot standard and in this case NetBSD will assume that the permision\nshould not be changed, breaking the test\n\n-p is technically not needed either, but will be cleared in a future\npatch eventhough it could be considered an alternative fix\n\nSigned-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n---\n t/t0301-credential-cache.sh | 8 ++++----\n 1 file changed, 4 insertions(+), 4 deletions(-)\n\ndiff --git a/t/t0301-credential-cache.sh b/t/t0301-credential-cache.sh\nindex fd92533acf..9529c612af 100755\n--- a/t/t0301-credential-cache.sh\n+++ b/t/t0301-credential-cache.sh\n@@ -77,9 +77,9 @@ test_expect_success \"use custom XDG_CACHE_HOME even if xdg socket exists\" '\n test_expect_success 'use user socket if user directory exists' '\n \ttest_when_finished \"\n \t\tgit credential-cache exit &&\n-\t\trmdir \\\"\\$HOME/.git-credential-cache/\\\"\n+\t\trmdir \\\"\\$HOME/.git-credential-cache\\\"\n \t\" &&\n-\tmkdir -p -m 700 \"$HOME/.git-credential-cache/\" &&\n+\tmkdir -p -m 700 \"$HOME/.git-credential-cache\" &&\n \tcheck approve cache <<-\\EOF &&\n \tprotocol=https\n \thost=example.com\n@@ -92,10 +92,10 @@ test_expect_success 'use user socket if user directory exists' '\n test_expect_success SYMLINKS 'use user socket if user directory is a symlink to a directory' '\n \ttest_when_finished \"\n \t\tgit credential-cache exit &&\n-\t\trmdir \\\"\\$HOME/dir/\\\" &&\n+\t\trmdir \\\"\\$HOME/dir\\\" &&\n \t\trm \\\"\\$HOME/.git-credential-cache\\\"\n \t\" &&\n-\tmkdir -p -m 700 \"$HOME/dir/\" &&\n+\tmkdir -p -m 700 \"$HOME/dir\" &&\n \tln -s \"$HOME/dir\" \"$HOME/.git-credential-cache\" &&\n \tcheck approve cache <<-\\EOF &&\n \tprotocol=https\n-- \n2.20.0.rc1\n\n"},{"id":"364029","messageId":"80755d37b29d351b7d5a8fa5d9a22b09ba7e1d0a.1543143503.git.carenas@gmail.com","threadId":"49890","inReplyTo":"cover.1543143503.git.carenas@gmail.com","subject":"[RFC PATCH 3/7] config.mak.uname: NetBSD uses BSD semantics with fread for directories","fromName":"Carlo Marcelo Arenas Belón","fromEmail":"carenas@gmail.com","sentAt":"2018-11-25T11:06:46Z","receivedAt":"2018-11-25T11:07:09Z","isPatch":true,"sender":{"key":"carenas@gmail.com","avatar":"https://avatars.githubusercontent.com/u/76036?v=4"},"body":"this \"fixes\" test 23 (proper error on directory \"files\") from t1308\n\nother BSD (OpenBSD, MirBSD) likely also affected but they will be\nfixed in a different series\n\nthe optional 'configure' sets this automatically and is probably what\nmost users from this platform had been doing as a workaround\n\nSigned-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n---\n config.mak.uname | 1 +\n 1 file changed, 1 insertion(+)\n\ndiff --git a/config.mak.uname b/config.mak.uname\nindex 3ee7da0e23..36c973c7e6 100644\n--- a/config.mak.uname\n+++ b/config.mak.uname\n@@ -253,6 +253,7 @@ ifeq ($(uname_S),NetBSD)\n \tHAVE_BSD_SYSCTL = YesPlease\n \tHAVE_BSD_KERN_PROC_SYSCTL = YesPlease\n \tPROCFS_EXECUTABLE_PATH = /proc/curproc/exe\n+\tFREAD_READS_DIRECTORIES = UnfortunatelyYes\n endif\n ifeq ($(uname_S),AIX)\n \tDEFAULT_PAGER = more\n-- \n2.20.0.rc1\n\n"},{"id":"364030","messageId":"5841455b55d7e14f962659ce3bf36c1f04162268.1543143503.git.carenas@gmail.com","threadId":"49890","inReplyTo":"cover.1543143503.git.carenas@gmail.com","subject":"[RFC PATCH 4/7] config.mak.uname: NetBSD uses old iconv interface","fromName":"Carlo Marcelo Arenas Belón","fromEmail":"carenas@gmail.com","sentAt":"2018-11-25T11:06:47Z","receivedAt":"2018-11-25T11:07:11Z","isPatch":true,"sender":{"key":"carenas@gmail.com","avatar":"https://avatars.githubusercontent.com/u/76036?v=4"},"body":"prevents the following warning :\n\nutf8.c: In function 'reencode_string_iconv':\nutf8.c:486:28: warning: passing argument 2 of 'iconv' from incompatible pointer type [-Wincompatible-pointer-types]\n   size_t cnt = iconv(conv, &cp, &insz, &outpos, &outsz);\n                            ^\nIn file included from git-compat-util.h:275:0,\n                 from utf8.c:1:\n/usr/include/iconv.h:46:8: note: expected 'const char ** restrict' but argument is of type 'char **'\n size_t iconv(iconv_t, const char ** __restrict,\n        ^\n\nit is set by optional configure at least since NetBSD 6.0\n\nSigned-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n---\n config.mak.uname | 1 +\n 1 file changed, 1 insertion(+)\n\ndiff --git a/config.mak.uname b/config.mak.uname\nindex 36c973c7e6..59ce03819b 100644\n--- a/config.mak.uname\n+++ b/config.mak.uname\n@@ -246,6 +246,7 @@ ifeq ($(uname_S),NetBSD)\n \tifeq ($(shell expr \"$(uname_R)\" : '[01]\\.'),2)\n \t\tNEEDS_LIBICONV = YesPlease\n \tendif\n+\tOLD_ICONV = UnfortunatelyYes\n \tBASIC_CFLAGS += -I/usr/pkg/include\n \tBASIC_LDFLAGS += -L/usr/pkg/lib $(CC_LD_DYNPATH)/usr/pkg/lib\n \tUSE_ST_TIMESPEC = YesPlease\n-- \n2.20.0.rc1\n\n"},{"id":"364031","messageId":"5fe64afa3d7cf9a46a527c47885e8e60dae2445c.1543143503.git.carenas@gmail.com","threadId":"49890","inReplyTo":"cover.1543143503.git.carenas@gmail.com","subject":"[RFC PATCH 5/7] test-lib: use pkgsrc provided unzip for NetBSD","fromName":"Carlo Marcelo Arenas Belón","fromEmail":"carenas@gmail.com","sentAt":"2018-11-25T11:06:48Z","receivedAt":"2018-11-25T11:07:12Z","isPatch":true,"sender":{"key":"carenas@gmail.com","avatar":"https://avatars.githubusercontent.com/u/76036?v=4"},"body":"d98b2c5fce (\"test-lib: on FreeBSD, look for unzip(1) in /usr/local/bin/\",\n2016-07-21) added an exception to the test suite for FreeBSD because the\ntests assume functionality not provided by its base unzip tool.\n\nNetBSD shares that limitation and provides a package that could be used\ninstead so all tests from t5003 succeed\n\nSigned-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n---\n t/test-lib.sh | 1 +\n 1 file changed, 1 insertion(+)\n\ndiff --git a/t/test-lib.sh b/t/test-lib.sh\nindex 6c6c0af7a1..2acb35f277 100644\n--- a/t/test-lib.sh\n+++ b/t/test-lib.sh\n@@ -1244,6 +1244,7 @@ test_lazy_prereq SANITY '\n '\n \n test FreeBSD != $uname_s || GIT_UNZIP=${GIT_UNZIP:-/usr/local/bin/unzip}\n+test $uname_s = NetBSD && GIT_UNZIP=${GIT_UNZIP:-/usr/pkg/bin/unzip}\n GIT_UNZIP=${GIT_UNZIP:-unzip}\n test_lazy_prereq UNZIP '\n \t\"$GIT_UNZIP\" -v\n-- \n2.20.0.rc1\n\n"},{"id":"364032","messageId":"48f223add200dfcf02f280fcc577cc94255820ce.1543143503.git.carenas@gmail.com","threadId":"49890","inReplyTo":"cover.1543143503.git.carenas@gmail.com","subject":"[RFC PATCH 6/7] t5004: use GNU tar to avoid known issues with BSD tar","fromName":"Carlo Marcelo Arenas Belón","fromEmail":"carenas@gmail.com","sentAt":"2018-11-25T11:06:49Z","receivedAt":"2018-11-25T11:07:13Z","isPatch":true,"sender":{"key":"carenas@gmail.com","avatar":"https://avatars.githubusercontent.com/u/76036?v=4"},"body":"56ee96572a (\"t5004: resurrect original empty tar archive test\", 2013-05-09)\nadded a test to try to detect and workaround issues with the standard tar\nfrom BSD, but at least in NetBSD would be better to instead require GNU tar\nwhich is available from pkgsrc\n\nSigned-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n---\n t/t5004-archive-corner-cases.sh | 2 ++\n 1 file changed, 2 insertions(+)\n\ndiff --git a/t/t5004-archive-corner-cases.sh b/t/t5004-archive-corner-cases.sh\nindex ced44355ca..baafc553f8 100755\n--- a/t/t5004-archive-corner-cases.sh\n+++ b/t/t5004-archive-corner-cases.sh\n@@ -31,6 +31,8 @@ test_lazy_prereq UNZIP_ZIP64_SUPPORT '\n \t\"$GIT_UNZIP\" -v | grep ZIP64_SUPPORT\n '\n \n+test $uname_s = NetBSD && TAR=\"gtar\"\n+\n # bsdtar/libarchive versions before 3.1.3 consider a tar file with a\n # global pax header that is not followed by a file record as corrupt.\n if \"$TAR\" tf \"$TEST_DIRECTORY\"/t5004/empty-with-pax-header.tar >/dev/null 2>&1\n-- \n2.20.0.rc1\n\n"},{"id":"364033","messageId":"f7a41204f9c70e3c659877412719f17dc9805589.1543143503.git.carenas@gmail.com","threadId":"49890","inReplyTo":"cover.1543143503.git.carenas@gmail.com","subject":"[RFC PATCH 7/7] config.mak.uname: use pkgsrc perl for NetBSD","fromName":"Carlo Marcelo Arenas Belón","fromEmail":"carenas@gmail.com","sentAt":"2018-11-25T11:06:50Z","receivedAt":"2018-11-25T11:07:15Z","isPatch":true,"sender":{"key":"carenas@gmail.com","avatar":"https://avatars.githubusercontent.com/u/76036?v=4"},"body":"otherwise will default to /usr/bin/perl which wouldn't normally exist\n\nSigned-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n---\n config.mak.uname | 1 +\n 1 file changed, 1 insertion(+)\n\ndiff --git a/config.mak.uname b/config.mak.uname\nindex 59ce03819b..d2edb723f4 100644\n--- a/config.mak.uname\n+++ b/config.mak.uname\n@@ -249,6 +249,7 @@ ifeq ($(uname_S),NetBSD)\n \tOLD_ICONV = UnfortunatelyYes\n \tBASIC_CFLAGS += -I/usr/pkg/include\n \tBASIC_LDFLAGS += -L/usr/pkg/lib $(CC_LD_DYNPATH)/usr/pkg/lib\n+\tPERL_PATH = /usr/pkg/bin/perl\n \tUSE_ST_TIMESPEC = YesPlease\n \tHAVE_PATHS_H = YesPlease\n \tHAVE_BSD_SYSCTL = YesPlease\n-- \n2.20.0.rc1\n\n"},{"id":"364056","messageId":"xmqqy39gxsif.fsf@gitster-ct.c.googlers.com","threadId":"49890","inReplyTo":"91d5d8cf6c3013f6c309d3666d8626ef546b18df.1543143503.git.carenas@gmail.com","subject":"Re: [RFC PATCH 1/7] Documentation: update INSTALL for NetBSD","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-11-26T06:27:52Z","receivedAt":"2018-11-26T06:28:48Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Carlo Marcelo Arenas Belón  <carenas@gmail.com> writes:\n\n> NetBSD added a BSD licensed reimplementation of GNU libintl to\n> its base at least since release 4.0 (mid 2012) and git can be\n> configured to build with it.\n>\n> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n> ---\n>  INSTALL | 6 +++---\n>  1 file changed, 3 insertions(+), 3 deletions(-)\n\nLooks good.\n\n> diff --git a/INSTALL b/INSTALL\n> index c39006e8e7..100718989f 100644\n> --- a/INSTALL\n> +++ b/INSTALL\n> @@ -154,11 +154,11 @@ Issues of note:\n>  \t  git-gui, you can use NO_TCLTK.\n>  \n>  \t- A gettext library is used by default for localizing Git. The\n> -\t  primary target is GNU libintl, but the Solaris gettext\n> -\t  implementation also works.\n> +\t  primary target is GNU libintl, but the Solaris and NetBSD gettext\n> +\t  implementations also work.\n>  \n>  \t  We need a gettext.h on the system for C code, gettext.sh (or\n> -\t  Solaris gettext(1)) for shell scripts, and libintl-perl for Perl\n> +\t  gettext(1) utility) for shell scripts, and libintl-perl for Perl\n>  \t  programs.\n>  \n>  \t  Set NO_GETTEXT to disable localization support and make Git only\n"},{"id":"364057","messageId":"xmqqpnusxrxx.fsf@gitster-ct.c.googlers.com","threadId":"49890","inReplyTo":"fdf6f2ec6296cf48f5e5ac5edc5fe93adca77f32.1543143503.git.carenas@gmail.com","subject":"Re: [RFC PATCH 2/7] t0301: remove trailing / for dir creation","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-11-26T06:40:10Z","receivedAt":"2018-11-26T06:40:15Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Carlo Marcelo Arenas Belón  <carenas@gmail.com> writes:\n\n> the semantics of how mkdir -p should work, specially when using -m are\n> not standard and in this case NetBSD will assume that the permision\n> should not be changed, breaking the test\n\nThis does not explain, except for the fuzzy \"in this case\", why we\nwant to lose trailing slash at all.  If what you wanted to say was\n\n    On NetBSD, \"mkdir -p -m $bits path/to/dir/\" ignores the\n    permission bits when creating the directory component 'dir', but\n    without the trailing slash at the end of \"dir/\", it works as\n    expected.\n\nthen that would be an understandable justification for the patch.\nIf you meant to say something else, then I couldn't read it from\nwhat you wrote, so the log message needs updating to help future\nreaders.\n\n> -p is technically not needed either, but will be cleared in a future\n> patch eventhough it could be considered an alternative fix\n\nI haven't seen the steps 3-7/7 yet, but if they remove \"-p\", then\n\"but\" would be a strange thing to say here.  If they indeed do, then\nperhaps:\n\n    The '-p' option is not needed in thse cases, as we know $HOME/\n    exists in the test environment and we are creating a new\n    directory directly under it.  It will be removed in a future\n    patch in the series.  Removing '-p' could be an alternative fix,\n    as the command then works as expected even on NetBSD with the\n    trailing slash after directory name.\n\nOn the other hand, if future changes make it necessary to create two\nor more levels here, then\n\n    At this point in the series, '-p' is not needed in thse cases,\n    as we know $HOME/ exists in the test environment and we are\n    creating .git-credential-cache directory directly under it.\n    However, in later patches, we'll make it necessary for these\n    'mkdir -p' to create two or more levels, so removing '-p' would\n    be an alternative fix for this step, but would not work for the\n    series as a whole.\n\nwould also make sense.  I simply do not have enough information yet\nto tell which at this point in the series.\n\n> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n> ---\n>  t/t0301-credential-cache.sh | 8 ++++----\n>  1 file changed, 4 insertions(+), 4 deletions(-)\n>\n> diff --git a/t/t0301-credential-cache.sh b/t/t0301-credential-cache.sh\n> index fd92533acf..9529c612af 100755\n> --- a/t/t0301-credential-cache.sh\n> +++ b/t/t0301-credential-cache.sh\n> @@ -77,9 +77,9 @@ test_expect_success \"use custom XDG_CACHE_HOME even if xdg socket exists\" '\n>  test_expect_success 'use user socket if user directory exists' '\n>  \ttest_when_finished \"\n>  \t\tgit credential-cache exit &&\n> -\t\trmdir \\\"\\$HOME/.git-credential-cache/\\\"\n> +\t\trmdir \\\"\\$HOME/.git-credential-cache\\\"\n>  \t\" &&\n> -\tmkdir -p -m 700 \"$HOME/.git-credential-cache/\" &&\n> +\tmkdir -p -m 700 \"$HOME/.git-credential-cache\" &&\n>  \tcheck approve cache <<-\\EOF &&\n>  \tprotocol=https\n>  \thost=example.com\n> @@ -92,10 +92,10 @@ test_expect_success 'use user socket if user directory exists' '\n>  test_expect_success SYMLINKS 'use user socket if user directory is a symlink to a directory' '\n>  \ttest_when_finished \"\n>  \t\tgit credential-cache exit &&\n> -\t\trmdir \\\"\\$HOME/dir/\\\" &&\n> +\t\trmdir \\\"\\$HOME/dir\\\" &&\n>  \t\trm \\\"\\$HOME/.git-credential-cache\\\"\n>  \t\" &&\n> -\tmkdir -p -m 700 \"$HOME/dir/\" &&\n> +\tmkdir -p -m 700 \"$HOME/dir\" &&\n>  \tln -s \"$HOME/dir\" \"$HOME/.git-credential-cache\" &&\n>  \tcheck approve cache <<-\\EOF &&\n>  \tprotocol=https\n"},{"id":"364058","messageId":"xmqqlg5gxrvl.fsf@gitster-ct.c.googlers.com","threadId":"49890","inReplyTo":"80755d37b29d351b7d5a8fa5d9a22b09ba7e1d0a.1543143503.git.carenas@gmail.com","subject":"Re: [RFC PATCH 3/7] config.mak.uname: NetBSD uses BSD semantics with fread for directories","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-11-26T06:41:34Z","receivedAt":"2018-11-26T06:41:43Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Carlo Marcelo Arenas Belón  <carenas@gmail.com> writes:\n\n> this \"fixes\" test 23 (proper error on directory \"files\") from t1308\n>\n> other BSD (OpenBSD, MirBSD) likely also affected but they will be\n> fixed in a different series\n>\n> the optional 'configure' sets this automatically and is probably what\n> most users from this platform had been doing as a workaround\n\nYup, thanks for straightening this out.\n\n>\n> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n> ---\n>  config.mak.uname | 1 +\n>  1 file changed, 1 insertion(+)\n>\n> diff --git a/config.mak.uname b/config.mak.uname\n> index 3ee7da0e23..36c973c7e6 100644\n> --- a/config.mak.uname\n> +++ b/config.mak.uname\n> @@ -253,6 +253,7 @@ ifeq ($(uname_S),NetBSD)\n>  \tHAVE_BSD_SYSCTL = YesPlease\n>  \tHAVE_BSD_KERN_PROC_SYSCTL = YesPlease\n>  \tPROCFS_EXECUTABLE_PATH = /proc/curproc/exe\n> +\tFREAD_READS_DIRECTORIES = UnfortunatelyYes\n>  endif\n>  ifeq ($(uname_S),AIX)\n>  \tDEFAULT_PAGER = more\n"},{"id":"364059","messageId":"xmqqh8g4xrpu.fsf@gitster-ct.c.googlers.com","threadId":"49890","inReplyTo":"5841455b55d7e14f962659ce3bf36c1f04162268.1543143503.git.carenas@gmail.com","subject":"Re: [RFC PATCH 4/7] config.mak.uname: NetBSD uses old iconv interface","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-11-26T06:45:01Z","receivedAt":"2018-11-26T06:45:07Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Carlo Marcelo Arenas Belón  <carenas@gmail.com> writes:\n\n> prevents the following warning :\n\ns/^/Doing so / or something to make it a complete sentence.\n\n> ...\n> it is set by optional configure at least since NetBSD 6.0\n\ns/it/It/;\n\n\nAgain, makes sense, and thanks for tying this loose end.\n\n> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n> ---\n>  config.mak.uname | 1 +\n>  1 file changed, 1 insertion(+)\n>\n> diff --git a/config.mak.uname b/config.mak.uname\n> index 36c973c7e6..59ce03819b 100644\n> --- a/config.mak.uname\n> +++ b/config.mak.uname\n> @@ -246,6 +246,7 @@ ifeq ($(uname_S),NetBSD)\n>  \tifeq ($(shell expr \"$(uname_R)\" : '[01]\\.'),2)\n>  \t\tNEEDS_LIBICONV = YesPlease\n>  \tendif\n> +\tOLD_ICONV = UnfortunatelyYes\n>  \tBASIC_CFLAGS += -I/usr/pkg/include\n>  \tBASIC_LDFLAGS += -L/usr/pkg/lib $(CC_LD_DYNPATH)/usr/pkg/lib\n>  \tUSE_ST_TIMESPEC = YesPlease\n"},{"id":"364060","messageId":"xmqqd0qsxrfy.fsf@gitster-ct.c.googlers.com","threadId":"49890","inReplyTo":"5fe64afa3d7cf9a46a527c47885e8e60dae2445c.1543143503.git.carenas@gmail.com","subject":"Re: [RFC PATCH 5/7] test-lib: use pkgsrc provided unzip for NetBSD","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-11-26T06:50:57Z","receivedAt":"2018-11-26T06:51:06Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Carlo Marcelo Arenas Belón  <carenas@gmail.com> writes:\n\n> d98b2c5fce (\"test-lib: on FreeBSD, look for unzip(1) in /usr/local/bin/\",\n> 2016-07-21) added an exception to the test suite for FreeBSD because the\n> tests assume functionality not provided by its base unzip tool.\n>\n> NetBSD shares that limitation and provides a package that could be used\n> instead so all tests from t5003 succeed\n>\n> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n> ---\n>  t/test-lib.sh | 1 +\n>  1 file changed, 1 insertion(+)\n>\n> diff --git a/t/test-lib.sh b/t/test-lib.sh\n> index 6c6c0af7a1..2acb35f277 100644\n> --- a/t/test-lib.sh\n> +++ b/t/test-lib.sh\n> @@ -1244,6 +1244,7 @@ test_lazy_prereq SANITY '\n>  '\n>  \n>  test FreeBSD != $uname_s || GIT_UNZIP=${GIT_UNZIP:-/usr/local/bin/unzip}\n> +test $uname_s = NetBSD && GIT_UNZIP=${GIT_UNZIP:-/usr/pkg/bin/unzip}\n\nThis is OK for now, but I wonder why this is done in test-lib.sh in\nthe first place, unlike $(TAR) that is set and configurable from the\ntop level.  The difference is that GIT_UNZIP happens to be used only\nin tests, while TAR is used in the primary build procedure.\n\nBut I suspect that in the longer run, we should allow UNZIP to be\ngiven next to TAR to the top-level Makefile and export it down.\nThat would allow the usual mechanism like config.mak.uname,\n./configure and \"make TAR=... UNZIP=...\" command line override\nto be used uniformly, without people having to worry about the\ndistinction.  The builders should *not* have to care that one is\nused in the build and the other is only used in the test.\n\n>  GIT_UNZIP=${GIT_UNZIP:-unzip}\n>  test_lazy_prereq UNZIP '\n>  \t\"$GIT_UNZIP\" -v\n"},{"id":"364061","messageId":"xmqq8t1gxrdo.fsf@gitster-ct.c.googlers.com","threadId":"49890","inReplyTo":"48f223add200dfcf02f280fcc577cc94255820ce.1543143503.git.carenas@gmail.com","subject":"Re: [RFC PATCH 6/7] t5004: use GNU tar to avoid known issues with BSD tar","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-11-26T06:52:19Z","receivedAt":"2018-11-26T06:52:24Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Carlo Marcelo Arenas Belón  <carenas@gmail.com> writes:\n\n> 56ee96572a (\"t5004: resurrect original empty tar archive test\", 2013-05-09)\n> added a test to try to detect and workaround issues with the standard tar\n> from BSD, but at least in NetBSD would be better to instead require GNU tar\n> which is available from pkgsrc\n>\n> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n> ---\n>  t/t5004-archive-corner-cases.sh | 2 ++\n>  1 file changed, 2 insertions(+)\n>\n> diff --git a/t/t5004-archive-corner-cases.sh b/t/t5004-archive-corner-cases.sh\n> index ced44355ca..baafc553f8 100755\n> --- a/t/t5004-archive-corner-cases.sh\n> +++ b/t/t5004-archive-corner-cases.sh\n> @@ -31,6 +31,8 @@ test_lazy_prereq UNZIP_ZIP64_SUPPORT '\n>  \t\"$GIT_UNZIP\" -v | grep ZIP64_SUPPORT\n>  '\n>  \n> +test $uname_s = NetBSD && TAR=\"gtar\"\n> +\n\nThis smells wrong.\n\nIsn't the top-level Makefile ask you to use TAR=gtar if that is the\nusable implementation of tar on your platform, and isn't what you\nspecify as $(TAR) exported down to the t/Makefile to be used here?\n\n>  # bsdtar/libarchive versions before 3.1.3 consider a tar file with a\n>  # global pax header that is not followed by a file record as corrupt.\n>  if \"$TAR\" tf \"$TEST_DIRECTORY\"/t5004/empty-with-pax-header.tar >/dev/null 2>&1\n"},{"id":"364062","messageId":"xmqq4lc4xrca.fsf@gitster-ct.c.googlers.com","threadId":"49890","inReplyTo":"f7a41204f9c70e3c659877412719f17dc9805589.1543143503.git.carenas@gmail.com","subject":"Re: [RFC PATCH 7/7] config.mak.uname: use pkgsrc perl for NetBSD","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-11-26T06:53:09Z","receivedAt":"2018-11-26T06:53:18Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Carlo Marcelo Arenas Belón  <carenas@gmail.com> writes:\n\n> otherwise will default to /usr/bin/perl which wouldn't normally exist\n>\n> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n> ---\n>  config.mak.uname | 1 +\n>  1 file changed, 1 insertion(+)\n\nI do not have experience with NetBSD so I take your words on face\nvalue.  This patch makes sense to me.\n\nThanks.\n\n> diff --git a/config.mak.uname b/config.mak.uname\n> index 59ce03819b..d2edb723f4 100644\n> --- a/config.mak.uname\n> +++ b/config.mak.uname\n> @@ -249,6 +249,7 @@ ifeq ($(uname_S),NetBSD)\n>  \tOLD_ICONV = UnfortunatelyYes\n>  \tBASIC_CFLAGS += -I/usr/pkg/include\n>  \tBASIC_LDFLAGS += -L/usr/pkg/lib $(CC_LD_DYNPATH)/usr/pkg/lib\n> +\tPERL_PATH = /usr/pkg/bin/perl\n>  \tUSE_ST_TIMESPEC = YesPlease\n>  \tHAVE_PATHS_H = YesPlease\n>  \tHAVE_BSD_SYSCTL = YesPlease\n"},{"id":"364078","messageId":"87r2f7zvzd.fsf@evledraar.gmail.com","threadId":"49890","inReplyTo":"cover.1543143503.git.carenas@gmail.com","subject":"Re: [RFC PATCH 0/7] test: NetBSD support","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2018-11-26T15:42:14Z","receivedAt":"2018-11-26T15:42:19Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Sun, Nov 25 2018, Carlo Marcelo Arenas Belón wrote:\n\n> Likely still missing changes as it only completes a run with a minimal\n> number of dependencies but open for feedback\n>\n> Requires pkgsrc packages for gmake, perl, bash and curl and completes a run\n>\n>   $ gmake SHELL_PATH=/usr/pkg/bin/bash NO_PYTHON=1 CURL_DIR=/usr/pkg test\n\nThis looks good to me, and fixes most of the issues I've encountered on\nNetBSD recently. See\nhttps://gitlab.com/git-vcs/git-gitlab-ci/blob/9337ed6f99e3780d1d8dc087dff688f5a68805a4/ci/gitlab/run-on-gcc-farm.sh#L228-239\nand https://gitlab.com/git-vcs/git-ci/-/jobs/125476939\n"}]}