commit:     b83b55c6eda116097aa380ede69db8417413f98b
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Wed May 15 03:43:51 2024 +0000
Commit:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Wed May 15 03:43:51 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b83b55c6

dev-vcs/fossil: Fix incorrect checksum and tests

Tag number wasn't changed before generating manifest. Correct
file/release now fetched and correct checksum generated.

No longer a straight to stable ebuild, either.

New depend on dev-tcltk/tcllib for JSON tests. If the package is
missing, as it currently will be on riscv architectures, the tests are
nonfatally skipped.

Several more test patches included from upstream to fix tests that
didn't work in the wider world.

Now installs a man page. Thanks to Bernd Feige <Bernd.Feige <AT> gmx.net> for
this addition.

Closes: https://bugs.gentoo.org/931862
Closes: https://bugs.gentoo.org/923783
Signed-off-by: Aaron W. Swenson <titanofold <AT> gentoo.org>

 dev-vcs/fossil/Manifest                            |   2 +-
 ...il-2.24-disable-utf8-tests-1179-1586-1587.patch | 119 +++++++++++++++++++
 .../fossil-2.24-fix-json-test-content-length.patch |  18 +++
 dev-vcs/fossil/files/fossil-2.24-test-fixes.patch  | 130 ++++++++++++++-------
 .../{fossil-2.24.ebuild => fossil-2.24-r1.ebuild}  |  28 +++--
 5 files changed, 246 insertions(+), 51 deletions(-)

diff --git a/dev-vcs/fossil/Manifest b/dev-vcs/fossil/Manifest
index ae1b8883cc33..bad6b5a4686f 100644
--- a/dev-vcs/fossil/Manifest
+++ b/dev-vcs/fossil/Manifest
@@ -1,4 +1,4 @@
 DIST fossil-src-2.19.tar.gz 6435868 BLAKE2B 
414dd8b1630bb6a8bcc22f3528da60386663e7f31191e5134474e37211e55323af45947452a0f09e21964dd3cd94ca6cf6e34ecd74e0d3e4f0dce7a50146f0ff
 SHA512 
fcd84df2d84c3a958bb19228de4320456382d3c925717c58bec42de86d96383a9208fb31ba6aaeccd9bc6bba949048d5c1ce3d2b3e8535951956ae18d9aa34e4
 DIST fossil-src-2.21.tar.gz 6703622 BLAKE2B 
fcc74ed5e3eec34f044624b128b8933b54d1cea99a212a1423e369fc469af4634f469f8c9c20af768c41edc9f1ec2592a074f87dadd5b9b90805906451268f0e
 SHA512 
22534eb632f485de895b291a35325efe9bfd13ec0df84e94afe822593489ecdb2998352dcd501123d8d4c426a40bd4ff43190b50fb849392f886dd94bee42bf3
 DIST fossil-src-2.22.tar.gz 6730858 BLAKE2B 
3f0108dfb5802c61d107a6318acd11061c8311f112376c8c96645d6b0de1441b3ec745fcb2e2ec3888ed15ca89f4a2af535f61edcc6f4b5944d81d381f522935
 SHA512 
99a456301ae4ac72449985ff3b8b2139b805ff84e27ffe4325bad0c90643dd51c655b0210cbfa290a621e33e42e1e35b75a6cdc1beb093221d2b5d23d64591bc
-DIST fossil-src-2.24.tar.gz 6730954 BLAKE2B 
fd83893c603181643dd6706a3bde025dd92f7be031f366604e6441aff453569b298d36f5bac4caafac218890b02834d100654cc181669017fac91743930d99e3
 SHA512 
bec6f3feeafa86727ce44b1f7ecd9bb687ae76885bfd1bad01500737dd1a6aaa4fb1388b5499b953853375c39e16dcf57b5dbd37a34e187a5b53814ca1894bf8
+DIST fossil-src-2.24-r1.tar.gz 6904302 BLAKE2B 
9b4a37663721d512d6fa8f6f74f69b65d569c10bd85e1187aa2a1c9e02b730855ebe261760223e7a6249bc20d4cfc44d61a302b5a8f664411ee16105d3d864d9
 SHA512 
7fc7de7d947b0946866df38c6cb2215f6452d31903cae6470bb4a692816b2803eb66ea372280256e5cd00759e4d02a0ae459de2f56f39af10e873579d53d33ee

diff --git 
a/dev-vcs/fossil/files/fossil-2.24-disable-utf8-tests-1179-1586-1587.patch 
b/dev-vcs/fossil/files/fossil-2.24-disable-utf8-tests-1179-1586-1587.patch
new file mode 100644
index 000000000000..7f03362be201
--- /dev/null
+++ b/dev-vcs/fossil/files/fossil-2.24-disable-utf8-tests-1179-1586-1587.patch
@@ -0,0 +1,119 @@
+Index: test/utf.test
+==================================================================
+--- test/utf.test
++++ test/utf.test
+@@ -17609,25 +17609,25 @@
+ Has flag LOOK_LONG: no
+ Has flag LOOK_INVALID: no
+ Has flag LOOK_ODD: no
+ Has flag LOOK_SHORT: no}
+ 
+-utf-check 1179 utf-check-1179-2-129-1.jnk \
+-{File "%TEMP%/utf-check-1179-2-129-1.jnk" has 7 bytes.
+-Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: yes
+-Looks like UTF-8: yes
+-Has flag LOOK_NUL: no
+-Has flag LOOK_CR: no
+-Has flag LOOK_LONE_CR: no
+-Has flag LOOK_LF: no
+-Has flag LOOK_LONE_LF: no
+-Has flag LOOK_CRLF: no
+-Has flag LOOK_LONG: no
+-Has flag LOOK_INVALID: yes
+-Has flag LOOK_ODD: no
+-Has flag LOOK_SHORT: no}
++#utf-check 1179 utf-check-1179-2-129-1.jnk \
++#{File "%TEMP%/utf-check-1179-2-129-1.jnk" has 7 bytes.
++#Starts with UTF-8 BOM: no
++#Starts with UTF-16 BOM: yes
++#Looks like UTF-8: yes
++#Has flag LOOK_NUL: no
++#Has flag LOOK_CR: no
++#Has flag LOOK_LONE_CR: no
++#Has flag LOOK_LF: no
++#Has flag LOOK_LONE_LF: no
++#Has flag LOOK_CRLF: no
++#Has flag LOOK_LONG: no
++#Has flag LOOK_INVALID: yes
++#Has flag LOOK_ODD: no
++#Has flag LOOK_SHORT: no}
+ 
+ utf-check 1180 utf-check-1180-2-130-0.jnk \
+ {File "%TEMP%/utf-check-1180-2-130-0.jnk" has 4 bytes.
+ Starts with UTF-8 BOM: no
+ Starts with UTF-16 BOM: yes
+@@ -24121,41 +24121,41 @@
+ Has flag LOOK_LONG: no
+ Has flag LOOK_INVALID: yes
+ Has flag LOOK_ODD: no
+ Has flag LOOK_SHORT: no}
+ 
+-utf-check 1586 utf-check-1586-3-128-0.jnk \
+-{File "%TEMP%/utf-check-1586-3-128-0.jnk" has 6 bytes.
+-Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: reversed
+-Looks like UTF-16: no
+-Has flag LOOK_NUL: yes
+-Has flag LOOK_CR: no
+-Has flag LOOK_LONE_CR: no
+-Has flag LOOK_LF: no
+-Has flag LOOK_LONE_LF: no
+-Has flag LOOK_CRLF: no
+-Has flag LOOK_LONG: no
+-Has flag LOOK_INVALID: no
+-Has flag LOOK_ODD: no
+-Has flag LOOK_SHORT: no}
+-
+-utf-check 1587 utf-check-1587-3-128-1.jnk \
+-{File "%TEMP%/utf-check-1587-3-128-1.jnk" has 7 bytes.
+-Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: reversed
+-Looks like UTF-8: no
+-Has flag LOOK_NUL: yes
+-Has flag LOOK_CR: no
+-Has flag LOOK_LONE_CR: no
+-Has flag LOOK_LF: no
+-Has flag LOOK_LONE_LF: no
+-Has flag LOOK_CRLF: no
+-Has flag LOOK_LONG: no
+-Has flag LOOK_INVALID: yes
+-Has flag LOOK_ODD: no
+-Has flag LOOK_SHORT: no}
++#utf-check 1586 utf-check-1586-3-128-0.jnk \
++#{File "%TEMP%/utf-check-1586-3-128-0.jnk" has 6 bytes.
++#Starts with UTF-8 BOM: no
++#Starts with UTF-16 BOM: reversed
++#Looks like UTF-16: no
++#Has flag LOOK_NUL: yes
++#Has flag LOOK_CR: no
++#Has flag LOOK_LONE_CR: no
++#Has flag LOOK_LF: no
++#Has flag LOOK_LONE_LF: no
++#Has flag LOOK_CRLF: no
++#Has flag LOOK_LONG: no
++#Has flag LOOK_INVALID: no
++#Has flag LOOK_ODD: no
++#Has flag LOOK_SHORT: no}
++
++#utf-check 1587 utf-check-1587-3-128-1.jnk \
++#{File "%TEMP%/utf-check-1587-3-128-1.jnk" has 7 bytes.
++#Starts with UTF-8 BOM: no
++#Starts with UTF-16 BOM: reversed
++#Looks like UTF-8: no
++#Has flag LOOK_NUL: yes
++#Has flag LOOK_CR: no
++#Has flag LOOK_LONE_CR: no
++#Has flag LOOK_LF: no
++#Has flag LOOK_LONE_LF: no
++#Has flag LOOK_CRLF: no
++#Has flag LOOK_LONG: no
++#Has flag LOOK_INVALID: yes
++#Has flag LOOK_ODD: no
++#Has flag LOOK_SHORT: no}
+ 
+ utf-check 1588 utf-check-1588-3-129-0.jnk \
+ {File "%TEMP%/utf-check-1588-3-129-0.jnk" has 6 bytes.
+ Starts with UTF-8 BOM: no
+ Starts with UTF-16 BOM: no
+

diff --git 
a/dev-vcs/fossil/files/fossil-2.24-fix-json-test-content-length.patch 
b/dev-vcs/fossil/files/fossil-2.24-fix-json-test-content-length.patch
new file mode 100644
index 000000000000..adafce2e9e95
--- /dev/null
+++ b/dev-vcs/fossil/files/fossil-2.24-fix-json-test-content-length.patch
@@ -0,0 +1,18 @@
+Index: test/json.test
+==================================================================
+--- test/json.test
++++ test/json.test
+@@ -107,11 +107,11 @@
+     set request [subst {POST $url HTTP/1.0\r
+ Host: localhost\r
+ User-Agent: Fossil-Test\r
+ Cookie: $cookie\r
+ Content-Type: application/json
+-Content-Length $len
++Content-Length: $len
+ \r
+ $data}]
+   } else {
+     set request [subst {GET $url HTTP/1.0\r
+ Host: localhost\r
+

diff --git a/dev-vcs/fossil/files/fossil-2.24-test-fixes.patch 
b/dev-vcs/fossil/files/fossil-2.24-test-fixes.patch
index 1289b2ab2dbe..2aaf04e6d46b 100644
--- a/dev-vcs/fossil/files/fossil-2.24-test-fixes.patch
+++ b/dev-vcs/fossil/files/fossil-2.24-test-fixes.patch
@@ -1,18 +1,27 @@
-diff -Naruw a/test/amend.test b/test/amend.test
---- a/test/amend.test  2024-05-12 18:41:35.201744668 -0400
-+++ b/test/amend.test  2024-05-12 18:44:30.388911629 -0400
-@@ -313,6 +313,7 @@
-     append t5exp "Cancel*tag*\"$res\".*"
+Index: test/amend.test
+==================================================================
+--- test/amend.test
++++ test/amend.test
+@@ -313,10 +313,11 @@
+   }
+   foreach res [lsort -nocase $result] {
+     append t2exp "sym-$res*"
    }
    eval fossil amend $HASH $tags
 +  set t1exp [string trimleft $t1exp ,]
    test amend-tag-$tc.1 {[string match "*hash:*$HASH*tags:*$t1exp*" $RESULT]}
    fossil tag ls --raw $HASH
    test amend-tag-$tc.2 {[string match $t2exp $RESULT]}
-diff -Naruw a/test/merge5.test b/test/merge5.test
---- a/test/merge5.test 2024-05-12 18:41:35.201744668 -0400
-+++ b/test/merge5.test 2024-05-12 18:48:11.376209386 -0400
-@@ -23,7 +23,7 @@
+   fossil timeline -n 1
+   test amend-tag-$tc.3 {[string match $t3exp $RESULT]}
+
+Index: test/merge5.test
+==================================================================
+--- test/merge5.test
++++ test/merge5.test
+@@ -23,11 +23,11 @@
+ }
+ protOut {
  fossil sqlite3 --no-repository reacts badly to SQL dumped from
  repositories created from fossil older than version 2.0.
  }
@@ -21,10 +30,16 @@ diff -Naruw a/test/merge5.test b/test/merge5.test
  test_cleanup_then_return
  
  # Verify the results of a check-out
-diff -Naruw a/test/stash.test b/test/stash.test
---- a/test/stash.test  2024-05-12 18:41:35.205078010 -0400
-+++ b/test/stash.test  2024-05-12 18:50:29.989938569 -0400
-@@ -170,10 +170,10 @@
+ #
+ proc checkout-test {testid expected_content} {
+
+Index: test/stash.test
+==================================================================
+--- test/stash.test
++++ test/stash.test
+@@ -168,14 +168,14 @@
+ 
+ ########
  # fossil stash show|cat ?STASHID? ?DIFF-OPTIONS?
  # fossil stash [g]diff ?STASHID? ?DIFF-OPTIONS?
  
@@ -32,33 +47,41 @@ diff -Naruw a/test/stash.test b/test/stash.test
 -test stash-1-show {[normalize_result] eq $diff_stash_1}
 -fossil stash diff
 -test stash-1-diff {[normalize_result] eq $diff_stash_1} knownBug
-+# fossil stash show
-+# test stash-1-show {[normalize_result] eq $diff_stash_1}
-+# fossil stash diff
-+# test stash-1-diff {[normalize_result] eq $diff_stash_1} knownBug
++#fossil stash show
++#test stash-1-show {[normalize_result] eq $diff_stash_1}
++#fossil stash diff
++#test stash-1-diff {[normalize_result] eq $diff_stash_1} knownBug
  
  ########
  # fossil stash pop
-@@ -208,12 +208,12 @@
+ 
+ stash-test 2 pop {
+@@ -206,16 +206,16 @@
+ # fossil: ./src/delta.c:231: checksum: Assertion '...' failed.
+ # Should be triggered by this stash-WY-1 test.
  fossil checkout --force c1
  fossil clean
  fossil mv --soft f1 f1new
--stash-test WY-1 {save -m "Reported 2016-02-09"} {
+-stash-test WY-1 {-expectError save -m "Reported 2016-02-09"} {
 -  REVERT   f1
 -  DELETE   f1new
 -} -changes {
 -} -addremove {
 -} -exists {f1 f2 f3} -notexists {f1new} -knownbugs {-code -result}
-+# stash-test WY-1 {save -m "Reported 2016-02-09"} {
-+#   REVERT   f1
-+#   DELETE   f1new
-+# } -changes {
-+# } -addremove {
-+# } -exists {f1 f2 f3} -notexists {f1new} -knownbugs {-code -result}
++#stash-test WY-1 {-expectError save -m "Reported 2016-02-09"} {
++#  REVERT   f1
++#  DELETE   f1new
++#} -changes {
++#} -addremove {
++#} -exists {f1 f2 f3} -notexists {f1new} -knownbugs {-code -result}
  # TODO: add tests that verify the saved stash is sensible. Possibly
  # by applying it and checking results. But until the SQLITE_CONSTRAINT
  # error is fixed, there is nothing stashed to test.
-@@ -298,12 +298,13 @@
+ 
+ 
+@@ -296,16 +296,17 @@
+ }] -changes {
+   RENAMED f2  ->  f2n
  } -addremove {
  } -exists {f1 f2n} -notexists {f2}
  
@@ -67,31 +90,43 @@ diff -Naruw a/test/stash.test b/test/stash.test
 -  DELETE f2n
 -} -exists {f1 f2} -notexists {f2n} -knownbugs {-result}
 +fossil stash save -m f2n
-+# stash-test 3-2 {save -m f2n} {
-+#   REVERT f2
-+#   DELETE f2n
-+# } -exists {f1 f2} -notexists {f2n} -knownbugs {-result}
++#stash-test 3-2 {save -m f2n} {
++#  REVERT f2
++#  DELETE f2n
++#} -exists {f1 f2} -notexists {f2n} -knownbugs {-result}
  fossil stash show
 -test stash-3-2-show-1 {![regexp {\sf1} $RESULT]} knownBug
-+# test stash-3-2-show-1 {![regexp {\sf1} $RESULT]} knownBug
++#test stash-3-2-show-1 {![regexp {\sf1} $RESULT]} knownBug
  test stash-3-2-show-2 {[regexp {\sf2n} $RESULT]}
  stash-test 3-2-pop {pop} {
    UPDATE f1
-diff -Naruw a/test/tester.tcl b/test/tester.tcl
---- a/test/tester.tcl  2024-05-12 18:41:35.205078010 -0400
-+++ b/test/tester.tcl  2024-05-12 18:51:04.566703979 -0400
-@@ -301,6 +301,7 @@
+   UPDATE f2n
+ } -changes {
+
+Index: test/tester.tcl
+==================================================================
+--- test/tester.tcl
++++ test/tester.tcl
+@@ -308,10 +308,11 @@
+       comment-format \
+       crlf-glob \
        crnl-glob \
        default-csp \
        default-perms \
 +      default-skin \
        diff-binary \
        diff-command \
+       dont-commit \
        dont-push \
-diff -Naruw a/test/utf.test b/test/utf.test
---- a/test/utf.test    2024-05-12 18:41:35.205078010 -0400
-+++ b/test/utf.test    2024-05-12 18:54:21.871455531 -0400
-@@ -37,7 +37,7 @@
+       dotfiles \
+
+Index: test/utf.test
+==================================================================
+--- test/utf.test
++++ test/utf.test
+@@ -35,11 +35,11 @@
+   set i 1
+   foreach {fileName result} $args {
      set fileName [file join $tempPath $fileName]
      fossil test-looks-like-utf $fileName
      set result [string map [list %TEMP% $tempPath \r\n \n] $result]
@@ -100,7 +135,11 @@ diff -Naruw a/test/utf.test b/test/utf.test
      test utf-check-$testname.$i {$::RESULT eq $result}
      incr i
    }
-@@ -17615,8 +17615,8 @@
+ }
+ 
+@@ -17613,12 +17613,12 @@
+ 
+ utf-check 1179 utf-check-1179-2-129-1.jnk \
  {File "%TEMP%/utf-check-1179-2-129-1.jnk" has 7 bytes.
  Starts with UTF-8 BOM: no
  Starts with UTF-16 BOM: yes
@@ -111,7 +150,11 @@ diff -Naruw a/test/utf.test b/test/utf.test
  Has flag LOOK_CR: no
  Has flag LOOK_LONE_CR: no
  Has flag LOOK_LF: no
-@@ -24126,8 +24126,8 @@
+ Has flag LOOK_LONE_LF: no
+ Has flag LOOK_CRLF: no
+@@ -24124,27 +24124,27 @@
+ Has flag LOOK_SHORT: no}
+ 
  utf-check 1586 utf-check-1586-3-128-0.jnk \
  {File "%TEMP%/utf-check-1586-3-128-0.jnk" has 6 bytes.
  Starts with UTF-8 BOM: no
@@ -122,7 +165,7 @@ diff -Naruw a/test/utf.test b/test/utf.test
  Has flag LOOK_NUL: yes
  Has flag LOOK_CR: no
  Has flag LOOK_LONE_CR: no
-@@ -24135,14 +24135,14 @@
+ Has flag LOOK_LF: no
  Has flag LOOK_LONE_LF: no
  Has flag LOOK_CRLF: no
  Has flag LOOK_LONG: no
@@ -139,3 +182,6 @@ diff -Naruw a/test/utf.test b/test/utf.test
  Looks like UTF-8: no
  Has flag LOOK_NUL: yes
  Has flag LOOK_CR: no
+ Has flag LOOK_LONE_CR: no
+ Has flag LOOK_LF: no
+

diff --git a/dev-vcs/fossil/fossil-2.24.ebuild 
b/dev-vcs/fossil/fossil-2.24-r1.ebuild
similarity index 79%
rename from dev-vcs/fossil/fossil-2.24.ebuild
rename to dev-vcs/fossil/fossil-2.24-r1.ebuild
index 8ab778627e90..d3f73db2e179 100644
--- a/dev-vcs/fossil/fossil-2.24.ebuild
+++ b/dev-vcs/fossil/fossil-2.24-r1.ebuild
@@ -9,12 +9,15 @@ 
MY_TAG="8be0372c1051043761320c8ea8669c3cf320c406e5fe18ad36b7be5f844ca73b"
 
 DESCRIPTION="Simple, high-reliability, source control management, and more"
 HOMEPAGE="https://www.fossil-scm.org/home";
-SRC_URI="https://fossil-scm.org/home/tarball/${MY_TAG}/fossil-src-${PV}.tar.gz";
+
+# Arrow can be dropped with next version. Needed to resolve
+# https://bugs.gentoo.org/931862
+SRC_URI="https://fossil-scm.org/home/tarball/${MY_TAG}/fossil-src-${PV}.tar.gz 
-> fossil-src-${PV}-r1.tar.gz"
 
 S="${WORKDIR}/fossil-src-${PV}"
 LICENSE="BSD-2"
 SLOT="0"
-KEYWORDS="amd64 arm ppc ppc64 ~riscv x86"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~riscv ~x86"
 IUSE="debug fusefs json system-sqlite +ssl static tcl tcl-stubs
          tcl-private-stubs test th1-docs th1-hooks"
 RESTRICT="!test? ( test )"
@@ -42,14 +45,27 @@ DEPEND="${RDEPEND}
        )
 "
 
-BDEPEND="test? ( dev-lang/tcl )"
+BDEPEND="
+       test? (
+               dev-lang/tcl
+               !riscv? ( json? ( dev-tcltk/tcllib ) )
+       )
+"
 
 PATCHES=(
        # fossil-2.10-check-lib64-for-tcl.patch: Bug 690828
        "${FILESDIR}"/fossil-2.10-check-lib64-for-tcl.patch
-       "${FILESDIR}"/fossil-2.24-test-fixes.patch
 )
 
+src_prepare() {
+       eapply -p0 -- \
+                  "${FILESDIR}"/fossil-2.24-test-fixes.patch \
+                  
"${FILESDIR}"/fossil-2.24-disable-utf8-tests-1179-1586-1587.patch \
+                  "${FILESDIR}"/fossil-2.24-fix-json-test-content-length.patch
+
+       default
+}
+
 src_configure() {
        # this is not an autotools situation so don't make it seem like one
        # --with-tcl: works
@@ -72,10 +88,6 @@ src_configure() {
        CC_FOR_BUILD=${CC} ./configure ${myconf} || die
 }
 
-# src_test() {
-#      emake test
-# }
-
 src_install() {
        dobin fossil
        doman fossil.1

Reply via email to