Build (from Source) Package Manager for build-scripts, a package manager designed to use Makefiles as a primary method of management, building, installation and uninstallation
- The rules/target steps are based on the project maintainer's steps
- i.e.
- if the steps required to build, install is make -jN sudo make install
- then the instructions are those
- i.e.
- Package Name: bpm
- Current Version: v0.7.0
- python
- python-pip
- python-venv
- Python packages
- mkparse @ https://github.com/Thanatisia/makefile-python-parser
- requests : To perform HTTP REST API requests
-
Create Python Virtual Environments
-
Generate Virtual Environments
python3 -m venv [virtual-environment-name]
-
Chroot into Virtual Environment
- Linux
. [virtual-environment-name]/bin/activate
- Windows
.\[virtual-environment-name]\Scripts\activate
- Linux
-
-
Install Python Packages/Dependencies
pip install -Ur requirements.txt
-
Verify packages
pip freeze list
-
Install as a module
-
Install locally in development mode
pip install .
-
Install locally in editable development mode
pip install -e .
-
Install Python package using GitHub repository via setuptools
pip install git+https://github.com/Thanatisia/bpm
-
-
Install Python package manually as an executable
-
Install using setuptools
python setup.py install
-
(Optional) Append your Virtual Environment's bin directory to system path
- Notes
- This is so that you can access the application/module from the system
export PATH+=[virtual-environment-name]/bin:
- Notes
-
- Default
bpm {options} <arguments> [actions]
-
Positionals
- actions : Specify the action you wish to take; You can stack multiple actions by appending them in chronological/iterative order
- Actions
- import : Import the Makefile contents into the system buffer/memory
- print : Print all imported Makefile contents; Note: You must use this after 'import' is provided
- start : Start the Package Management main body (WIP; unused currently)
- Actions
- actions : Specify the action you wish to take; You can stack multiple actions by appending them in chronological/iterative order
-
Optionals
- With Arguments
-f | --file-name [makefile-name]
: Explicitly specify the name of the target Makefile- Type: String
- Default: "Makefile"
-p | --file-path [makefile-path]
: Explicitly specify the path to the target Makefile- Type: String
- Default: "."
- Flags
--generate-default-makefile
: Generate a template Makefile file using the defined makefile template string (Default Path = '.', Filename = 'Makefile)-h | --help
: Display help menu-v | --version
: Show system version-t | --trim
: Trim and remove all special characters ("\n", "\t" etc) from the imported file contents
- With Arguments
-
Import a target Makefile
bpm -p . -f Makefile import
-
Import and Print a target Makefile
bpm -p . -f Makefile import print
-
Import and trim the imported Makefile contents
bpm -t -p . -f Makefile import print
-
Generate a template Makefile of the name 'Makefile'
bpm -p [file-path] -f [filename] --generate-default-makefile