Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Remove out of sync goals
Baptiste Daroussin committed 6 years ago
commit 6cd33f094120e7021c4654123fbf5f37da3797bd
parent 252fd59
1 file changed +0 -141
deleted docs/GOALS
@@ -1,141 +0,0 @@
-
pkgng - New version of FreeBSD's pkg_install
-

-
Table of Contents:
-

-
    1. Available commands of pkgng
-
    2. Available subcommands of pkgng
-
    3. General behaviour
-
    4. New scripts
-
	4.1. During new install
-
	4.2. During package deletion
-
	4.3. During upgrade of a package
-
    5. Additional resources
-

-

-
1. Available commands of pkgng:
-
-------------------------------
-

-
- pkg:
-

-
	- One command to rule them all (see section 2)
-

-
- pkg_*:
-

-
	- These will be shell scripts, which goal is to be 100% compatible with
-
	  pkg_install. They will call `pkg' with the appropriate options (not sure
-
	  it will be really done in the end).
-

-
2. Available subcommands of pkgng:
-
----------------------------------
-

-
- add:
-

-
	- Installs a package if a local package is given
-
	- Manages ftp/http downloads of packages through libfetch and
-
	  tries to install them.
-
	- In the two previous cases, if a package does not have it's 
-
	  dependencies installed, `pkgng' will try to fetch/find them in the same
-
	  place as the original package was.
-
	- It will manage a completely new repository format. 
-
	  `pkg add <foo>' will check in the database of the repository for 
-
	  package <foo> and try to install it as well as it's dependencies.
-
	  Dependencies will be computed before beginning the fetch/install
-
	  process to ensure that everything will be OK.
-

-
- register:
-

-
	- Take a plist in argument considering the files are already installed
-
	  and register the package into the database. Register will display the
-
	  package message.
-

-
- repo:
-

-
	- Takes only one argument and generates two database files (maybe more for
-
	  the time we will be willing to work with UPDATING and MOVED).
-
	  The first repo contains all information about a package, except for
-
	  the files (which will be in the second one) + it will compute and 
-
	  add a sha256 sum for each package.
-
	- The database will be a SQLite file compressed with the xz format.
-
	- The database will be signed so we can trust the sha256 of the
-
	  packages, and if a package has the expected hash, it is considered
-
	  trusted.
-

-
- search:
-

-
	- Will search the repository catalogue to provide information
-
	  to the users.
-

-
- info: 
-

-
	- Will provide any information to the users about an installed package
-
	  or a package archive.
-

-
- create:
-
    
-
	- Will create the package in the new format (+MANIFEST) in txz (tar.xz).
-
	- Options for creating tbz, tgz and plain tar will be provided.
-
	- It should be able to create a package for a "fakeroot" directory
-
	  taking a plist or a manifest in arguments (the plist is for
-
	  compatibility with bsd.ports.mk)
-

-
- delete:
-

-
	- Will delete a package. To be able to remove the empty directories
-
	  cleanly it will delete every directory (found in the path of the 
-
	  files), which are not in the package's manifest.
-

-
- upgrade:
-

-
	- Will examine the repository catalogue to check if there are
-
	  any upgrades available and apply them.
-

-
- update:
-

-
	- Will fetch the remote repository SQLite database file.
-

-
- lint: 
-

-
	- Will check for the given package and warn the user about possible problems:
-
	* bad prefix
-
	* setuids
-
	* etc
-

-
3. General behaviour:
-
---------------------
-

-
The manifest contains compatibility keywords: exec, unexec which will be
-
executed as they are in pkg_install, but will display a warning to show the user
-
exec/unexec is deprecated.
-

-
If install and deinstall scripts are present they will be executed as they were in
-
pkg_install, and the user will be warned that they are deprecated.
-

-
4. New scripts
-
----------------------
-

-
The new package format will have the following (optional) shell scripts:
-

-
    4.1. During new install
-
    -----------------------
-
    
-
    - pre-install
-
    - post-install
-

-
    4.2. During package deletion
-
    ----------------------------
-

-
    - pre-uninstall
-
    - post-uninstall
-

-
    4.3. During upgrade of a package
-
    --------------------------------
-

-
    - pre-upgrade
-
    - post-upgrade
-

-
5. Additional resources
-
-----------------------
-

-
The wiki page where it all started (outdated):
-
    - http://wiki.freebsd.org/Pkg_install2_specs
-