# Copyright (C) 2022 Sergey V. Lobanov <sergey@lobanov.in>
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=fakeuname
|
|
PKG_RELEASE:=$(COMMITCOUNT)
|
|
PKG_LICENSE:=GPL-2.0-or-later
|
|
|
|
PKG_MAINTAINER:=Sergey V. Lobanov <sergey@lobanov.in>
|
|
|
|
PKG_HOST_ONLY:=1
|
|
|
|
define Package/fakeuname
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
TITLE:=Fake uname host tool for cross-compile purposes
|
|
BUILDONLY:=1
|
|
endef
|
|
|
|
define Package/fakeuname/description
|
|
Fakeuname is a host tool for cross-compile cross-platform builds
|
|
if configure or/and build scripts check uname output for target
|
|
build and use invalid build flags. This tool should not be used
|
|
in normal case if configure/build scripts allow to redefine
|
|
required values instead of using uname output
|
|
endef
|
|
|
|
include $(INCLUDE_DIR)/kernel.mk
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/host-build.mk
|
|
|
|
define Host/Configure
|
|
endef
|
|
|
|
define Host/Compile
|
|
{ \
|
|
cat src/header.py.inc; \
|
|
echo machine = \"$(ARCH)\"; \
|
|
echo kernel_release = \"$(LINUX_UNAME_VERSION)\"; \
|
|
echo kernel_version = \"#0 $(shell date --date=@$(SOURCE_DATE_EPOCH))\"; \
|
|
cat src/footer.py.inc; \
|
|
} > $(HOST_BUILD_DIR)/$(PKG_NAME)
|
|
endef
|
|
|
|
define Host/Install
|
|
$(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/lib/$(PKG_NAME)
|
|
$(INSTALL_BIN) $(HOST_BUILD_DIR)/$(PKG_NAME) $(STAGING_DIR_HOSTPKG)/lib/$(PKG_NAME)/uname
|
|
endef
|
|
|
|
define Host/Clean
|
|
rm -rf "$(STAGING_DIR_HOSTPKG)/lib/$(PKG_NAME)"
|
|
endef
|
|
|
|
$(eval $(call HostBuild))
|
|
$(eval $(call BuildPackage,fakeuname))
|