Library for tracking and installing new versions of software
This software required for working vgazer:
- python3
- beautifulsoup4
- requests
- multimethod
- yolk3k
- git
# vgazer [COMMAND] --target=<triplet> <SOFTWARE[ ...]>
commands:
- version - check versions of software
- install - install software
target (optional) - target platform for installation software and versions checking. Default - host platform
software - space separated list of software must be installed or version checked. Can be file names that contains newline separated list of software of subinclude files. For prevent vgazer mischoose filename instead software name name your files with extension ("deps" for example)
Optional Requirements for running samples (Linux only):
- docker
- pylama
Before trying samples you need generate it. Generate samples with one on this commands:
$ make samples
$ ./generate_samples.py
Parameters of sample's targets passing to make in key=value form.
harch - must be same as your PC architecture. Currently supported:
- x86_64
hos and hver - OS or Linux Distribution and version of OS or Linux Distribution. This is not OS and OS's version of your PC. Typically it is OS and OS's version of base Docker image. Currently supported:
- amazonlinux
- 2
- fedora
- 40
- 41
tarch - architecture of device for crossplatform compiling libraries. Currently supported:
- x86_64
tos - generic name of target's OS. Currently supported:
- linux
- windows (WIP)
tabi - target's ABI. Currently supported:
- gnu
- mingw32 (WIP)
arch, os and ver - same as harch, hos and hver in that cases when not used target platform parameters such as tarch, tos and tabi
software - library for host or target platform that must be installed in system paths on host platform.
Build docker image of environment with given architecture, OS and version of OS:
$ make image-build arch=<host_arch> os=<host_os> ver=<host_os_version>
Example. Build docker image of environment with x86_64 architecture (your PC's arch must be x86_64) and Amazon Linux 2 as base image:
$ make image-build arch=x86_64 os=amazonlinux ver=2
$ make image_launch arch=<host_arch> os=<host_os> ver=<host_os_version>
Example. Launch docker image of environment with x86_64 architecture and Amazon Linux 2 as base image in interactive mode:
$ make image_launch arch=x86_64 os=amazonlinux ver=2
For most software this is last versions of appropriate packages in repos of OS distribution.
$ make sample-version software=<software> arch=<host_arch> os=<host_os> \
ver=<host_os_version>
Example. Output most recent available version of cmake that can be installed with apt-get on host environment with x86_64 architecture and Amazon Linux 2 as base image.
$ make sample-version software=cmake arch=x86_64 os=amazonlinux ver=2
Versions of host software (compilers, git, cmake etc) may be different on various docker images.
$ make sample-version software=<software> harch=<host_arch> hos=<host_os> \
hver=<host_os_version> tarch=<target_arch> tos=<target_os> \
tabi=<target_abi>
Example. Output most recent available version of cjson that can be installed download, build and copy on host environment with x86_64 architecture and Amazon Linux 2 as base image for x86_64-linux-gnu target.
$ make sample-version software=cjson harch=x86_64 hos=amazonlinux hver=2 \
tarch=x86_64 tos=linux tabi=gnu
For most software this is last versions of appropriate packages in repos of OS distribution.
$ make sample-install software=<tool> arch=<host_arch> os=<host_os> \
ver=<host_os_version>
Example. Install CMake via apt-get on host environment with x86_64 architecture and Amazon Linux 2 as base image.
$ make sample-install software=cmake arch=x86_64 os=amazonlinux ver=2
$ make sample-install software=<library> harch=<host_arch> hos=<host_os> \
hver=<host_os_version> tarch=<target_arch> tos=<target_os> \
tabi=<target_abi>
Example. Install manually (download, build and copy to system path) cjson library for x86-linux-gnu target on host environment with x86_64 architecture and Amazon Linux 2 as base image.
$ make sample-install software=cjson harch=x86_64 hos=amazonlinux hver=2 \
tarch=x86_64 tos=linux tabi=gnu
Install library from repos of OS's distribution if available. Else library will be downloaded, builded and installed to system paths.
$ make sample-install software=<library> arch=<host_arch> os=<host_os> \
ver=<host_os_version>
Example. Install zlib library via apt-get on host environment with x86_64 architecture and Amazon Linux 2 as base image.
$ make sample-install software=zlib arch=x86_64 os=amazonlinux ver=2
You can check code with command:
$ make lint
Currently project ignores these errors and warnings:
Source code of library released to public domain (CC0 license)