-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
reloc: add arch to relocatable package filename #8709
Conversation
Submodule part of this PR are: But as I wrote on above, I think we need to modify ccm and jenkins script first. |
Ah, it may also affect nonroot installer test, but I'm not sure about it. |
@hagitsegev Could you check it this what we want, and also can you add support new filename on jenkins pipeline? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that the name structure of .arch is a bit strange. Looking on
msys2/MINGW-packages#4787 I see they use dash:
package naming convention: "${package name}-${build mode not on release}-${optional architecture}-package.tar.gz"
But I'm not the one to decide.
I'm setting the pipelines to be agnostic for name with or without the architecture (we should agree about the convention). So we will not have to coordinate this merge with mine. https://github.com/scylladb/scylla-pkg/pull/2100
configure.py
Outdated
@@ -1983,18 +1985,18 @@ def configure_abseil(build_dir, mode, mode_config): | |||
f.write(textwrap.dedent('''\ | |||
build $builddir/{mode}/iotune: copy $builddir/{mode}/seastar/apps/iotune/iotune | |||
''').format(**locals())) | |||
f.write('build $builddir/{mode}/dist/tar/{scylla_product}-package.tar.gz: package $builddir/{mode}/scylla $builddir/{mode}/iotune $builddir/SCYLLA-RELEASE-FILE $builddir/SCYLLA-VERSION-FILE $builddir/debian/debian $builddir/node_exporter | always\n'.format(**locals())) | |||
f.write('build $builddir/{mode}/dist/tar/{scylla_product}-package.{arch}.tar.gz: package $builddir/{mode}/scylla $builddir/{mode}/iotune $builddir/SCYLLA-RELEASE-FILE $builddir/SCYLLA-VERSION-FILE $builddir/debian/debian $builddir/node_exporter | always\n'.format(**locals())) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not having some variable to take "$builddir/{mode}/dist/tar/{scylla_product}"? It appears 38 times.
Also the 2nd part of "package.{arch}.tar.gz"
To keep compatibility, can we leave the old package name as a link to the new package? It is hard to maintain a build script which has to handle 3+ different URL for the package. Also, most devs is on X86 anyway. |
@hagitsegev I'm fine with your proposed naming convention. @syuu1228 any objections to switching over to using a dash? |
Using $arch in the package name is not mandatory, we could publish it in a subdirectory $arch/scylla-unified....tar.gz. However, I think it's a good idea to include $arch in the package name, it saves confusion later and it is what other package formats (rpm/deb) do. |
Good idea. |
1e6d256
to
82f58a8
Compare
Changed package name structure to "${package name}-${build mode not on release}-${optional architecture}-package.tar.gz". |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I just need to see how the sym link looks like.
Maybe I need to add it to pkg somehow?
Here's how does it looks like:
|
ping |
Sorry for the delay. I don't have a good way to verify that everything works after we merge this. But I think we can go ahead, and I'll fix if there will a need. |
Ah, you are right.
How about just copy file instead of symlink? |
Copying the same huge file twice increases the build time, because s3 upload is so slow. If all the tests are ready, perhaps we can copy just the new file name. |
82f58a8
to
04d0a40
Compare
Okay, S3 upload itself is done in Jenkins script, not build script so we don't need to do anything here. |
Add architecture name for relocatable packages, to support distributing both x86_64 version and aarch64 version. Also create symlink from new filename to old filename to keep compatibility with older scripts. Fixes scylladb#8675
04d0a40
to
db62fb6
Compare
@hagitsegev Stopped renaming scylla-jmx and scylla-tools-java, replace symlink with |
I set the pipeline to be agnostic to the name. |
Was dequeued (by @psarna), causes dist-python3-rpm to fail. |
@avikivity Could you please merge scylladb/scylla-python3#19, sync submodule then merge this PR again? |
Note: failed jenkins job was seems like https://jenkins.scylladb.com/view/nexts/job/scylla-master/job/next/3675,
|
Add architecture name for relocatable packages, to support distributing both x86_64 version and aarch64 version. Also create symlink from new filename to old filename to keep compatibility with older scripts. Fixes scylladb#8675 Closes scylladb#8709 [update tools/python3 submodule: * tools/python3 ad04e8e...afe2e7f (1): > reloc: add arch to relocatable package filename ]
To avoid dequeue, just merging this PR is not enough, I think we need to do as follows:
Add architecture name for relocatable packages, to support distributing
both x86_64 version and aarch64 version.
Fixes #8675