| - |
pkg info
|
| + |
comamnds:
|
| + |
- pkg:
|
| + |
- one command to rule them all
|
| + |
- each time pkg has to query the installed database it will try to first
|
| + |
read the cache is the cache is too old (check but last mtime of the
|
| + |
directory) it will regenerate the cache from installed package
|
| + |
|
| + |
- pkg_*:
|
| + |
this will be shell script their goal is to be 100% compatible with
|
| + |
pkg_install they will call pkg which the good options
|
| + |
|
| + |
subcommands:
|
| + |
- add:
|
| + |
- installs a package if local package is given
|
| + |
- manage http/ftp url to download throught libfetch a package and try to
|
| + |
install it.
|
| + |
- in the two previous case, if the package as not installed dependencies
|
| + |
it will try to fetch/find them in the same place the original package
|
| + |
was.
|
| + |
- it will manage a completely new repository format pkg add bla will
|
| + |
check in the database of the repository if the is a bla package and
|
| + |
install it as well as it's dependencies but the dependencies will be
|
| + |
compute before begining the fetch install process, to be sure
|
| + |
everything is ok.
|
| + |
- should be able to only take a plist or a manifest in argument
|
| + |
considering the files are already installed
|
| + |
|
| + |
- genrepo:
|
| + |
- takes only one argument and generate two cache files (maybe more for
|
| + |
the time we will be willing to work with UPDATING and MOVED) the first
|
| + |
repo contain every informations concerning a package except files
|
| + |
(which will be in the second one) + it will compute and add a sha256
|
| + |
sum for each package. the cache will be in tcdb format compressed in
|
| + |
xz format.
|
| + |
|
| + |
- search:
|
| + |
- will search both the remote repository to gives informations
|
| + |
to users
|
| + |
|
| + |
- info:
|
| + |
- will give to users any informations about local package
|
| + |
|
| + |
- create:
|
| + |
- will create the package in the new format (+MANIFEST) in txz (tar.xz)
|
| + |
directly options to create tbz and tgz 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 which bsd.ports.mk
|
| + |
|
| + |
- delete:
|
| + |
- will delete a package normally to be able to remove the empty
|
| + |
directories cleanly it will delete every directory (found in the path
|
| + |
of the files) that are not in the package +MTREE (mtree contains the
|
| + |
official hier(7)
|
| + |
|
| + |
- upgrade:
|
| + |
- will compute the remote repository to check is there is new upgrades
|
| + |
available and apply them.
|
| + |
|
| + |
- update:
|
| + |
- will fetch the remote repository cache files
|
| + |
|
| + |
- lint:
|
| + |
- will check for the given package and warn the user about problems :
|
| + |
* bad prefix
|
| + |
* setuids
|
| + |
* etc
|
| + |
|
| + |
General behaviour:
|
| + |
the manifest contains compatibility keywords: exec, unexec which will be
|
| + |
executed as there are in pkg_install but will display a warning to show the user
|
| + |
exec/unexec is deprecated
|
| + |
|
| + |
if install and deinstall scripts are found they will be executed as they were in
|
| + |
pkg_install warning for deprecated
|
| + |
|
| + |
the new manifest format will have:
|
| + |
in case of a new install:
|
| + |
pre-install
|
| + |
post-install
|
| + |
|
| + |
in case of a pkg delete:
|
| + |
pre-uninstall
|
| + |
post-uninstall
|
| + |
|
| + |
in case of an upgrade :
|
| + |
pre-upgrade
|
| + |
post-upgrade
|
| + |
|
| + |
they could be files +PRE-* +POST* etc
|
| + |
they could be sh string in the manifest in arrays:
|
| + |
"pre-nstall": [
|
| + |
"/usr/sbin/pw useradd foo",
|
| + |
],
|
| + |
|
| + |
they could be both
|