Skip to content

Latest commit

 

History

History
131 lines (122 loc) · 4.19 KB

README.markdown

File metadata and controls

131 lines (122 loc) · 4.19 KB

The Pacote Package Manager

"Pacote" (Portuguese for "package", pronounced /pɐˈkɔ.tɨ/) is a set of SVR4-compatible package managenment tools, but made in a modernist and cleaner way.
This originally was created as a project with the intent of learning the Go programming language and (re)documenting the SVR4 package manager specification, but it is really meant to be a solid, modern and safe implementation of the SVR4 package manager for the 21st century, working as a base for any extensions that can be made in any language that supports calling commands from the PATH.

Everything here is a big "TO DO", since it's part of a really big project and we do not have enough workforce to fight in all the fronts simultaniously, so there are things that could've been made in some days and that took literal months to get done --- not even talking about fixes that would need to be made.

You can read more about it in READMEs below:

There is also the official documentation, which is served at https://tabula.pindorama.dob.jp/pacote and has its source at the Silicon Tabula repository.

Quick information: file formats

  • .e: 0 bytes file that means literally "exists", add it to a empty directory that need in some way to appear in git's source tree;
  • .markdown: Markdown files;
  • .go: Source code for programs written in the Go programming language;
  • .ksh: ksh file script;
  • .pdf: PDF document (please, use DjVu);
  • .djvu: DjVu document.

Implementation status

This project currently implements the following tools:

Command Description Status
pkgproto(1) Generate a prototype(4) file for input to the pkgmk(1) command. W.I.P.; Almost finished

The following tools shall be implemented in coming days, weeks, months or, in the worst case scenario, years.

Command Description Status
pkgmk(1) Create an software package. Planning
pkgadd(8) Install a software package. Planning
pkgrm(8) Remove a software package. Planning
pkgask(8) Store answers to a request script. Planning
pkgtrans(1) "Translate" packages between datastream formats.
According to the specification, it is used for
copying packages into a distribution medium.
Planning
pkgchk(8) Check if a package is impartial. Planning
pkginfo(1) Displays information about a software package.
This shall be simple, since it is only based on
parsing the pkginfo(5) file from a package.
W.I.P.
pkgparam(1) Displays package parameters, declared at pkginfo(5).
In fact, it's basically like pkginfo(1), but it displays
the file instead of parsing it for displaying separate values.
This shall also be simple.
Planning
installf(8) Installs files into an already installed software package.
In theory, this basically just edits the database and copies
the file to the file system.
Planning
removef(8) Removes files from an already installed software package.
In theory, this also just edits the database and deletes
the file in the file system.
Planning