[ 
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)

Reply via email to