https://github.com/sdilts/local-project
A command line utility for managing programs installed from source
https://github.com/sdilts/local-project
common-lisp installation version-control
Last synced: 2 months ago
JSON representation
A command line utility for managing programs installed from source
- Host: GitHub
- URL: https://github.com/sdilts/local-project
- Owner: sdilts
- License: gpl-3.0
- Created: 2018-10-01T22:42:05.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-11-25T22:26:27.000Z (about 6 years ago)
- Last Synced: 2025-01-17T07:35:14.531Z (11 months ago)
- Topics: common-lisp, installation, version-control
- Language: Common Lisp
- Size: 90.8 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
#+TITLE: Local-Project - A tool for managing programs installed from source
Local-project automates updating and installing projects from source. Local-project can
take care of pulling updates from a remote source, compiling the
project, and then installing it. All you need to do is specify the
project location, version control system, build tool, build location,
and installation method. Local-project works by calling external programs that
know how perform each step, so it is easy to add compatability for new
tools.
Local-project is still in beta, although the interfaces are unlikely to
change. The main planned feature is tracking the dependencies of
projects to know if needs to be re-compiled.
* Installation
** Dependencies
Local-project (=lpro=) has the following runtime dependencies:
+ A UNIX-like system. Local-project has been tested on various Linux
distributions and FreeBSD.
+ [[https://github.com/roswell/roswell][Roswell]].
+ A Bash shell. The scripts that =lpro= uses to perform its various
functions are written in Bash.
** Installation
#+BEGIN_SRC bash
git clone https://github.com/sdilts/local-project.git
cd local-project
./configure
make
sudo make install
#+END_SRC
You can uninstall local-project with =make uninstall=.
* Usage
First, make sure that the necessary configure scripts have been run
in the project. Then, navigate to the root directory of a project
and enter the command
#+BEGIN_SRC bash
lpro init
#+END_SRC
=Lpro= will then ask you questions about how the project is built and
installed. Here are some highlights:
+ Project name :: The name that the project is referenced as. Must
be unique.
+ In source build :: Are the build and install commands issued in
the project's root directory or in a =build= directory in the
project's root folder?
+ Root Installation Required :: Some projects are installed locally without
needing root access. It is possible to install
these projects separately from the rest of the
projects. Specify =no= to this option for this project to be
installed separately. See =lpro help install= for more information.
When you are finished, you can now run
#+BEGIN_SRC bash
lpro update $PROJECT_NAME
#+END_SRC
to pull from remote and compile the project, or
#+BEGIN_SRC bash
lpro update-all
#+END_SRC
to do the same for all of the projects local-project knows about.
To install projects, use the =lpro install= or =lpro install-all=
commands. If sudo access is required, note that =/usr/local/bin=,
the default location that the =lpro= binary is installed, is not usually in
the =$PATH= used by =sudo= and the root user. Do not add the directory
to the path, as that [[https://security.stackexchange.com/questions/136990/whats-the-motivation-for-excluing-usr-local-bin-from-roots-path][is a potential security risk]]. Instead, use the full
binary path.