| Both sides previous revision Previous revision Next revision | Previous revision |
| docs:guide-developer:feeds [2020/09/13 00:20] – references to dir 'packages' => 'package' wrtf740n | docs:guide-developer:feeds [2021/10/15 09:06] (current) – ↷ Links adapted because of a move operation bobafetthotmail |
|---|
| ====== OpenWrt Feeds ====== | ====== OpenWrt Feeds ====== |
| |
| FIXME: As of March 2019 - The 'feed' method described here no longer works. | |
| |
| In OpenWrt, a "feed" is a collection of [[docs:guide-developer:packages]] which share a common location. Feeds may reside on a remote server, in a version control system, on the local filesystem, or in any other location addressable by a single name (path/URL) over a protocol with a supported feed method. | In OpenWrt, a "feed" is a collection of [[docs:guide-developer:packages]] which share a common location. Feeds may reside on a remote server, in a version control system, on the local filesystem, or in any other location addressable by a single name (path/URL) over a protocol with a supported feed method. |
| |
| === Install === | === Install === |
| |
| FIXME: There is no longer a ''packages'' directory nor a ''feeds'' directory in the build system (December, 2018) | |
| |
| The install command installs the applicable packages and any packages on which the applicable packages depend (both direct dependencies and build dependencies). The installation process consists of creating a symbolic link from ''package/feeds/$feed_name/$package_name'' to ''feeds/$feed_name/$package_name'' so that the package will be included in the configuration process when the directory hierarchy under ''packages'' is searched. | The install command installs the applicable packages and any packages on which the applicable packages depend (both direct dependencies and build dependencies). The installation process consists of creating a symbolic link from ''package/feeds/$feed_name/$package_name'' to ''feeds/$feed_name/$package_name'' so that the package will be included in the configuration process when the directory hierarchy under ''packages'' is searched. |
| |
| ==== Creating the package directory ==== | ==== Creating the package directory ==== |
| | |
| | For this example we assume that your are in ''/home/user/openwrt'' as your base directory. |
| |
| === Adding your package to an existing feed === | === Adding your package to an existing feed === |
| |
| For this example we assume that your are in ''/home/user/openwrt'' as your base directory. | |
| |
| - You create your current project dir ''project''. | FIXME |
| - Then while in ''/home/user/openwrt/project'' | |
| - ''svn co svn://svn.openwrt.org/openwrt/trunk openwrt'' (for the OpenWRT base system) | |
| - ''svn co svn://svn.openwrt.org/openwrt/packages packages'' (for the packages feed) | |
| - Add your package in the appropriate subdirectory under ''/home/user/openwrt/project/packages'' | |
| |
| === Creating your own feed === | === Adding your package to your own feed === |
| - Create your project dir and get trunk, as above | |
| - Create your package dir and copy your package into it (e.g. ''cp packagedir /home/user/openwrt/project/customfeed/''), so that your package is under (in this example) ''/home/user/openwrt/project/customfeed/packagedir'' | |
| |
| ==== Using the feed ==== | For this example we assume that you name your feed ''custom'' and your project is called ''helloworld'' and its openwrt Makefile is located at ''/usr/src/openwrt/custom-feed/helloworld/Makefile''. |
| - Edit your ''feeds.conf'' (i.e. ''/home/user/openwrt/project/openwrt/feeds.conf'') | |
| - Add a new line to access the feed (and in the case of adding to the packages feed comment out the normal packages feed.) | |
| - e.g. | |
| |
| | ''#srv-svn packages %%svn://svn.openwrt.org/openwrt/packages%% | - Edit ''/home/user/openwrt/feeds.conf.default'' |
| src-link customfeed /home/user/openwrt/project/packages'' | | - Add a new line for your feed. <code>src-link custom /usr/src/openwrt/custom-feed/</code> |
| |
| or in the case of the second example: | |
| |
| | ''src-link customfeed /home/user/openwrt/project/customfeed'' | | - Update the feed: from the ''<buildroot dir>'' (e.g. ''/home/user/openwrt'') do: <code>./scripts/feeds update custom</code> |
| | - And then install it <code>./scripts/feeds install -a -p custom</code> |
| |
| - Update the feed: from the ''<buildroot dir>'' (e.g. ''/home/user/openwrt/project/openwrt'') do: <code>./scripts/feeds update customfeed</code> | |
| - And then install it <code>./scripts/feeds install -p customfeed</code> | ==== Using the feed ==== |
| - Now your package(s) should be available when you do <code>make menuconfig</code> | - Now your package(s) should be available when you do <code>make menuconfig</code> |
| |
| |
| ==== Documentation ==== | ==== Documentation ==== |
| - [[docs:guide-developer:build-system:start|OpenWrt Buildroot – About]] | - [[docs:guide-developer:toolchain:start|OpenWrt Buildroot – About]] |
| - [[docs:guide-developer:build-system:install-buildsystem|OpenWrt Buildroot – Installation]] | - [[docs:guide-developer:toolchain:install-buildsystem|OpenWrt Buildroot – Installation]] |
| - [[docs:guide-developer:build-system:use-buildsystem|OpenWrt Buildroot – Usage]] | - [[docs:guide-developer:toolchain:use-buildsystem|OpenWrt Buildroot – Usage]] |
| - OpenWrt Buildroot – Feeds | - OpenWrt Buildroot – Feeds |
| - [[docs:techref:buildroot|OpenWrt Buildroot – Technical Reference]] {{:meta:icons:tango:48px-construction.svg.png?nolink&16}} this article needs //your// attention. | - [[docs:techref:buildroot|OpenWrt Buildroot – Technical Reference]] {{:meta:icons:tango:48px-construction.svg.png?nolink&16}} this article needs //your// attention. |