From 23a1f4db5192d3cefc32de15b582b806315a04ab Mon Sep 17 00:00:00 2001 From: AuxXxilium Date: Thu, 4 Apr 2024 18:12:04 +0200 Subject: [PATCH] tree: rewrite Signed-off-by: AuxXxilium --- .github/workflows/build.yml | 56 ++++ .github/workflows/main.yml | 66 ---- build.sh | 16 - cross/libiconv/Makefile | 22 ++ cross/libiconv/PLIST | 7 + cross/libiconv/digests | 3 + cross/open-vm-tools/Makefile | 16 +- cross/open-vm-tools/digests | 6 +- docker.sh | 28 -- native/__init__.py | 0 .../install/usr/local/lib/icu/Makefile.inc | 293 +++++++++++++++++- .../install/usr/local/lib/icu/current | 1 - .../usr/local/lib/icu/current/Makefile.inc | 292 +++++++++++++++++ .../usr/local/lib/icu/current/pkgdata.inc | 17 + .../install/usr/local/lib/icu/pkgdata.inc | 18 +- spk/open-vm-tools/Makefile | 4 +- 16 files changed, 718 insertions(+), 127 deletions(-) create mode 100644 .github/workflows/build.yml delete mode 100644 .github/workflows/main.yml delete mode 100755 build.sh create mode 100644 cross/libiconv/Makefile create mode 100644 cross/libiconv/PLIST create mode 100644 cross/libiconv/digests delete mode 100755 docker.sh create mode 100644 native/__init__.py delete mode 100644 native/icu/work-native/install/usr/local/lib/icu/current create mode 100644 native/icu/work-native/install/usr/local/lib/icu/current/Makefile.inc create mode 100644 native/icu/work-native/install/usr/local/lib/icu/current/pkgdata.inc diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..a7b5321 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,56 @@ +name: build + +on: + workflow_dispatch: + inputs: + tag: + description: "tag" + required: false + type: string + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + target: [geminilake-7.1] + + steps: + - name: Checkout + uses: actions/checkout@main + + - name: Init Env + run: | + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "github-actions[bot]" + sudo timedatectl set-timezone "Asia/Shanghai" + + - name: Checkout Synology Community Source and Docker Image + run: | + docker pull ghcr.io/synocommunity/spksrc + git clone --depth=1 https://github.com/SynoCommunity/spksrc.git + cp -rf cross/* spksrc/cross + cp -rf native/* spksrc/native + cp -rf spk/* spksrc/spk + + - name: Build Package + run: | + ROOT_PATH="${{ github.workspace }}" + MAKE_ARCH="arch-${{ matrix.target }}" + docker run -v ${ROOT_PATH}/spksrc:/spksrc -w /spksrc/spk/open-vm-tools ghcr.io/synocommunity/spksrc make ${MAKE_ARCH} + + - name: Upload to Artifacts + if: inputs.tag == '' + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.target }} + path: | + spksrc/packages/*.spk + retention-days: 5 + + - name: Release + if: inputs.tag != '' + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ inputs.tag }} + files: spksrc/packages/*.spk diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 3219954..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,66 +0,0 @@ -name: Build image - -on: - release: - types: [published] - - workflow_dispatch: - -jobs: - build: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@main - - # Install dependencies - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y libelf-dev moreutils glibc-source libc-dev-bin build-essential - - - # Build incremental - - name: Build image - id: build - run: | - unset DOCKER_HOST - rm -rf ~/tmp/ - mkdir -p ~/tmp/ - git clone https://github.com/SynoCommunity/spksrc ~/tmp/spksrc - docker pull ghcr.io/synocommunity/spksrc - git clone https://github.com/AuxXxilium/synology-dsm-open-vm-tools.git ~/tmp/open-vm-tools - cp -r ~/tmp/open-vm-tools/* ~/tmp/spksrc/ - cp -r /usr/bin/sponge ~/tmp/spksrc/ - cp -f docker.sh ~/tmp/spksrc/ - docker run -i -v ~/tmp/spksrc:/spksrc ghcr.io/synocommunity/spksrc /spksrc/docker.sh - cp -f ~/tmp/spksrc/packages/*.spk /tmp - cp -r /spksrc/sponge /usr/bin/ - cd /spksrc/spk/open-vm-tools/ - make arch-apollolake-7.1 - make arch-broadwell-7.1 - make arch-broadwellnk-7.1 - make arch-broadwellnkv2-7.1 - make arch-broadwellntbap-7.1 - make arch-denverton-7.1 - make arch-geminilake-7.1 - make arch-purley-7.1 - make arch-r1000-7.1 - make arch-v1000-7.1 - exit - - # Upload artifact - - name: Upload - uses: actions/upload-artifact@v4 - with: - name: Apps - path: | - ~/tmp/spksrc/packages/*.spk - retention-days: 5 - - # Publish a release if is a tag - - name: Release - uses: softprops/action-gh-release@v1 - if: startsWith(github.ref, 'refs/tags/') - with: - files: | - ~/tmp/spksrc/packages/*.spk diff --git a/build.sh b/build.sh deleted file mode 100755 index 5194be5..0000000 --- a/build.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -sudo apt-get update -sudo apt-get install -y libelf-dev moreutils - -unset DOCKER_HOST -rm -rf ~/tmp/ -mkdir -p ~/tmp/ -git clone https://github.com/SynoCommunity/spksrc ~/tmp/spksrc -docker pull ghcr.io/synocommunity/spksrc -git clone https://github.com/AuxXxilium/synology-dsm-open-vm-tools.git ~/tmp/open-vm-tools -cp -rf ~/tmp/open-vm-tools/* ~/tmp/spksrc/ -cp -rf /usr/bin/sponge ~/tmp/spksrc/ -cp -f docker.sh ~/tmp/spksrc/ -docker run -it -v ~/tmp/spksrc:/spksrc ghcr.io/synocommunity/spksrc /spksrc/docker.sh -cp -f ~/tmp/spksrc/packages/*.spk /home/auxxxilium \ No newline at end of file diff --git a/cross/libiconv/Makefile b/cross/libiconv/Makefile new file mode 100644 index 0000000..a860c29 --- /dev/null +++ b/cross/libiconv/Makefile @@ -0,0 +1,22 @@ +PKG_NAME = libiconv +PKG_VERS = 1.17 +PKG_EXT = tar.gz +PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) +PKG_DIST_SITE = https://ftp.gnu.org/pub/gnu/libiconv +PKG_DIR = $(PKG_NAME)-$(PKG_VERS) + +DEPENDS = + +HOMEPAGE = https://www.gnu.org/software/libiconv +COMMENT = GNU libiconv provides an implementation of the iconv() function and the iconv program for character set conversion. For use on systems which don't have one, or whose implementation cannot convert from/to Unicode. +LICENSE = GNU GPLv3 + +GNU_CONFIGURE = 1 +CONFIGURE_ARGS = --disable-static +ADDITIONAL_CFLAGS = -O + +include ../../mk/spksrc.cross-cc.mk + +.PHONY: libiconv_install +libiconv_install: + $(RUN) $(MAKE) install DESTDIR=$(INSTALL_DIR) PREFIX=$(INSTALL_PREFIX) \ No newline at end of file diff --git a/cross/libiconv/PLIST b/cross/libiconv/PLIST new file mode 100644 index 0000000..b81b587 --- /dev/null +++ b/cross/libiconv/PLIST @@ -0,0 +1,7 @@ +bin:bin/iconv +lnk:lib/libcharset.so +lnk:lib/libcharset.so.1 +lib:lib/libcharset.so.1.0.0 +lnk:lib/libiconv.so +lnk:lib/libiconv.so.2 +lib:lib/libiconv.so.2.6.1 diff --git a/cross/libiconv/digests b/cross/libiconv/digests new file mode 100644 index 0000000..a33c2e0 --- /dev/null +++ b/cross/libiconv/digests @@ -0,0 +1,3 @@ +libiconv-1.17.tar.gz SHA1 409a6a8c07280e02cc33b65ae871311f4b33077b +libiconv-1.17.tar.gz SHA256 8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313 +libiconv-1.17.tar.gz MD5 d718cd5a59438be666d1575855be72c3 diff --git a/cross/open-vm-tools/Makefile b/cross/open-vm-tools/Makefile index 683bd86..c441d31 100644 --- a/cross/open-vm-tools/Makefile +++ b/cross/open-vm-tools/Makefile @@ -6,7 +6,7 @@ PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS)-$(PKG_BUILD).$(PKG_EXT) PKG_DIST_SITE = https://github.com/vmware/open-vm-tools/releases/download/stable-$(PKG_VERS) PKG_DIR = $(PKG_NAME)-$(PKG_VERS)-$(PKG_BUILD) -DEPENDS = cross/libmspack cross/glib cross/protobuf cross/openssl cross/fuse cross/curl cross/libtirpc cross/procps-ng cross/icu +DEPENDS = cross/glib cross/curl cross/moreutils cross/protobuf cross/openssl cross/libmspack cross/fuse3 cross/libtirpc cross/procps-ng cross/icu cross/libiconv HOMEPAGE = https://github.com/vmware/open-vm-tools COMMENT = VMware open-vm-tools project @@ -17,18 +17,16 @@ INSTALL_TARGET = vmtools_install POST_INSTALL_TARGET = vmtools_post_install ENV = PATH=$(STAGING_INSTALL_PREFIX)/bin:$$PATH -ENV += CUSTOM_PROCPS_NAME=procps -ENV += CUSTOM_PROCPS_LIBS="-L$(STAGING_INSTALL_PREFIX)/lib -lprocps" GNU_CONFIGURE = 1 -CONFIGURE_ARGS = --without-x -CONFIGURE_ARGS += --disable-resolutionkms -CONFIGURE_ARGS += --with-tirpc +CONFIGURE_ARGS = +CONFIGURE_ARGS += --with-fuse=fuse3 +CONFIGURE_ARGS += --without-x CONFIGURE_ARGS += --without-pam CONFIGURE_ARGS += --without-xmlsec1 -CONFIGURE_ARGS += --without-icu -CONFIGURE_ARGS += --enable-containerinfo=no CONFIGURE_ARGS += --enable-servicediscovery +CONFIGURE_ARGS += --enable-containerinfo=no + include ../../mk/spksrc.cross-cc.mk .PHONY: vmtools_pre_configure @@ -45,5 +43,5 @@ vmtools_post_install: # chmod a-x $(STAGING_INSTALL_PREFIX)/etc/vmware-tools/*.conf chmod a-x $(STAGING_INSTALL_PREFIX)/etc/vmware-tools/*.conf.example # chmod a-x $(STAGING_INSTALL_PREFIX)/etc/vmware-tools/vgauth/schemas/* - chmod a-x $(STAGING_INSTALL_PREFIX)/lib/udev/rules.d/99-vmware-scsi-udev.rules + # chmod a-x $(STAGING_INSTALL_PREFIX)/lib/udev/rules.d/99-vmware-scsi-udev.rules mv $(STAGING_INSTALL_PREFIX)/usr/bin/vm-support $(STAGING_INSTALL_PREFIX)/bin/ diff --git a/cross/open-vm-tools/digests b/cross/open-vm-tools/digests index 6c36016..73ca673 100644 --- a/cross/open-vm-tools/digests +++ b/cross/open-vm-tools/digests @@ -1,3 +1,3 @@ -open-vm-tools-12.4.0-23259341.tar.gz SHA1 77CB5FD60B24BB04308815A5D44DDCF7CD5D5DF2 -open-vm-tools-12.4.0-23259341.tar.gz SHA256 316469E4708C25F9B46AF17362E176BD796AA7E2ACDF05C021A7B60456411862 -open-vm-tools-12.4.0-23259341.tar.gz MD5 B7E1A263766D79DD3CBAB8AFB2C5783F \ No newline at end of file +open-vm-tools-12.4.0-23259341.tar.gz SHA1 77cb5fd60b24bb04308815a5d44ddcf7cd5d5df2 +open-vm-tools-12.4.0-23259341.tar.gz SHA256 316469e4708c25f9b46af17362e176bd796aa7e2acdf05c021a7b60456411862 +open-vm-tools-12.4.0-23259341.tar.gz MD5 b7e1a263766d79dd3cbab8afb2c5783f \ No newline at end of file diff --git a/docker.sh b/docker.sh deleted file mode 100755 index 0088fc9..0000000 --- a/docker.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -make setup -cp -r /spksrc/sponge /usr/bin/ -cd /spksrc/spk/open-vm-tools/ && make arch-apollolake-7.1 -cd /spksrc/spk/open-vm-tools/ && make arch-broadwell-7.1 -cd /spksrc/spk/open-vm-tools/ && make arch-broadwellnk-7.1 -cd /spksrc/spk/open-vm-tools/ && make arch-broadwellnkv2-7.1 -cd /spksrc/spk/open-vm-tools/ && make arch-broadwellntbap-7.1 -cd /spksrc/spk/open-vm-tools/ && make arch-denverton-7.1 -cd /spksrc/spk/open-vm-tools/ && make arch-geminilake-7.1 -cd /spksrc/spk/open-vm-tools/ && make arch-purley-7.1 -cd /spksrc/spk/open-vm-tools/ && make arch-r1000-7.1 -cd /spksrc/spk/open-vm-tools/ && make arch-v1000-7.1 -cd /spksrc/spk/open-vm-tools/ && make arch-epyc7002-7.1 - -cd /spksrc/spk/open-vm-tools/ && make arch-apollolake-7.2 -cd /spksrc/spk/open-vm-tools/ && make arch-broadwell-7.2 -cd /spksrc/spk/open-vm-tools/ && make arch-broadwellnk-7.2 -cd /spksrc/spk/open-vm-tools/ && make arch-broadwellnkv2-7.2 -cd /spksrc/spk/open-vm-tools/ && make arch-broadwellntbap-7.2 -cd /spksrc/spk/open-vm-tools/ && make arch-denverton-7.2 -cd /spksrc/spk/open-vm-tools/ && make arch-geminilake-7.2 -cd /spksrc/spk/open-vm-tools/ && make arch-purley-7.2 -cd /spksrc/spk/open-vm-tools/ && make arch-r1000-7.2 -cd /spksrc/spk/open-vm-tools/ && make arch-v1000-7.2 -cd /spksrc/spk/open-vm-tools/ && make arch-epyc7002-7.2 -exit 0 \ No newline at end of file diff --git a/native/__init__.py b/native/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/native/icu/work-native/install/usr/local/lib/icu/Makefile.inc b/native/icu/work-native/install/usr/local/lib/icu/Makefile.inc index bad4e69..b612fe4 100644 --- a/native/icu/work-native/install/usr/local/lib/icu/Makefile.inc +++ b/native/icu/work-native/install/usr/local/lib/icu/Makefile.inc @@ -1 +1,292 @@ -current/Makefile.inc \ No newline at end of file +# Copyright (C) 2016 and later: Unicode, Inc. and others. +# License & terms of use: http://www.unicode.org/copyright.html +## -*-makefile-*- +#****************************************************************************** +# Copyright (C) 1999-2014, International Business Machines +# Corporation and others. All Rights Reserved. +#****************************************************************************** +# This Makefile.inc is designed to be included into projects which make use +# of the ICU. + +# CONTENTS OF THIS FILE +# 1). Base configuration information and linkage +# 2). Variables giving access to ICU tools +# 3). Host information +# 4). Compiler flags and settings +# 5). Data Packaging directives +# 6). Include of platform make fragment (mh-* file) + +################################################################## +################################################################## +# +# *1* base configuration information and linkage +# +################################################################## +# The PREFIX is the base of where ICU is installed. +# Inside this directory you should find bin, lib, include/unicode, +# etc. If ICU is not installed in this directory, you must change the +# following line. There should exist $(prefix)/include/unicode/utypes.h +# for example. +prefix = /usr/local +exec_prefix = ${prefix} +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +bindir = ${exec_prefix}/bin +datarootdir = ${prefix}/share +datadir = ${datarootdir} +sbindir = ${exec_prefix}/sbin + +# about the ICU version +VERSION = 65.1 +UNICODE_VERSION = 12.1 + +# The prefix for ICU libraries, normally 'icu' +ICUPREFIX = icu +PACKAGE = icu +LIBICU = lib$(ICUPREFIX) + +# Static library prefix and file extension +STATIC_PREFIX = s +LIBSICU = lib$(STATIC_PREFIX)$(ICUPREFIX) +A = a + +# Suffix at the end of libraries. Usually empty. +ICULIBSUFFIX = +# ICULIBSUFFIX_VERSION is non-empty if it is to contain a library +# version. For example, if it is 21, it means libraries are named +# libicuuc21.so for example. + +# rpath links a library search path right into the binaries. +## mh-files MUST NOT override RPATHLDFLAGS unless they provide +## equivalent '#SH#' lines for icu-config fixup +ENABLE_RPATH = NO +ifeq ($(ENABLE_RPATH),YES) +RPATHLDFLAGS = $(LD_RPATH)$(LD_RPATH_PRE)$(libdir) +endif + +#SH## icu-config version of above 'if': +#SH#case "x$ENABLE_RPATH" in +#SH# x[yY]*) +#SH# ENABLE_RPATH=YES +#SH# RPATHLDFLAGS="${LD_RPATH}${LD_RPATH_PRE}${libdir}" +#SH# ;; +#SH# +#SH# x[nN]*) +#SH# ENABLE_RPATH=NO +#SH# RPATHLDFLAGS="" +#SH# ;; +#SH# +#SH# x) +#SH# ENABLE_RPATH=NO +#SH# RPATHLDFLAGS="" +#SH# ;; +#SH# +#SH# *) +#SH# echo $0: Unknown --enable-rpath value ${ENABLE_RPATH} 1>&2 +#SH# exit 3 +#SH# ;; +#SH#esac + +# Name flexibility for the library naming scheme. Any modifications should +# be made in the mh- file for the specific platform. +DATA_STUBNAME = data +COMMON_STUBNAME = uc +I18N_STUBNAME = i18n +LAYOUTEX_STUBNAME = lx +IO_STUBNAME = io +TOOLUTIL_STUBNAME = tu +CTESTFW_STUBNAME = test + + + +### To link your application with ICU: +# 1. use LDFLAGS, CFLAGS, etc from above +# 2. link with $(ICULIBS) +# 3. optionally, add one or more of: +# - $(ICULIBS_I18N) - i18n library, formatting, etc. +# - $(ICULIBS_ICUIO) - ICU stdio equivalent library + +ICULIBS_COMMON = -l$(ICUPREFIX)uc$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_DATA = -l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_I18N = -l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_TOOLUTIL = -l$(ICUPREFIX)tu$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_CTESTFW = -l$(ICUPREFIX)ctestfw$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_ICUIO = -l$(ICUPREFIX)io$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_OBSOLETE = -l$(ICUPREFIX)obsolete$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_LAYOUTEX = -l$(ICUPREFIX)lx$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_BASE = -L$(libdir) + +# for icu-config to test with +ICULIBS_COMMON_LIB_NAME = ${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO} +ICULIBS_COMMON_LIB_NAME_A = ${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A} + +# ICULIBS is the set of libraries your application should link +# with usually. Many applications will want to add $(ICULIBS_I18N) as well. +ICULIBS = $(ICULIBS_BASE) $(ICULIBS_I18N) $(ICULIBS_COMMON) $(ICULIBS_DATA) + +# Proper echo newline handling is needed in icu-config +ECHO_N=-n +ECHO_C= +# Not currently being used but good to have for proper tab handling +ECHO_T= + +################################################################## +################################################################## +# +# *2* access to ICU tools +# +################################################################## +# Environment variable to set a runtime search path +# (Overridden when necessary in -mh files) +LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH + +# Versioned target for a shared library +FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION) +MIDDLE_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION_MAJOR) + +# Access to important ICU tools. +# Use as follows: $(INVOKE) $(GENRB) arguments .. +INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(libdir):$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER) +GENCCODE = $(sbindir)/genccode +ICUPKG = $(sbindir)/icupkg +GENCMN = $(sbindir)/gencmn +GENRB = $(bindir)/genrb +PKGDATA = $(bindir)/pkgdata + +# moved here because of dependencies +pkgdatadir = $(datadir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION) +pkglibdir = $(libdir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION) + +################################################################## +################################################################## +# +# *3* Information about the host +# +################################################################## + +# Information about the host that 'configure' was run on. +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_vendor = pc +host_os = linux-gnu +# Our platform canonical name (as determined by configure) +# this is a #define value (i.e. U_XXXX or XXXX) +platform = U_LINUX + +################################################################## +################################################################## +# +# *4* compiler flags and misc. options +# +################################################################## +AR = ar +# initial tab keeps it out of the shell version. + ARFLAGS := $(ARFLAGS) +#SH#ARFLAGS=" ${ARFLAGS}" +CC = gcc +CPP = gcc -E +CFLAGS = +CPPFLAGS = -I$(prefix)/include +CXXFLAGS = -std=c++11 +CXX = g++ +DEFAULT_MODE = static +DEFS = -DPACKAGE_NAME=\"ICU\" -DPACKAGE_TARNAME=\"International\ Components\ for\ Unicode\" -DPACKAGE_VERSION=\"65.1\" -DPACKAGE_STRING=\"ICU\ 65.1\" -DPACKAGE_BUGREPORT=\"http://icu-project.org/bugs\" -DPACKAGE_URL=\"http://icu-project.org\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=8 -DHAVE_LIBM=1 -DHAVE_ELF_H=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_LIBPTHREAD=1 -DHAVE_INTTYPES_H=1 -DHAVE_DIRENT_H=1 -DHAVE_WCHAR_H=1 -DSIZEOF_WCHAR_T=4 +# use a consistent INSTALL +INSTALL = $(SHELL) $(pkgdatadir)/install-sh -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +LDFLAGS = $(RPATHLDFLAGS) +LIBS = -lpthread -lm +LIB_M = +LIB_VERSION = 65.1 +LIB_VERSION_MAJOR = 65 +MKINSTALLDIRS = $(SHELL) $(pkgdatadir)/mkinstalldirs +RANLIB = ranlib +RMV = rm -rf +SHELL = /bin/bash +SHLIB.c= $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -shared +SHLIB.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -shared +U_IS_BIG_ENDIAN = 0 +includedir = ${prefix}/include +infodir = ${datarootdir}/info +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +oldincludedir = /usr/include +program_transform_name = s,x,x, +sharedstatedir = ${prefix}/com +sysconfdir = ${prefix}/etc +INSTALL-L = ${INSTALL_DATA} + +# for derivative builds - don't bother with VERBOSE/NONVERBOSE SILENT_COMPILE +SILENT_COMPILE=$(1) #M# +ICU_MSG=@echo " $(1) " #M# + +################################################################## +################################################################## +# +# *5* packaging options and directories +# +################################################################## + + +# The basename of the ICU data file (i.e. icudt21b ) +ICUDATA_CHAR = l +ICUDATA_NAME = icudt65l + +# Defaults for pkgdata's mode and directories +# The default data dir changes depending on what packaging mode +# is being used +ifeq ($(strip $(PKGDATA_MODE)),) +#SH# if [ "x$PKGDATA_MODE" = "x" ]; +#SH# then +PKGDATA_MODE=static +#SH# fi +endif + +#SH# case "$PKGDATA_MODE" in +ifeq ($(PKGDATA_MODE),common) +#SH# common) +ICUDATA_DIR = $(pkgdatadir) +ICUPKGDATA_DIR = $(ICUDATA_DIR) +#SH# ;; +else +ifeq ($(PKGDATA_MODE),dll) +#SH# dll) +ICUDATA_DIR = $(pkgdatadir) +ICUPKGDATA_DIR = $(libdir) +#SH# ;; +else +#SH# *) +ICUDATA_DIR = $(pkgdatadir) +ICUPKGDATA_DIR = $(ICUDATA_DIR) +#SH# ;; +endif +endif + +#SH# esac + +GENCCODE_ASSEMBLY = -a gcc + +################################################################## +################################################################## +# +# *6* Inclusion of platform make fragment (mh-* file) +# +################################################################## +# The mh- file ("make fragment") for the platform is included here. +# It may override the above settings. +# It is put last so that the mh-file can override anything. +# The selfcheck is just a sanity check that this makefile is +# parseable. The mh fragment is only included if this does not occur. + +ifeq (selfcheck,$(MAKECMDGOALS)) #M# +selfcheck: #M# + @echo passed #M# +else #M# +include $(pkgdatadir)/config/mh-linux +endif #M# + diff --git a/native/icu/work-native/install/usr/local/lib/icu/current b/native/icu/work-native/install/usr/local/lib/icu/current deleted file mode 100644 index 49bb9bd..0000000 --- a/native/icu/work-native/install/usr/local/lib/icu/current +++ /dev/null @@ -1 +0,0 @@ -65.1 \ No newline at end of file diff --git a/native/icu/work-native/install/usr/local/lib/icu/current/Makefile.inc b/native/icu/work-native/install/usr/local/lib/icu/current/Makefile.inc new file mode 100644 index 0000000..b612fe4 --- /dev/null +++ b/native/icu/work-native/install/usr/local/lib/icu/current/Makefile.inc @@ -0,0 +1,292 @@ +# Copyright (C) 2016 and later: Unicode, Inc. and others. +# License & terms of use: http://www.unicode.org/copyright.html +## -*-makefile-*- +#****************************************************************************** +# Copyright (C) 1999-2014, International Business Machines +# Corporation and others. All Rights Reserved. +#****************************************************************************** +# This Makefile.inc is designed to be included into projects which make use +# of the ICU. + +# CONTENTS OF THIS FILE +# 1). Base configuration information and linkage +# 2). Variables giving access to ICU tools +# 3). Host information +# 4). Compiler flags and settings +# 5). Data Packaging directives +# 6). Include of platform make fragment (mh-* file) + +################################################################## +################################################################## +# +# *1* base configuration information and linkage +# +################################################################## +# The PREFIX is the base of where ICU is installed. +# Inside this directory you should find bin, lib, include/unicode, +# etc. If ICU is not installed in this directory, you must change the +# following line. There should exist $(prefix)/include/unicode/utypes.h +# for example. +prefix = /usr/local +exec_prefix = ${prefix} +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +bindir = ${exec_prefix}/bin +datarootdir = ${prefix}/share +datadir = ${datarootdir} +sbindir = ${exec_prefix}/sbin + +# about the ICU version +VERSION = 65.1 +UNICODE_VERSION = 12.1 + +# The prefix for ICU libraries, normally 'icu' +ICUPREFIX = icu +PACKAGE = icu +LIBICU = lib$(ICUPREFIX) + +# Static library prefix and file extension +STATIC_PREFIX = s +LIBSICU = lib$(STATIC_PREFIX)$(ICUPREFIX) +A = a + +# Suffix at the end of libraries. Usually empty. +ICULIBSUFFIX = +# ICULIBSUFFIX_VERSION is non-empty if it is to contain a library +# version. For example, if it is 21, it means libraries are named +# libicuuc21.so for example. + +# rpath links a library search path right into the binaries. +## mh-files MUST NOT override RPATHLDFLAGS unless they provide +## equivalent '#SH#' lines for icu-config fixup +ENABLE_RPATH = NO +ifeq ($(ENABLE_RPATH),YES) +RPATHLDFLAGS = $(LD_RPATH)$(LD_RPATH_PRE)$(libdir) +endif + +#SH## icu-config version of above 'if': +#SH#case "x$ENABLE_RPATH" in +#SH# x[yY]*) +#SH# ENABLE_RPATH=YES +#SH# RPATHLDFLAGS="${LD_RPATH}${LD_RPATH_PRE}${libdir}" +#SH# ;; +#SH# +#SH# x[nN]*) +#SH# ENABLE_RPATH=NO +#SH# RPATHLDFLAGS="" +#SH# ;; +#SH# +#SH# x) +#SH# ENABLE_RPATH=NO +#SH# RPATHLDFLAGS="" +#SH# ;; +#SH# +#SH# *) +#SH# echo $0: Unknown --enable-rpath value ${ENABLE_RPATH} 1>&2 +#SH# exit 3 +#SH# ;; +#SH#esac + +# Name flexibility for the library naming scheme. Any modifications should +# be made in the mh- file for the specific platform. +DATA_STUBNAME = data +COMMON_STUBNAME = uc +I18N_STUBNAME = i18n +LAYOUTEX_STUBNAME = lx +IO_STUBNAME = io +TOOLUTIL_STUBNAME = tu +CTESTFW_STUBNAME = test + + + +### To link your application with ICU: +# 1. use LDFLAGS, CFLAGS, etc from above +# 2. link with $(ICULIBS) +# 3. optionally, add one or more of: +# - $(ICULIBS_I18N) - i18n library, formatting, etc. +# - $(ICULIBS_ICUIO) - ICU stdio equivalent library + +ICULIBS_COMMON = -l$(ICUPREFIX)uc$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_DATA = -l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_I18N = -l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_TOOLUTIL = -l$(ICUPREFIX)tu$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_CTESTFW = -l$(ICUPREFIX)ctestfw$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_ICUIO = -l$(ICUPREFIX)io$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_OBSOLETE = -l$(ICUPREFIX)obsolete$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_LAYOUTEX = -l$(ICUPREFIX)lx$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION) +ICULIBS_BASE = -L$(libdir) + +# for icu-config to test with +ICULIBS_COMMON_LIB_NAME = ${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO} +ICULIBS_COMMON_LIB_NAME_A = ${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A} + +# ICULIBS is the set of libraries your application should link +# with usually. Many applications will want to add $(ICULIBS_I18N) as well. +ICULIBS = $(ICULIBS_BASE) $(ICULIBS_I18N) $(ICULIBS_COMMON) $(ICULIBS_DATA) + +# Proper echo newline handling is needed in icu-config +ECHO_N=-n +ECHO_C= +# Not currently being used but good to have for proper tab handling +ECHO_T= + +################################################################## +################################################################## +# +# *2* access to ICU tools +# +################################################################## +# Environment variable to set a runtime search path +# (Overridden when necessary in -mh files) +LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH + +# Versioned target for a shared library +FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION) +MIDDLE_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION_MAJOR) + +# Access to important ICU tools. +# Use as follows: $(INVOKE) $(GENRB) arguments .. +INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(libdir):$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER) +GENCCODE = $(sbindir)/genccode +ICUPKG = $(sbindir)/icupkg +GENCMN = $(sbindir)/gencmn +GENRB = $(bindir)/genrb +PKGDATA = $(bindir)/pkgdata + +# moved here because of dependencies +pkgdatadir = $(datadir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION) +pkglibdir = $(libdir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION) + +################################################################## +################################################################## +# +# *3* Information about the host +# +################################################################## + +# Information about the host that 'configure' was run on. +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_vendor = pc +host_os = linux-gnu +# Our platform canonical name (as determined by configure) +# this is a #define value (i.e. U_XXXX or XXXX) +platform = U_LINUX + +################################################################## +################################################################## +# +# *4* compiler flags and misc. options +# +################################################################## +AR = ar +# initial tab keeps it out of the shell version. + ARFLAGS := $(ARFLAGS) +#SH#ARFLAGS=" ${ARFLAGS}" +CC = gcc +CPP = gcc -E +CFLAGS = +CPPFLAGS = -I$(prefix)/include +CXXFLAGS = -std=c++11 +CXX = g++ +DEFAULT_MODE = static +DEFS = -DPACKAGE_NAME=\"ICU\" -DPACKAGE_TARNAME=\"International\ Components\ for\ Unicode\" -DPACKAGE_VERSION=\"65.1\" -DPACKAGE_STRING=\"ICU\ 65.1\" -DPACKAGE_BUGREPORT=\"http://icu-project.org/bugs\" -DPACKAGE_URL=\"http://icu-project.org\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=8 -DHAVE_LIBM=1 -DHAVE_ELF_H=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_LIBPTHREAD=1 -DHAVE_INTTYPES_H=1 -DHAVE_DIRENT_H=1 -DHAVE_WCHAR_H=1 -DSIZEOF_WCHAR_T=4 +# use a consistent INSTALL +INSTALL = $(SHELL) $(pkgdatadir)/install-sh -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +LDFLAGS = $(RPATHLDFLAGS) +LIBS = -lpthread -lm +LIB_M = +LIB_VERSION = 65.1 +LIB_VERSION_MAJOR = 65 +MKINSTALLDIRS = $(SHELL) $(pkgdatadir)/mkinstalldirs +RANLIB = ranlib +RMV = rm -rf +SHELL = /bin/bash +SHLIB.c= $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -shared +SHLIB.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -shared +U_IS_BIG_ENDIAN = 0 +includedir = ${prefix}/include +infodir = ${datarootdir}/info +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +oldincludedir = /usr/include +program_transform_name = s,x,x, +sharedstatedir = ${prefix}/com +sysconfdir = ${prefix}/etc +INSTALL-L = ${INSTALL_DATA} + +# for derivative builds - don't bother with VERBOSE/NONVERBOSE SILENT_COMPILE +SILENT_COMPILE=$(1) #M# +ICU_MSG=@echo " $(1) " #M# + +################################################################## +################################################################## +# +# *5* packaging options and directories +# +################################################################## + + +# The basename of the ICU data file (i.e. icudt21b ) +ICUDATA_CHAR = l +ICUDATA_NAME = icudt65l + +# Defaults for pkgdata's mode and directories +# The default data dir changes depending on what packaging mode +# is being used +ifeq ($(strip $(PKGDATA_MODE)),) +#SH# if [ "x$PKGDATA_MODE" = "x" ]; +#SH# then +PKGDATA_MODE=static +#SH# fi +endif + +#SH# case "$PKGDATA_MODE" in +ifeq ($(PKGDATA_MODE),common) +#SH# common) +ICUDATA_DIR = $(pkgdatadir) +ICUPKGDATA_DIR = $(ICUDATA_DIR) +#SH# ;; +else +ifeq ($(PKGDATA_MODE),dll) +#SH# dll) +ICUDATA_DIR = $(pkgdatadir) +ICUPKGDATA_DIR = $(libdir) +#SH# ;; +else +#SH# *) +ICUDATA_DIR = $(pkgdatadir) +ICUPKGDATA_DIR = $(ICUDATA_DIR) +#SH# ;; +endif +endif + +#SH# esac + +GENCCODE_ASSEMBLY = -a gcc + +################################################################## +################################################################## +# +# *6* Inclusion of platform make fragment (mh-* file) +# +################################################################## +# The mh- file ("make fragment") for the platform is included here. +# It may override the above settings. +# It is put last so that the mh-file can override anything. +# The selfcheck is just a sanity check that this makefile is +# parseable. The mh fragment is only included if this does not occur. + +ifeq (selfcheck,$(MAKECMDGOALS)) #M# +selfcheck: #M# + @echo passed #M# +else #M# +include $(pkgdatadir)/config/mh-linux +endif #M# + diff --git a/native/icu/work-native/install/usr/local/lib/icu/current/pkgdata.inc b/native/icu/work-native/install/usr/local/lib/icu/current/pkgdata.inc new file mode 100644 index 0000000..1b23c0f --- /dev/null +++ b/native/icu/work-native/install/usr/local/lib/icu/current/pkgdata.inc @@ -0,0 +1,17 @@ +GENCCODE_ASSEMBLY_TYPE=-a gcc +SO=so +SOBJ=so +A=a +LIBPREFIX=lib +LIB_EXT_ORDER=.65.1 +COMPILE=gcc -O3 -fno-short-wchar -DU_USING_ICU_NAMESPACE=1 -fno-short-enums -DU_HAVE_NL_LANGINFO_CODESET=0 -D__STDC_INT64__ -DU_TIMEZONE=0 -DUCONFIG_NO_LEGACY_CONVERSION=1 -DUCONFIG_NO_BREAK_ITERATION=1 -DUCONFIG_NO_COLLATION=1 -DUCONFIG_NO_FORMATTING=1 -DUCONFIG_NO_TRANSLITERATION=0 -DUCONFIG_NO_REGULAR_EXPRESSIONS=1 -ffunction-sections -fdata-sections -D_REENTRANT -DU_HAVE_ELF_H=1 -DU_ENABLE_DYLOAD=0 -DU_HAVE_STRTOD_L=1 -DU_HAVE_XLOCALE_H=0 -DU_ATTRIBUTE_DEPRECATED= -O2 -c +LIBFLAGS=-I/usr/local/include -DPIC -fPIC +GENLIB=gcc -O2 -Wl,--gc-sections -shared -Wl,-Bsymbolic +LDICUDTFLAGS=-nodefaultlibs -nostdlib +LD_SONAME=-Wl,-soname -Wl, +RPATH_FLAGS= +BIR_LDFLAGS=-Wl,-Bsymbolic +AR=ar +ARFLAGS=r +RANLIB=ranlib +INSTALL_CMD=/usr/bin/install -c diff --git a/native/icu/work-native/install/usr/local/lib/icu/pkgdata.inc b/native/icu/work-native/install/usr/local/lib/icu/pkgdata.inc index cbc426e..1b23c0f 100644 --- a/native/icu/work-native/install/usr/local/lib/icu/pkgdata.inc +++ b/native/icu/work-native/install/usr/local/lib/icu/pkgdata.inc @@ -1 +1,17 @@ -current/pkgdata.inc \ No newline at end of file +GENCCODE_ASSEMBLY_TYPE=-a gcc +SO=so +SOBJ=so +A=a +LIBPREFIX=lib +LIB_EXT_ORDER=.65.1 +COMPILE=gcc -O3 -fno-short-wchar -DU_USING_ICU_NAMESPACE=1 -fno-short-enums -DU_HAVE_NL_LANGINFO_CODESET=0 -D__STDC_INT64__ -DU_TIMEZONE=0 -DUCONFIG_NO_LEGACY_CONVERSION=1 -DUCONFIG_NO_BREAK_ITERATION=1 -DUCONFIG_NO_COLLATION=1 -DUCONFIG_NO_FORMATTING=1 -DUCONFIG_NO_TRANSLITERATION=0 -DUCONFIG_NO_REGULAR_EXPRESSIONS=1 -ffunction-sections -fdata-sections -D_REENTRANT -DU_HAVE_ELF_H=1 -DU_ENABLE_DYLOAD=0 -DU_HAVE_STRTOD_L=1 -DU_HAVE_XLOCALE_H=0 -DU_ATTRIBUTE_DEPRECATED= -O2 -c +LIBFLAGS=-I/usr/local/include -DPIC -fPIC +GENLIB=gcc -O2 -Wl,--gc-sections -shared -Wl,-Bsymbolic +LDICUDTFLAGS=-nodefaultlibs -nostdlib +LD_SONAME=-Wl,-soname -Wl, +RPATH_FLAGS= +BIR_LDFLAGS=-Wl,-Bsymbolic +AR=ar +ARFLAGS=r +RANLIB=ranlib +INSTALL_CMD=/usr/bin/install -c diff --git a/spk/open-vm-tools/Makefile b/spk/open-vm-tools/Makefile index b3c85c6..814ce1c 100644 --- a/spk/open-vm-tools/Makefile +++ b/spk/open-vm-tools/Makefile @@ -7,11 +7,11 @@ BETA = 1 DEPENDS = cross/$(SPK_NAME) UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) $(i686_ARCHS) $(ARMv7L_ARCHS) -MAINTAINER = AuxXxilium +MAINTAINER = zsanjin DESCRIPTION = open-vm-tools is a set of services and modules that enable several features in VMware products for better management of, and seamless user interactions with, guests. RELOAD_UI = yes DISPLAY_NAME = VMware Tools -CHANGELOG = "SPK Open-vm-tools | 22 Mar 2024 | Build 23259341" +CHANGELOG = "SPK Open-vm-tools | 23 Mar 2024 | Build 23259341" HOMEPAGE = https://github.com/vmware/open-vm-tools LICENSE = GPLv2/LGPLv2.1