All Projects → dongli → starman

dongli / starman

Licence: other
Another package manager for HPC warriors.

Programming Languages

ruby
36898 projects - #4 most used programming language
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to starman

zcomet
zcomet - Fast, Simple Zsh Plugin Manager
Stars: ✭ 144 (+157.14%)
Mutual labels:  package-manager
qompoter
Dependency manager for Qt / C++.
Stars: ✭ 19 (-66.07%)
Mutual labels:  package-manager
bingo
The missing package manager for golang binaries (its homebrew for "go install")
Stars: ✭ 177 (+216.07%)
Mutual labels:  package-manager
pkgcore
a framework for package management
Stars: ✭ 91 (+62.5%)
Mutual labels:  package-manager
modget-minecraft
The Minecraft Mod Package Manager!
Stars: ✭ 47 (-16.07%)
Mutual labels:  package-manager
pakket
The last package manager macOS will ever need. Simple, functional, and fast.
Stars: ✭ 20 (-64.29%)
Mutual labels:  package-manager
capstan
Capstan, a tool for packaging and running your application on OSv.
Stars: ✭ 19 (-66.07%)
Mutual labels:  package-manager
slapt-get
slapt-get is an APT like system for Slackware package management.
Stars: ✭ 26 (-53.57%)
Mutual labels:  package-manager
vpm
Package Manager for VVVV
Stars: ✭ 20 (-64.29%)
Mutual labels:  package-manager
nix-portable
Nix - Static, Permissionless, Installation-free, Pre-configured
Stars: ✭ 356 (+535.71%)
Mutual labels:  package-manager
rubigo
[DEPRECATED] Golang vendor utility and package manager
Stars: ✭ 44 (-21.43%)
Mutual labels:  package-manager
npackd-cpp
Package manager for Microsoft Windows (GUI and command line utility)
Stars: ✭ 123 (+119.64%)
Mutual labels:  package-manager
scoop-directory
A searchable directory of buckets for the scoop package manager for Windows
Stars: ✭ 721 (+1187.5%)
Mutual labels:  package-manager
zap
⚡ Delightful AppImage package manager
Stars: ✭ 354 (+532.14%)
Mutual labels:  package-manager
cpm
🚀 A Lightweight NPM Private Active Management Service.We don't design a scheme to synchronize to local caching. We only focus on building private active CRUDs that are compatible with NPM public package downloads.
Stars: ✭ 67 (+19.64%)
Mutual labels:  package-manager
dpkg
Debian package manager (mirror)
Stars: ✭ 41 (-26.79%)
Mutual labels:  package-manager
strongbox
a World of Warcraft Addon Manager aimed at Linux players
Stars: ✭ 131 (+133.93%)
Mutual labels:  package-manager
gruntwork-installer
A script to make it easy to install Gruntwork Modules
Stars: ✭ 72 (+28.57%)
Mutual labels:  package-manager
mercury
Package manager for Halo Custom Edition
Stars: ✭ 20 (-64.29%)
Mutual labels:  package-manager
choco
Chocolatey - the package manager for Windows
Stars: ✭ 8,643 (+15333.93%)
Mutual labels:  package-manager

Introduction

This is the third time I rewrote this package manager, and hope this will be the final version. This time I try to simplify the design to make STARMAN robust and focus on HPC usage. I set down the following goals:

  • User can use load command to change shell environment for specific packages like modules.
  • Use database to manage information.
  • Support package update which is lacked in previous version.
  • Better support MPI cluster environment.

Prerequisites

STARMAN is implemented by using Ruby programming language which is good at writing DSL (Domain Specific Language), so the system should have Ruby installed.

  • Ruby >= 2.0
  • SQLite

Installation

Put STARMAN in any location, and add the following source statement in your .bashrc:

source <STARMAN_directory>/setup/bashrc

Then run setup command to kickoff:

starman setup --install-root <where_you_want_to_put_installed_software> \
--rc-root <where_store_config_and_db_files> \
--cache-root <where_store_packages_and_temporary_files>

The default cache_root is /tmp/starman. You can put predownloaded packages there to avoid download.

The default rc_root is $USER/.starman.

Usage

When first use, you need to edit the configuration by running:

starman config

An example is:

---
install_root: /nfs/software
cache_root: /tmp/starman
defaults:
  compiler_set: ifort_2013.2.146
compiler_sets:
  ifort_2013.2.146:
    c: /nfs/software/intel/composer_xe_2013.2.146/bin/intel64/icc
    cxx: /nfs/software/intel/composer_xe_2013.2.146/bin/intel64/icpc
    fortran: /nfs/software/intel/composer_xe_2013.2.146/bin/intel64/ifort

You are advised to give each compiler set a good name, and NEVER change them since they will be casted into packages' prefix.

You can list the help message of each command by:

$ starman <command> -h/--help
      _______  _______  _______  ______    __   __  _______  __    _
     |       ||       ||   _   ||    _ |  |  |_|  ||   _   ||  |  | |
     |  _____||_     _||  |_|  ||   | ||  |       ||  |_|  ||   |_| |
     | |_____   |   |  |       ||   |_||_ |       ||       ||       |
     |_____  |  |   |  |       ||    __  ||       ||       ||  _    |
      _____| |  |   |  |   _   ||   |  | || ||_|| ||   _   || | |   |
     |_______|  |___|  |__| |__||___|  |_||_|   |_||__| |__||_|  |__|

STARMAN: Another package manager for Linux/Mac programmer.
Copyright (C) 2015-2018 - All Rights Reserved.

    >>> starman install <package_name> ... [options]

    -r, --rc-root PATH               Set runtime configuration root directory.
    -d, --debug                      Print debug information.
    -v, --verbose                    Print more information including build output.
    -c, --compiler-set NAME          Set the active compiler set by its name set in conf file.
    -k, --skip-test                  Skip possible build test (e.g., make test).
    -j, --make-jobs NUMBER           Set the number of making jobs (currently only works for hdf5 and netcdf).
    -h, --help                       Print this help message.

Install package

$ starman install netcdf

or

$ starman install hdf5 -j 4           # Currently only works for hdf5 and netcdf.

Load package

In your .bashrc after STARMAN source statement, add the load commands:

starman load [email protected]

This command will load the environment settings (e.g., PATH, LD_LIBRARY_PATH) into current shell (currently only BASH).

Uninstall package

$ starman uninstall netcdf

or

$ starman rm netcdf

Contribution

If you are familiar with package installation and system admin, you can contribute new packages by writing a package DSL file in Ruby language as netcdf-c.rb.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].