From 89f3b91a8c9c346e1833bea0d678ec703dc4b484 Mon Sep 17 00:00:00 2001 From: Ben Cressey Date: Wed, 28 Apr 2021 03:31:46 +0000 Subject: [PATCH 1/8] libdbus: disable SELinux Otherwise, the build fails if libselinux-devel is present in the SDK. Signed-off-by: Ben Cressey --- packages/libdbus/libdbus.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/libdbus/libdbus.spec b/packages/libdbus/libdbus.spec index f1f00c7316a..bd2b6eb70d8 100644 --- a/packages/libdbus/libdbus.spec +++ b/packages/libdbus/libdbus.spec @@ -31,6 +31,7 @@ Requires: %{name} --disable-ducktype-docs \ --disable-tests \ --disable-xml-docs \ + --disable-selinux \ --disable-systemd \ --with-xml=expat \ From 5e2ee5d4f86ebbe6c55f5cc6c31ce112ac15ed6d Mon Sep 17 00:00:00 2001 From: Ben Cressey Date: Wed, 28 Apr 2021 15:48:37 +0000 Subject: [PATCH 2/8] build: update SDK to 0.21.0 Signed-off-by: Ben Cressey --- Makefile.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.toml b/Makefile.toml index 5b791418f33..953f51f920f 100644 --- a/Makefile.toml +++ b/Makefile.toml @@ -26,7 +26,7 @@ BUILDSYS_NAME = "bottlerocket" # "Bottlerocket Remix by ${CORP}" or "${CORP}'s Bottlerocket Remix" BUILDSYS_PRETTY_NAME = "Bottlerocket OS" # SDK version used for building -BUILDSYS_SDK_VERSION="v0.20.0" +BUILDSYS_SDK_VERSION="v0.21.0" # Site for fetching the SDK BUILDSYS_REGISTRY="public.ecr.aws/bottlerocket" From b4a5a7d279c4d576c2097c21f94c877de31581c5 Mon Sep 17 00:00:00 2001 From: Ben Cressey Date: Wed, 28 Apr 2021 05:57:04 +0000 Subject: [PATCH 3/8] util-linux: update libmount dependencies libmount depends on libblkid. Signed-off-by: Ben Cressey --- packages/util-linux/util-linux.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/util-linux/util-linux.spec b/packages/util-linux/util-linux.spec index a92918fc4ab..03c380d1c30 100644 --- a/packages/util-linux/util-linux.spec +++ b/packages/util-linux/util-linux.spec @@ -55,6 +55,7 @@ Requires: %{_cross_os}libfdisk %package -n %{_cross_os}libmount Summary: Device mounting library License: LGPL-2.1-or-later +Requires: %{_cross_os}libblkid Requires: %{_cross_os}libselinux %description -n %{_cross_os}libmount @@ -63,6 +64,7 @@ Requires: %{_cross_os}libselinux %package -n %{_cross_os}libmount-devel Summary: Files for development using the device mounting library License: LGPL-2.1-or-later +Requires: %{_cross_os}libblkid-devel Requires: %{_cross_os}libmount %description -n %{_cross_os}libmount-devel From 20f27913f535b978d49ffc20a8614be22ef866d2 Mon Sep 17 00:00:00 2001 From: Ben Cressey Date: Wed, 28 Apr 2021 05:53:05 +0000 Subject: [PATCH 4/8] build libffi Signed-off-by: Ben Cressey --- packages/libffi/Cargo.toml | 16 +++++++++++++ packages/libffi/build.rs | 9 ++++++++ packages/libffi/libffi.spec | 46 +++++++++++++++++++++++++++++++++++++ packages/libffi/pkg.rs | 1 + variants/Cargo.lock | 7 ++++++ 5 files changed, 79 insertions(+) create mode 100644 packages/libffi/Cargo.toml create mode 100644 packages/libffi/build.rs create mode 100644 packages/libffi/libffi.spec create mode 100644 packages/libffi/pkg.rs diff --git a/packages/libffi/Cargo.toml b/packages/libffi/Cargo.toml new file mode 100644 index 00000000000..fac8cecfb37 --- /dev/null +++ b/packages/libffi/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "libffi" +version = "0.1.0" +edition = "2018" +publish = false +build = "build.rs" + +[lib] +path = "pkg.rs" + +[[package.metadata.build-package.external-files]] +url = "https://github.com/libffi/libffi/releases/download/v3.3/libffi-3.3.tar.gz" +sha512 = "61513801a156f11420f541d325de697131846487122d6bdcf5491b18b4da788589f5c0bb07e88e396495d3be5830d74e9135595e2b8ddbfe95c448d8597fbd6f" + +[build-dependencies] +glibc = { path = "../glibc" } diff --git a/packages/libffi/build.rs b/packages/libffi/build.rs new file mode 100644 index 00000000000..cad8999af53 --- /dev/null +++ b/packages/libffi/build.rs @@ -0,0 +1,9 @@ +use std::process::{exit, Command}; + +fn main() -> Result<(), std::io::Error> { + let ret = Command::new("buildsys").arg("build-package").status()?; + if !ret.success() { + exit(1); + } + Ok(()) +} diff --git a/packages/libffi/libffi.spec b/packages/libffi/libffi.spec new file mode 100644 index 00000000000..404101bb5f0 --- /dev/null +++ b/packages/libffi/libffi.spec @@ -0,0 +1,46 @@ +Name: %{_cross_os}libffi +Version: 3.3 +Release: 1%{?dist} +Summary: Library for FFI +License: MIT +URL: https://sourceware.org/libffi/ +Source0: https://github.com/libffi/libffi/releases/download/v%{version}/libffi-%{version}.tar.gz +BuildRequires: %{_cross_os}glibc-devel + +%description +%{summary}. + +%package devel +Summary: Files for development using the library for FFI +Requires: %{name} + +%description devel +%{summary}. + +%prep +%autosetup -n libffi-%{version} -p1 + +%build +%cross_configure \ + --disable-docs \ + --disable-multi-os-directory \ + +%make_build + +%install +%make_install + +%files +%license LICENSE +%{_cross_attribution_file} +%{_cross_libdir}/*.so.* +%exclude %{_cross_mandir} + +%files devel +%{_cross_libdir}/*.a +%{_cross_libdir}/*.so +%{_cross_includedir}/*.h +%{_cross_pkgconfigdir}/*.pc +%exclude %{_cross_libdir}/*.la + +%changelog diff --git a/packages/libffi/pkg.rs b/packages/libffi/pkg.rs new file mode 100644 index 00000000000..d799fb2d44c --- /dev/null +++ b/packages/libffi/pkg.rs @@ -0,0 +1 @@ +// not used diff --git a/variants/Cargo.lock b/variants/Cargo.lock index a7cc20e4c24..08e50d573f4 100644 --- a/variants/Cargo.lock +++ b/variants/Cargo.lock @@ -420,6 +420,13 @@ dependencies = [ "glibc", ] +[[package]] +name = "libffi" +version = "0.1.0" +dependencies = [ + "glibc", +] + [[package]] name = "libgcc" version = "0.1.0" From b9b1128558d3e59a971a8a14373e4bb3c7c7c82e Mon Sep 17 00:00:00 2001 From: Ben Cressey Date: Wed, 28 Apr 2021 05:56:21 +0000 Subject: [PATCH 5/8] build libtirpc Signed-off-by: Ben Cressey --- packages/libtirpc/Cargo.toml | 16 +++++++++++ packages/libtirpc/build.rs | 9 ++++++ packages/libtirpc/libtirpc.spec | 49 +++++++++++++++++++++++++++++++++ packages/libtirpc/pkg.rs | 1 + variants/Cargo.lock | 7 +++++ 5 files changed, 82 insertions(+) create mode 100644 packages/libtirpc/Cargo.toml create mode 100644 packages/libtirpc/build.rs create mode 100644 packages/libtirpc/libtirpc.spec create mode 100644 packages/libtirpc/pkg.rs diff --git a/packages/libtirpc/Cargo.toml b/packages/libtirpc/Cargo.toml new file mode 100644 index 00000000000..af0df19e16f --- /dev/null +++ b/packages/libtirpc/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "libtirpc" +version = "0.1.0" +edition = "2018" +publish = false +build = "build.rs" + +[lib] +path = "pkg.rs" + +[[package.metadata.build-package.external-files]] +url = "https://downloads.sourceforge.net/libtirpc/libtirpc-1.3.1.tar.bz2" +sha512 = "131f746800ac7280cc3900597018fc8dbc8da50c14e29dbaccf36a6d110eded117351108c6b069eaac90d77cfec17014b08e9afddcf153fda2d780ba64260cbc" + +[build-dependencies] +glibc = { path = "../glibc" } diff --git a/packages/libtirpc/build.rs b/packages/libtirpc/build.rs new file mode 100644 index 00000000000..cad8999af53 --- /dev/null +++ b/packages/libtirpc/build.rs @@ -0,0 +1,9 @@ +use std::process::{exit, Command}; + +fn main() -> Result<(), std::io::Error> { + let ret = Command::new("buildsys").arg("build-package").status()?; + if !ret.success() { + exit(1); + } + Ok(()) +} diff --git a/packages/libtirpc/libtirpc.spec b/packages/libtirpc/libtirpc.spec new file mode 100644 index 00000000000..98337d1b73b --- /dev/null +++ b/packages/libtirpc/libtirpc.spec @@ -0,0 +1,49 @@ +Name: %{_cross_os}libtirpc +Version: 1.3.1 +Release: 1%{?dist} +Summary: Library for RPC +License: BSD-3-Clause +URL: http://git.linux-nfs.org/?p=steved/libtirpc.git;a=summary +Source0: http://downloads.sourceforge.net/libtirpc/libtirpc-%{version}.tar.bz2 +BuildRequires: %{_cross_os}glibc-devel + +%description +%{summary}. + +%package devel +Summary: Files for development using the library for RPC +Requires: %{name} + +%description devel +%{summary}. + +%prep +%autosetup -n libtirpc-%{version} -p1 + +%build +%cross_configure \ + --enable-static \ + --disable-authdes \ + --disable-gssapi \ + +%make_build + +%install +%make_install + +%files +%license COPYING +%{_cross_attribution_file} +%{_cross_libdir}/*.so.* +%exclude %{_cross_mandir} +%exclude %{_cross_sysconfdir} + +%files devel +%{_cross_libdir}/*.a +%{_cross_libdir}/*.so +%dir %{_cross_includedir}/tirpc +%{_cross_includedir}/tirpc/* +%{_cross_pkgconfigdir}/*.pc +%exclude %{_cross_libdir}/*.la + +%changelog diff --git a/packages/libtirpc/pkg.rs b/packages/libtirpc/pkg.rs new file mode 100644 index 00000000000..d799fb2d44c --- /dev/null +++ b/packages/libtirpc/pkg.rs @@ -0,0 +1 @@ +// not used diff --git a/variants/Cargo.lock b/variants/Cargo.lock index 08e50d573f4..a68ddb9bfa1 100644 --- a/variants/Cargo.lock +++ b/variants/Cargo.lock @@ -553,6 +553,13 @@ dependencies = [ name = "libstd-rust" version = "0.1.0" +[[package]] +name = "libtirpc" +version = "0.1.0" +dependencies = [ + "glibc", +] + [[package]] name = "libxcrypt" version = "0.1.0" From fcac9a76b60e885019e7d628757766981a5a4e7e Mon Sep 17 00:00:00 2001 From: Ben Cressey Date: Wed, 28 Apr 2021 03:30:43 +0000 Subject: [PATCH 6/8] build libglib Signed-off-by: Ben Cressey --- packages/libglib/Cargo.toml | 21 +++++++++++ packages/libglib/build.rs | 9 +++++ packages/libglib/libglib.spec | 70 +++++++++++++++++++++++++++++++++++ packages/libglib/pkg.rs | 1 + variants/Cargo.lock | 19 ++++++++++ 5 files changed, 120 insertions(+) create mode 100644 packages/libglib/Cargo.toml create mode 100644 packages/libglib/build.rs create mode 100644 packages/libglib/libglib.spec create mode 100644 packages/libglib/pkg.rs diff --git a/packages/libglib/Cargo.toml b/packages/libglib/Cargo.toml new file mode 100644 index 00000000000..026884ab450 --- /dev/null +++ b/packages/libglib/Cargo.toml @@ -0,0 +1,21 @@ +[package] +name = "libglib" +version = "0.1.0" +edition = "2018" +publish = false +build = "build.rs" + +[lib] +path = "pkg.rs" + +[[package.metadata.build-package.external-files]] +url = "https://download.gnome.org/sources/glib/2.68/glib-2.68.1.tar.xz" +sha512 = "f705cda6f1b4b0acc5fe8d21b60994ca0ec6de39c6722f4f01cbe0ece30eacb7271d3cb29067e638e0204a3cefa2df1e535f273b72330455e185b544cebc2ab0" + +[build-dependencies] +glibc = { path = "../glibc" } +libffi = { path = "../libffi" } +libpcre = { path = "../libpcre" } +libselinux = { path = "../libselinux" } +libz = { path = "../libz" } +util-linux = { path = "../util-linux" } diff --git a/packages/libglib/build.rs b/packages/libglib/build.rs new file mode 100644 index 00000000000..cad8999af53 --- /dev/null +++ b/packages/libglib/build.rs @@ -0,0 +1,9 @@ +use std::process::{exit, Command}; + +fn main() -> Result<(), std::io::Error> { + let ret = Command::new("buildsys").arg("build-package").status()?; + if !ret.success() { + exit(1); + } + Ok(()) +} diff --git a/packages/libglib/libglib.spec b/packages/libglib/libglib.spec new file mode 100644 index 00000000000..3ceafc0c7ce --- /dev/null +++ b/packages/libglib/libglib.spec @@ -0,0 +1,70 @@ +Name: %{_cross_os}libglib +Version: 2.68.1 +Release: 1%{?dist} +Summary: The GLib libraries +License: LGPL-2.1-or-later +URL: https://www.gtk.org/ +Source0: https://download.gnome.org/sources/glib/2.68/glib-%{version}.tar.xz +BuildRequires: meson +BuildRequires: %{_cross_os}glibc-devel +BuildRequires: %{_cross_os}libffi-devel +BuildRequires: %{_cross_os}libmount-devel +BuildRequires: %{_cross_os}libpcre-devel +BuildRequires: %{_cross_os}libselinux-devel +BuildRequires: %{_cross_os}libz-devel +Requires: %{_cross_os}libffi +Requires: %{_cross_os}libmount +Requires: %{_cross_os}libpcre +Requires: %{_cross_os}libselinux +Requires: %{_cross_os}libz + +%description +%{summary}. + +%package devel +Summary: Files for development using the GLib libraries +Requires: %{name} +Requires: %{_cross_os}libffi-devel + +%description devel +%{summary}. + +%prep +%autosetup -n glib-%{version} -p1 + +%build +CONFIGURE_OPTS=( + -Dlibmount=enabled + -Dselinux=enabled + + -Dlibelf=disabled + -Dnls=disabled + + -Dman=false + -Dtests=false +) + +%cross_meson "${CONFIGURE_OPTS[@]}" +%cross_meson_build + +%install +%cross_meson_install + +%files +%{_cross_attribution_file} +%{_cross_libdir}/*.so.* +%exclude %{_cross_datadir} + +%files devel +%{_cross_bindir}/* +%{_cross_libdir}/*.so +%dir %{_cross_libdir}/glib-2.0 +%dir %{_cross_libdir}/glib-2.0/include +%{_cross_libdir}/glib-2.0/include/glibconfig.h +%dir %{_cross_includedir}/gio-unix-2.0 +%dir %{_cross_includedir}/glib-2.0 +%{_cross_includedir}/gio-unix-2.0/* +%{_cross_includedir}/glib-2.0/* +%{_cross_pkgconfigdir}/*.pc + +%changelog diff --git a/packages/libglib/pkg.rs b/packages/libglib/pkg.rs new file mode 100644 index 00000000000..d799fb2d44c --- /dev/null +++ b/packages/libglib/pkg.rs @@ -0,0 +1 @@ +// not used diff --git a/variants/Cargo.lock b/variants/Cargo.lock index a68ddb9bfa1..b6af31a1936 100644 --- a/variants/Cargo.lock +++ b/variants/Cargo.lock @@ -431,6 +431,18 @@ dependencies = [ name = "libgcc" version = "0.1.0" +[[package]] +name = "libglib" +version = "0.1.0" +dependencies = [ + "glibc", + "libffi", + "libpcre", + "libselinux", + "libz", + "util-linux", +] + [[package]] name = "libiw" version = "0.1.0" @@ -567,6 +579,13 @@ dependencies = [ "glibc", ] +[[package]] +name = "libz" +version = "0.1.0" +dependencies = [ + "glibc", +] + [[package]] name = "login" version = "0.0.1" From 76f2d28935bcc638b301673862474629c9bed032 Mon Sep 17 00:00:00 2001 From: Ben Cressey Date: Fri, 30 Apr 2021 22:09:41 +0000 Subject: [PATCH 7/8] build open-vm-tools Signed-off-by: Ben Cressey --- .../open-vm-tools/0001-no_cflags_werror.patch | 18 +++ .../0002-dont-force-cppflags.patch | 21 ++++ packages/open-vm-tools/Cargo.toml | 19 +++ packages/open-vm-tools/build.rs | 9 ++ .../open-vm-tools/open-vm-tools-tmpfiles.conf | 1 + packages/open-vm-tools/open-vm-tools.spec | 119 ++++++++++++++++++ packages/open-vm-tools/pkg.rs | 1 + packages/open-vm-tools/tools.conf | 5 + packages/open-vm-tools/vmtoolsd.service | 10 ++ variants/Cargo.lock | 10 ++ 10 files changed, 213 insertions(+) create mode 100644 packages/open-vm-tools/0001-no_cflags_werror.patch create mode 100644 packages/open-vm-tools/0002-dont-force-cppflags.patch create mode 100644 packages/open-vm-tools/Cargo.toml create mode 100644 packages/open-vm-tools/build.rs create mode 100644 packages/open-vm-tools/open-vm-tools-tmpfiles.conf create mode 100644 packages/open-vm-tools/open-vm-tools.spec create mode 100644 packages/open-vm-tools/pkg.rs create mode 100644 packages/open-vm-tools/tools.conf create mode 100644 packages/open-vm-tools/vmtoolsd.service diff --git a/packages/open-vm-tools/0001-no_cflags_werror.patch b/packages/open-vm-tools/0001-no_cflags_werror.patch new file mode 100644 index 00000000000..3378cb8e7dd --- /dev/null +++ b/packages/open-vm-tools/0001-no_cflags_werror.patch @@ -0,0 +1,18 @@ +configure.ac: disable -Werror + +Disable the mandatory flag -Werror in configure.ac. + +Signed-off-by: Karoly Kasza + +--- open-vm-tools/configure.ac 2015-06-17 10:02:00.000000000 +0200 ++++ open-vm-tools/configure.ac 2015-06-17 10:02:00.000000000 +0200 +@@ -935,7 +935,7 @@ + + ### General flags / actions + CFLAGS="$CFLAGS -Wall" +-CFLAGS="$CFLAGS -Werror" ++# CFLAGS="$CFLAGS -Werror" + + # -Wno-unknown-pragmas is due to gcc not understanding '#pragma ident' + # in Xlib.h on OpenSolaris. + diff --git a/packages/open-vm-tools/0002-dont-force-cppflags.patch b/packages/open-vm-tools/0002-dont-force-cppflags.patch new file mode 100644 index 00000000000..eb2fe16ba9d --- /dev/null +++ b/packages/open-vm-tools/0002-dont-force-cppflags.patch @@ -0,0 +1,21 @@ +m4: do not force -I/usr/include in CPPFLAGS + +This is so horribly broken for cross-compilation. :-( + +Signed-off-by: "Yann E. MORIN" + +--- open-vm-tools/m4/vmtools.m4 2015-06-17 10:03:00.000000000 +0200 ++++ open-vm-tools/m4/vmtools.m4 2015-06-17 10:03:00.000000000 +0200 +@@ -281,10 +281,10 @@ + if test "$os" = freebsd; then + CUSTOM_$1_CPPFLAGS="-I/usr/local/include" + else +- CUSTOM_$1_CPPFLAGS="-I/usr/include" ++ CUSTOM_$1_CPPFLAGS=" " + fi + if test -n "$2"; then +- CUSTOM_$1_CPPFLAGS="${CUSTOM_$1_CPPFLAGS}/$2" ++ : CUSTOM_$1_CPPFLAGS="${CUSTOM_$1_CPPFLAGS}/$2" + fi + fi + ]) diff --git a/packages/open-vm-tools/Cargo.toml b/packages/open-vm-tools/Cargo.toml new file mode 100644 index 00000000000..39f76b01d44 --- /dev/null +++ b/packages/open-vm-tools/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "open-vm-tools" +version = "0.1.0" +edition = "2018" +publish = false +build = "build.rs" + +[lib] +path = "pkg.rs" + +[[package.metadata.build-package.external-files]] +url = "https://github.com/vmware/open-vm-tools/releases/download/stable-11.2.5/open-vm-tools-11.2.5-17337674.tar.gz" +sha512 = "b6d4bc6522418ec7a881752181ad9240e535854df492e758abf3996c6afe245466ffbff60cc1b6cdff5cf731b5769c9f9cb96aed29f0b788d0eef05f91fcf8ab" + +[build-dependencies] +glibc = { path = "../glibc" } +libglib = { path = "../libglib" } +libtirpc = { path = "../libtirpc" } +libxcrypt = { path = "../libxcrypt" } diff --git a/packages/open-vm-tools/build.rs b/packages/open-vm-tools/build.rs new file mode 100644 index 00000000000..cad8999af53 --- /dev/null +++ b/packages/open-vm-tools/build.rs @@ -0,0 +1,9 @@ +use std::process::{exit, Command}; + +fn main() -> Result<(), std::io::Error> { + let ret = Command::new("buildsys").arg("build-package").status()?; + if !ret.success() { + exit(1); + } + Ok(()) +} diff --git a/packages/open-vm-tools/open-vm-tools-tmpfiles.conf b/packages/open-vm-tools/open-vm-tools-tmpfiles.conf new file mode 100644 index 00000000000..9f5cb959b04 --- /dev/null +++ b/packages/open-vm-tools/open-vm-tools-tmpfiles.conf @@ -0,0 +1 @@ +C /etc/vmware-tools/tools.conf - - - - diff --git a/packages/open-vm-tools/open-vm-tools.spec b/packages/open-vm-tools/open-vm-tools.spec new file mode 100644 index 00000000000..0eb5f734773 --- /dev/null +++ b/packages/open-vm-tools/open-vm-tools.spec @@ -0,0 +1,119 @@ +%global buildver 17337674 + +Name: %{_cross_os}open-vm-tools +Version: 11.2.5 +Release: 1%{?dist} +Summary: Tools for VMware +License: LGPL-2.1-or-later +URL: https://github.com/vmware/open-vm-tools +Source0: https://github.com/vmware/open-vm-tools/releases/download/stable-%{version}/open-vm-tools-%{version}-%{buildver}.tar.gz +Source1: vmtoolsd.service +Source2: tools.conf +Source3: open-vm-tools-tmpfiles.conf +Patch0001: 0001-no_cflags_werror.patch +Patch0002: 0002-dont-force-cppflags.patch +BuildRequires: %{_cross_os}glibc-devel +BuildRequires: %{_cross_os}libglib-devel +BuildRequires: %{_cross_os}libtirpc-devel +BuildRequires: %{_cross_os}libxcrypt-devel +Requires: %{_cross_os}libglib +Requires: %{_cross_os}libtirpc +Requires: %{_cross_os}libxcrypt + +%description +%{summary}. + +%package devel +Summary: Files for development using the tools for VMware +Requires: %{name} + +%description devel +%{summary}. + +%prep +%autosetup -n open-vm-tools-%{version}-%{buildver} -p1 + +%build +autoreconf -fi +%cross_configure \ + --disable-deploypkg \ + --disable-docs \ + --disable-libappmonitor \ + --disable-multimon \ + --disable-resolutionkms \ + --disable-servicediscovery \ + --disable-tests \ + --disable-vgauth \ + --with-tirpc \ + --with-udev-rules-dir=%{_cross_udevrulesdir} \ + --without-dnet \ + --without-gtk2 \ + --without-gtk3 \ + --without-gtkmm \ + --without-gtkmm3 \ + --without-icu \ + --without-kernel-modules \ + --without-pam \ + --without-ssl \ + --without-x \ + --without-xerces \ + --without-xml2 \ + --without-xmlsec1 \ + --without-xmlsecurity \ + +# "fix" rpath +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + +%make_build + +%install +%make_install + +install -d %{buildroot}%{_cross_unitdir} +install -p -m 0644 %{S:1} %{buildroot}%{_cross_unitdir}/vmtoolsd.service + +install -d %{buildroot}%{_cross_factorydir}%{_cross_sysconfdir}/vmware-tools +install -p -m 0644 %{S:2} %{buildroot}%{_cross_factorydir}%{_cross_sysconfdir}/vmware-tools + +install -d %{buildroot}%{_cross_tmpfilesdir} +install -p -m 0644 %{S:3} %{buildroot}%{_cross_tmpfilesdir}/open-vm-tools.conf + +find %{buildroot} -name '*.la' -delete + +%files +%license COPYING LICENSE +%{_cross_attribution_file} +%{_cross_bindir}/vmtoolsd +%{_cross_bindir}/vmware-toolbox-cmd +%{_cross_unitdir}/vmtoolsd.service +%dir %{_cross_factorydir}%{_cross_sysconfdir}/vmware-tools +%{_cross_factorydir}%{_cross_sysconfdir}/vmware-tools/tools.conf +%{_cross_tmpfilesdir}/open-vm-tools.conf + +%{_cross_libdir}/*.so.* +%dir %{_cross_libdir}/open-vm-tools +%{_cross_libdir}/open-vm-tools/* +%dir %{_cross_datadir}/open-vm-tools +%{_cross_datadir}/open-vm-tools/* + +%exclude %{_cross_bindir}/vmware-checkvm +%exclude %{_cross_bindir}/vmware-namespace-cmd +%exclude %{_cross_bindir}/vmware-rpctool +%exclude %{_cross_bindir}/vmware-xferlogs +%exclude %{_cross_bindir}/vmware-hgfsclient +%exclude %{_cross_sbindir}/mount.vmhgfs +%exclude %{_cross_sysconfdir} +%exclude %{_cross_udevrulesdir} + +%exclude %{_bindir} +%exclude /sbin + +%files devel +%{_cross_libdir}/*.a +%{_cross_libdir}/*.so +%dir %{_cross_includedir}/vmGuestLib +%{_cross_includedir}/vmGuestLib/* +%{_cross_pkgconfigdir}/*.pc + +%changelog diff --git a/packages/open-vm-tools/pkg.rs b/packages/open-vm-tools/pkg.rs new file mode 100644 index 00000000000..d799fb2d44c --- /dev/null +++ b/packages/open-vm-tools/pkg.rs @@ -0,0 +1 @@ +// not used diff --git a/packages/open-vm-tools/tools.conf b/packages/open-vm-tools/tools.conf new file mode 100644 index 00000000000..c83a306cee2 --- /dev/null +++ b/packages/open-vm-tools/tools.conf @@ -0,0 +1,5 @@ +[powerops] +poweron-script=/usr/bin/true +poweroff-script=/usr/bin/true +resume-script=/usr/bin/true +suspend-script=/usr/bin/true diff --git a/packages/open-vm-tools/vmtoolsd.service b/packages/open-vm-tools/vmtoolsd.service new file mode 100644 index 00000000000..e5417b1a49f --- /dev/null +++ b/packages/open-vm-tools/vmtoolsd.service @@ -0,0 +1,10 @@ +[Unit] +Description=VMware Tools service +Documentation=https://github.com/vmware/open-vm-tools +ConditionVirtualization=vmware + +[Service] +ExecStart=/usr/bin/vmtoolsd + +[Install] +WantedBy=multi-user.target diff --git a/variants/Cargo.lock b/variants/Cargo.lock index b6af31a1936..11232314fdb 100644 --- a/variants/Cargo.lock +++ b/variants/Cargo.lock @@ -602,6 +602,16 @@ dependencies = [ "glibc", ] +[[package]] +name = "open-vm-tools" +version = "0.1.0" +dependencies = [ + "glibc", + "libglib", + "libtirpc", + "libxcrypt", +] + [[package]] name = "os" version = "0.1.0" From bbcc6b612266a8c48667bd2705fcffacd0cf3675 Mon Sep 17 00:00:00 2001 From: Ben Cressey Date: Fri, 30 Apr 2021 22:10:01 +0000 Subject: [PATCH 8/8] vmware-dev: add dependency on open-vm-tools Signed-off-by: Ben Cressey --- sources/models/src/vmware-dev/defaults.d/50-vmware-dev.toml | 2 +- variants/Cargo.lock | 1 + variants/vmware-dev/Cargo.toml | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sources/models/src/vmware-dev/defaults.d/50-vmware-dev.toml b/sources/models/src/vmware-dev/defaults.d/50-vmware-dev.toml index 565e5422406..fab449c9236 100644 --- a/sources/models/src/vmware-dev/defaults.d/50-vmware-dev.toml +++ b/sources/models/src/vmware-dev/defaults.d/50-vmware-dev.toml @@ -1,7 +1,7 @@ # Metrics [settings.metrics] send-metrics = false -service-checks = ["apiserver", "chronyd", "containerd", "host-containerd", "docker"] +service-checks = ["apiserver", "chronyd", "containerd", "host-containerd", "docker", "vmtoolsd"] # Network [metadata.settings.network] diff --git a/variants/Cargo.lock b/variants/Cargo.lock index 11232314fdb..cae424d0de4 100644 --- a/variants/Cargo.lock +++ b/variants/Cargo.lock @@ -738,6 +738,7 @@ dependencies = [ "iputils", "kernel-5_10", "login", + "open-vm-tools", "procps", "release", "strace", diff --git a/variants/vmware-dev/Cargo.toml b/variants/vmware-dev/Cargo.toml index 3ad6fb8ae3b..7ca6cf34a83 100644 --- a/variants/vmware-dev/Cargo.toml +++ b/variants/vmware-dev/Cargo.toml @@ -18,6 +18,7 @@ included-packages = [ # core "release", "kernel-5.10", + "open-vm-tools", # docker "docker-cli", "docker-engine", @@ -40,6 +41,7 @@ path = "lib.rs" # core release = { path = "../../packages/release" } kernel-5_10 = { path = "../../packages/kernel-5.10" } +open-vm-tools = { path = "../../packages/open-vm-tools" } # docker docker-cli = { path = "../../packages/docker-cli" } docker-engine = { path = "../../packages/docker-engine" }