diff options
Diffstat (limited to 'documentation/dev-manual')
-rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 180 |
1 files changed, 106 insertions, 74 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index bc78a08adc..fe34e8ecd8 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml | |||
@@ -3609,10 +3609,9 @@ | |||
3609 | <title>Setting Up Runtime Package Management</title> | 3609 | <title>Setting Up Runtime Package Management</title> |
3610 | 3610 | ||
3611 | <para> | 3611 | <para> |
3612 | For RPM, IPK, and DEB package formats, it is possible to set | 3612 | For supported package formats, it is possible to set |
3613 | up a repository that is a host-based | 3613 | up a repository that is a host-based package feed from which |
3614 | package feed from which you can install packages on the | 3614 | you can install packages on the target system during runtime. |
3615 | target system during runtime. | ||
3616 | Doing so is optional and depends on the following: | 3615 | Doing so is optional and depends on the following: |
3617 | <itemizedlist> | 3616 | <itemizedlist> |
3618 | <listitem><para> | 3617 | <listitem><para> |
@@ -3637,23 +3636,30 @@ | |||
3637 | </itemizedlist> | 3636 | </itemizedlist> |
3638 | </para> | 3637 | </para> |
3639 | 3638 | ||
3640 | <section id='runtime-package-management-deb-rpm'> | 3639 | <para> |
3641 | <title>Using DEB and RPM</title> | 3640 | The following list provides steps for setting up the optional |
3642 | 3641 | repository regardless of the package format. | |
3643 | <para> | 3642 | Once you work through these generic steps, see the |
3644 | Following are the steps to set up the optional repository. | 3643 | "<link linkend='runtime-package-management-deb-rpm'>Using RPM</link>" |
3645 | This example assumes you are using RPM and the Apache 2 | 3644 | section or the |
3646 | server: | 3645 | "<link linkend='runtime-package-management-ipk'>Using IPK</link>" |
3647 | <orderedlist> | 3646 | section for remaining steps specific to the package type. |
3648 | <listitem><para> | 3647 | <note> |
3649 | Add the directory to your Apache configuration, which | 3648 | The example assumes you are using the Apache 2 server: |
3650 | you can find at | 3649 | </note> |
3651 | <filename>/etc/httpd/conf/httpd.conf</filename>. | 3650 | <orderedlist> |
3652 | Use commands similar to these on the development system. | 3651 | <listitem><para> |
3653 | These example commands assume a top-level | 3652 | Add the directory to your Apache configuration, which |
3654 | <link linkend='source-directory'>Source Directory</link> | 3653 | you can find at |
3655 | named <filename>poky</filename> in your home directory: | 3654 | <filename>/etc/httpd/conf/httpd.conf</filename>. |
3656 | <literallayout class='monospaced'> | 3655 | Use commands similar to these on the development system. |
3656 | These example commands assume a top-level | ||
3657 | <link linkend='source-directory'>Source Directory</link> | ||
3658 | named <filename>poky</filename> in your home directory. | ||
3659 | The example also assumes an RPM package type. | ||
3660 | If you are using a different package type, such as | ||
3661 | IPK, use "ipk" in the pathnames: | ||
3662 | <literallayout class='monospaced'> | ||
3657 | <VirtualHost *:80> | 3663 | <VirtualHost *:80> |
3658 | .... | 3664 | .... |
3659 | Alias /rpm ~/poky/build/tmp/deploy/rpm | 3665 | Alias /rpm ~/poky/build/tmp/deploy/rpm |
@@ -3661,53 +3667,62 @@ | |||
3661 | Options +Indexes | 3667 | Options +Indexes |
3662 | </Directory> | 3668 | </Directory> |
3663 | </VirtualHost> | 3669 | </VirtualHost> |
3664 | </literallayout> | 3670 | </literallayout> |
3665 | </para></listitem> | 3671 | </para></listitem> |
3666 | <listitem><para> | 3672 | <listitem><para> |
3667 | Reload the Apache configuration as follows. | 3673 | Reload the Apache configuration as follows. |
3668 | For all commands, be sure you have root privileges. | 3674 | For all commands, be sure you have root privileges. |
3669 | </para> | 3675 | </para> |
3670 | <para> | 3676 | <para> |
3671 | If your development system is using Fedora or | 3677 | If your development system is using Fedora or |
3672 | CentOS, use the following: | 3678 | CentOS, use the following: |
3673 | <literallayout class='monospaced'> | 3679 | <literallayout class='monospaced'> |
3674 | service httpd reload | 3680 | service httpd reload |
3675 | </literallayout> | 3681 | </literallayout> |
3676 | For Ubuntu and Debian, use the following: | 3682 | For Ubuntu and Debian, use the following: |
3677 | <literallayout class='monospaced'> | 3683 | <literallayout class='monospaced'> |
3678 | /etc/init.d/apache2 reload | 3684 | /etc/init.d/apache2 reload |
3679 | </literallayout> | 3685 | </literallayout> |
3680 | For OpenSUSE, use the following: | 3686 | For OpenSUSE, use the following: |
3681 | <literallayout class='monospaced'> | 3687 | <literallayout class='monospaced'> |
3682 | /etc/init.d/apache2 reload | 3688 | /etc/init.d/apache2 reload |
3683 | </literallayout> | 3689 | </literallayout> |
3684 | </para></listitem> | 3690 | </para></listitem> |
3685 | <listitem><para> | 3691 | <listitem><para> |
3686 | Run BitBake on <filename>package-index</filename> | 3692 | Re-generate the package index: |
3687 | on the host | 3693 | <literallayout class='monospaced'> |
3688 | <literallayout class='monospaced'> | ||
3689 | bitbake package-index | 3694 | bitbake package-index |
3690 | </literallayout> | 3695 | </literallayout> |
3691 | </para></listitem> | 3696 | </para></listitem> |
3692 | <listitem><para> | 3697 | <listitem><para> |
3693 | Change your working directory to | 3698 | If you are using Security-Enhanced Linux (SELinux), |
3694 | <filename>tmp/deploy/rpm</filename> in the | 3699 | you need to label the files as being accessible |
3695 | <link linkend='build-directory'>Build Directory</link>. | 3700 | through Apache. |
3696 | </para></listitem> | 3701 | Use the following command from the development host. |
3697 | <listitem><para> | 3702 | Again, the example assumes RPM package types: |
3698 | If you are using Security-Enhanced Linux (SELinux), | 3703 | <literallayout class='monospaced'> |
3699 | you need to label the files as being accessible | 3704 | chcon -R -h -t httpd_sys_content_t tmp/deploy/rpm |
3700 | through Apache. | 3705 | </literallayout> |
3701 | Use the following command from the development host: | 3706 | </para></listitem> |
3702 | <literallayout class='monospaced'> | 3707 | </orderedlist> |
3703 | chcon -R -h -t httpd_sys_content_t . | 3708 | </para> |
3704 | </literallayout> | 3709 | |
3705 | </para></listitem> | 3710 | <section id='runtime-package-management-deb-rpm'> |
3711 | <title>Using RPM</title> | ||
3712 | |||
3713 | <para> | ||
3714 | Following are RPM-specific steps needed for setting up the | ||
3715 | optional repository. | ||
3716 | Perform these steps after working through the common steps | ||
3717 | at the start of this section: | ||
3718 | <orderedlist> | ||
3706 | <listitem><para> | 3719 | <listitem><para> |
3707 | On the target machine, add the repository to Smart | 3720 | On the target machine, add the repository to Smart |
3708 | for every package architecture. | 3721 | for every package architecture. |
3709 | To see the list of package architectures, just list | 3722 | To see the list of package architectures, list |
3710 | the contents of the directory.</para> | 3723 | the contents of the |
3724 | setting-up-runtime-package-management <filename>tmp/deploy/rpm</filename> directory | ||
3725 | on the host.</para> | ||
3711 | <para> | 3726 | <para> |
3712 | As an example, suppose you list the contents of the | 3727 | As an example, suppose you list the contents of the |
3713 | directory and discover three architectures: | 3728 | directory and discover three architectures: |
@@ -3715,7 +3730,7 @@ | |||
3715 | and <filename>qemux86</filename>. | 3730 | and <filename>qemux86</filename>. |
3716 | Given this example, use the following commands: | 3731 | Given this example, use the following commands: |
3717 | <literallayout class='monospaced'> | 3732 | <literallayout class='monospaced'> |
3718 | smart channel ‐‐add all type=rpm-md baseurl=http:server.name/rpm/all | 3733 | smart channel ‐‐add all type=rpm-md baseurl=http://server.name/rpm/all |
3719 | smart channel ‐‐add i585 type=rpm-md baseurl=http://server.name/rpm/i586 | 3734 | smart channel ‐‐add i585 type=rpm-md baseurl=http://server.name/rpm/i586 |
3720 | smart channel ‐‐add qemux86 type=rpm-md baseurl=http://server.name/rpm/qemux86 | 3735 | smart channel ‐‐add qemux86 type=rpm-md baseurl=http://server.name/rpm/qemux86 |
3721 | </literallayout> | 3736 | </literallayout> |
@@ -3728,6 +3743,9 @@ | |||
3728 | </literallayout> | 3743 | </literallayout> |
3729 | </para></listitem> | 3744 | </para></listitem> |
3730 | </orderedlist> | 3745 | </orderedlist> |
3746 | You can now use the <filename>smart query</filename> | ||
3747 | and <filename>smart install</filename> commands to find | ||
3748 | and install packages from the repositories. | ||
3731 | </para> | 3749 | </para> |
3732 | </section> | 3750 | </section> |
3733 | 3751 | ||
@@ -3735,18 +3753,32 @@ | |||
3735 | <title>Using IPK</title> | 3753 | <title>Using IPK</title> |
3736 | 3754 | ||
3737 | <para> | 3755 | <para> |
3738 | If your packages are IPK, you can install packages onto an | 3756 | Following are IPK-specific steps needed for setting up the |
3739 | existing running system by first sharing the | 3757 | optional repository. |
3740 | <filename>tmp/deploy/ipk/</filename> directory | 3758 | Perform these steps after working through the common steps |
3741 | through a web server and then by changing | 3759 | at the start of this section: |
3742 | <filename>/etc/opkg/base-feeds.conf</filename> | 3760 | <orderedlist> |
3743 | to point at the shared server. | 3761 | <listitem><para>Install packages onto an |
3744 | Following is an example: | 3762 | existing running system by first sharing the |
3745 | <literallayout class='monospaced'> | 3763 | <filename>tmp/deploy/ipk/</filename> directory |
3746 | $ src/gz all http://www.mysite.com/somedir/deploy/ipk/all | 3764 | through a web server and then by changing |
3747 | $ src/gz armv7a http://www.mysite.com/somedir/deploy/ipk/armv7a | 3765 | <filename>/etc/opkg/base-feeds.conf</filename> |
3748 | $ src/gz beagleboard http://www.mysite.com/somedir/deploy/ipk/beagleboard | 3766 | to point at the shared server. |
3749 | </literallayout> | 3767 | Following is an example: |
3768 | <literallayout class='monospaced'> | ||
3769 | src/gz all http://www.mysite.com/somedir/deploy/ipk/all | ||
3770 | src/gz armv7a http://www.mysite.com/somedir/deploy/ipk/armv7a | ||
3771 | src/gz beagleboard http://www.mysite.com/somedir/deploy/ipk/beagleboard | ||
3772 | </literallayout></para></listitem> | ||
3773 | <listitem><para>From the target machine, fetch the | ||
3774 | repository information using this command: | ||
3775 | <literallayout class='monospaced'> | ||
3776 | opkg update | ||
3777 | </literallayout></para></listitem> | ||
3778 | </orderedlist> | ||
3779 | You can now use the <filename>opkg list</filename> and | ||
3780 | <filename>opkg install</filename> commands to find and | ||
3781 | install packages from the repositories. | ||
3750 | </para> | 3782 | </para> |
3751 | </section> | 3783 | </section> |
3752 | </section> | 3784 | </section> |