libraries and headers.</para>
<para>Making the libraries, headers and binaries available for use by
- other recipes on the host is called staging and is performed by the
- <emphasis>stage</emphasis> task in the recipe. Any recipes that contain
- items that are required to build other packages should have a
- <emphasis>stage</emphasis> task to make sure the items are all correctly
+ other recipes on the host is called staging and is performed automatically
+ derived from task <emphasis>install</emphasis>. Any recipes that contain
+ items that are required additionally to build other packages should have a
+ <emphasis>install_append</emphasis> task to make sure the items are all correctly
placed into the staging area. The following example from clamav shows the
- clamav library and header being placed into the staging area:<screen>do_stage () {
- oe_libinstall -a -so libclamav ${STAGING_LIBDIR}
- install -m 0644 libclamav/clamav.h ${STAGING_INCDIR}
+ clamav library and header being placed into the staging area:<screen>do_install_append() {
+ install -m 0755 -d ${D}${sysconfdir}/default/volatiles \
+ ${D}${sysconfdir}/init.d ${D}${docdir}/clamav
+
+ # Save the installed clamd.conf in the doc dir and then install our new one
+ install -m 0755 ${D}${sysconfdir}/clamd.conf ${D}${docdir}/clamav/clamd.conf.example
+ install -m 0755 ${WORKDIR}/clamd.conf ${D}${sysconfdir}/clamd.conf
+
+ # Save the installed freshclam.conf in the doc dir and then install our new one
+ install -m 0755 ${D}${sysconfdir}/freshclam.conf ${D}${docdir}/clamav/freshclam.conf.example
+
+ # Install our config files and init scripts
+ install -m 0755 ${WORKDIR}/freshclam.conf ${D}${sysconfdir}/freshclam.conf
+ install -m 0755 ${WORKDIR}/clamav-daemon.init ${D}${sysconfdir}/init.d/clamav-daemon
+ install -m 0755 ${WORKDIR}/clamav-freshclam.init ${D}${sysconfdir}/init.d/clamav-freshclam
+
+ # We need some /var directories
+ for i in 03_clamav-daemon 03_clamav-freshclam 03_clamav-data; do
+ install -m 0644 ${WORKDIR}/volatiles.$i ${D}${sysconfdir}/default/volatiles/$i
+ done
}</screen></para>
<para>The following from the p3scan recipe shows the path to the clamav
</listitem>
<listitem>
- <para>In the <emphasis>stage</emphasis> task for libraries to specify
- where to install the headers and libraries.</para>
+ <para>In the <emphasis>install_append</emphasis> task for libraries to specify
+ where to install the headers and libraries if not done automatically.</para>
</listitem>
</orderedlist>
<para>The following example from libpcre shows the installation of the
libraries and headers from the package into the staging area. Note the use
of the <emphasis>oe_libinstall</emphasis> helper function for installation
- of the libraries:<screen>do_stage () {
- oe_libinstall -a -so libpcre ${STAGING_LIBDIR}
- oe_libinstall -a -so libpcreposix ${STAGING_LIBDIR}
- install -m 0644 pcre.h ${STAGING_INCDIR}/
- install -m 0644 pcreposix.h ${STAGING_INCDIR}/
+ of the libraries:<screen>do_install_append () {
+ install -d ${STAGING_BINDIR}
+ install -m 0755 ${D}${bindir}/pcre-config ${STAGING_BINDIR}/
}</screen></para>
<para>The following example from the flac recipe shows the location of the
<row>
<entry>STAGING_DIR</entry>
- <entry>${TMPDIR}/staging</entry>
+ <entry>${TMPDIR}/sysroots</entry>
</row>
<row>
<para></para>
<para></para>
-</section>
\ No newline at end of file
+</section>