60f50a5e34
The pcm-tools package contains a version.h with git attributes:
$ cat version.h
#define PCM_VERSION " ($Format:%ci ID=%h$)"
$ man 5 gitattributes
Creating an archive
export-subst
If the attribute export-subst is set for a file then Git
will expand several placeholders when adding this file to
an archive. The expansion depends on the availability of
a commit ID, i.e., if git-archive(1) has been given a tree
instead of a commit or a tag then no replacement will be
done. The placeholders are the same as those for the option
--pretty=format: of git-log(1), except that they need to be
wrapped like this: $Format:PLACEHOLDERS$ in the file. E.g.
the string $Format:%H$ will be replaced by the commit hash.
So, the archive generated by github has changed since we updated
pcm-tools in 2021-12-08 with commit d1d93d488c
(package/pcm-tools:
bump to version 202110). The downlad was still OK in 2022-01-04 [0]
but has been failing at least since 202-08-25 [1].
Since the archive is generated on the github side, there is not much we
can do to fix this up.
We switch over to using git to do the download, and we generate the
archive localy, which we know is reproducible.
We fix the version.h so that it contains the same string as the backup
tarball we host on s.b.o.
There are three other files in pcm-tools that have git attributes, to
exclude them from the generated archive, all pertaining to CI/CD stuff:
.cirrus.yml export-ignore
.gitlab-ci.yml export-ignore
.travis.yml export-ignore
We don't remove them, because they have no impact on the build, and they
are anyway already present in the archive by the time we could act on it
anyway...
[0] http://autobuild.buildroot.org/results/127/1276a3d49c8848039f034e7f03632df365097e94/
[1] http://autobuild.buildroot.org/results/8bb/8bbf9c36af332bbf5e7c1abcbb594a0b231ef97e/
Reported-by: Woody Douglass <wdouglass@carnegierobotics.com>
Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
54 lines
1.7 KiB
Makefile
54 lines
1.7 KiB
Makefile
################################################################################
|
|
#
|
|
# pcm-tools
|
|
#
|
|
################################################################################
|
|
|
|
# Don't use the github helper, as pcm-tools uses git attributes that are
|
|
# replaced when gnerating the archive.
|
|
# 93fc9193a70e2f1f054be554c48f4a4791be5032 is the hash of the 202110 tag.
|
|
PCM_TOOLS_VERSION = 93fc9193a70e2f1f054be554c48f4a4791be5032
|
|
PCM_TOOLS_SITE = https://github.com/opcm/pcm
|
|
PCM_TOOLS_SITE_METHOD = git
|
|
PCM_TOOLS_LICENSE = BSD-3-Clause
|
|
PCM_TOOLS_LICENSE_FILES = LICENSE
|
|
|
|
PCM_TOOLS_EXE_FILES = \
|
|
pcm-core pcm-iio pcm-lspci pcm-memory pcm-msr pcm-numa \
|
|
pcm-pcicfg pcm-pcie pcm-power pcm-sensor pcm-tsx pcm
|
|
|
|
# version.h contains git attributes; replace them with the previously-known
|
|
# value.
|
|
define PCM_TOOLS_FIXUP_VERSION_H
|
|
$(SED) 's/\$$Format:%ci ID=%h\$$/2021-10-25 16:07:54 +0200 ID=93fc9193/' \
|
|
$(@D)/version.h
|
|
endef
|
|
PCM_TOOLS_POST_EXTRACT_HOOKS += PCM_TOOLS_FIXUP_VERSION_H
|
|
|
|
define PCM_TOOLS_BUILD_CMDS
|
|
touch $(@D)/daemon-binaries
|
|
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \
|
|
CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11 -fPIC" \
|
|
UNAME=Linux HOST=_LINUX \
|
|
$(foreach f,$(PCM_TOOLS_EXE_FILES),$(f).x)
|
|
endef
|
|
|
|
ifeq ($(BR2_PACKAGE_PCM_TOOLS_PMU_QUERY),y)
|
|
define PCM_TOOLS_INSTALL_PMU_QUERY
|
|
$(INSTALL) -D -m 755 $(@D)/pmu-query.py $(TARGET_DIR)/usr/bin/pmu-query
|
|
endef
|
|
endif
|
|
|
|
define PCM_TOOLS_INSTALL_TARGET_CMDS
|
|
$(foreach f,$(PCM_TOOLS_EXE_FILES),\
|
|
$(INSTALL) -D -m 755 $(@D)/$(f).x $(TARGET_DIR)/usr/bin/$(f)
|
|
)
|
|
$(PCM_TOOLS_INSTALL_PMU_QUERY)
|
|
endef
|
|
|
|
define PCM_TOOLS_LINUX_CONFIG_FIXUPS
|
|
$(call KCONFIG_ENABLE_OPT,CONFIG_X86_MSR)
|
|
endef
|
|
|
|
$(eval $(generic-package))
|