// -*- mode:doc; -*- Tips and tricks ~~~~~~~~~~~~~~~ [[package-name-variable-relation]] Package name, config entry name and makefile variable relationship ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ In Buildroot, there are some relation 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. Thus, it is mandatory to keep consistency between all this stuff, matching the following rules: * the _make_ target name will be 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_ `.` and `-` characters substituted with `_` (e.g.: +FOO_BAR_BOO_VERSION+). [[github-download-url]] How to add package from github ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If the package has no release version, or its version cannot be identified using tag, then the sha1 of the particular commit should be used to identify the version (the first 7 characters of the sha1 are enough): ------------------------ FOO_VERSION = 1234567 FOO_SITE = http://github.com///tarball/ ------------------------ If the package version matches a tag, then this tag should be used to identify the version: ------------------------ FOO_VERSION = v1.0 FOO_SITE = http://github.com///tarball/$(FOO_VERSION) ------------------------