pm 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. .TH PM 1
  2. .SH NAME
  3. install, list, pull, remove \- package management scripts
  4. .SH SYNOPSIS
  5. .B pm/install
  6. [
  7. .B -f
  8. ]
  9. .I category/name
  10. .br
  11. .B pm/list
  12. [
  13. .B -i
  14. |
  15. .B -v
  16. ]
  17. [
  18. .I category
  19. ]
  20. .br
  21. .B pm/pull
  22. .I category/name
  23. .br
  24. .B pm/remove
  25. .I category/name
  26. .SH DESCRIPTION
  27. .I PM
  28. is a package management system inspired by
  29. .IR contrib
  30. and
  31. .IR 9pm ,
  32. but with greater focus on speed and maintainability. Packages are stored as
  33. .B .tgz
  34. files on an HTTP server, rather than as discrete files on sources, for improved speed.
  35. .PP
  36. Packages are described by a category and a name. Categories include
  37. .I devel,
  38. .I lib,
  39. and
  40. .I network.
  41. Package names include
  42. .I mercurial,
  43. .I openssl,
  44. and
  45. .I openssh.
  46. A full accounting of categories may be obtained by simply listing the directories in
  47. .B /contrib/packages/ .
  48. Listing of individual packages is accomplished through the
  49. .B pm/list
  50. command.
  51. .TP
  52. .I pm/install
  53. Installs the package and any necessary dependencies. The specified package will be automatically downloaded using the
  54. .B pm/pull
  55. command, as will any dependencies. By default, existing files will not be overwritten. The
  56. .B -f
  57. option forces the overwriting of existing files.
  58. .TP
  59. .I pm/list
  60. List the available packages, one per line, with no additional description, suitable for further processing. The
  61. .B -i
  62. option gives a listing of all currently installed packages. The
  63. .B -v
  64. option gives a description of each package. If a category is specified, only packages under that category are listed.
  65. .TP
  66. .I pm/pull
  67. Download the specified package from the package repository. This is not necessary for installation tasks, but may be of interest if you wish to examine the package prior to installing.
  68. .TP
  69. .I pm/remove
  70. Deletes files installed by the specified package. Does not remove dependency packages, as they may be needed by other packages.
  71. .SH PACKAGE SERVERS
  72. Any HTTP server may act as a package server provided its HTTP root directory contains a
  73. .B contrib/packages
  74. directory with
  75. .B root.tgz
  76. files in the package directories. The list of package servers is maintained in
  77. .B /lib/ndb/local
  78. in the following format:
  79. .br
  80. .EX
  81. pm=srvlist
  82. srv=jfloren.net
  83. srv=anotherserver.com
  84. .EE
  85. .br
  86. Additional servers may be added; servers will be tried in order. If a package is not found on one server, the other servers will be tried one after the other until a
  87. .B root.tgz
  88. file is found.
  89. .SH EXAMPLES
  90. .LP
  91. Install Mercurial.
  92. .sp 1
  93. .EX
  94. % pm/install devel/mercurial
  95. .EE
  96. .PP
  97. Remove Mercurial, leaving any dependencies installed.
  98. .sp 1
  99. .EX
  100. % pm/remove devel/mercurial
  101. .EE
  102. .SH FILES
  103. .TP
  104. .B /contrib/packages/installed
  105. listing of currently installed packages.
  106. .TP
  107. .B /contrib/packages/*
  108. directories representing package categories.
  109. .TP
  110. .B /contrib/packages/*/*
  111. directories for individual packages.
  112. .TP
  113. .B /lib/ndb/local
  114. HTTP servers with packages for downloading.
  115. .SH SOURCE
  116. .B /rc/bin/pm
  117. .SH SEE ALSO
  118. .IR proto (2),
  119. .IR replica (1),
  120. .IR replica (8),
  121. .IR contrib (1),
  122. .SH BUGS
  123. Send bug reports to
  124. .I john@jfloren.net