Skip to content

Commit 1c6019a

Browse files
committed
Merge 'reorganize jar files so that offline installation works' from Glauber
"We put the .jar files for cassandra and scylla into the top level of the .tar directory, and the dependencies inside lib/ The classpath is able to find the latter, but not ther former, and as a consequence we cannot execute the commands in bin/ and tools/bin -> they will fail on missing jars. If we move all jars - including the ones we build - to lib/, then everything works in a nice, self-contained manner. Once we do that, we can also simplify the installation for .deb and .rpm packages, since they already move the entire contents of lib/ into the filesystem. Tested by installing the resulting rpm and deb, as well as using nodetool, sstableloader and cassandra-stress directly from the resulting .tar package." Reviewed-by: Takuya ASADA <[email protected]> * 'offline' of https://github.com/glommer/scylla-tools-java: reorganize jar files so that offline installation works
2 parents e626c3d + 1b74d28 commit 1c6019a

File tree

3 files changed

+7
-25
lines changed

3 files changed

+7
-25
lines changed

dist/debian/rules.mustache

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,8 @@ install:
2323
dh_installdirs
2424
dh_install
2525

26-
# Copy in the jar and symlink to something stable
27-
dh_install -p {{product}}-tools-core apache-cassandra-$(VERSION).jar \
28-
usr/share/scylla/cassandra
29-
dh_install apache-cassandra-thrift-$(VERSION).jar \
30-
usr/share/scylla/cassandra
31-
dh_install -p {{product}}-tools-core scylla-tools-$(VERSION).jar \
32-
usr/share/scylla/cassandra
33-
34-
# Copy stress jars
35-
dh_install stress.jar \
36-
usr/share/scylla/cassandra
37-
38-
dh_link -p {{product}}-tools-core usr/share/scylla/cassandra/apache-cassandra-$(VERSION).jar \
39-
usr/share/scylla/cassandra/apache-cassandra.jar
26+
dh_link -p {{product}}-tools-core usr/share/scylla/cassandra/lib/apache-cassandra-$(VERSION).jar \
27+
usr/share/scylla/cassandra/lib/apache-cassandra.jar
4028

4129
# Build architecture-independent files here.
4230
binary-indep: build install

dist/redhat/scylla-tools.spec.mustache

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,8 @@ install -m644 lib/*.zip $RPM_BUILD_ROOT%{_datadir}/scylla/cassandra/lib/
7070
install -d -m755 $RPM_BUILD_ROOT%{_docdir}/scylla/cassandra/licenses/
7171
install -m644 lib/licenses/* $RPM_BUILD_ROOT%{_docdir}/scylla/cassandra/licenses/
7272

73-
install -m644 apache-cassandra-%{version}-%{release}.jar $RPM_BUILD_ROOT%{_datadir}/scylla/cassandra
74-
install -m644 apache-cassandra-thrift-%{version}-%{release}.jar $RPM_BUILD_ROOT%{_datadir}/scylla/cassandra
75-
install -m644 scylla-tools-%{version}-%{release}.jar $RPM_BUILD_ROOT%{_datadir}/scylla/cassandra
76-
install -m644 stress.jar $RPM_BUILD_ROOT%{_datadir}/scylla/cassandra
77-
7873
cd $RPM_BUILD_ROOT
79-
ln -s %{_datadir}/scylla/cassandra/apache-cassandra-%{version}-%{release}.jar $RPM_BUILD_ROOT%{_datadir}/scylla/cassandra/apache-cassandra.jar
74+
ln -s %{_datadir}/scylla/cassandra/lib/apache-cassandra-%{version}-%{release}.jar $RPM_BUILD_ROOT%{_datadir}/scylla/cassandra/lib/apache-cassandra.jar
8075

8176
%files
8277
%{_sysconfdir}/bash_completion.d/nodetool-completion
@@ -104,7 +99,6 @@ ln -s %{_datadir}/scylla/cassandra/apache-cassandra-%{version}-%{release}.jar $R
10499
%{_datadir}/scylla/cassandra/lib/*.jar
105100
%{_datadir}/scylla/cassandra/lib/*.zip
106101
%{_docdir}/scylla/cassandra/licenses
107-
%{_datadir}/scylla/cassandra/*.jar
108102
%{_bindir}/scylla-sstableloader
109103

110104
%changelog

scripts/create-relocatable-package.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@
5151
ar.add('tools')
5252
ar.add('lib')
5353
ar.add('doc')
54-
ar.add('build/apache-cassandra-{}.jar'.format(version), arcname='apache-cassandra-{}.jar'.format(version))
55-
ar.add('build/apache-cassandra-thrift-{}.jar'.format(version), arcname='apache-cassandra-thrift-{}.jar'.format(version))
56-
ar.add('build/scylla-tools-{}.jar'.format(version), arcname='scylla-tools-{}.jar'.format(version))
57-
ar.add('build/tools/lib/stress.jar', arcname='stress.jar')
54+
ar.add('build/apache-cassandra-{}.jar'.format(version), arcname='lib/apache-cassandra-{}.jar'.format(version))
55+
ar.add('build/apache-cassandra-thrift-{}.jar'.format(version), arcname='lib/apache-cassandra-thrift-{}.jar'.format(version))
56+
ar.add('build/scylla-tools-{}.jar'.format(version), arcname='lib/scylla-tools-{}.jar'.format(version))
57+
ar.add('build/tools/lib/stress.jar', arcname='lib/stress.jar')
5858
ar.add('README.asc')
5959
ar.add('CHANGES.txt')
6060
ar.add('NEWS.txt')

0 commit comments

Comments
 (0)