You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by GitBox <gi...@apache.org> on 2022/01/13 14:45:34 UTC
[GitHub] [couchdb-pkg] diannasoreil opened a new pull request #87: Add JS68 rpmspec and aarch64 RPM builds
diannasoreil opened a new pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87
## Overview
This pull request adds aarch64 (RHEL) support for our RPM builds. Because a good SpiderMonkey >=68 install is not available in very many RPM-based repositories, it also includes a separate `couch-js-68` rpmspec, intended to be used specifically with the `aarch64-rhel` target in the Makefile.
The incentive for this PR is that we've recently built some aarch64 RPMs for a customer at @neighbourhoodie, and @janl suggested contributing this build process to upstream. Let me know if there's something speaking against it!
There is some unanswered questions from my side:
- I have to patch out the error that `./configure` fails with when trying to build with a non-1.8.5 SpiderMonkey on aarch64. Considering that SpiderMonkey 68 and (I assume?) more recent versions work fine with aarch64, is this something that's still needed?
- I'm not sure how to integrate this into the larger Makefile-based build system. I believe that a package built on RHEL/CentOS/Amazon Linux is largely compatible with the other listed distributions, and maybe even something like Fedora, so should we add targets like `aarch64-centos-7`, `aarch64-amzn2`, and so on, and call the same routine for each of them, like we do with x64 builds already?
- I believe this should be dockerizable, but I'm not on a platform where I can easily get crossarch builds working, so I can't really test it.
- At the end of the build process, it tries to use the `PKGDIR` variable which is overridden to assume an `RPMS/arm64` subfolder, when `rpmbuild` builds in `RPMS/aarch64`. Is this something I can safely change, or are there any concerns about keeping the old arch name?
- `js68` only covers RPM builds right now, not DEB builds. Should the folder be moved somewhere else, or have a different name?
## Testing recommendations
1. Check out my fork and branch
2. Make sure you're on CentOS/RHEL/Amazon Linux/Fedora(?), and have all the build dependencies installed (the Erlang Solutions CentOS repo is very helpful in getting OTP 20 installed here)
3. Run `cd .. && git clone https://github.com/apache/couchdb`, and `make aarch64-rhel`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] nickva commented on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
nickva commented on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1019563835
> Should we use the distro-supplied SM 60 on x86 and only install this package on ARM?
One advantage about those is that improved security posture where users would be able to mitigate security issues in SM (and any OS packages it dynamically links against) by doing a yum / deb package update from their distro. However sometimes the supplied distro SM had either JIT enabled or other patches applied which made it not work with CouchDB well (segfaults etc). So by default could be to use the OS one, unless there is a reason not to?
1.8.5, sadly also had an advantage in that we don't have the performance issues with re-writing the map/reduce functions in: https://github.com/apache/couchdb/issues/3517#issuecomment-890372099
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] diannasoreil edited a comment on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
diannasoreil edited a comment on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1040016345
> Do you have any pointers for ensuring a valid build environment for this SM68 package?
Long shot, but is your locale set up correctly (e.g. does `$ locale` output `en_US.UTF-8` everywhere)? UTF-8 decoding in Python can be icky if you don't have that set correctly.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] kocolosk commented on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
kocolosk commented on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1040320111
Ah, thanks! It's definitely a locale-related issue; adding `export LC_ALL=en_US.UTF-8` in the Makefile was enough to get the tests to pass.
I'm not exactly certain how that's supposed to be set in a container; `/etc/locale.conf` already had `LANG="en_US.UTF-8"` and the `localectl` command doesn't work at all, I guess because of a SystemD dependency. Will dig into that some other time.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] kocolosk commented on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
kocolosk commented on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1017901906
Do you have a preferred set of distros to use for CI? Currently we have CentOS 7 and CentoOS 8 Linux on the x86 side.
Out of curiosity, is there a reason not to use the SpiderMonkey 60 package that ships with CentOS 8 when we package CouchDB on that OS?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] diannasoreil commented on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
diannasoreil commented on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1021292213
> Do you have a preferred set of distros to use for CI? Currently we have CentOS 7 and CentoOS 8 Linux on the x86 side.
Not from a CI perspective, if we're already using CentOS 7 and 8 on x86, we ought to use something (or something compatible) for ARM, as well.
> Right, this was fixed in apache/couchdb#3884, and let's fix it on 3.x as well. I posted apache/couchdb@8ea19b7 just now and can take care to ensure it ends up in a PR.
Thank you!
> I think at the moment we only have CentOS targets. Maybe we could benefit from an improvement there, but I'm not too deep into the package management best practices on e.g. AL2, and I think it would make sense to address that in a separate PR.
That is a good idea. CentOS, and RHEL, basically form the shared target for all other enterprisey RPM-based distros as well, so we should be fairly well covered there.
> Do you mean adding a docker file to build the RPM inside a container possibly running on a different platform architecture?
I was mainly talking from a packager's perspective, since support for different platforms exists in this repo, so I was assuming that someone would be crossbuilding those via Docker. Good to know that it's kind of outdated, though.
> Not 100% certain. [...] a) I don't actually know what that evaluates to on CentOS
I would assume that it'll evaluate to `aarch64` in _recent_ versions of CentOS (7/8, basically). I can test this out separately, though.
> The bigger question I have: what should our OS + Arch + SpiderMonkey matrix look like in the CouchDB packages that we publish? Should it just be SM 68 across the board [...]
So I've had no luck building other SM ESR versions (think 60, 78, 91). 1.8.5 straight up doesn't build on aarch64. I would agree with your view that we should use the same SM version for different architectures across a single OS version, but @nickva makes a good point that ESR versions are easier to update when they're not vendored into the software. In any case, AL2 (and CentOS 7) doesn't have a SM version >60 in its repos, which is why I provided this rpmspec.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] kocolosk commented on a change in pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
kocolosk commented on a change in pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#discussion_r789275748
##########
File path: rpm/SPECS/couchdb.spec.in
##########
@@ -28,10 +28,11 @@ Prefix: %{prefix}
Group: Applications/Databases
URL: https://couchdb.apache.org/
Vendor: The Apache Software Foundation
-BuildArch: x86_64 ppc64le
-ExclusiveArch: x86_64 ppc64le
+BuildArch: x86_64 ppc64le aarch64
+ExclusiveArch: x86_64 ppc64le aarch64
Exclusiveos: linux
Packager: CouchDB Developers <de...@couchdb.apache.org>
+Patch1: 0001-build-with-sm68-on-aarch64.patch
Review comment:
Guess this can be removed as well then.
##########
File path: rpm/SOURCES/0001-build-with-sm68-on-aarch64.patch
##########
@@ -0,0 +1,23 @@
+From: Peter Lemenkov <le...@gmail.com>
+Date: Thu, 5 Mar 2020 16:36:42 +0300
+Subject: [PATCH] Build with SpiderMonkey 60 on ARM 64
+
+Signed-off-by: Peter Lemenkov <le...@gmail.com>
+
+diff --git a/configure b/configure
+index 38e62e317..995b537f8 100755
+--- a/configure
++++ b/configure
+@@ -178,12 +178,6 @@ parse_opts() {
+
+ parse_opts $@
+
+-if [ "${ARCH}" = "aarch64" ] && [ "${SM_VSN}" != "1.8.5" ]
+-then
+- echo "ERROR: SpiderMonkey 60 is known broken on ARM 64 (aarch64). Use 1.8.5 instead."
+- exit 1
+-fi
+-
+ echo "==> configuring couchdb in rel/couchdb.config"
+ cat > rel/couchdb.config << EOF
+ % Licensed under the Apache License, Version 2.0 (the "License"); you may not
Review comment:
This patch should be removed from the PR. We've fixed it to specifically match for SM_VSN = 60.
##########
File path: rpm/SPECS/couchdb.spec.in
##########
@@ -92,6 +93,11 @@ languages and environments.
# NOTE: Stripping binaries causes issues so we skip it.
%define __os_install_post %{nil}
+%prep
+%ifarch aarch64
+%patch01 -p1
+%endif
+
Review comment:
And this, too.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] kocolosk merged pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
kocolosk merged pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] kocolosk commented on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
kocolosk commented on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1031508885
@diannasoreil FYI I tried building the SpiderMonkey packages inside the CentOS 7 containers that we use in Jenkins CI. I ran into several missing dependencies, notably GCC >= 6.1. I installed GCC 10 from SCL and got the amd64 build to complete, but `jstests.py` crashed pretty much straight away:
```
+ /usr/bin/python3 tests/jstests.py -d -s -t 1800 --no-progress --wpt=disabled ../../js/src/dist/bin/js68
Traceback (most recent call last):
File "tests/jstests.py", line 584, in <module>
sys.exit(main())
File "tests/jstests.py", line 572, in main
for out in run_all_tests(test_gen, prefix, results.pb, options):
File "/home/jenkins/rpmbuild/BUILD/firefox-68.12.0/js/src/tests/lib/tasks_unix.py", line 218, in run_all_tests
tests = list(tests)
File "tests/jstests.py", line 528, in <genexpr>
test_gen = (test for test in test_gen for i in range(options.repeat))
File "tests/jstests.py", line 525, in <genexpr>
test_gen = (_ for _ in test_gen if not _.slow)
File "tests/jstests.py", line 518, in <genexpr>
test_gen = (_ for _ in test_gen if not _.random)
File "/home/jenkins/rpmbuild/BUILD/firefox-68.12.0/js/src/tests/lib/manifest.py", line 453, in load_reftests
_parse_test_header(fullpath, testcase, xul_tester)
File "/home/jenkins/rpmbuild/BUILD/firefox-68.12.0/js/src/tests/lib/manifest.py", line 308, in _parse_test_header
buf = fp.read(512)
File "/usr/lib64/python3.6/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 1474: ordinal not in range(128)
error: Bad exit status from /var/tmp/rpm-tmp.ZaMk8L (%check)
```
Do you have any pointers for ensuring a valid build environment for this SM68 package?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] diannasoreil commented on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
diannasoreil commented on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1040016345
> Do you have any pointers for ensuring a valid build environment for this SM68 package?
Long shot, but is your locale set up correctly (e.g. does `$ locale` output `en_US.UTF-8` everywhere)? UTF-8 decoding in Python can be icky if you don't have that set correclt.y
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] diannasoreil commented on a change in pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
diannasoreil commented on a change in pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#discussion_r791802628
##########
File path: js68/SOURCES/spidermonkey_checks_disable.patch
##########
@@ -0,0 +1,10 @@
+--- a/config/run_spidermonkey_checks.py
++++ b/config/run_spidermonkey_checks.py
+@@ -11,5 +11,5 @@
+ for script in scripts:
+ retcode = subprocess.call(
+ [sys.executable, script], cwd=buildconfig.topsrcdir)
+- if retcode != 0:
+- raise Exception(script + " failed")
++ #if retcode != 0:
++ # raise Exception(script + " failed")
Review comment:
I have no idea, this was part of a set of patches that have been used to build the Fedora RPMs since what I believe is basically forever, so it's entirely possible that it's now obsolete.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] kocolosk commented on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
kocolosk commented on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1018101768
Digging back into the past a bit it seems SM 1.8.5 has its own aarch64 issues, e.g. https://bugs.centos.org/view.php?id=14720 (which, coincidentally, led us to start building our own packages in the first place as the OS package broke underneath us).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] diannasoreil commented on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
diannasoreil commented on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1021292213
> Do you have a preferred set of distros to use for CI? Currently we have CentOS 7 and CentoOS 8 Linux on the x86 side.
Not from a CI perspective, if we're already using CentOS 7 and 8 on x86, we ought to use something (or something compatible) for ARM, as well.
> Right, this was fixed in apache/couchdb#3884, and let's fix it on 3.x as well. I posted apache/couchdb@8ea19b7 just now and can take care to ensure it ends up in a PR.
Thank you!
> I think at the moment we only have CentOS targets. Maybe we could benefit from an improvement there, but I'm not too deep into the package management best practices on e.g. AL2, and I think it would make sense to address that in a separate PR.
That is a good idea. CentOS, and RHEL, basically form the shared target for all other enterprisey RPM-based distros as well, so we should be fairly well covered there.
> Do you mean adding a docker file to build the RPM inside a container possibly running on a different platform architecture?
I was mainly talking from a packager's perspective, since support for different platforms exists in this repo, so I was assuming that someone would be crossbuilding those via Docker. Good to know that it's kind of outdated, though.
> Not 100% certain. [...] a) I don't actually know what that evaluates to on CentOS
I would assume that it'll evaluate to `aarch64` in _recent_ versions of CentOS (7/8, basically). I can test this out separately, though.
> The bigger question I have: what should our OS + Arch + SpiderMonkey matrix look like in the CouchDB packages that we publish? Should it just be SM 68 across the board [...]
So I've had no luck building other SM ESR versions (think 60, 78, 91). 1.8.5 straight up doesn't build on aarch64. I would agree with your view that we should use the same SM version for different architectures across a single OS version, but @nickva makes a good point that ESR versions are easier to update when they're not vendored into the software. In any case, AL2 (and CentOS 7) doesn't have a SM version >60 in its repos, which is why I provided this rpmspec.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] kocolosk commented on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
kocolosk commented on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1017793206
Very cool. I've been spending some quality time with CouchDB's container-based CI system recently, let me try to add this and see if I bump into any issues that could inform the PR. Thanks!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] kocolosk commented on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
kocolosk commented on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1018093130
Good stuff! Following up on your questions:
> I have to patch out the error that ./configure fails with when trying to build with a non-1.8.5 SpiderMonkey on aarch64. Considering that SpiderMonkey 68 and (I assume?) more recent versions work fine with aarch64, is this something that's still needed?
Right, this was fixed in apache/couchdb#3884, and let's fix it on `3.x` as well. I posted https://github.com/apache/couchdb/commit/8ea19b7ba54887ff00fbd4d80f19692095da5455 just now and can take care to ensure it ends up in a PR.
> I'm not sure how to integrate this into the larger Makefile-based build system. I believe that a package built on RHEL/CentOS/Amazon Linux is largely compatible with the other listed distributions, and maybe even something like Fedora, so should we add targets like aarch64-centos-7, aarch64-amzn2, and so on, and call the same routine for each of them, like we do with x64 builds already?
I think at the moment we only have CentOS targets. Maybe we could benefit from an improvement there, but I'm not too deep into the package management best practices on e.g. AL2, and I think it would make sense to address that in a separate PR.
> I believe this should be dockerizable, but I'm not on a platform where I can easily get crossarch builds working, so I can't really test it.
Do you mean adding a docker file to build the RPM inside a container possibly running on a different platform architecture? Or installing the RPM in a container used to build / run CouchDB? For the latter we have https://github.com/apache/couchdb-ci, and we could make a small change to `yum-dependencies.sh` in that repo to ensure we install the SM 68 RPM where appropriate. For the former I suspect you're right, but I think the minimal scripting that exists on that front in this repo needs some updating anyway.
> At the end of the build process, it tries to use the PKGDIR variable which is overridden to assume an RPMS/arm64 subfolder, when rpmbuild builds in RPMS/aarch64. Is this something I can safely change, or are there any concerns about keeping the old arch name?
Not 100% certain. I know in Jenkins we have https://github.com/apache/couchdb/blob/1a42659b3013a69c27752792688136085d4eb324/build-aux/Jenkinsfile.full#L213 that specifically looks for CouchDB RPMs to archive in an $(arch) subfolder, but a) I don't actually know what that evaluates to on CentOS and b) we don't have the equivalent for SpiderMonkey packages right now.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] kocolosk commented on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
kocolosk commented on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1018095745
The bigger question I have: what should our OS + Arch + SpiderMonkey matrix look like? Should it just be SM 68 across the board, e.g.
```
CentOS 7, aarch64: SM 68
CentOS 8, aarch64: SM 68
CentOS 7, amd64: SM 68
CentOS 8, amd64: SM 68
```
Should we still be using ye olde SM 1.8.5 on CentOS 7?
```
CentOS 7, aarch64: SM 1.8.5
CentOS 8, aarch64: SM 68
CentOS 7, amd64: SM 1.8.5
CentOS 8, amd64: SM 68
```
Should we use the distro-supplied SM 60 on x86 and only install this package on ARM?
```
CentOS 7, aarch64: SM 1.8.5
CentOS 8, aarch64: SM 68
CentOS 7, amd64: SM 1.8.5
CentOS 8, amd64: SM 60
```
I don't have a very strong opinion here. I think I have a slight preference for using the same SM version for all supported architectures for a given OS version.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] kocolosk commented on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
kocolosk commented on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1018104351
Oh, last comment for the night:
> js68 only covers RPM builds right now, not DEB builds. Should the folder be moved somewhere else, or have a different name?
I think it's fine to leave it at the top level, but maybe having a `js68/rpm` directory to mirror that portion of the `js` directory structure would be a good thing.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] kocolosk commented on a change in pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
kocolosk commented on a change in pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#discussion_r800252820
##########
File path: rpm/SPECS/couchdb.spec.in
##########
@@ -28,10 +28,11 @@ Prefix: %{prefix}
Group: Applications/Databases
URL: https://couchdb.apache.org/
Vendor: The Apache Software Foundation
-BuildArch: x86_64 ppc64le
-ExclusiveArch: x86_64 ppc64le
+BuildArch: x86_64 ppc64le aarch64
+ExclusiveArch: x86_64 ppc64le aarch64
Exclusiveos: linux
Packager: CouchDB Developers <de...@couchdb.apache.org>
+Patch1: 0001-build-with-sm68-on-aarch64.patch
Review comment:
On second thought, it would be useful to preserve this in a 3.2.1 branch to build new packages for that version.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] diannasoreil edited a comment on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
diannasoreil edited a comment on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1040016345
> Do you have any pointers for ensuring a valid build environment for this SM68 package?
Long shot, but is your locale set up correctly (e.g. does `$ locale` output `en_US.UTF-8` everywhere)? UTF-8 decoding in Python can be icky if you don't have that set correctly.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] kocolosk commented on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
kocolosk commented on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1040320111
Ah, thanks! It's definitely a locale-related issue; adding `export LC_ALL=en_US.UTF-8` in the Makefile was enough to get the tests to pass.
I'm not exactly certain how that's supposed to be set in a container; `/etc/locale.conf` already had `LANG="en_US.UTF-8"` and the `localectl` command doesn't work at all, I guess because of a SystemD dependency. Will dig into that some other time.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] diannasoreil commented on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
diannasoreil commented on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1040016345
> Do you have any pointers for ensuring a valid build environment for this SM68 package?
Long shot, but is your locale set up correctly (e.g. does `$ locale` output `en_US.UTF-8` everywhere)? UTF-8 decoding in Python can be icky if you don't have that set correclt.y
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] kocolosk commented on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
kocolosk commented on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1018045422
Oh, right, "SM 60 is known broken on ARM", got it.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] kocolosk edited a comment on pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
kocolosk edited a comment on pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#issuecomment-1018095745
The bigger question I have: what should our OS + Arch + SpiderMonkey matrix look like in the CouchDB packages that we publish? Should it just be SM 68 across the board, e.g.
```
CentOS 7, aarch64: SM 68
CentOS 8, aarch64: SM 68
CentOS 7, amd64: SM 68
CentOS 8, amd64: SM 68
```
Should we still be using ye olde SM 1.8.5 on CentOS 7?
```
CentOS 7, aarch64: SM 1.8.5
CentOS 8, aarch64: SM 68
CentOS 7, amd64: SM 1.8.5
CentOS 8, amd64: SM 68
```
Should we use the distro-supplied SM 60 on x86 and only install this package on ARM?
```
CentOS 7, aarch64: SM 1.8.5
CentOS 8, aarch64: SM 68
CentOS 7, amd64: SM 1.8.5
CentOS 8, amd64: SM 60
```
I don't have a very strong opinion here. I think I have a slight preference for using the same SM version for all supported architectures for a given OS version.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] kocolosk commented on a change in pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
kocolosk commented on a change in pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#discussion_r789267208
##########
File path: js68/SOURCES/spidermonkey_checks_disable.patch
##########
@@ -0,0 +1,10 @@
+--- a/config/run_spidermonkey_checks.py
++++ b/config/run_spidermonkey_checks.py
+@@ -11,5 +11,5 @@
+ for script in scripts:
+ retcode = subprocess.call(
+ [sys.executable, script], cwd=buildconfig.topsrcdir)
+- if retcode != 0:
+- raise Exception(script + " failed")
++ #if retcode != 0:
++ # raise Exception(script + " failed")
Review comment:
This one seems a little suspect, are we sure it's still best practice to skip these tests altogether?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [couchdb-pkg] diannasoreil commented on a change in pull request #87: Add JS68 rpmspec and aarch64 RPM builds
Posted by GitBox <gi...@apache.org>.
diannasoreil commented on a change in pull request #87:
URL: https://github.com/apache/couchdb-pkg/pull/87#discussion_r791802628
##########
File path: js68/SOURCES/spidermonkey_checks_disable.patch
##########
@@ -0,0 +1,10 @@
+--- a/config/run_spidermonkey_checks.py
++++ b/config/run_spidermonkey_checks.py
+@@ -11,5 +11,5 @@
+ for script in scripts:
+ retcode = subprocess.call(
+ [sys.executable, script], cwd=buildconfig.topsrcdir)
+- if retcode != 0:
+- raise Exception(script + " failed")
++ #if retcode != 0:
++ # raise Exception(script + " failed")
Review comment:
I have no idea, this was part of a set of patches that have been used to build the Fedora RPMs since what I believe is basically forever, so it's entirely possible that it's now obsolete.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org