Age | Commit message (Collapse) | Author |
|
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Don't use the original data when fetching as there may be translator-specific
overrides in effect on SRC_URI.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Instead of emitting an error log and later hitting unbound variables, emit a
warning log and set the expected values to empty strings.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Add "srpm" to OVERRIDES when archiving and translating so that
translation-specific modifications can be made to recipes.
Based on a series of patches by Patrick Ohly.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Use _srcrpm in task and function names so that _srpm is free to be used as an
override.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
This has two advantages:
- it better describes what the task does ("translator - translate
into what?!")
- it allows using "translator" as override
[ Rename changed from srpm to srpms - RB ]
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
parse_packageconfig() causes lots of expansions which are prone to break due to
Bitbake's poor handling of Python fragments. For example this string value when
expanded causes a parse failure due to the embedded }:
${@some_python("%{foo}")}
Instead of producing useless errors (which is due to bb.data.exec_func()
silently failing), catch the exception and log it for clarity.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
The reference to ${EXTRA_OECONF} in the replacement autotools_do_configure can't
be expanded until we want it to, but that's tricky/ugly if it is in the bbclass.
Solve this by starting to move code to a new Python helper module.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Refactor print_deps() so that its just a wrapper around prepare_deps().
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
The autotools_do_configure also checks and thus works for
recipes which do not have all the files that autoreconf and/or
configure expect. Do likewise in .spec files.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
One usage of the the hook is injecting a %manifest line into the
%package sections of each (sub-)package and the necessary Source
entry.
Doing this via the general-purpose post-processing hook would have
been more work and led to code-duplication, because the code adding
the extra information would have had to parse the .spec file again and
re-do the package renaming.
The approach for the hook is the same as for a similar hook in
package_rpm.bbclass: setting SRPM_EXTRA_PKGDATA to 1 enables a call to
package_srpm_extra_pkgdata(), which must be a Python method provided
by the user of the hook. This is simpler than looking up many
different hook methods by name.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
When making a sub-package depend on some other package from the same
recipe, we need to take the epoch into account. Relevant for recipes
like libnl and glib-2.0.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
In some recipes (for example, expat), the -I parameters for aclocal is
important. We need to use the same logic as in autotools_do_configure
to determine them. In fact, if autotools.bbclass was refactored slightly
we could call that code snippet directly.
Creating a separate srpm_autotools_do_configure shell function also
makes the code a bit easier.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Uses regular expressions as in SRPM_RENAME instead of string mapping
as in SRPM_REWRITE_DEPENDS. Useful for replacing perl-module and python-module
runtime dependencies in Tizen:
SRPM_REWRITE_RUNTIME_DEPS_append = " \
perl-module-.*=perl \
python-core=python \
python-textutils=python \
"
Uses the same code as SRPM_RENAME, thus the refactoring. The actual
replacement happens after turning one versioned dependency into a
single string and before concatenating all of them;
bb.utils.join_deps() had to be copied to inject the regex replacement.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Several arch-specific variables get inserted into generated .spec
files, for example in boost. We need to use the corresponding spec macros
to avoid arch dependencies in the .spec file.
Also makes the toolchain replacement simpler, because we don't need to
list all the possible compilerlibs and gcc variants.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
This makes the right hand side a comma-separated list that gets
expanded into one dependency per entry. Needed for
gtk-doc-stub-native=gtk-doc,gobject-introspection.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Some recipes patch autotools input files, in which case we get
autotools version mismatches during "make" when it tries to rebuild
the output files. We must recreate all files using the current set
of autotools.
Even if this is not necessary for some recipe, doing it always ensures
that it'll work once it becomes necessary for some reason.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Stub away this function for now, until we need to support multilib translations.
RPM-land does ML differently anyway.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Don't forget to pass EXTRA_OEMAKE to make in base_do_compile.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Instead of cleaning the data in two different ways at two different times which
leads to bugs (e.g. PATH no longer contains the native sysroot), have an
original data (od) and a cleaned data (d).
Also improve variable cleaning, correctly setting S, B, and WORKDIR.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Not all patches uses striplevel=1. We must remember the parameter and
later use it when generating the patch command.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
This shows the parameters of a license hook and also implements the
transformation needed for Tizen. The advantage of defining it here,
besides serving as example, is that no separate class is needed for it
(a distro conf cannot contain a Python function).
Example usage in a distro conf:
RPM_LICENSE_HOOK = "license_to_tizen"
Optionally also map PD, which is not valid in Tizen at the moment:
SPDXLICENSEMAP[PD] = "ISC"
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
The exact format of the License field depends on the target
distro. Allow transforming the string from .bb via a custom
hook function.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Now only "1" enables the feature, everything else disables it.
Previously, setting values like "false" enabled the feature.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Tizen requires all packages to be in the same group, the one
configured for the PN package. SRPM_SAME_GROUP must be set to 1
to enable this; any other value disables it.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Some rewrites are done automatically and unconditionally when a
package is not listed explicitly in SRPM_REWRITE_DEPENDS: the suffix
-native is stripped (because such a dependency is for a tool to be
run, not something to be linked against), otherwise the -dev suffix is
appended (otherwise, in contrast to bitbake, the development files
would not get installed because they are packaged separately).
Appending -dev may lead to installing too many files when the real
dependency is on the base package, but because that typically gets
installed, too, the build will still succeed.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
The translator cannot know whether a certain package will contain
shared libraries because it does not actually build the packages.
This information must be provided by setting the new SRPM_IS_LIB to
a space separated list of packages.
Example for usage in a distro config:
SRPM_IS_LIB_pn-popt = "${PN}"
SRPM_IS_LIB_pn-xz = "liblzma"
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Avoid duplicate "Requires: python" when python already is a
dependency by de-duplicating the dependencies. May also help
when mapping dependencies (not sure, not seen in practice yet).
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
When adding "python" as build dependency, also insert space to
avoid appending it to the last existing dependency.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
This is merely a cosmetic change which makes the .spec files shorter.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
SRPM_RENAME is a space-separated list of <regex>=<replacement string>
pairs. Each replacement is applied to package names with
re.sub(). The entire name must match the regex (simplifies setting
SRPM_RENAME because there's no need to embed a $, and prevents
accidental matching of sub-strings).
Example usage in a distro conf:
SRPM_RENAME = "(.*)-dev=\1-devel"
SRPM_RENAME += "\
readline=libreadline \
gmp=libgmp \
"
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
The usage of %make_build was questionable (redundant smp flags?!) and
did not work in Tizen (no such macro?). Instead use the invocation
recommended for Tizen .spec files.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
When SRPM_DYNAMIC_FILE_LISTS is set, the .bb FILES and CONFIGFILES
semantic for packages is replicated in the .src.rpm, i.e. it is not
necessary to override FILES to match the installed files exactly.
To achieve this, the generated src.rpm contains a
file-list-generator.py that is called after the normal install with
information about the .bb FILES and CONFFILES values. The script then
generates file lists for the %files section, following the .bb
semantic.
|
|
|
|
Iterating over a dict made the output a bit random. Fixed by sorting
the lines before appending to the final array.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
This is a bit of a hacky fix but for now remove the revision from the archived
tarball. In the future, we need to expose this filename so the translator can
use it.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Accidently forgot to pass the arguments to make.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
These should expand to nothing as RPM builds don't run in a sysroot.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Do the variable fixups for RPM-land first thing, so that the revised values are
available everywhere.
This means that the file lists don't need to be munged to remove absolute paths,
so delete rpm_macrofy_files().
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Set all paths variables where there is a corresponding RPM macro (ie ${bindir}
and %{_bindir}) so macros get used instead of absolute paths.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Using %{buildroot} for D so that hand-coded do_install() functions work
correctly.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
By attempting to set a variable to ${EXTRA_OECONF} it ended up being expanded
when the function was evaluated, resulting in literal tabs appearing in the
source for recipes which use tabs in that variable. Split the variable name
into two strings so it doesn't get expanded.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
It's useful to be able to manipulate the spec file before it gets written, for
example to add tags that BitBake doesn't support directly.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
For example assuming that the configure step is as simple as %configure is wrong
as there may have been critial commands added using _append or _prepend.
Instead redefine the functions during output.
The output is sub-optimal but it will be cleaned up later.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|