/bpm

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

Primary LanguagePythonMIT LicenseMIT

BPM: Build (from Source) Package Manager

Information

Description

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

Project

  • Package Name: bpm
  • Current Version: v0.7.0

Setup

Dependencies

  • python
  • python-pip
  • python-venv

Pre-Requisites

  • 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
  • Install Python Packages/Dependencies

    pip install -Ur requirements.txt
  • Verify packages

    pip freeze list

Installing

  • 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:

Documentations

Synopsis/Syntax

  • Default
    bpm {options} <arguments> [actions]

Parameters

  • 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)
  • 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

Usage

  • 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

Wiki

Resources

References

Remarks