diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2011-04-25 13:37:00 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2018-05-31 22:45:18 +0200 |
commit | 75a4a592e5ccda30715f93563d741b83e0dcf39e (patch) | |
tree | 502f745607e77a2c4386ad38d818ddcafe81489c /slackbook/html/package-management-making-packages.html | |
parent | b76270bf9e6dd375e495fec92140a79a79415d27 (diff) | |
download | current-75a4a592e5ccda30715f93563d741b83e0dcf39e.tar.gz |
Slackware 13.37slackware-13.37
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!
Diffstat (limited to 'slackbook/html/package-management-making-packages.html')
-rw-r--r-- | slackbook/html/package-management-making-packages.html | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/slackbook/html/package-management-making-packages.html b/slackbook/html/package-management-making-packages.html new file mode 100644 index 00000000..f5812775 --- /dev/null +++ b/slackbook/html/package-management-making-packages.html @@ -0,0 +1,120 @@ +<!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> + |