summaryrefslogtreecommitdiff
path: root/misc/slackbook/html/package-management.html
diff options
context:
space:
mode:
Diffstat (limited to 'misc/slackbook/html/package-management.html')
-rw-r--r--misc/slackbook/html/package-management.html148
1 files changed, 148 insertions, 0 deletions
diff --git a/misc/slackbook/html/package-management.html b/misc/slackbook/html/package-management.html
new file mode 100644
index 00000000..e6ddc32b
--- /dev/null
+++ b/misc/slackbook/html/package-management.html
@@ -0,0 +1,148 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="generator" content="HTML Tidy, see www.w3.org" />
+<title>Slackware Package Management</title>
+<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
+<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
+<link rel="PREVIOUS" title="Saving Files" href="emacs-saving-files.html" />
+<link rel="NEXT" title="Package Utilities"
+href="package-management-package-utilities.html" />
+<link rel="STYLESHEET" type="text/css" href="docbook.css" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+</head>
+<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
+alink="#0000FF">
+<div class="NAVHEADER">
+<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
+cellspacing="0">
+<tr>
+<th colspan="3" align="center">Slackware Linux Essentials</th>
+</tr>
+
+<tr>
+<td width="10%" align="left" valign="bottom"><a href="emacs-saving-files.html"
+accesskey="P">Prev</a></td>
+<td width="80%" align="center" valign="bottom"></td>
+<td width="10%" align="right" valign="bottom"><a
+href="package-management-package-utilities.html" accesskey="N">Next</a></td>
+</tr>
+</table>
+
+<hr align="LEFT" width="100%" />
+</div>
+
+<div class="CHAPTER">
+<h1><a id="PACKAGE-MANAGEMENT" name="PACKAGE-MANAGEMENT"></a>Chapter 18 Slackware Package
+Management</h1>
+
+<div class="TOC">
+<dl>
+<dt><b>Table of Contents</b></dt>
+
+<dt>18.1 <a href="package-management.html#PACKAGE-MANAGEMENT-OVERVIEW">Overview of
+Package Format</a></dt>
+
+<dt>18.2 <a href="package-management-package-utilities.html">Package Utilities</a></dt>
+
+<dt>18.3 <a href="package-management-making-packages.html">Making Packages</a></dt>
+
+<dt>18.4 <a href="package-management-making-tags-and-tagfiles.html">Making Tags and
+Tagfiles (for setup)</a></dt>
+</dl>
+</div>
+
+<p>A software package is a bundle of related programs that are ready for you to install.
+When you download a source code archive, you have to configure, compile, and install it
+by hand. With a software package, this has already been done for you. All that you have
+to do is install the package. Another handy feature of using software packages is that it
+is very easy to remove and upgrade them, if you so desire. Slackware comes with programs
+for all your package management needs. You can install, remove, upgrade, make, and
+examine packages very easily.</p>
+
+<p>There's a myth that's been going around ever since RedHat debuted RedHat Package
+Manager, that Slackware has no package management tool. This simply couldn't be further
+from the truth. Slackware has always included a package manager, even before RedHat
+existed. While not as full-featured or as ubiquitous as rpm (or for that matter deb), <tt
+class="COMMAND">pkgtool</tt> and its associated programs are every bit as good at
+installing packages as rpm. The truth about <tt class="COMMAND">pkgtool</tt> is not that
+it doesn't exist, but that it doesn't do any dependency checking.</p>
+
+<p>Apparently many people in the Linux community think that a packager manager must by
+definition include dependency checking. Well, that simply isn't the case, as Slackware
+most certainly does not. This is not to say that Slackware packages don't have
+dependencies, but rather that its package manager doesn't check for them. Dependency
+management is left up to the sysadmin, and that's the way we like it.</p>
+
+<div class="SECT1">
+<h1 class="SECT1"><a id="PACKAGE-MANAGEMENT-OVERVIEW"
+name="PACKAGE-MANAGEMENT-OVERVIEW">18.1 Overview of Package Format</a></h1>
+
+<p>Before learning the utilities, you should become familiar with the format of a
+Slackware package. In Slackware, a package is simply a tar archive file that has been
+compressed with <tt class="COMMAND">gzip</tt>. Packages are built to be extracted in the
+root directory.</p>
+
+<p>Here is a fictitious program and its example package:</p>
+
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="SCREEN">
+./
+usr/
+usr/bin/
+usr/bin/makehejaz
+usr/doc/
+usr/doc/makehejaz-1.0/
+usr/doc/makehejaz-1.0/COPYING
+usr/doc/makehejaz-1.0/README
+usr/man/
+usr/man/man1
+usr/man/man1/makehejaz.1.gz
+install/
+install/doinst.sh
+</pre>
+</td>
+</tr>
+</table>
+
+<p>The package system will extract this file in the root directory to install it. An
+entry in the package database will be created that contains the contents of this package
+so that it can be upgraded or removed later.</p>
+
+<p>Notice the <tt class="FILENAME">install/</tt> subdirectory. This is a special
+directory that can contain a postinstallation script called <tt
+class="FILENAME">doinst.sh</tt>. If the package system finds this file, it will execute
+it after installing the package.</p>
+
+<p>Other scripts can be embedded in the package, but those are discussed more in detail
+in <a href="package-management-making-packages.html#PACKAGE-MANAGEMENT-MAKEPKG">Section
+18.3.2</a> below.</p>
+</div>
+</div>
+
+<div class="NAVFOOTER">
+<hr align="LEFT" width="100%" />
+<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
+cellspacing="0">
+<tr>
+<td width="33%" align="left" valign="top"><a href="emacs-saving-files.html"
+accesskey="P">Prev</a></td>
+<td width="34%" align="center" valign="top"><a href="index.html"
+accesskey="H">Home</a></td>
+<td width="33%" align="right" valign="top"><a
+href="package-management-package-utilities.html" accesskey="N">Next</a></td>
+</tr>
+
+<tr>
+<td width="33%" align="left" valign="top">Saving Files</td>
+<td width="34%" align="center" valign="top">&nbsp;</td>
+<td width="33%" align="right" valign="top">Package Utilities</td>
+</tr>
+</table>
+</div>
+</body>
+</html>
+