├── .github ├── FUNDING.yml └── workflows │ └── build.yml ├── .gitignore ├── README.md └── src ├── cross ├── libmspack │ ├── Makefile │ ├── PLIST │ └── digests ├── libtirpc │ ├── Makefile │ ├── PLIST │ └── digests ├── open-vm-tools │ ├── Makefile │ ├── PLIST │ └── digests └── procps-ng │ ├── Makefile │ ├── PLIST │ └── digests └── spk └── open-vm-tools ├── Makefile ├── PLIST └── src ├── conf └── privilege ├── open-vm-tools.png └── service-setup.sh /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: AuxXxilium 4 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2023 AuxXxilium 3 | # 4 | # This is free software, licensed under the MIT License. 5 | # See /LICENSE for more information. 6 | # 7 | 8 | name: build 9 | 10 | on: 11 | workflow_dispatch: 12 | inputs: 13 | tag: 14 | description: "tag" 15 | required: false 16 | type: string 17 | 18 | jobs: 19 | build: 20 | runs-on: ubuntu-latest 21 | strategy: 22 | matrix: 23 | target: [x64-7.0] 24 | 25 | steps: 26 | - name: Checkout 27 | uses: actions/checkout@main 28 | 29 | - name: Init Env 30 | run: | 31 | git config --global user.email "info@auxxxilium.tech" 32 | git config --global user.name "AuxXxilium" 33 | sudo timedatectl set-timezone "Europe/Berlin" 34 | 35 | - name: Checkout SynoCommunity Source and Docker Image 36 | run: | 37 | docker pull ghcr.io/synocommunity/spksrc 38 | git clone --depth=1 https://github.com/SynoCommunity/spksrc.git 39 | cp -rf src/* spksrc 40 | 41 | - name: Build Package 42 | run: | 43 | ROOT_PATH="${{ github.workspace }}" 44 | MAKE_ARCH="arch-${{ matrix.target }}" 45 | docker run -v ${ROOT_PATH}/spksrc:/spksrc -w /spksrc/spk/open-vm-tools ghcr.io/synocommunity/spksrc make ${MAKE_ARCH} 46 | 47 | - name: Upload to Artifacts 48 | if: inputs.tag == '' 49 | uses: actions/upload-artifact@v4 50 | with: 51 | name: ${{ matrix.target }} 52 | path: | 53 | spksrc/packages/*.spk 54 | retention-days: 5 55 | 56 | - name: Release 57 | if: inputs.tag != '' 58 | uses: softprops/action-gh-release@v2 59 | with: 60 | tag_name: ${{ inputs.tag }} 61 | files: spksrc/packages/*.spk 62 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | spksrc/ 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Open-Vm-Tools for DSM 7.x 2 | -------------------------------------------------------------------------------- /src/cross/libmspack/Makefile: -------------------------------------------------------------------------------- 1 | PKG_NAME = libmspack 2 | PKG_VERS = 0.10.1alpha 3 | PKG_EXT = tar.gz 4 | PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) 5 | PKG_DIST_SITE = http://www.cabextract.org.uk/$(PKG_NAME) 6 | PKG_DIR = $(PKG_NAME)-$(PKG_VERS) 7 | 8 | DEPENDS = 9 | 10 | HOMEPAGE = http://www.cabextract.org.uk/libmspack/ 11 | COMMENT = libmspack is a portable library for some loosely related Microsoft compression formats 12 | LICENSE = LGPLv2 13 | 14 | GNU_CONFIGURE = 1 15 | CONFIGURE_ARGS = 16 | 17 | include ../../mk/spksrc.cross-cc.mk 18 | -------------------------------------------------------------------------------- /src/cross/libmspack/PLIST: -------------------------------------------------------------------------------- 1 | lnk:lib/libmspack.so 2 | lnk:lib/libmspack.so.0 3 | lib:lib/libmspack.so.0.1.0 4 | -------------------------------------------------------------------------------- /src/cross/libmspack/digests: -------------------------------------------------------------------------------- 1 | libmspack-0.10.1alpha.tar.gz SHA1 82a6a102a2422d4d61bdd00f059bd3978409ca5f 2 | libmspack-0.10.1alpha.tar.gz SHA256 bac862dee6e0fc10d92c70212441d9f8ad9b0222edc9a708c3ead4adb1b24a8e 3 | libmspack-0.10.1alpha.tar.gz MD5 12b96d707f25ea6e89b2b32cbad30940 4 | -------------------------------------------------------------------------------- /src/cross/libtirpc/Makefile: -------------------------------------------------------------------------------- 1 | PKG_NAME = libtirpc 2 | PKG_VERS = 1.3.4 3 | PKG_EXT = tar.bz2 4 | PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) 5 | PKG_DIST_SITE = http://downloads.sourceforge.net/project/$(PKG_NAME)/$(PKG_NAME)/$(PKG_VERS) 6 | PKG_DIR = $(PKG_NAME)-$(PKG_VERS) 7 | 8 | DEPENDS = 9 | 10 | HOMEPAGE = https://sourceforge.net/projects/libtirpc/ 11 | COMMENT = Libtirpc is a port of Suns Transport-Independent RPC library to Linux 12 | LICENSE = BSD 13 | 14 | GNU_CONFIGURE = 1 15 | CONFIGURE_ARGS = --disable-gssapi 16 | 17 | include ../../mk/spksrc.cross-cc.mk 18 | -------------------------------------------------------------------------------- /src/cross/libtirpc/PLIST: -------------------------------------------------------------------------------- 1 | rsc:etc/bindresvport.blacklist 2 | rsc:etc/netconfig 3 | lnk:lib/libtirpc.so 4 | lnk:lib/libtirpc.so.3 5 | lib:lib/libtirpc.so.3.0.0 6 | -------------------------------------------------------------------------------- /src/cross/libtirpc/digests: -------------------------------------------------------------------------------- 1 | libtirpc-1.3.4.tar.bz2 SHA1 63c800f81f823254d2706637bab551dec176b99b 2 | libtirpc-1.3.4.tar.bz2 SHA256 1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860 3 | libtirpc-1.3.4.tar.bz2 MD5 375dbe7ceb2d0300d173fb40321b49b6 4 | -------------------------------------------------------------------------------- /src/cross/open-vm-tools/Makefile: -------------------------------------------------------------------------------- 1 | PKG_NAME = open-vm-tools 2 | PKG_VERS = 12.4.5 3 | PKG_BUILD = 23787635 4 | PKG_EXT = tar.gz 5 | PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS)-$(PKG_BUILD).$(PKG_EXT) 6 | PKG_DIST_SITE = https://github.com/vmware/open-vm-tools/releases/download/stable-$(PKG_VERS) 7 | PKG_DIR = $(PKG_NAME)-$(PKG_VERS)-$(PKG_BUILD) 8 | 9 | DEPENDS = cross/glib cross/curl cross/moreutils cross/protobuf cross/openssl cross/libmspack cross/fuse3 cross/libtirpc cross/procps-ng cross/libicu cross/libiconv 10 | 11 | HOMEPAGE = https://github.com/vmware/open-vm-tools 12 | COMMENT = VMware open-vm-tools project 13 | LICENSE = GPLv2/LGPLv2.1 14 | 15 | PRE_CONFIGURE_TARGET = vmtools_pre_configure 16 | INSTALL_TARGET = vmtools_install 17 | POST_INSTALL_TARGET = vmtools_post_install 18 | 19 | ENV += PATH=$(STAGING_INSTALL_PREFIX)/bin:$$PATH 20 | 21 | GNU_CONFIGURE = 1 22 | CONFIGURE_ARGS = 23 | CONFIGURE_ARGS += --with-fuse=auto 24 | CONFIGURE_ARGS += --without-x 25 | CONFIGURE_ARGS += --without-pam 26 | CONFIGURE_ARGS += --without-xmlsec1 27 | CONFIGURE_ARGS += --enable-servicediscovery 28 | CONFIGURE_ARGS += --enable-containerinfo=no 29 | 30 | include ../../mk/spksrc.cross-cc.mk 31 | 32 | .PHONY: vmtools_pre_configure 33 | vmtools_pre_configure: 34 | $(RUN) echo -e 'libMisc_la_LDFLAGS =\nlibMisc_la_LDFLAGS += -liconv\n' >> lib/misc/Makefile.am 35 | $(RUN) autoreconf -fiv 36 | 37 | .PHONY: vmtools_install 38 | vmtools_install: 39 | $(RUN) $(MAKE) install DESTDIR=$(STAGING_INSTALL_PREFIX) prefix="" 40 | 41 | .PHONY: vmtools_post_install 42 | vmtools_post_install: 43 | # chmod a-x $(STAGING_INSTALL_PREFIX)/etc/pam.d/* 44 | # chmod a-x $(STAGING_INSTALL_PREFIX)/etc/vmware-tools/*.conf.example 45 | # chmod a-x $(STAGING_INSTALL_PREFIX)/usr/lib/udev/rules.d/99-vmware-scsi-udev.rules 46 | # mv $(STAGING_INSTALL_PREFIX)/usr/bin/vm-support $(STAGING_INSTALL_PREFIX)/bin/ 47 | -------------------------------------------------------------------------------- /src/cross/open-vm-tools/PLIST: -------------------------------------------------------------------------------- 1 | rsc:bin/vm-support 2 | bin:bin/vmhgfs-fuse 3 | bin:bin/vmtoolsd 4 | bin:bin/vmware-checkvm 5 | bin:bin/vmware-hgfsclient 6 | bin:bin/vmware-namespace-cmd 7 | bin:bin/vmware-rpctool 8 | bin:bin/vmware-toolbox-cmd 9 | bin:bin/vmware-vmblock-fuse 10 | bin:bin/vmware-xferlogs 11 | rsc:etc/vmware-tools/poweroff-vm-default 12 | rsc:etc/vmware-tools/poweron-vm-default 13 | rsc:etc/vmware-tools/resume-vm-default 14 | rsc:etc/vmware-tools/statechange.subr 15 | rsc:etc/vmware-tools/suspend-vm-default 16 | rsc:etc/vmware-tools/tools.conf.example 17 | lnk:lib/libDeployPkg.so 18 | lnk:lib/libDeployPkg.so.0 19 | lib:lib/libDeployPkg.so.0.0.0 20 | lnk:lib/libguestlib.so 21 | lnk:lib/libguestlib.so.0 22 | lib:lib/libguestlib.so.0.0.0 23 | lnk:lib/libhgfs.so 24 | lnk:lib/libhgfs.so.0 25 | lib:lib/libhgfs.so.0.0.0 26 | lnk:lib/libvmtools.so 27 | lnk:lib/libvmtools.so.0 28 | lib:lib/libvmtools.so.0.0.0 29 | lnk:lib/libguestStoreClient.so.0 30 | lib:lib/libguestStoreClient.so.0.0.0 31 | lib:lib/open-vm-tools/plugins/common/libhgfsServer.so 32 | lib:lib/open-vm-tools/plugins/common/libvix.so 33 | lib:lib/open-vm-tools/plugins/vmsvc/libdeployPkgPlugin.so 34 | lib:lib/open-vm-tools/plugins/vmsvc/libguestInfo.so 35 | lib:lib/open-vm-tools/plugins/vmsvc/libpowerOps.so 36 | lib:lib/open-vm-tools/plugins/vmsvc/libtimeSync.so 37 | lib:lib/open-vm-tools/plugins/vmsvc/libvmbackup.so 38 | rsc:lib/udev/rules.d/99-vmware-scsi-udev.rules 39 | rsc:share/open-vm-tools/messages/de/toolboxcmd.vmsg 40 | rsc:share/open-vm-tools/messages/de/toolboxcmd.vmsg 41 | rsc:share/open-vm-tools/messages/de/vmtoolsd.vmsg 42 | rsc:share/open-vm-tools/messages/en/toolboxcmd.vmsg 43 | rsc:share/open-vm-tools/messages/en/vmtoolsd.vmsg 44 | rsc:share/open-vm-tools/messages/es/toolboxcmd.vmsg 45 | rsc:share/open-vm-tools/messages/es/vmtoolsd.vmsg 46 | rsc:share/open-vm-tools/messages/fr/toolboxcmd.vmsg 47 | rsc:share/open-vm-tools/messages/fr/vmtoolsd.vmsg 48 | rsc:share/open-vm-tools/messages/it/toolboxcmd.vmsg 49 | rsc:share/open-vm-tools/messages/it/vmtoolsd.vmsg 50 | rsc:share/open-vm-tools/messages/ja/toolboxcmd.vmsg 51 | rsc:share/open-vm-tools/messages/ja/vmtoolsd.vmsg 52 | rsc:share/open-vm-tools/messages/ko/toolboxcmd.vmsg 53 | rsc:share/open-vm-tools/messages/ko/vmtoolsd.vmsg 54 | rsc:share/open-vm-tools/messages/zh_CN/toolboxcmd.vmsg 55 | rsc:share/open-vm-tools/messages/zh_CN/vmtoolsd.vmsg 56 | rsc:share/open-vm-tools/messages/zh_TW/toolboxcmd.vmsg 57 | rsc:share/open-vm-tools/messages/zh_TW/vmtoolsd.vmsg 58 | -------------------------------------------------------------------------------- /src/cross/open-vm-tools/digests: -------------------------------------------------------------------------------- 1 | open-vm-tools-12.4.5-23787635.tar.gz SHA1 29bf5fb14557ff3e4fa8a2d566f1e140507712bd 2 | open-vm-tools-12.4.5-23787635.tar.gz SHA256 506e5677add62c938cdc6c340f1494de94f1988b9b6511f7b19f74344fcec9d9 3 | open-vm-tools-12.4.5-23787635.tar.gz MD5 0a0c9843b4c474f0b28d8e9d99fa02e4 4 | -------------------------------------------------------------------------------- /src/cross/procps-ng/Makefile: -------------------------------------------------------------------------------- 1 | PKG_NAME = procps-ng 2 | PKG_VERS = 4.0.4 3 | PKG_EXT = tar.xz 4 | PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) 5 | PKG_DIST_SITE = http://downloads.sourceforge.net/project/$(PKG_NAME)/Production 6 | PKG_DIR = $(PKG_NAME)-$(PKG_VERS) 7 | 8 | HOMEPAGE = http://sourceforge.net/projects/procps-ng/ 9 | COMMENT = procps-ng is a fork of the procps project. It contains free, kill, pkill, pgrep, pmap, ps, pwdx, skill, slabtop, snice, sysctl, tload, top, uptime, vmstat, w, and watch. 10 | LICENSE = GPLv2 11 | 12 | GNU_CONFIGURE = 1 13 | 14 | CONFIGURE_ARGS = ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes --without-ncurses 15 | 16 | include ../../mk/spksrc.cross-cc.mk 17 | -------------------------------------------------------------------------------- /src/cross/procps-ng/PLIST: -------------------------------------------------------------------------------- 1 | bin:bin/free 2 | bin:bin/kill 3 | bin:bin/pgrep 4 | bin:bin/pkill 5 | bin:bin/pmap 6 | bin:bin/ps 7 | bin:bin/pwdx 8 | bin:bin/tload 9 | bin:bin/uptime 10 | bin:bin/vmstat 11 | bin:bin/w 12 | lnk:lib/libproc2.so 13 | lnk:lib/libproc2.so.0 14 | lib:lib/libproc2.so.0.0.2 15 | bin:sbin/sysctl 16 | -------------------------------------------------------------------------------- /src/cross/procps-ng/digests: -------------------------------------------------------------------------------- 1 | procps-ng-4.0.4.tar.xz SHA1 2b859acd7060e9898ac457dbd26dbebf563cc44b 2 | procps-ng-4.0.4.tar.xz SHA256 22870d6feb2478adb617ce4f09a787addaf2d260c5a8aa7b17d889a962c5e42e 3 | procps-ng-4.0.4.tar.xz MD5 2f747fc7df8ccf402d03e375c565cf96 4 | -------------------------------------------------------------------------------- /src/spk/open-vm-tools/Makefile: -------------------------------------------------------------------------------- 1 | SPK_NAME = open-vm-tools 2 | SPK_VERS = 12.4.5 3 | SPK_REV = 1 4 | SPK_ICON = src/open-vm-tools.png 5 | 6 | DEPENDS = cross/$(SPK_NAME) 7 | UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) $(i686_ARCHS) $(ARMv7L_ARCHS) 8 | 9 | MAINTAINER = vmware 10 | 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. ⚠️安装完毕SSH修复:sudo sed -i 's/package/root/g' /var/packages/open-vm-tools/conf/privilege 11 | RELOAD_UI = yes 12 | DISPLAY_NAME = VMware Tools 13 | CHANGELOG = "SPK Open-vm-tools | 28 Jun 2024 | Build 23787635" 14 | 15 | HOMEPAGE = https://github.com/vmware/open-vm-tools 16 | LICENSE = GPLv2/LGPLv2.1 17 | 18 | # 'auto' reserved value grabs SPK_NAME 19 | SERVICE_USER = auto 20 | SERVICE_SETUP = src/service-setup.sh 21 | CONF_DIR = src/conf 22 | STARTABLE = yes 23 | 24 | include ../../mk/spksrc.spk.mk 25 | -------------------------------------------------------------------------------- /src/spk/open-vm-tools/PLIST: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/spk/open-vm-tools/src/conf/privilege: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "run-as": "package" 4 | }, 5 | "username": "open-vm-tools", 6 | "join-groupname": "wheel" 7 | } 8 | -------------------------------------------------------------------------------- /src/spk/open-vm-tools/src/open-vm-tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AuxXxilium/synology-dsm-open-vm-tools/b4f1d9e917c8c591c29d1898b5a0519349586204/src/spk/open-vm-tools/src/open-vm-tools.png -------------------------------------------------------------------------------- /src/spk/open-vm-tools/src/service-setup.sh: -------------------------------------------------------------------------------- 1 | ### Generic variables and functions 2 | ### ------------------------------- 3 | 4 | if [ -z "${SYNOPKG_PKGNAME}" ] || [ -z "${SYNOPKG_DSM_VERSION_MAJOR}" ]; then 5 | echo "Error: Environment variables are not set." 1>&2; 6 | echo "Please run me using synopkg instead. Example: \"synopkg start [packagename]\"" 1>&2; 7 | exit 1 8 | fi 9 | 10 | USER="sc-open-vm-tools" 11 | EFF_USER="sc-open-vm-tools" 12 | # start-stop-status script redirect stdout/stderr to LOG_FILE 13 | LOG_FILE="${SYNOPKG_PKGVAR}/${SYNOPKG_PKGNAME}.log" 14 | 15 | # Service command has to deliver its pid into PID_FILE 16 | PID_FILE="${SYNOPKG_PKGVAR}/${SYNOPKG_PKGNAME}.pid" 17 | 18 | 19 | ### Package specific variables and functions 20 | ### ---------------------------------------- 21 | 22 | 23 | # Package specific behaviors 24 | # Sourced script by generic installer and start-stop-status scripts 25 | VMTOOLS_DIR=${SYNOPKG_PKGDEST} 26 | VMTOOLS_DAEMON="${VMTOOLS_DIR}/bin/vmtoolsd" 27 | CONF_FILE=${VMTOOLS_DIR}/etc/vmware-tools/tools.conf 28 | PLUGINS_PATH=${SYNOPKG_PKGDEST}/lib/open-vm-tools/plugins/vmsvc/ 29 | COMMON_PATH=${SYNOPKG_PKGDEST}/lib/open-vm-tools/plugins/ 30 | LOG_FOLDER=${SYNOPKG_PKGDEST}/var/log 31 | SCRIPT_PATH=${VMTOOLS_DIR}/etc/vmware-tools 32 | PATH="${VMTOOLS_DIR}/bin:${PATH}" 33 | 34 | SERVICE_COMMAND="${VMTOOLS_DAEMON} -b ${PID_FILE} -c ${CONF_FILE} --plugin-path=${PLUGINS_PATH} --common-path=${COMMON_PATH}" 35 | 36 | service_postinst () 37 | { 38 | mkdir -p ${LOG_FOLDER} 39 | cat > ${CONF_FILE} << EOF 40 | # bindir = "${SYNOPKG_PKGDEST}/bin" 41 | # libdir = "${SYNOPKG_PKGDEST}/lib" 42 | [vmtools] 43 | disable-tools-version = false 44 | [setenvironment] 45 | vmsvc.LOCALE = it 46 | [logging] 47 | log = true 48 | vmsvc.level = message 49 | vmsvc.handler = file 50 | vmsvc.data = ${LOG_FOLDER}/vmsvc.${USER}.log 51 | 52 | vmtoolsd.level = message 53 | vmtoolsd.handler = file 54 | vmtoolsd.data = ${LOG_FOLDER}/vmtoolsd.${USER}.log 55 | 56 | [powerops] 57 | poweron-script=${SCRIPT_PATH}/poweron-vm-default 58 | poweroff-script=${SCRIPT_PATH}/poweroff-vm-default 59 | resume-script=${SCRIPT_PATH}/resume-vm-default 60 | suspend-script=${SCRIPT_PATH}/suspend-vm-default 61 | 62 | EOF 63 | } 64 | 65 | service_postuninst () 66 | { 67 | # Remove link 68 | rm -f ${VMTOOLS_DIR} 69 | 70 | } 71 | --------------------------------------------------------------------------------