|
|
@ -0,0 +1,57 @@ |
|
|
|
# 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)) |