| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Don't evaluate <PKG>_CONFIG when it's not needed and only undefine it when
the variable is actually empty.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
(cherry picked from commit 08f7e13bb0558eca32c5ed7a69c2b03ab30c3d34)
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
| |
Add the dependency on the cfghash for <pkg>.report as well to ensure that
changes to <PKG>_LICENSE* are noticed.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
Packages may define <PKG>_CONFIG with '=' to avoid evaluating a complex
shell call if the package is not selected. However, this means the variable
is evaluated multiple time if the package _is_ selected.
Avoid this by overwriting the variable with itself using ':='.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
| |
The config file is part of the hash. No need to depend on it.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
To create the hash for patch files, ptxdist executes several processes for
each package with patches. With many packages with patches, this creates
quite a lot of startup overhead.
To avoid this, collect all patch directories first and handle them with an
extra awk script and one find call.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
| |
If <PKG>_PATCHES is set, then it is used instead of $(<PKG>) to find the
patch directory. It must be a relativ directory name that can be found in
the usual search path.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
| |
Note: we cannot determine PTX_PACKAGES_DISABLED using PACKAGES- etc.
With the way various packages handle platform specific exceptions, this
would result in missing or dplicate packages.
Instead, list all packages in ptxd_lib_dgen and filter out the enabled
packages.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
If all patches for a package are removed then the package is currently not
reextracted because the .srchash dependency is just dropped and not
changed.
Fix this by defining a fake hash. This way the dependency changes and the
package is extracted again.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This file has been touched 2 times in the last 7 years, and is no longer
up to date. Remove it to carry less unmaintained stuff around.
Also remove all references to it from file headers using
for file in `g grep -l 'See CREDITS for details about who has'`; do
sed -i '/See CREDITS for details about who has/,+1d' $file
done
as well as the different wording from rules/other/Toplevel.make.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
This point came up multiple times in the past and the special handling
of targetinstall stages lead to confusion when trying to depend on image
packages. Document it to prevent further confusion in that matter, and
warn the user if such a make target exists.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
| |
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
We cannot simply use NR for line counting because RS is changed in
function dump_file. Add an extra variable to count lines, and reset it
on each new file.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
With --progress, 'make' is called twice so extra handling is needed to only
add the patches and config files to the hash files once.
This is broken for packages with patches but no config file:
The stamp file is never created.
Fix this by creating separate stamp files.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
| |
In that case make is called twice. Append the <PKG>_CONFIG file to the hash
file only once. Otherwise a incorrect hash is generated when --progress is
used.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
Then devpkgs exist for two different configurations, then switching between
them then the .install.unpack stage will not be triggered again, because
the tarball is older.
Fix this by adding a extra dependency on .cfghash to handle this the same
way as the normal build.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
| |
Without this <PKG>_CFGHASH is used in dependencies before it is set.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
| |
To do this, append the <PKG>_CONFIG files to the pkghash-<PKG> files in
ptx_dgen_deps.post and delay the md5 generation until that is done.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
| |
As experienced with gawk 5.0.0, `#` is needlessly escaped.
Signed-off-by: Christian Hermann <christian.hermann@hytera.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
| |
Manual includes are relative to the temporary kconfig file tree. The
current working directory for ptxd_lib_dgen.awk is the workspace, so these
relative files are not found.
Add the correct absolute prefix for these files to fix this.
Also, make 'tmp' und dump_file() a local variable to ensure that it does
not contain old contents.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
| |
For all active packages "$(<PKG>_SOURCE): <PKG>" is defined. Host and cross
packages are skipped if the target package has the same source. As a
result, the mapping is missing if the host package is enabled but not the
target package.
Fix this by defining the mapping for host and cross packages if the target
package is disabled.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For kconfig based packages, the prepare stage should depend on the config
file to ensure that the package is rebuilt when the config changes.
Just do it for all packages. It's a noop if no config is defined.
Also add the equivalent dependency for image packages.
Only add dependencies if <PKG>_CONFIG seems to be an absolute path. This is
necessary to avoid problems with genimage packages: The config file is a
relative path to config/images/ and a dependency is generated at
built-time.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To get the package for a source archive we define for each package:
$(<PKG>_SOURCE) := <PKG>
With host and cross packages that share the source with the target package,
the same variable may be defined multiple times. Which one 'wins' is
undefined.
Avoid this by only defining the variable for the target package.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
| |
Otherwise, enabling a host package in the platformconfig that is already
enabled in the ptxconfig will trigger a rebuild of the package.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
| |
Check the content of make and in files for packages in addition to the
package options to trigger the prepare stage.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
| |
PTXCONF_IMAGE_INSTALL_FROM_IPKG_REPOSITORY is set
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
| |
For host packages sharing the archive information with a target package
the version must be transformed for the host part as well.
Signed-off-by: Juergen Borleis <jbe@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
This way, virtual packages don't need a makefile.
Note: filtering out non-package options from the depencencies must happen
later now, because virtual packages are only known when all dependencies
are parsed.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
| |
Remove indirection now, that only one package tool remains.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
| |
This avoids "error: empty parameter to 'ptxd_make_get'" errors ptxdist
tries to download a package that is not selected.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
| |
Independently from the PTXCONF_PROJECT_CHECK_LICENSES setting the license
was extracted from each package due to this '='/'==' mismatch.
Also, move the check before the loop that modifies 'this_PKG'. Otherwise
the check always fails.
Signed-off-by: Juergen Borleis <jbe@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
| |
There are usecases where more than on 'PACKAGES-... += ...' in one makefile
is useful. This ensures that the makefile is only included once in this
case.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
For the simple use-case (the rootfs contains all packages) the normal
nfsroot works well. However, this is not useful to work with root
filesystems that contain only a subset of all packages.
With this change, if <IMAGE>_NFSROOT can be set to 'YES' then
<platformdir>/nfsroot/<image> will be filled with the files from only the
packages that are part of this image.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
| |
For each package with info pages, install-info creates
'<pkgdir>/<prefix>/share/info/dir'. If packages are built in parallel, then
multiple install.post stages may try to create this file in <sysroot> at
exactly the same time and fail.
This fake install-info does nothing, so to avoid this race condition.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
| |
same package
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
This is not stictly necessary but useful to avoid extracting all packages
first when building with '-je*'.
Only do it for parallel building, so that 'ptxdist extract <pkg>' works
like before.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After upgrading my gawk to 4.1.2 (which Arch Linux did today), I get
tons of warnings like
gawk: /usr/lib/ptxdist-2015.04.0/scripts/lib/ptxd_lib_dgen.awk:386:
(FILENAME=/tmp/ptxdist.p1sg2M/dgen/platformconfig FNR=233) warning:
gensub: third argument `' treated as 1
This patch fixes the warnings. According to the documentation
https://www.gnu.org/software/gawk/manual/gawk.html#String-Functions:
| gensub(regexp, replacement, how [, target]) #
| ...
|
| If the how argument is a string that does not begin with ‘g’ or ‘G’, or
| if it is a number that is less than or equal to zero, only one
| substitution is performed. If how is zero, gawk issues a warning
| message.
So the fix should be safe.
Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
| |
This is necessary to e.g. handle files with dos line breaks.
Otherwise this_pkg is '<pkg>\r' which causes all kinds of problems.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
| |
the prefix of the dependency must be checked to determine if the image
depends on install or targetinstall.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New package versions have always been problematic. If the old version
is built and the tarball for the new version is older than the get
stage then ptxdist didn't build the new version.
To improve the situation we now do the following:
- create a dummy state file with the tarball name as part of the
filename.
- let the get stage depend on this.
For a new version the file does not exist and the package is rebuilt.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|