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