Line 1: |
Line 1: |
| | | |
− | This article provides a basic introduction to packaging software for distribution to other [[IRIX]] systems through the [[Nekoware]] software archive. The guidelines presented here are exactly that: ''guidelines.'' Please ask in the forums at [http://forums.nekochan.net Nekochan] if you encounter any problems following this guide or need help building software from source. | + | This article provides a basic introduction to packaging software for distribution to other [[IRIX]] systems through the [[Nekoware]] software archive. The guidelines presented here are exactly that: ''guidelines.'' |
| | | |
| ==Packages== | | ==Packages== |
Line 19: |
Line 19: |
| | | |
| ===Other Tools=== | | ===Other Tools=== |
− | Other tools may be required to build a particular piece of software that are not present in the [[IRIX]] environment. Such tools as [[GNU]] make and autoconf are commonly used to build Open Source software, but are not distributed with [[IRIX]]. If your software requires any of these tools, be sure to install the latest version from [[Nekoware]] and document the dependency on these tools during the packaging process. | + | Other tools may be required to build a particular piece of software that are not present in the [[IRIX]] environment. Such tools as GNU make and autoconf are commonly used to build Open Source software, but are not distributed with [[IRIX]]. If your software requires any of these tools, be sure to install the latest version from [[Nekoware]] and document the dependency on these tools during the packaging process. |
| | | |
| ==Build Environment== | | ==Build Environment== |
Line 46: |
Line 46: |
| Defining <tt>CC</tt> and <tt>CXX</tt> specifies the [[MIPSpro]] compiler suite. The <tt>CFLAGS</tt> option indicates building for MIPS IV, that being any [[MIPS]] processor R5000 or newer (see above). | | Defining <tt>CC</tt> and <tt>CXX</tt> specifies the [[MIPSpro]] compiler suite. The <tt>CFLAGS</tt> option indicates building for MIPS IV, that being any [[MIPS]] processor R5000 or newer (see above). |
| | | |
− | Also present are additional optimizations being done for the R10000 platform (more specifically the [[Origin200]] [[IP27]]), which is a common processor among the [[SGI O2]], [[SGI Octane]], and [[SGI Origin]] platforms. This build will work on R5000, but will see additional optimization on R10000 or better. If the software is optimization-friendly, e.g. mplayer or blender - it is possible to provide different builds, optimized for specific processors and have inst or swmgr automatically select the best build during installation. | + | Also present are additional optimizations being done for the R10000 platform (more specifically the [[SGI Origin 200]] [[IP27]]), which is a common processor among the [[SGI O2]], [[SGI Octane]], and [[SGI Origin]] platforms. This build will work on R5000, but will see additional optimization on R10000 or better. If the software is optimization-friendly, e.g. mplayer or blender - it is possible to provide different builds, optimized for specific processors and have inst or swmgr automatically select the best build during installation. |
| | | |
| Alternatively, the <tt>-TARG</tt> option could be disgarded entirely to build without any platform-specific optimizations whatsoever. Many [[Nekoware]] packages use only <tt>-03 -mips4</tt>. | | Alternatively, the <tt>-TARG</tt> option could be disgarded entirely to build without any platform-specific optimizations whatsoever. Many [[Nekoware]] packages use only <tt>-03 -mips4</tt>. |
Line 258: |
Line 258: |
| ==Postprocessing== | | ==Postprocessing== |
| | | |
− | Certain installed files may require some kind of postprocessing to integrate or register them with e.g. a service or database that is part of another package. The steps necessary will either be documented in the installation instructions or silently performed as part of ''make install''. In the latter case, you will have to carefully inspect the output and determine if any special action needs to be taken. Examples of files that require postprocessing are Icons or texinfo pages. While the tools to install icons are likely already installed on the system, the ''install-info'' tool would warrant an additional prerequisite in the spec file for the subsystem containing the file. When you have determined the commands required, add an appropriate exitop to the idb file. For a texinfo file, the exitop may look as follows: | + | Certain installed files may require some kind of post-processing to integrate or register them with e.g. a service or database that is part of another package. The steps necessary will either be documented in the installation instructions or silently performed as part of ''make install''. In the latter case, you will have to carefully inspect the output and determine if any special action needs to be taken. Examples of files that require post-processing are Icons or texinfo pages. While the tools to install icons are likely already installed on the system, the ''install-info'' tool would warrant an additional prerequisite in the spec file for the subsystem containing the file. When you have determined the commands required, add an appropriate exitop to the idb file. For a texinfo file, the exitop may look as follows: |
| | | |
| f 0644 root sys usr/nekoware/info/foo.info usr/nekoware/info/foo.info neko_foo.man.info exitop('if test -x $rbase/usr/nekoware/bin/install-info; then chroot $rbase /sbin/sh -c "/usr/nekoware/bin/install-info --info-dir=/usr/nekoware/info /usr/nekoware/info/foo.info;" ; fi') | | f 0644 root sys usr/nekoware/info/foo.info usr/nekoware/info/foo.info neko_foo.man.info exitop('if test -x $rbase/usr/nekoware/bin/install-info; then chroot $rbase /sbin/sh -c "/usr/nekoware/bin/install-info --info-dir=/usr/nekoware/info /usr/nekoware/info/foo.info;" ; fi') |
Line 268: |
Line 268: |
| == Standardization of nekoware == | | == Standardization of nekoware == |
| | | |
− | Per the discussion in [http://forums.nekochan.net/viewtopic.php?f=15&t=16727314 this thread] the package release notes should be installed by default. Also please put man pages in /usr/nekoware/man rather than /usr/nekoware/share/man, etc. You may have to override some default locations (e.g. "--mandir=$PREFIX/man" instead of "--mandir=$PREFIX/share/man").
| + | The package release notes should be installed by default. Also please put man pages in /usr/nekoware/man rather than /usr/nekoware/share/man, etc. You may have to override some default locations (e.g. "--mandir=$PREFIX/man" instead of "--mandir=$PREFIX/share/man"). |
| | | |
| == Quality standards == | | == Quality standards == |
Line 284: |
Line 284: |
| | | |
| == Support == | | == Support == |
− |
| |
− | Relay chat on channel ''#devel'' on ''irc.nekohan.net'' is the best place to ask questions about packaging and developing/porting on [[IRIX]].
| |
| | | |
| See also [[Installing xchat]] on how to set up relay chat on [[IRIX]]. | | See also [[Installing xchat]] on how to set up relay chat on [[IRIX]]. |