Skip to content
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

Build RPM and DEB packages #23

Open
colindean opened this issue May 25, 2016 · 6 comments
Open

Build RPM and DEB packages #23

colindean opened this issue May 25, 2016 · 6 comments

Comments

@colindean
Copy link
Contributor

It'd be nice to be able to install kale with RPM or DEB, with a launcher script linked in the right place and maybe a manpage describing usage.

@colindean
Copy link
Contributor Author

A quick search found this for RPM:

https://github.com/ahjones/lein-rpm

@bruceadams
Copy link
Member

DEBs and RPMs have serious downsides. One key downside is requiring privileged access for installation. There is nothing else about kale that needs local system privileges in any way.

@colindean
Copy link
Contributor Author

It need not be the sole installation method.

Think of it from this perspective. What's easier for some users?

    curl -H "Accept: application/octet-stream" http://github.com/ibm-watson/kale/releases/
    mv kale.jar ~/somewhere/sensible/kale.jar
    $EDITOR ~/.shellrc
   
    source ~/.shellrc
    kale

Or

    curl -H "Accept: application/octet-stream" http://github.com/ibm-watson/kale/releases/
    sudo dpkg -i kale.deb
    kale

What does the upgrade workflow look like? What does uninstall look like in either scenario?

The jar can be available for people who don't have root privs or for non-Linux folks. Heck, a zip file with the same layout as the RPM and DEB could be used for a Homebrew formula, but that's probably not necessary.

On May 25, 2016, 19:31, at 19:31, Bruce Adams [email protected] wrote:

DEBs and RPMs have serious downsides. One key downside is requiring
privileged access for installation. There is nothing else about kale
that needs local system privileges in any way.


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
#23 (comment)

@bruceadams
Copy link
Member

bruceadams commented May 26, 2016

Replace "sudo" with the user's Enterprise System Administration Request System For Software Installation. Such as:

  • Find the Notes Database for making requests of the Unix admin group
  • Stumble through the many questions on that form:
    • How do you know this software is not introduce any security compromises?
    • Where will security vulnerabilities published?
    • How can we get pre-publication notification?
    • Who within our organization will be responsible for tracking these notifications?
  • Get approval from several management chains for the request.
  • Wait the standard ten working days for the approved request to be implemented.

For a kale user it can be:

  • Click the download link in my browser.
  • open a terminal
  • alias kale='java -jar /home/me/Downloads/kale-blah.jar'
  • kale

I think of kale as a fairy ephemeral tool. An alias doesn't need to be installed permanently for use months from now. Anytime kale gets used, the user is likely to be looking at documentation. (Heck I didn't add an alias for kale until pretty recently, and I run it all the time.)

@bruceadams
Copy link
Member

Oh, and I forgot to address It need not be the sole installation method.

I'd prefer to avoid forcing a user to make a choice just as they are getting started. It's less cognitive load for the user to work through a straight line recipe.

(From a development point of view, I'd rather not have to make choices about which operating systems to support. We chose highly portable base technologies, in part, to get broad platform coverage.)

@bruceadams
Copy link
Member

Our first user tester comments supports @colindean 's position

I'm surprised the download is a jar, not a zip.

and

I don't what to type [the alias command], if it were a zip, that could be part of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants