123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- // -*- mode:doc; -*-
- // vim: set syntax=asciidoc:
- === Tips and tricks
- [[package-name-variable-relation]]
- ==== Package name, config entry name and makefile variable relationship
- In Buildroot, there is some relationship between:
- * the _package name_, which is the package directory name (and the
- name of the +*.mk+ file);
- * the config entry name that is declared in the +Config.in+ file;
- * the makefile variable prefix.
- It is mandatory to maintain consistency between these elements,
- using the following rules:
- * the package directory and the +*.mk+ name are the _package name_
- itself (e.g.: +package/foo-bar_boo/foo-bar_boo.mk+);
- * the _make_ target name is the _package name_ itself (e.g.:
- +foo-bar_boo+);
- * the config entry is the upper case _package name_ with `.` and `-`
- characters substituted with `_`, prefixed with +BR2_PACKAGE_+ (e.g.:
- +BR2_PACKAGE_FOO_BAR_BOO+);
- * the +*.mk+ file variable prefix is the upper case _package name_
- with `.` and `-` characters substituted with `_` (e.g.:
- +FOO_BAR_BOO_VERSION+).
- [[github-download-url]]
- ==== How to add a package from GitHub
- Packages on GitHub often don't have a download area with release tarballs.
- However, it is possible to download tarballs directly from the repository
- on GitHub. As GitHub is known to have changed download mechanisms in the
- past, the 'github' helper function should be used as shown below.
- ------------------------
- # Use a tag or a full commit ID
- FOO_VERSION = v1.0
- FOO_SITE = $(call github,<user>,<package>,$(FOO_VERSION))
- ------------------------
- .Notes
- - The FOO_VERSION can either be a tag or a commit ID.
- - The tarball name generated by github matches the default one from
- Buildroot (e.g.: +foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz+),
- so it is not necessary to specify it in the +.mk+ file.
- - When using a commit ID as version, you should use the full 40 hex characters.
- If the package you wish to add does have a release section on GitHub, the
- maintainer may have uploaded a release tarball, or the release may just point
- to the automatically generated tarball from the git tag. If there is a
- release tarball uploaded by the maintainer, we prefer to use that since it
- may be slightly different (e.g. it contains a configure script so we don't
- need to do AUTORECONF).
- You can see on the release page if it's an uploaded tarball or a git tag:
- image::github_hash_mongrel2.png[]
- - If it looks like the image above then it was uploaded by the
- maintainer and you should use that link (in that example:
- 'mongrel2-v1.9.2.tar.bz2') to specify +FOO_SITE+, and not use the
- 'github' helper.
- - On the other hand, if there's is *only* the "Source code" link, then
- it's an automatically generated tarball and you should use the
- 'github' helper function.
|