Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/projeto-pindorama/pacote

A SVR4-like package manager for the 21st century.
https://github.com/projeto-pindorama/pacote

golang package-manager unix

Last synced: about 2 months ago
JSON representation

A SVR4-like package manager for the 21st century.

Awesome Lists containing this project

README

        

# 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](http://copacabana.pindorama.dob.jp) 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:
* :brazil: [README.pt.markdown (original)](./docs/README.pt.markdown);
* :us: [README.en.markdown](./docs/README.en.markdown);
* :jp: [README.jp.markdown (TO DO)](./docs/README.jp.markdown);
* :taiwan: [README.zh\_TW.markdown (TO DO)](./docs/README.zh_TW.markdown).

There is also the official documentation, which is served at
https://tabula.pindorama.dob.jp/pacote and has its source at the
[Silicon Tabula](https://github.com/Projeto-Pindorama/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, lacks the ability to alias directories properly


pkginfo(1)
Display software package information.
W.I.P.; parser done

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