2
0
Fork
You've already forked parmo
0
A tool to build software from source, turn it into native operating system packages, and manage repositories of those packages. https://ivarch.com/p/parmo
  • Shell 96.9%
  • Makefile 2.8%
  • M4 0.3%
2025年11月25日 21:52:18 +00:00
docs Explicitly specify the program name. 2025年11月25日 21:52:18 +00:00
src Support each Ubuntu version listed on their Docker page ( #2 ); set DEBIAN_FRONTEND to noninteractive to avoid the image build getting stuch on configuring the timezone. 2025年11月23日 22:46:09 +00:00
tests Support each Ubuntu version listed on their Docker page ( #2 ); set DEBIAN_FRONTEND to noninteractive to avoid the image build getting stuch on configuring the timezone. 2025年11月23日 22:46:09 +00:00
.gitignore Initial skeleton and beginnings of first draft of manual. 2024年12月28日 23:47:28 +00:00
configure.ac Version bump for the new feature. 2025年11月24日 17:34:51 +00:00
Makefile.am Release release.sh with release.cf and use the foss-release script. 2025年11月25日 21:51:33 +00:00
README.md Support each Ubuntu version listed on their Docker page ( #2 ); set DEBIAN_FRONTEND to noninteractive to avoid the image build getting stuch on configuring the timezone. 2025年11月23日 22:46:09 +00:00
settings.sh.in Support each Ubuntu version listed on their Docker page ( #2 ); set DEBIAN_FRONTEND to noninteractive to avoid the image build getting stuch on configuring the timezone. 2025年11月23日 22:46:09 +00:00

Introduction

The package and repository maintenance operator, parmo, is a tool to build software from source, turn it into native operating system packages, and manage repositories of those packages.

Use parmo to build internal repositories of local software, for example packaging the software used by your organisation for quick deployment using standard commands like "apt install" and "dnf update".

  • Build packages from source, for multiple target operating systems, and store them in a package archive.

  • Select which version of each package is included in each local repository.

  • Index each local repository so that internal systems can use them.

Target operating systems supported:

  • Debian 11-13 (compatible with Ubuntu and others)
  • Ubuntu 22.04-26.04
  • AlmaLinux 8-10 (compatible with Rocky Linux and others)
  • CentOS 7

Packaging types supported:

  • .deb - Debian, Ubuntu, Devuan, anything that uses apt
  • .rpm - AlmaLinux, SUSE, Rocky, CentOS, RHEL - dnf, yum, zypper

Using Docker or Podman, parmo can support multiple operating systems on a single host. It automatically maintains build environment containers for each target. Alternatively, parmo can run in native mode without containers, supporting only the operating system it is running on.

Documentation

A manual page is included in this distribution ("man parmo"). Before installation, it is in "docs/parmo.1".

Changes are listed in "docs/NEWS.md".

Developers and translators, please see "docs/DEVELOPERS.md".

Installation

See "docs/INSTALL" for more about the configure script.

The typical process for a system-wide install is:

sh ./configure --prefix=/usr
make
sudo make install

This requires Make ("sudo apt install make" on Debian or Ubuntu systems).

If this is not a packaged release, the configure script is not included. It is generated with the GNU build system tools (autoconf, aclocal, automake). On Debian or Ubuntu, run "sudo apt install automake". Once those tools are in place, call "autoreconf -is" to generate the configure script, and run it as described above.

Copyright, bug reporting, and acknowledgements

Copyright (C) 2025 Andrew Wood.

License GPLv3+: GNU GPL version 3 or later https://www.gnu.org/licenses/gpl-3.0.html.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License, version 3, in "docs/COPYING". If not, see https://www.gnu.org/licenses/gpl-3.0.html.

Please report bugs or request features via the issue tracker linked from the home page.

The parmo home page is at:

https://ivarch.com/p/parmo

The latest version can always be found here.