Difference between revisions of "Hall D Package Manager"

From GlueXWiki
Jump to: navigation, search
(Using it)
 
(33 intermediate revisions by the same user not shown)
Line 1: Line 1:
This is a set of scripts with a unified user interface for managing Hall-D software. It allows one to build and update Hall-D software from a single directory, and makes it easy to view and modify current package versions. The main idea is to configure builds with a series of simple text files, separating the process of scripting from configuration, and providing templates for future builds. The configuration text files are meant to be general enough so that the user will never need to modify any of the source scripts. Secondly, an effort is made to minimize the number of lines a user will need to modify in order to (re)configure a build; the scripts recognize certain variables, such as [VER] for version number to make this possible. Example templates are provided; most of these are designed for use on the JLab CentOS 6.5 iFarm, but can easily be modified for general use. [https://github.com/JeffersonLab/hdpm Hall D Package Manager] (hdpm) is located at the GitHub along with a thorough README.
+
hdpm is a command line tool for managing Hall-D software. It allows one to build and update Hall-D software from a single directory, and makes it easy to view and modify current package versions. The main idea is to configure package settings with a series of simple files, separating the process of scripting from configuration, and providing a mechanism to save and restore groups of package settings. Default settings are provided which have been tested for compatibility on supported platforms.  
  
==Getting it==
+
==Documentation==
git clone https://github.com/JeffersonLab/hdpm
+
For documentation on how to install and use '''hdpm''', visit its wiki at https://github.com/JeffersonLab/hdpm/wiki.
 
+
==Using it==
+
If on '''64-bit Linux''', change to hdpm directory and source the appropriate setup script. This script is for setting up the package manager, not the builds, and needs to be sourced each time a new shell is started.
+
source setup.(c)sh
+
If on '''Mac OS X''', manually download the [http://julialang.org/downloads Julia] dmg and install it, change to hdpm directory, put executable in PATH, and make an alias for running src/hdpm.jl:
+
export JULIA_DIR=/Applications/Julia-[VER].app/Contents/Resources/julia
+
export PATH=$JULIA_DIR/bin:$PATH
+
export JULIA_LOAD_PATH=`pwd`/src
+
alias hdpm='julia src/hdpm.jl'
+
 
+
For help, just type ''''hdpm'''' or ''''hdpm help''''.
+
 
+
Select a build template. For first time use, the user should select an example template: "all", "deps", "Sp15", or "F14".
+
hdpm select <template id>
+
 
+
Show the current build settings. Note that these arguments are optional. Column names: "name", "version", "url", "path", "nthreads", and "tobuild".
+
hdpm show [column name] [column spacing]
+
 
+
Customize build templates by editing/copying the text files in the "templates" directory (which starts off as a copy of the "example-templates" directory). The current build settings are stored in the "settings" directory; these should be directly modified when the user wants to try out new settings. After being tested, these can then be copied over into the "templates" directory with an appropriate tag for future use.
+
 
+
Checkout, clone, or download selected packages.
+
hdpm co
+
 
+
Build selected packages.
+
hdpm build
+
 
+
Checkout/clone/download and build selected packages. Argument is optional.
+
hdpm install [template id]
+
 
+
Update selected packages.
+
hdpm update
+
 
+
Do a clean build of selected packages.
+
hdpm clean-build
+
 
+
Show usage and description for command.
+
hdpm help <command>
+

Latest revision as of 21:21, 10 March 2017

hdpm is a command line tool for managing Hall-D software. It allows one to build and update Hall-D software from a single directory, and makes it easy to view and modify current package versions. The main idea is to configure package settings with a series of simple files, separating the process of scripting from configuration, and providing a mechanism to save and restore groups of package settings. Default settings are provided which have been tested for compatibility on supported platforms.

Documentation

For documentation on how to install and use hdpm, visit its wiki at https://github.com/JeffersonLab/hdpm/wiki.