mirror of
git://slackware.nl/current.git
synced 2024-12-27 09:59:16 +01:00
75a4a592e5
Mon Apr 25 13:37:00 UTC 2011 Slackware 13.37 x86_64 stable is released! Thanks to everyone who pitched in on this release: the Slackware team, the folks producing upstream code, and linuxquestions.org for providing a great forum for collaboration and testing. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. As always, thanks to the Slackware community for testing, suggestions, and feedback. :-) Have fun!
120 lines
5.3 KiB
HTML
120 lines
5.3 KiB
HTML
<!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>Making Packages</title>
|
|
<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
|
|
<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
|
|
<link rel="UP" title="Slackware Package Management" href="package-management.html" />
|
|
<link rel="PREVIOUS" title="Package Utilities"
|
|
href="package-management-package-utilities.html" />
|
|
<link rel="NEXT" title="Making Tags and Tagfiles (for setup)"
|
|
href="package-management-making-tags-and-tagfiles.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="SECT1" 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="package-management-package-utilities.html" accesskey="P">Prev</a></td>
|
|
<td width="80%" align="center" valign="bottom">Chapter 18 Slackware Package
|
|
Management</td>
|
|
<td width="10%" align="right" valign="bottom"><a
|
|
href="package-management-making-tags-and-tagfiles.html" accesskey="N">Next</a></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<hr align="LEFT" width="100%" />
|
|
</div>
|
|
|
|
<div class="SECT1">
|
|
<h1 class="SECT1"><a id="PACKAGE-MANAGEMENT-MAKING-PACKAGES"
|
|
name="PACKAGE-MANAGEMENT-MAKING-PACKAGES">18.3 Making Packages</a></h1>
|
|
|
|
<p>Making Slackware packages can be either easy or difficult. There is no specific method
|
|
for building a package. The only requirement is that the package be a tar gzipped file
|
|
and if there is a postinstallation script, it must be <tt
|
|
class="FILENAME">/install/doinst.sh</tt>.</p>
|
|
|
|
<p>If you are interested in making packages for your system or for a network that you
|
|
manage, you should have a look at the various build scripts in the Slackware source tree.
|
|
There are several methods we use for making packages.</p>
|
|
|
|
<div class="SECT2">
|
|
<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-EXPLODEPKG"
|
|
name="PACKAGE-MANAGEMENT-EXPLODEPKG">18.3.1 <tt class="COMMAND">explodepkg</tt></a></h2>
|
|
|
|
<p><tt class="COMMAND">explodepkg</tt>(8) will do the same thing that <tt
|
|
class="COMMAND">installpkg</tt> does to extract the package, but it doesn't actually
|
|
install it and it doesn't record it in the packages database. It simply extracts it to
|
|
the current directory.</p>
|
|
|
|
<p>If you look at the Slackware source tree, you will see how we use this command for
|
|
“framework” packages. These packages contain a skeleton of what the final
|
|
package will look like. They hold all the necessary filenames (zero-length), permissions,
|
|
and ownerships. The build script will cat the package contents from the source directory
|
|
to the package build directory.</p>
|
|
</div>
|
|
|
|
<div class="SECT2">
|
|
<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-MAKEPKG"
|
|
name="PACKAGE-MANAGEMENT-MAKEPKG">18.3.2 <tt class="COMMAND">makepkg</tt></a></h2>
|
|
|
|
<p><tt class="COMMAND">makepkg</tt>(8) will package up the current directory into a valid
|
|
Slackware package. It will search the tree for any symbolic links and add a creation
|
|
block to the postinstallation script for creating them during the package install. It
|
|
also warns of any zero-length files in the package tree.</p>
|
|
|
|
<p>This command is typically run after you have created your package tree.</p>
|
|
</div>
|
|
|
|
<div class="SECT2">
|
|
<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS"
|
|
name="PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS">18.3.3 SlackBuild Scripts</a></h2>
|
|
|
|
<p>Slackware packages are built in many different ways by necessity. Not all software
|
|
packages are written by their programmers to compile the same way. Many have compile time
|
|
options that are not all included in the packages Slackware uses. Perhaps you need some
|
|
of this functionality; you'll need to compile your own package then. Fortunately for many
|
|
Slackware packages, you can find SlackBuild scripts in the package's source code.</p>
|
|
|
|
<p>So what is a SlackBuild script? SlackBuild scripts are executable shell scripts that
|
|
you run as <tt class="USERNAME">root</tt> to configure, compile, and create Slackware
|
|
packages. You can freely modify these scripts in the source directory and run them to
|
|
create your own versions of the default Slackware packages.</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="package-management-package-utilities.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-making-tags-and-tagfiles.html" accesskey="N">Next</a></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td width="33%" align="left" valign="top">Package Utilities</td>
|
|
<td width="34%" align="center" valign="top"><a href="package-management.html"
|
|
accesskey="U">Up</a></td>
|
|
<td width="33%" align="right" valign="top">Making Tags and Tagfiles (for setup)</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
|