cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Murukesh Mohanan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-12622) Snap package of Cassandra
Date Wed, 22 Mar 2017 00:59:41 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-12622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15935598#comment-15935598
] 

Murukesh Mohanan commented on CASSANDRA-12622:
----------------------------------------------

I had a go at reviewing this, and there is a major problem: {{snapcraft cleanbuild}} doesn't
build this snap cleanly:

{code}
Copying needed target link from the system /etc/ssl/certs/java/cacerts
Pulling cassandra
Cloning into '/root/parts/cassandra/src'...
done.
Preparing to pull glue
Pulling glue
Preparing to build cassandra
Building cassandra
Buildfile: /root/parts/cassandra/build/build.xml

BUILD FAILED
/root/parts/cassandra/build/build.xml:1051: taskdef A class needed by class org.krummas.junit.JStackJUnitTask
cannot be found: org/apache/tools/ant/taskdefs/optional/junit/JUnitTask
 using the classloader AntClassLoader[/root/parts/cassandra/build/lib/jstackjunit-0.0.1.jar]

Total time: 1 second
Command '['/bin/sh', '/tmp/tmpmfqzqafe', 'ant', 'artifacts', '-Ddist.dir=/root/parts/cassandra/install']'
returned non-zero exit status 1
ant artifacts -Ddist.dir=/root/parts/cassandra/install
Command '['lxc', 'exec', 'snapcraft-yearly-finer-glider', '--', 'snapcraft', 'snap', '--output',
'cassandra_3.10-SNAPSHOT_amd64.snap']' returned non-zero exit status 1
Stopping snapcraft-yearly-finer-glider
{code}

Now, a plain {{snapcraft}} works, but I had problems with locale [1], but IMHO from a package
maintenance perspective, if a {{cleanbuild}} fails, then the packaging configuration has problems.

[1]: I was working with {{LC_ALL=C}}, and that causes {{javadoc}} to fail if it finds Unicode
characters in files. I had to use {{LC_ALL=C.UTF-8}} before the snap built. But, in any case,
while building packages a clean-room environment should be used, and it shouldn't be affected
my personal quirky settings.

> Snap package of Cassandra
> -------------------------
>
>                 Key: CASSANDRA-12622
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12622
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Packaging
>            Reporter: Evan
>            Priority: Minor
>             Fix For: 3.11.x
>
>
> Picking up the conversation from [1], I'd like to propose that Cassandra publish snap
packages (http://snapcraft.io).
> I've put together a patch:
> https://github.com/apache/cassandra/compare/trunk...evandandrea:snap
> This could be used to build and publish a snap on every commit to trunk [2, 3], or as
a quicker way for developers to one-off build something more lightweight than a container
for testing.
> Alternatively, you could keep snap publication to released versions of Cassandra. Dependencies
are bundled, so you would get to decide Oracle vs OpenJDK and the exact version. For the end
user it would mean confidence that Cassandra with this bundled set of dependencies had been
tested by the project. Uploads would instantly reach all of Ubuntu and a fair few other distributions
without any changes [4], hopefully simplifying install instructions.
> I couldn't find where the machinery for driving the Cassandra release process lives,
but if someone can point me in the right direction I'd be happy to submit a patch for that.
> 1: https://www.mail-archive.com/dev@cassandra.apache.org/msg09216.html
> 2: Builds of trunk would be best published to the edge channel:
>     http://snapcraft.io/#snapcraft_home_using-snaps_channels
> 3: What automatic building and publishing could look like using Travis:
>     https://travis-ci.org/evandandrea/cassandra-snap/builds/158449135#L3937
> 4: http://snapcraft.io/docs/core/install



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message