version 1.60, 2004/11/23 08:05:24 |
version 1.61, 2005/06/10 10:37:35 |
|
|
<b>make plist</b> which makes the file PLIST in the <i>pkg</i> directory. |
<b>make plist</b> which makes the file PLIST in the <i>pkg</i> directory. |
This file is a candidate packing list. |
This file is a candidate packing list. |
<p> |
<p> |
Beware! The files are found by timestamp. This means it does NOT: |
|
<ul><li> |
|
list any files installed with `tar' as their timestamp |
|
will not change and thus won't be found by `find'. |
|
<li> |
|
Update the <code>info/dir</code> file if .info files are added. |
|
Also, be sure that the <code>info/dir</code> is not part of the PLIST. |
|
<li> |
|
Try to do anything special with links or symbolic links. A |
|
cursory test of tar shows it does the right thing with links |
|
and symbolic links so I don't see why we need to special case |
|
anything in the packing list. But still... |
|
</ul> |
|
<p> |
|
Peruse `PLIST' and verify that everything was installed and |
Peruse `PLIST' and verify that everything was installed and |
that it was installed in the proper locations. Anything not installed |
that it was installed in the proper locations. Anything not installed |
can be added to a port Makefile `post-install' rule. |
can be added to a port Makefile `post-install' rule. |
|
|
<p> |
<p> |
Ports that install shared libraries will have another file called PFRAG.shared. |
Ports that install shared libraries will have another file called PFRAG.shared. |
<ul><li> |
<ul><li> |
|
|
support shared libraries. |
support shared libraries. |
</ul> |
</ul> |
|
|
<br><li> |
|
Keep repeating uninstall and reinstall until perfect. |
|
<em>Perfect</em> is when everything installs and uninstalls |
|
in its proper location. `pkg_delete <pkg_name>' is |
|
used to uninstall. `sudo make reinstall' is used to reinstall. See the |
|
`pkg_create' man page for other commands that may be added |
|
to PLIST to ensure all is cleaned up. After an uninstall the command: |
|
<pre> |
|
$ find /usr/local -newer w-${PKGNAME}${FLAVOR_EXT}/fake-${MACHINE_ARCH}[-${FLAVOR}]/.install_started -print |
|
</pre> |
|
should only list standard directory names. |
|
|
|
<br><br><li> |
<br><br><li> |
Test the packaging. |
Test the packaging. |
After the port installs correctly issue the command |
After the port installs correctly issue the command |
<code>make package</code> to create a package. To test the |
<code>make package</code> to create a package. To test the |
package first do a <code>pkg_delete</code> and then do a |
package first do a <code>pkg_add</code> and then do a |
<code>pkg_add</code> The results after an add should EXACTLY |
<code>pkg_delete</code> |
match the results after a `make install'. |
<br><br><li> |
|
Verify dependencies. Peruse your logs to verify the port did detect what is |
|
mentioned in DEPENDS, and nothing more. Check names for hidden dependencies |
|
(stuff that exists elsewhere in the ports tree and might be detected if the |
|
user installs some other ports first). |
|
<br><br><li> |
|
Verify shared library dependencies. Run <code>make lib-depends-check</code> |
|
and add every <code>LIB_DEPENDS</code> or <code>WANTLIB</code> annotation |
|
that is needed until it runs cleanly (run <code>make clean=package</code> |
|
to remove the old package after updating the port's Makefile). |
|
<br><br><li> |
|
Check for regression tests, and whether they run cleanly. Set |
|
<code>NO_REGRESS=Yes</code> if a port has no test infrastructure. |
|
Please note: do not set <code>NO_REGRESS</code> if a port has an empty |
|
regression infrastructure. |
<br><br><li> |
<br><br><li> |
Mail <a href="mailto:ports@openbsd.org">ports@openbsd.org</a> with a short |
Mail <a href="mailto:ports@openbsd.org">ports@openbsd.org</a> with a short |
note asking for comments and testing. Attach the port to this email and |
note asking for comments and testing. Attach the port to this email and |