diff options
Diffstat (limited to 'emulators')
216 files changed, 11983 insertions, 2788 deletions
diff --git a/emulators/Makefile b/emulators/Makefile index 8c5cb1a960c2..16651319508e 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -157,16 +157,19 @@ SUBDIR += vice SUBDIR += virtualbox-ose SUBDIR += virtualbox-ose-70 + SUBDIR += virtualbox-ose-71 SUBDIR += virtualbox-ose-additions SUBDIR += virtualbox-ose-additions-legacy SUBDIR += virtualbox-ose-additions-nox11 SUBDIR += virtualbox-ose-additions-nox11-legacy SUBDIR += virtualbox-ose-kmod SUBDIR += virtualbox-ose-kmod-70 + SUBDIR += virtualbox-ose-kmod-71 SUBDIR += virtualbox-ose-kmod-legacy SUBDIR += virtualbox-ose-legacy SUBDIR += virtualbox-ose-nox11 SUBDIR += virtualbox-ose-nox11-70 + SUBDIR += virtualbox-ose-nox11-71 SUBDIR += virtualbox-ose-nox11-legacy SUBDIR += visualboyadvance-m SUBDIR += vmips diff --git a/emulators/ares/Makefile b/emulators/ares/Makefile index e8531db0bb63..6ec6dc0301ee 100644 --- a/emulators/ares/Makefile +++ b/emulators/ares/Makefile @@ -1,6 +1,7 @@ PORTNAME= ares DISTVERSIONPREFIX= v DISTVERSION= 144 +PORTREVISION= 1 CATEGORIES= emulators MAINTAINER= bsdcode@disroot.org diff --git a/emulators/dolphin-emu/Makefile b/emulators/dolphin-emu/Makefile index a4f52e9efce0..71612ba87946 100644 --- a/emulators/dolphin-emu/Makefile +++ b/emulators/dolphin-emu/Makefile @@ -1,6 +1,5 @@ PORTNAME= dolphin-emu -PORTVERSION= 2412 -PORTREVISION= 1 +PORTVERSION= 2506 CATEGORIES= emulators MAINTAINER= martymac@FreeBSD.org @@ -10,16 +9,19 @@ WWW= https://www.dolphin-emu.org LICENSE= BSD3CLAUSE CC0-1.0 GPLv2+ MIT LICENSE_COMB= multi -BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers +BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers \ + ${LOCALBASE}/include/linux/input.h:devel/evdev-proto # Notes on dependencies: # - alsa support has been disabled (not optimal) -# - enet and soundtouch come from Externals/ as Dolphin's versions diverge +# - enet comes from Externals/ as Dolphin's version diverges # (see comments in CMakeLists.txt) # Various problems that may be addressed in the future: # - freesurround comes from Externals/ as it is not available from ports yet # - cubeb comes from Externals/ as it is not available from ports yet # - gtest detection is missing (Externals/ version enforced by CMakeLists.txt) +# - SFML comes from Externals/ as v3.0 is needed # - mbedtls2 comes from Externals/ as it has been deprecated in the ports tree +# - mGBA comes from Externals/ as building with our ports' version fails LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \ libavdevice.so:multimedia/ffmpeg \ libavfilter.so:multimedia/ffmpeg \ @@ -39,11 +41,12 @@ LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \ libpulse.so:audio/pulseaudio \ libjack.so:audio/jack \ libsndio.so:audio/sndio \ - libsfml-system.so:devel/sfml \ libminiupnpc.so:net/miniupnpc \ libcurl.so:ftp/curl \ libhidapi.so:comms/hidapi \ - libxkbcommon.so:x11/libxkbcommon + libxkbcommon.so:x11/libxkbcommon \ + libudev.so:devel/libudev-devd \ + libevdev.so:devel/libevdev USES= cmake compiler:c++17-lang desktop-file-utils elfctl gl iconv \ pkgconfig python qmake qt:6 sdl xorg @@ -61,14 +64,14 @@ USE_SDL= sdl2 USE_XORG= ice sm x11 xext xi xrandr USE_QT= base svg -# XXX Does not build with USE_MGBA or ENABLE_EVDEV CMAKE_ARGS+= -DUSE_UPNP:BOOL=ON \ -DENABLE_QT:BOOL=ON \ -DENABLE_ALSA:BOOL=OFF \ -DENABLE_PULSEAUDIO:BOOL=ON \ -DUSE_DISCORD_PRESENCE:BOOL=OFF \ - -DUSE_MGBA:BOOL=OFF \ - -DENABLE_AUTOUPDATE:BOOL=OFF + -DUSE_MGBA:BOOL=ON \ + -DENABLE_AUTOUPDATE:BOOL=OFF \ + -DENABLE_EVDEV:BOOL=ON MAKE_ENV+= DESTDIR="${STAGEDIR}" # XXX Fix build on archs where 'unsigned long' is 32bit @@ -76,7 +79,7 @@ CXXFLAGS+= -DLZO_CFG_PREFER_TYPEOF_ACC_INT32E_T=LZO_TYPEOF_INT # Bypass git check (and set a dummy -unused- revision) CMAKE_ARGS+= -DDOLPHIN_WC_BRANCH:STRING="stable" \ - -DDOLPHIN_WC_REVISION:STRING="1" + -DDOLPHIN_WC_REVISION:STRING="${PORTVERSION}" OPTIONS_DEFINE= NLS OPTIONS_SUB= yes diff --git a/emulators/dolphin-emu/Makefile.tuples b/emulators/dolphin-emu/Makefile.tuples index 740dfd9e045d..80abec7edee8 100644 --- a/emulators/dolphin-emu/Makefile.tuples +++ b/emulators/dolphin-emu/Makefile.tuples @@ -1,10 +1,12 @@ GH_TUPLE= \ - GPUOpen-LibrariesAndSDKs:VulkanMemoryAllocator:009ecd192c1289c7529bff248a16cfe896254816:VulkanMemoryAllocator/Externals/VulkanMemoryAllocator \ + mgba-emu:mgba:8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51:mgba/Externals/mGBA/mgba \ + GPUOpen-LibrariesAndSDKs:VulkanMemoryAllocator:3bab6924988e5f19bf36586a496156cf72f70d9f:VulkanMemoryAllocator/Externals/VulkanMemoryAllocator \ mozilla:cubeb:54217bca3f3e0cd53c073690a23dd25d83557909:cubeb/Externals/cubeb/cubeb \ - epezent:implot:cc5e1daa5c7f2335a9460ae79c829011dc5cef2d:implot/Externals/implot/implot \ + epezent:implot:18c72431f8265e2b0b5378a3a73d8a883b2175ff:implot/Externals/implot/implot \ google:googletest:58d77fa8070e8cec2dc1ed015d66b454c8d78850:googletest/Externals/gtest \ - RetroAchievements:rcheevos:d54cf8f1059cebc90a6f5ecdf03df69259f22054:rcheevos/Externals/rcheevos/rcheevos \ + RetroAchievements:rcheevos:0115d9198ff7a73ff6568027dfb948ef6031818c:rcheevos/Externals/rcheevos/rcheevos \ lsalzman:enet:2a85cd64459f6ba038d233a634d9440490dbba12:enet/Externals/enet/enet \ syoyo:tinygltf:c5641f2c22d117da7971504591a8f6a41ece488b:tinygltf/Externals/tinygltf/tinygltf \ + SFML:SFML:7f1162dfea4969bc17417563ac55d93b72e84c1e:SFML/Externals/SFML/SFML \ arsenm:sanitizers-cmake:aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a:sanitizerscmake/Externals/cubeb/cubeb/cmake/sanitizers-cmake \ diff --git a/emulators/dolphin-emu/distinfo b/emulators/dolphin-emu/distinfo index 26bf4a00eab1..4f3b3d0f4495 100644 --- a/emulators/dolphin-emu/distinfo +++ b/emulators/dolphin-emu/distinfo @@ -1,19 +1,23 @@ -TIMESTAMP = 1737057858 -SHA256 (dolphin-emu-dolphin-2412_GH0.tar.gz) = 6aafc7d3b6f735a727db26c329679d4973b1b15e028c82e4452c33c4eb9fefa4 -SIZE (dolphin-emu-dolphin-2412_GH0.tar.gz) = 19926717 -SHA256 (GPUOpen-LibrariesAndSDKs-VulkanMemoryAllocator-009ecd192c1289c7529bff248a16cfe896254816_GH0.tar.gz) = 5ed5125086a92666f1698df907a29f54f11197c382996094b556a1b22186ecaf -SIZE (GPUOpen-LibrariesAndSDKs-VulkanMemoryAllocator-009ecd192c1289c7529bff248a16cfe896254816_GH0.tar.gz) = 904841 +TIMESTAMP = 1749143696 +SHA256 (dolphin-emu-dolphin-2506_GH0.tar.gz) = f4ddea39b6dfc89993657d230e291021520d78abaa4c59cfa12e95cb4a4916ff +SIZE (dolphin-emu-dolphin-2506_GH0.tar.gz) = 19891520 +SHA256 (mgba-emu-mgba-8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51_GH0.tar.gz) = 07e73f02198affccf83cc9740d377b78ba27866b0d654a5e55cafae69d1dfa1c +SIZE (mgba-emu-mgba-8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51_GH0.tar.gz) = 14488880 +SHA256 (GPUOpen-LibrariesAndSDKs-VulkanMemoryAllocator-3bab6924988e5f19bf36586a496156cf72f70d9f_GH0.tar.gz) = 618dc35e4f571a508575fc1fc914eb15ab513e4443986509aff08dfb8844ba24 +SIZE (GPUOpen-LibrariesAndSDKs-VulkanMemoryAllocator-3bab6924988e5f19bf36586a496156cf72f70d9f_GH0.tar.gz) = 937902 SHA256 (mozilla-cubeb-54217bca3f3e0cd53c073690a23dd25d83557909_GH0.tar.gz) = a795511bf56183ff7bad8fb2d2836ca5bb158e12ddd519caced62946ffa69c83 SIZE (mozilla-cubeb-54217bca3f3e0cd53c073690a23dd25d83557909_GH0.tar.gz) = 228779 -SHA256 (epezent-implot-cc5e1daa5c7f2335a9460ae79c829011dc5cef2d_GH0.tar.gz) = af51940ae6482c0e96ffb4309982fa309f9aa383cd8f980081681010c8c3a835 -SIZE (epezent-implot-cc5e1daa5c7f2335a9460ae79c829011dc5cef2d_GH0.tar.gz) = 137924 +SHA256 (epezent-implot-18c72431f8265e2b0b5378a3a73d8a883b2175ff_GH0.tar.gz) = 4787c77e6050f3bdc19f39eecf87d5b321bd3096321142b63f8169e1aa8f9b34 +SIZE (epezent-implot-18c72431f8265e2b0b5378a3a73d8a883b2175ff_GH0.tar.gz) = 138121 SHA256 (google-googletest-58d77fa8070e8cec2dc1ed015d66b454c8d78850_GH0.tar.gz) = c6ab3b6b33f51ef7465921f8f8c10c15d7cbc510761a15a18ad85babf6d73278 SIZE (google-googletest-58d77fa8070e8cec2dc1ed015d66b454c8d78850_GH0.tar.gz) = 855887 -SHA256 (RetroAchievements-rcheevos-d54cf8f1059cebc90a6f5ecdf03df69259f22054_GH0.tar.gz) = bf8e6e9afa865c51ab796c8329df206297b329f008ef0c1308c642480fb2d289 -SIZE (RetroAchievements-rcheevos-d54cf8f1059cebc90a6f5ecdf03df69259f22054_GH0.tar.gz) = 665077 +SHA256 (RetroAchievements-rcheevos-0115d9198ff7a73ff6568027dfb948ef6031818c_GH0.tar.gz) = 81d5d35e8b03194c103ceaedab1f37c473062d0907b496c50481f862f80c654d +SIZE (RetroAchievements-rcheevos-0115d9198ff7a73ff6568027dfb948ef6031818c_GH0.tar.gz) = 409887 SHA256 (lsalzman-enet-2a85cd64459f6ba038d233a634d9440490dbba12_GH0.tar.gz) = 526c5af3980edfaebb510119c3311a9062d33ca5599e9f137a88e0d8a3be67a6 SIZE (lsalzman-enet-2a85cd64459f6ba038d233a634d9440490dbba12_GH0.tar.gz) = 82867 SHA256 (syoyo-tinygltf-c5641f2c22d117da7971504591a8f6a41ece488b_GH0.tar.gz) = 6352803f1ed18d479ea93abf96ac75c0222a21403be22840bde1072ee5935dfa SIZE (syoyo-tinygltf-c5641f2c22d117da7971504591a8f6a41ece488b_GH0.tar.gz) = 5903179 +SHA256 (SFML-SFML-7f1162dfea4969bc17417563ac55d93b72e84c1e_GH0.tar.gz) = 503d90b6576a3343f7344ee5eff8642d06a487db3a83b5f36e92359f4cc896a7 +SIZE (SFML-SFML-7f1162dfea4969bc17417563ac55d93b72e84c1e_GH0.tar.gz) = 4380626 SHA256 (arsenm-sanitizers-cmake-aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a_GH0.tar.gz) = 9f5b073625375322236a94ce8d2d803cdedad321c91e63845f487b9ebfb2c433 SIZE (arsenm-sanitizers-cmake-aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a_GH0.tar.gz) = 7234 diff --git a/emulators/dolphin-emu/files/patch-CMakeLists.txt b/emulators/dolphin-emu/files/patch-CMakeLists.txt index 36fd5226dff5..926a7016786c 100644 --- a/emulators/dolphin-emu/files/patch-CMakeLists.txt +++ b/emulators/dolphin-emu/files/patch-CMakeLists.txt @@ -1,17 +1,9 @@ -Fix detection of several libraries +Fix minizip detection -1) Use system zlib instead of embedded zlib-ng - -2) Fix minizip detection - ---- CMakeLists.txt.orig 2024-12-01 23:00:52 UTC +--- CMakeLists.txt.orig 2025-06-05 08:15:10 UTC +++ CMakeLists.txt -@@ -672,10 +672,10 @@ dolphin_find_optional_system_library_pkgconfig(ZSTD li - - dolphin_find_optional_system_library_pkgconfig(ZSTD libzstd>=1.4.0 zstd::zstd Externals/zstd) - --add_subdirectory(Externals/zlib-ng) -+dolphin_find_optional_system_library_pkgconfig(ZLIB zlib ZLIB::ZLIB Externals/zlib-ng) +@@ -692,7 +692,7 @@ dolphin_find_optional_system_library_pkgconfig(MINIZIP + dolphin_find_optional_system_library_pkgconfig(ZLIB zlib>=1.3.1 ZLIB::ZLIB Externals/zlib-ng) dolphin_find_optional_system_library_pkgconfig(MINIZIP - "minizip>=4.0.4" minizip::minizip Externals/minizip-ng diff --git a/emulators/dolphin-emu/files/patch-minizip-ng.txt b/emulators/dolphin-emu/files/patch-minizip-ng.txt deleted file mode 100644 index f29aa06843b4..000000000000 --- a/emulators/dolphin-emu/files/patch-minizip-ng.txt +++ /dev/null @@ -1,38 +0,0 @@ -Fix build with minizip-ng >= 4.0.8 - -See: https://github.com/zlib-ng/minizip-ng/releases/tag/4.0.8 - ---- Source/Core/DiscIO/VolumeVerifier.cpp.orig 2025-01-14 10:58:28 UTC -+++ Source/Core/DiscIO/VolumeVerifier.cpp -@@ -13,7 +13,7 @@ - #include <unordered_set> - - #include <mbedtls/md5.h> --#include <mz_compat.h> -+#include <unzip.h> - #include <pugixml.hpp> - - #include "Common/Align.h" ---- Source/Core/Common/MinizipUtil.h.orig 2025-01-14 11:17:08 UTC -+++ Source/Core/Common/MinizipUtil.h -@@ -5,7 +5,7 @@ -
- #include <algorithm>
-
--#include <mz_compat.h>
-+#include <unzip.h>
-
- #include "Common/CommonTypes.h"
- #include "Common/ScopeGuard.h"
---- Source/Core/UICommon/ResourcePack/ResourcePack.cpp.orig 2025-01-14 11:19:18 UTC -+++ Source/Core/UICommon/ResourcePack/ResourcePack.cpp -@@ -6,7 +6,8 @@ - #include <algorithm> - #include <memory> - --#include <mz_compat.h> -+#include <unzip.h> -+#include <mz.h> - #include <mz_os.h> - - #include "Common/CommonPaths.h" diff --git a/emulators/dolphin-emu/pkg-plist b/emulators/dolphin-emu/pkg-plist index cfc25a2139ce..c417fb1ce961 100644 --- a/emulators/dolphin-emu/pkg-plist +++ b/emulators/dolphin-emu/pkg-plist @@ -153,17 +153,22 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/G2O.ini %%DATADIR%%/sys/GameSettings/G2RE52.ini %%DATADIR%%/sys/GameSettings/G2V.ini +%%DATADIR%%/sys/GameSettings/G2VE08.ini +%%DATADIR%%/sys/GameSettings/G2VP08.ini %%DATADIR%%/sys/GameSettings/G2X.ini %%DATADIR%%/sys/GameSettings/G3A.ini %%DATADIR%%/sys/GameSettings/G3F.ini %%DATADIR%%/sys/GameSettings/G3L.ini %%DATADIR%%/sys/GameSettings/G3Q.ini %%DATADIR%%/sys/GameSettings/G3R.ini +%%DATADIR%%/sys/GameSettings/G3RP52.ini %%DATADIR%%/sys/GameSettings/G3X.ini %%DATADIR%%/sys/GameSettings/G3YP52.ini +%%DATADIR%%/sys/GameSettings/G4AEE9.ini %%DATADIR%%/sys/GameSettings/G4C.ini %%DATADIR%%/sys/GameSettings/G4GEE9.ini %%DATADIR%%/sys/GameSettings/G4M.ini +%%DATADIR%%/sys/GameSettings/G4ME69.ini %%DATADIR%%/sys/GameSettings/G4NJDA.ini %%DATADIR%%/sys/GameSettings/G4P.ini %%DATADIR%%/sys/GameSettings/G4QE01.ini @@ -173,6 +178,8 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/G5B.ini %%DATADIR%%/sys/GameSettings/G5D.ini %%DATADIR%%/sys/GameSettings/G5N.ini +%%DATADIR%%/sys/GameSettings/G5SE7D.ini +%%DATADIR%%/sys/GameSettings/G5SP7D.ini %%DATADIR%%/sys/GameSettings/G5T.ini %%DATADIR%%/sys/GameSettings/G6Q.ini %%DATADIR%%/sys/GameSettings/G6S.ini @@ -180,13 +187,19 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/G6W.ini %%DATADIR%%/sys/GameSettings/G8M.ini %%DATADIR%%/sys/GameSettings/G8ME01.ini +%%DATADIR%%/sys/GameSettings/G8MJ01.ini +%%DATADIR%%/sys/GameSettings/G8MP01.ini %%DATADIR%%/sys/GameSettings/G8W.ini %%DATADIR%%/sys/GameSettings/G8WP01.ini %%DATADIR%%/sys/GameSettings/G95.ini %%DATADIR%%/sys/GameSettings/G96.ini +%%DATADIR%%/sys/GameSettings/G97.ini %%DATADIR%%/sys/GameSettings/G99.ini %%DATADIR%%/sys/GameSettings/G9R.ini %%DATADIR%%/sys/GameSettings/G9S.ini +%%DATADIR%%/sys/GameSettings/G9SE8P.ini +%%DATADIR%%/sys/GameSettings/G9SJ8P.ini +%%DATADIR%%/sys/GameSettings/G9SP8P.ini %%DATADIR%%/sys/GameSettings/G9T.ini %%DATADIR%%/sys/GameSettings/GAA.ini %%DATADIR%%/sys/GameSettings/GAF.ini @@ -203,14 +216,20 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GAUE08.ini %%DATADIR%%/sys/GameSettings/GAV.ini %%DATADIR%%/sys/GameSettings/GAY.ini +%%DATADIR%%/sys/GameSettings/GAZE69.ini %%DATADIR%%/sys/GameSettings/GB3.ini %%DATADIR%%/sys/GameSettings/GB4E51.ini %%DATADIR%%/sys/GameSettings/GBH.ini %%DATADIR%%/sys/GameSettings/GBHEC8.ini %%DATADIR%%/sys/GameSettings/GBL.ini +%%DATADIR%%/sys/GameSettings/GBLE52.ini +%%DATADIR%%/sys/GameSettings/GBLP52.ini %%DATADIR%%/sys/GameSettings/GBM.ini %%DATADIR%%/sys/GameSettings/GBOP51.ini +%%DATADIR%%/sys/GameSettings/GBRJ18.ini %%DATADIR%%/sys/GameSettings/GBS.ini +%%DATADIR%%/sys/GameSettings/GBSE8P.ini +%%DATADIR%%/sys/GameSettings/GBSP8P.ini %%DATADIR%%/sys/GameSettings/GBV.ini %%DATADIR%%/sys/GameSettings/GBW.ini %%DATADIR%%/sys/GameSettings/GBZ.ini @@ -223,6 +242,9 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GC6P01.ini %%DATADIR%%/sys/GameSettings/GC8JA4.ini %%DATADIR%%/sys/GameSettings/GC9.ini +%%DATADIR%%/sys/GameSettings/GCA.ini +%%DATADIR%%/sys/GameSettings/GCBE7D.ini +%%DATADIR%%/sys/GameSettings/GCBP7D.ini %%DATADIR%%/sys/GameSettings/GCC.ini %%DATADIR%%/sys/GameSettings/GCCE01.ini %%DATADIR%%/sys/GameSettings/GCCJGC.ini @@ -237,6 +259,7 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GCP.ini %%DATADIR%%/sys/GameSettings/GCVEEB.ini %%DATADIR%%/sys/GameSettings/GCZ.ini +%%DATADIR%%/sys/GameSettings/GD7E70.ini %%DATADIR%%/sys/GameSettings/GDD.ini %%DATADIR%%/sys/GameSettings/GDDE41.ini %%DATADIR%%/sys/GameSettings/GDE.ini @@ -268,6 +291,8 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GEN.ini %%DATADIR%%/sys/GameSettings/GEO.ini %%DATADIR%%/sys/GameSettings/GEZ.ini +%%DATADIR%%/sys/GameSettings/GEZE8P.ini +%%DATADIR%%/sys/GameSettings/GEZP8P.ini %%DATADIR%%/sys/GameSettings/GF4.ini %%DATADIR%%/sys/GameSettings/GF7.ini %%DATADIR%%/sys/GameSettings/GF7E01.ini @@ -280,7 +305,10 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GFF.ini %%DATADIR%%/sys/GameSettings/GFG.ini %%DATADIR%%/sys/GameSettings/GFH.ini +%%DATADIR%%/sys/GameSettings/GFO.ini +%%DATADIR%%/sys/GameSettings/GFQEA4.ini %%DATADIR%%/sys/GameSettings/GFTE01.ini +%%DATADIR%%/sys/GameSettings/GFW.ini %%DATADIR%%/sys/GameSettings/GFY.ini %%DATADIR%%/sys/GameSettings/GFYE69.ini %%DATADIR%%/sys/GameSettings/GFZ.ini @@ -296,6 +324,8 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GGSEA4.ini %%DATADIR%%/sys/GameSettings/GGSPA4.ini %%DATADIR%%/sys/GameSettings/GGTE01.ini +%%DATADIR%%/sys/GameSettings/GGTJ01.ini +%%DATADIR%%/sys/GameSettings/GGTP01.ini %%DATADIR%%/sys/GameSettings/GGV.ini %%DATADIR%%/sys/GameSettings/GGVD78.ini %%DATADIR%%/sys/GameSettings/GGVE78.ini @@ -310,12 +340,17 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GHAJ08.ini %%DATADIR%%/sys/GameSettings/GHAP08.ini %%DATADIR%%/sys/GameSettings/GHK.ini +%%DATADIR%%/sys/GameSettings/GHLE69.ini %%DATADIR%%/sys/GameSettings/GHME4F.ini %%DATADIR%%/sys/GameSettings/GHN.ini %%DATADIR%%/sys/GameSettings/GHQ.ini +%%DATADIR%%/sys/GameSettings/GHQE7D.ini +%%DATADIR%%/sys/GameSettings/GHQP7D.ini %%DATADIR%%/sys/GameSettings/GHR.ini %%DATADIR%%/sys/GameSettings/GHRE78.ini %%DATADIR%%/sys/GameSettings/GHS.ini +%%DATADIR%%/sys/GameSettings/GHSE69.ini +%%DATADIR%%/sys/GameSettings/GHSP69.ini %%DATADIR%%/sys/GameSettings/GHV.ini %%DATADIR%%/sys/GameSettings/GHY.ini %%DATADIR%%/sys/GameSettings/GIA.ini @@ -346,20 +381,29 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GJN.ini %%DATADIR%%/sys/GameSettings/GJUE78.ini %%DATADIR%%/sys/GameSettings/GJWE78.ini +%%DATADIR%%/sys/GameSettings/GJY.ini %%DATADIR%%/sys/GameSettings/GK2.ini +%%DATADIR%%/sys/GameSettings/GK2E52.ini %%DATADIR%%/sys/GameSettings/GK4.ini %%DATADIR%%/sys/GameSettings/GK4E01.ini %%DATADIR%%/sys/GameSettings/GK5.ini %%DATADIR%%/sys/GameSettings/GK7.ini %%DATADIR%%/sys/GameSettings/GKB.ini +%%DATADIR%%/sys/GameSettings/GKBPAF.ini +%%DATADIR%%/sys/GameSettings/GKDP01.ini %%DATADIR%%/sys/GameSettings/GKH.ini %%DATADIR%%/sys/GameSettings/GKL.ini %%DATADIR%%/sys/GameSettings/GKM.ini %%DATADIR%%/sys/GameSettings/GKNEB2.ini %%DATADIR%%/sys/GameSettings/GKO.ini +%%DATADIR%%/sys/GameSettings/GKRPB2.ini %%DATADIR%%/sys/GameSettings/GKS.ini %%DATADIR%%/sys/GameSettings/GKU.ini +%%DATADIR%%/sys/GameSettings/GKWJ18.ini %%DATADIR%%/sys/GameSettings/GKY.ini +%%DATADIR%%/sys/GameSettings/GKYE01.ini +%%DATADIR%%/sys/GameSettings/GKYJ01.ini +%%DATADIR%%/sys/GameSettings/GKYP01.ini %%DATADIR%%/sys/GameSettings/GKZ.ini %%DATADIR%%/sys/GameSettings/GL5.ini %%DATADIR%%/sys/GameSettings/GL7.ini @@ -391,13 +435,22 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GM8.ini %%DATADIR%%/sys/GameSettings/GM8E01.ini %%DATADIR%%/sys/GameSettings/GMB.ini +%%DATADIR%%/sys/GameSettings/GMBE8P.ini +%%DATADIR%%/sys/GameSettings/GMBP8P.ini %%DATADIR%%/sys/GameSettings/GMD.ini +%%DATADIR%%/sys/GameSettings/GMF.ini %%DATADIR%%/sys/GameSettings/GMH.ini %%DATADIR%%/sys/GameSettings/GMI.ini %%DATADIR%%/sys/GameSettings/GMN.ini +%%DATADIR%%/sys/GameSettings/GMOP70.ini %%DATADIR%%/sys/GameSettings/GMPE01.ini +%%DATADIR%%/sys/GameSettings/GMPJ01.ini +%%DATADIR%%/sys/GameSettings/GMPP01.ini %%DATADIR%%/sys/GameSettings/GMS.ini %%DATADIR%%/sys/GameSettings/GMSE01.ini +%%DATADIR%%/sys/GameSettings/GMSJ01.ini +%%DATADIR%%/sys/GameSettings/GMSJ01r0.ini +%%DATADIR%%/sys/GameSettings/GMSJ01r1.ini %%DATADIR%%/sys/GameSettings/GMSP01.ini %%DATADIR%%/sys/GameSettings/GMX.ini %%DATADIR%%/sys/GameSettings/GMXE70.ini @@ -418,8 +471,11 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GO7E69.ini %%DATADIR%%/sys/GameSettings/GO7F69.ini %%DATADIR%%/sys/GameSettings/GO7P69.ini +%%DATADIR%%/sys/GameSettings/GOCE5D.ini %%DATADIR%%/sys/GameSettings/GOM.ini %%DATADIR%%/sys/GameSettings/GOME01.ini +%%DATADIR%%/sys/GameSettings/GOMP01.ini +%%DATADIR%%/sys/GameSettings/GONE69.ini %%DATADIR%%/sys/GameSettings/GOQ.ini %%DATADIR%%/sys/GameSettings/GOS.ini %%DATADIR%%/sys/GameSettings/GOW.ini @@ -427,34 +483,55 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GOYE69.ini %%DATADIR%%/sys/GameSettings/GP2.ini %%DATADIR%%/sys/GameSettings/GP3.ini +%%DATADIR%%/sys/GameSettings/GP4J18.ini %%DATADIR%%/sys/GameSettings/GP5.ini %%DATADIR%%/sys/GameSettings/GP5E01.ini +%%DATADIR%%/sys/GameSettings/GP5J01.ini +%%DATADIR%%/sys/GameSettings/GP5P01.ini %%DATADIR%%/sys/GameSettings/GP6.ini %%DATADIR%%/sys/GameSettings/GP6E01.ini +%%DATADIR%%/sys/GameSettings/GP6J01.ini +%%DATADIR%%/sys/GameSettings/GP6P01.ini %%DATADIR%%/sys/GameSettings/GP7E01.ini +%%DATADIR%%/sys/GameSettings/GP7J01.ini +%%DATADIR%%/sys/GameSettings/GP7P01.ini %%DATADIR%%/sys/GameSettings/GPA.ini %%DATADIR%%/sys/GameSettings/GPE.ini %%DATADIR%%/sys/GameSettings/GPH.ini %%DATADIR%%/sys/GameSettings/GPIE01.ini +%%DATADIR%%/sys/GameSettings/GPIE01r0.ini +%%DATADIR%%/sys/GameSettings/GPIE01r1.ini %%DATADIR%%/sys/GameSettings/GPIP01.ini %%DATADIR%%/sys/GameSettings/GPK.ini +%%DATADIR%%/sys/GameSettings/GPL.ini +%%DATADIR%%/sys/GameSettings/GPNE08.ini %%DATADIR%%/sys/GameSettings/GPNP08.ini %%DATADIR%%/sys/GameSettings/GPO.ini %%DATADIR%%/sys/GameSettings/GPOE8P.ini +%%DATADIR%%/sys/GameSettings/GPOE8Pr0.ini +%%DATADIR%%/sys/GameSettings/GPOE8Pr1.ini %%DATADIR%%/sys/GameSettings/GPOP8P.ini %%DATADIR%%/sys/GameSettings/GPS.ini %%DATADIR%%/sys/GameSettings/GPSP8P.ini %%DATADIR%%/sys/GameSettings/GPT.ini %%DATADIR%%/sys/GameSettings/GPVE01.ini +%%DATADIR%%/sys/GameSettings/GPVP01.ini %%DATADIR%%/sys/GameSettings/GPXJ01.ini %%DATADIR%%/sys/GameSettings/GQ4.ini %%DATADIR%%/sys/GameSettings/GQC.ini +%%DATADIR%%/sys/GameSettings/GQN.ini %%DATADIR%%/sys/GameSettings/GQP.ini %%DATADIR%%/sys/GameSettings/GQPE78.ini %%DATADIR%%/sys/GameSettings/GQPP78.ini +%%DATADIR%%/sys/GameSettings/GQQ.ini %%DATADIR%%/sys/GameSettings/GQS.ini +%%DATADIR%%/sys/GameSettings/GQSDAF.ini %%DATADIR%%/sys/GameSettings/GQSEAF.ini +%%DATADIR%%/sys/GameSettings/GQSFAF.ini %%DATADIR%%/sys/GameSettings/GQX.ini +%%DATADIR%%/sys/GameSettings/GR2E52.ini +%%DATADIR%%/sys/GameSettings/GR2J52.ini +%%DATADIR%%/sys/GameSettings/GR2P52.ini %%DATADIR%%/sys/GameSettings/GR6.ini %%DATADIR%%/sys/GameSettings/GRB.ini %%DATADIR%%/sys/GameSettings/GREE08.ini @@ -463,6 +540,9 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GRJ.ini %%DATADIR%%/sys/GameSettings/GRK.ini %%DATADIR%%/sys/GameSettings/GRNE52.ini +%%DATADIR%%/sys/GameSettings/GRNJ52.ini +%%DATADIR%%/sys/GameSettings/GRNP52.ini +%%DATADIR%%/sys/GameSettings/GROE5Z.ini %%DATADIR%%/sys/GameSettings/GRQ.ini %%DATADIR%%/sys/GameSettings/GRSPAF.ini %%DATADIR%%/sys/GameSettings/GRU.ini @@ -471,13 +551,18 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GRYE41.ini %%DATADIR%%/sys/GameSettings/GS2.ini %%DATADIR%%/sys/GameSettings/GS2E78.ini +%%DATADIR%%/sys/GameSettings/GSAE01r0.ini +%%DATADIR%%/sys/GameSettings/GSAE01r1.ini %%DATADIR%%/sys/GameSettings/GSAP01.ini %%DATADIR%%/sys/GameSettings/GSB.ini %%DATADIR%%/sys/GameSettings/GSM.ini %%DATADIR%%/sys/GameSettings/GSN.ini %%DATADIR%%/sys/GameSettings/GSNE8P.ini +%%DATADIR%%/sys/GameSettings/GSNJ8P.ini %%DATADIR%%/sys/GameSettings/GSNP8P.ini %%DATADIR%%/sys/GameSettings/GSO.ini +%%DATADIR%%/sys/GameSettings/GSPE69.ini +%%DATADIR%%/sys/GameSettings/GSPP69.ini %%DATADIR%%/sys/GameSettings/GSQ.ini %%DATADIR%%/sys/GameSettings/GSR.ini %%DATADIR%%/sys/GameSettings/GSS.ini @@ -485,6 +570,7 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GST.ini %%DATADIR%%/sys/GameSettings/GSV.ini %%DATADIR%%/sys/GameSettings/GSW.ini +%%DATADIR%%/sys/GameSettings/GSWE64.ini %%DATADIR%%/sys/GameSettings/GSX.ini %%DATADIR%%/sys/GameSettings/GSZ.ini %%DATADIR%%/sys/GameSettings/GT3.ini @@ -496,11 +582,14 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GTK.ini %%DATADIR%%/sys/GameSettings/GTKE51.ini %%DATADIR%%/sys/GameSettings/GTO.ini +%%DATADIR%%/sys/GameSettings/GTOJAF.ini %%DATADIR%%/sys/GameSettings/GTR.ini %%DATADIR%%/sys/GameSettings/GTSE4F.ini %%DATADIR%%/sys/GameSettings/GTW.ini %%DATADIR%%/sys/GameSettings/GTY.ini %%DATADIR%%/sys/GameSettings/GTZ.ini +%%DATADIR%%/sys/GameSettings/GTZE41.ini +%%DATADIR%%/sys/GameSettings/GTZP41.ini %%DATADIR%%/sys/GameSettings/GU2.ini %%DATADIR%%/sys/GameSettings/GU2D78.ini %%DATADIR%%/sys/GameSettings/GU2F78.ini @@ -509,10 +598,14 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GU3X78.ini %%DATADIR%%/sys/GameSettings/GU4.ini %%DATADIR%%/sys/GameSettings/GU4Y78.ini +%%DATADIR%%/sys/GameSettings/GU6.ini %%DATADIR%%/sys/GameSettings/GUB.ini %%DATADIR%%/sys/GameSettings/GUM.ini %%DATADIR%%/sys/GameSettings/GUN.ini %%DATADIR%%/sys/GameSettings/GUNE5D.ini +%%DATADIR%%/sys/GameSettings/GUNE5Dr0.ini +%%DATADIR%%/sys/GameSettings/GUNE5Dr1.ini +%%DATADIR%%/sys/GameSettings/GUNP5D.ini %%DATADIR%%/sys/GameSettings/GUP.ini %%DATADIR%%/sys/GameSettings/GUT.ini %%DATADIR%%/sys/GameSettings/GUZ.ini @@ -520,30 +613,39 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GVC.ini %%DATADIR%%/sys/GameSettings/GVD.ini %%DATADIR%%/sys/GameSettings/GVJ.ini +%%DATADIR%%/sys/GameSettings/GVJE08.ini +%%DATADIR%%/sys/GameSettings/GVJP08.ini %%DATADIR%%/sys/GameSettings/GVL.ini %%DATADIR%%/sys/GameSettings/GVO.ini %%DATADIR%%/sys/GameSettings/GVPE69.ini %%DATADIR%%/sys/GameSettings/GVS.ini -%%DATADIR%%/sys/GameSettings/GVS46E.ini -%%DATADIR%%/sys/GameSettings/GVS46J.ini +%%DATADIR%%/sys/GameSettings/GVSE8P.ini %%DATADIR%%/sys/GameSettings/GW2.ini %%DATADIR%%/sys/GameSettings/GW7.ini %%DATADIR%%/sys/GameSettings/GW9.ini +%%DATADIR%%/sys/GameSettings/GWH.ini %%DATADIR%%/sys/GameSettings/GWJ.ini %%DATADIR%%/sys/GameSettings/GWK.ini %%DATADIR%%/sys/GameSettings/GWL.ini %%DATADIR%%/sys/GameSettings/GWP.ini %%DATADIR%%/sys/GameSettings/GWQE52.ini +%%DATADIR%%/sys/GameSettings/GWR.ini %%DATADIR%%/sys/GameSettings/GWRE01.ini %%DATADIR%%/sys/GameSettings/GWRP01.ini %%DATADIR%%/sys/GameSettings/GWT.ini +%%DATADIR%%/sys/GameSettings/GWWE01.ini +%%DATADIR%%/sys/GameSettings/GWWJ01.ini %%DATADIR%%/sys/GameSettings/GWWP01.ini %%DATADIR%%/sys/GameSettings/GWY.ini +%%DATADIR%%/sys/GameSettings/GWZE01.ini %%DATADIR%%/sys/GameSettings/GX3.ini +%%DATADIR%%/sys/GameSettings/GXCE01.ini %%DATADIR%%/sys/GameSettings/GXG.ini %%DATADIR%%/sys/GameSettings/GXM.ini %%DATADIR%%/sys/GameSettings/GXN.ini %%DATADIR%%/sys/GameSettings/GXS.ini +%%DATADIR%%/sys/GameSettings/GXSE8P.ini +%%DATADIR%%/sys/GameSettings/GXSJ8P.ini %%DATADIR%%/sys/GameSettings/GXSP8P.ini %%DATADIR%%/sys/GameSettings/GXU.ini %%DATADIR%%/sys/GameSettings/GXX.ini @@ -551,6 +653,7 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GXXJ01.ini %%DATADIR%%/sys/GameSettings/GXXP01.ini %%DATADIR%%/sys/GameSettings/GYA.ini +%%DATADIR%%/sys/GameSettings/GYFPA4.ini %%DATADIR%%/sys/GameSettings/GYQ.ini %%DATADIR%%/sys/GameSettings/GYT.ini %%DATADIR%%/sys/GameSettings/GZ2.ini @@ -559,12 +662,16 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/GZ2P01.ini %%DATADIR%%/sys/GameSettings/GZ3E70.ini %%DATADIR%%/sys/GameSettings/GZD.ini +%%DATADIR%%/sys/GameSettings/GZDP70.ini %%DATADIR%%/sys/GameSettings/GZE.ini %%DATADIR%%/sys/GameSettings/GZL.ini %%DATADIR%%/sys/GameSettings/GZLE01.ini %%DATADIR%%/sys/GameSettings/GZLJ01.ini %%DATADIR%%/sys/GameSettings/GZLP01.ini %%DATADIR%%/sys/GameSettings/GZP.ini +%%DATADIR%%/sys/GameSettings/GZPE70.ini +%%DATADIR%%/sys/GameSettings/GZPP70.ini +%%DATADIR%%/sys/GameSettings/GZSE70.ini %%DATADIR%%/sys/GameSettings/GZW.ini %%DATADIR%%/sys/GameSettings/HA8.ini %%DATADIR%%/sys/GameSettings/HA9.ini @@ -623,6 +730,7 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/LAL.ini %%DATADIR%%/sys/GameSettings/LAO.ini %%DATADIR%%/sys/GameSettings/LAP.ini +%%DATADIR%%/sys/GameSettings/LULZHB.ini %%DATADIR%%/sys/GameSettings/M.ini %%DATADIR%%/sys/GameSettings/MAK.ini %%DATADIR%%/sys/GameSettings/MB3.ini @@ -664,6 +772,7 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/R25.ini %%DATADIR%%/sys/GameSettings/R26.ini %%DATADIR%%/sys/GameSettings/R29.ini +%%DATADIR%%/sys/GameSettings/R2D.ini %%DATADIR%%/sys/GameSettings/R2E.ini %%DATADIR%%/sys/GameSettings/R2F.ini %%DATADIR%%/sys/GameSettings/R2G.ini @@ -824,7 +933,6 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/REF.ini %%DATADIR%%/sys/GameSettings/REG.ini %%DATADIR%%/sys/GameSettings/REL.ini -%%DATADIR%%/sys/GameSettings/RELJAB.ini %%DATADIR%%/sys/GameSettings/REM.ini %%DATADIR%%/sys/GameSettings/REP.ini %%DATADIR%%/sys/GameSettings/REQ.ini @@ -923,11 +1031,14 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/RKI.ini %%DATADIR%%/sys/GameSettings/RKJ.ini %%DATADIR%%/sys/GameSettings/RKL.ini +%%DATADIR%%/sys/GameSettings/RKM.ini +%%DATADIR%%/sys/GameSettings/RKP.ini %%DATADIR%%/sys/GameSettings/RKQ.ini %%DATADIR%%/sys/GameSettings/RKS.ini %%DATADIR%%/sys/GameSettings/RKT.ini %%DATADIR%%/sys/GameSettings/RKW.ini %%DATADIR%%/sys/GameSettings/RL5.ini +%%DATADIR%%/sys/GameSettings/RL6.ini %%DATADIR%%/sys/GameSettings/RLD.ini %%DATADIR%%/sys/GameSettings/RLEEFS.ini %%DATADIR%%/sys/GameSettings/RLI.ini @@ -942,6 +1053,8 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/RM7.ini %%DATADIR%%/sys/GameSettings/RM8.ini %%DATADIR%%/sys/GameSettings/RM8E01.ini +%%DATADIR%%/sys/GameSettings/RM8J01.ini +%%DATADIR%%/sys/GameSettings/RM8P01.ini %%DATADIR%%/sys/GameSettings/RM9.ini %%DATADIR%%/sys/GameSettings/RMC.ini %%DATADIR%%/sys/GameSettings/RME.ini @@ -964,12 +1077,14 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/RMY.ini %%DATADIR%%/sys/GameSettings/RMZ.ini %%DATADIR%%/sys/GameSettings/RN2.ini +%%DATADIR%%/sys/GameSettings/RN3.ini %%DATADIR%%/sys/GameSettings/RN5.ini %%DATADIR%%/sys/GameSettings/RN8.ini %%DATADIR%%/sys/GameSettings/RNB.ini %%DATADIR%%/sys/GameSettings/RNC.ini %%DATADIR%%/sys/GameSettings/RND.ini %%DATADIR%%/sys/GameSettings/RNG.ini +%%DATADIR%%/sys/GameSettings/RNK.ini %%DATADIR%%/sys/GameSettings/RNM.ini %%DATADIR%%/sys/GameSettings/RNO.ini %%DATADIR%%/sys/GameSettings/RNU.ini @@ -1094,10 +1209,13 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/RTZ.ini %%DATADIR%%/sys/GameSettings/RUD.ini %%DATADIR%%/sys/GameSettings/RUF.ini +%%DATADIR%%/sys/GameSettings/RUFEMV.ini +%%DATADIR%%/sys/GameSettings/RUFP99.ini %%DATADIR%%/sys/GameSettings/RUN.ini %%DATADIR%%/sys/GameSettings/RUO.ini %%DATADIR%%/sys/GameSettings/RUP.ini %%DATADIR%%/sys/GameSettings/RUR.ini +%%DATADIR%%/sys/GameSettings/RUS.ini %%DATADIR%%/sys/GameSettings/RUU.ini %%DATADIR%%/sys/GameSettings/RUW.ini %%DATADIR%%/sys/GameSettings/RUZ.ini @@ -1184,6 +1302,7 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/S2O.ini %%DATADIR%%/sys/GameSettings/S2W.ini %%DATADIR%%/sys/GameSettings/S3B.ini +%%DATADIR%%/sys/GameSettings/S3C.ini %%DATADIR%%/sys/GameSettings/S3H.ini %%DATADIR%%/sys/GameSettings/S59.ini %%DATADIR%%/sys/GameSettings/S5D.ini @@ -1225,6 +1344,7 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/SD2.ini %%DATADIR%%/sys/GameSettings/SD2J01.ini %%DATADIR%%/sys/GameSettings/SD8.ini +%%DATADIR%%/sys/GameSettings/SDAE5G.ini %%DATADIR%%/sys/GameSettings/SDB.ini %%DATADIR%%/sys/GameSettings/SDE.ini %%DATADIR%%/sys/GameSettings/SDL.ini @@ -1263,6 +1383,7 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/SGX.ini %%DATADIR%%/sys/GameSettings/SH2.ini %%DATADIR%%/sys/GameSettings/SH6.ini +%%DATADIR%%/sys/GameSettings/SH8.ini %%DATADIR%%/sys/GameSettings/SH9.ini %%DATADIR%%/sys/GameSettings/SHL.ini %%DATADIR%%/sys/GameSettings/SHO.ini @@ -1288,6 +1409,7 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/SJX.ini %%DATADIR%%/sys/GameSettings/SJZ.ini %%DATADIR%%/sys/GameSettings/SK3.ini +%%DATADIR%%/sys/GameSettings/SK4.ini %%DATADIR%%/sys/GameSettings/SK8.ini %%DATADIR%%/sys/GameSettings/SKA.ini %%DATADIR%%/sys/GameSettings/SKB.ini @@ -1322,6 +1444,7 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/SMS.ini %%DATADIR%%/sys/GameSettings/SMU.ini %%DATADIR%%/sys/GameSettings/SMZ.ini +%%DATADIR%%/sys/GameSettings/SN2.ini %%DATADIR%%/sys/GameSettings/SND.ini %%DATADIR%%/sys/GameSettings/SNG.ini %%DATADIR%%/sys/GameSettings/SNJ.ini @@ -1348,6 +1471,7 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/SPD.ini %%DATADIR%%/sys/GameSettings/SPH.ini %%DATADIR%%/sys/GameSettings/SPM.ini +%%DATADIR%%/sys/GameSettings/SPQ.ini %%DATADIR%%/sys/GameSettings/SPR.ini %%DATADIR%%/sys/GameSettings/SPT.ini %%DATADIR%%/sys/GameSettings/SPU.ini @@ -1399,6 +1523,7 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/SUO.ini %%DATADIR%%/sys/GameSettings/SUS.ini %%DATADIR%%/sys/GameSettings/SUU.ini +%%DATADIR%%/sys/GameSettings/SUV.ini %%DATADIR%%/sys/GameSettings/SUW.ini %%DATADIR%%/sys/GameSettings/SVB.ini %%DATADIR%%/sys/GameSettings/SVF.ini @@ -1526,6 +1651,9 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/GameSettings/WMG.ini %%DATADIR%%/sys/GameSettings/WML.ini %%DATADIR%%/sys/GameSettings/WMO.ini +%%DATADIR%%/sys/GameSettings/WMOEE9.ini +%%DATADIR%%/sys/GameSettings/WMOJE9.ini +%%DATADIR%%/sys/GameSettings/WMOPE9.ini %%DATADIR%%/sys/GameSettings/WMS.ini %%DATADIR%%/sys/GameSettings/WO6.ini %%DATADIR%%/sys/GameSettings/WOA.ini @@ -1741,6 +1869,9 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/Resources/Platform_Gamecube.png %%DATADIR%%/sys/Resources/Platform_Gamecube@2x.png %%DATADIR%%/sys/Resources/Platform_Gamecube@4x.png +%%DATADIR%%/sys/Resources/Platform_Triforce.png +%%DATADIR%%/sys/Resources/Platform_Triforce@2x.png +%%DATADIR%%/sys/Resources/Platform_Triforce@4x.png %%DATADIR%%/sys/Resources/Platform_Wad.png %%DATADIR%%/sys/Resources/Platform_Wad@2x.png %%DATADIR%%/sys/Resources/Platform_Wad@4x.png @@ -2295,6 +2426,7 @@ share/applications/dolphin-emu.desktop %%DATADIR%%/sys/Wii/shared2/wc24/nwc24msg.cfg %%DATADIR%%/sys/codehandler.bin %%DATADIR%%/sys/totaldb.dsy +%%DATADIR%%/sys/triforcetdb-en.txt %%DATADIR%%/sys/wiitdb-de.txt %%DATADIR%%/sys/wiitdb-en.txt %%DATADIR%%/sys/wiitdb-es.txt diff --git a/emulators/emulationstation/Makefile b/emulators/emulationstation/Makefile index fa6fb08e2a28..a27f69efbbf9 100644 --- a/emulators/emulationstation/Makefile +++ b/emulators/emulationstation/Makefile @@ -1,7 +1,7 @@ PORTNAME= emulationstation DISTVERSIONPREFIX= v DISTVERSION= 2.11.2 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= emulators MAINTAINER= freebsd@coombscloud.com diff --git a/emulators/es-de/Makefile b/emulators/es-de/Makefile index 842897494274..5e494aad2821 100644 --- a/emulators/es-de/Makefile +++ b/emulators/es-de/Makefile @@ -54,7 +54,7 @@ DEINIT_DESC= Deinit frontend on emulator launch DEINIT_CMAKE_BOOL= DEINIT_ON_LAUNCH -NLS_USES= gettext +NLS_USES= gettext-runtime gettext-tools NLS_CMAKE_BOOL= COMPILE_LOCALIZATIONS post-install: diff --git a/emulators/flycast/Makefile b/emulators/flycast/Makefile index cf5a8593268d..40740987bb9b 100644 --- a/emulators/flycast/Makefile +++ b/emulators/flycast/Makefile @@ -1,6 +1,7 @@ PORTNAME= flycast DISTVERSIONPREFIX= v DISTVERSION= 2.5 +PORTREVISION= 1 CATEGORIES= emulators MAINTAINER= bsdcode@disroot.org diff --git a/emulators/higan/Makefile b/emulators/higan/Makefile index 279e937599c9..f70e30b97169 100644 --- a/emulators/higan/Makefile +++ b/emulators/higan/Makefile @@ -4,7 +4,7 @@ DISTVERSION= 110 PORTREVISION= 1 CATEGORIES= emulators games -MAINTAINER= cyberbotx@cyberbotx.com +MAINTAINER= ports@FreeBSD.org COMMENT= Nintendo multi-system emulator WWW= https://github.com/higan-emu/higan @@ -18,60 +18,40 @@ LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ libharfbuzz.so:print/harfbuzz USES= compiler:c++14-lang gettext gmake gnome pkgconfig xorg -USE_GNOME= cairo gdkpixbuf gtk20 gtksourceview2 -USE_XORG= x11 xext xrandr USE_CSTD= c99 USE_CXXSTD= c++14 USE_GITHUB= yes GH_ACCOUNT= higan-emu +USE_GNOME= cairo gdkpixbuf gtk20 gtksourceview2 +USE_XORG= x11 xext xrandr + MAKEFILE= GNUmakefile MAKE_ENV= compiler="${CXX}" hiro="gtk2" OPTIONS_DEFINE= DEBUG -OPTIONS_MULTI= VIDEO SOUND INPUT +OPTIONS_DEFAULT= GLX INPUT_SDL OPENAL SDL XSHM XV +OPTIONS_MULTI= INPUT SOUND VIDEO +OPTIONS_MULTI_INPUT= INPUT_SDL +OPTIONS_MULTI_SOUND= AO OPENAL PULSEAUDIO OPTIONS_MULTI_VIDEO= GLX SDL XSHM XV -OPTIONS_MULTI_SOUND= AO OPENAL OSS PULSEAUDIO -OPTIONS_MULTI_INPUT= INPUT_SDL INPUT_X -OPTIONS_DEFAULT= GLX XSHM XV SDL \ - OPENAL INPUT_SDL INPUT_X - -XSHM_DESC= Build XShm video driver -XV_DESC= Build Xv video driver -INPUT_SDL_DESC= Build SDL input driver -INPUT_X_DESC= Build X input driver - -GLX_USES= gl -GLX_USE= GL=gl -GLX_VARS= VIDEO_DRIVER+=video.glx -SDL_USES= sdl -SDL_USE= XORG=xv SDL=sdl2 -SDL_VARS= VIDEO_DRIVER+=video.sdl - -XSHM_USE= XORG=xext -XSHM_VARS= VIDEO_DRIVER+=video.xshm - -XV_USE= XORG=xv -XV_VARS= VIDEO_DRIVER+=video.xvideo - -AO_LIB_DEPENDS= libao.so:audio/libao -AO_VARS= AUDIO_DRIVER+=audio.ao - -OPENAL_USES= openal:al -OPENAL_VARS= AUDIO_DRIVER+=audio.openal - -OSS_VARS= AUDIO_DRIVER+=audio.oss +INPUT_SDL_DESC= Build SDL input driver +XSHM_DESC= Build XShm video driver +XV_DESC= Build Xv video driver +AO_LIB_DEPENDS= libao.so:audio/libao +GLX_USES= gl +GLX_USE= GL=gl +INPUT_SDL_USES= sdl +INPUT_SDL_USE= SDL=sdl +OPENAL_USES= openal:al PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio -PULSEAUDIO_VARS= AUDIO_DRIVER+=audio.pulseaudio - -INPUT_SDL_USES= sdl -INPUT_SDL_USE= SDL=sdl -INPUT_SDL_VARS= INPUT_DRIVER+=input.sdl - -INPUT_X_VARS= INPUT_DRIVER+=input.xlib +SDL_USES= sdl +SDL_USE= SDL=sdl2 XORG=xv +XSHM_USE= XORG=xext +XV_USE= XORG=xv post-patch: ${REINPLACE_CMD} -e 's|/usr/share/|${PREFIX}/share/|' \ diff --git a/emulators/libretro-pcsx2/Makefile b/emulators/libretro-pcsx2/Makefile index a9ea6d824b1f..00d7fbdebd29 100644 --- a/emulators/libretro-pcsx2/Makefile +++ b/emulators/libretro-pcsx2/Makefile @@ -1,6 +1,6 @@ PORTNAME= libretro-pcsx2 PORTVERSION= 0.20201030 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= emulators games MAINTAINER= beyert@cs.ucr.edu diff --git a/emulators/linux-rl9/Makefile b/emulators/linux-rl9/Makefile index d878a46c372d..8e3984606821 100644 --- a/emulators/linux-rl9/Makefile +++ b/emulators/linux-rl9/Makefile @@ -1,6 +1,5 @@ PORTNAME= linux-rl9 PORTVERSION= ${LINUX_DIST_VER} -PORTREVISION= 3 CATEGORIES= emulators linux MAINTAINER= emulation@FreeBSD.org @@ -11,23 +10,23 @@ LICENSE= BSD2CLAUSE USES= linux:rl9 metaport USE_LINUX= alsalib alsa-lib-devel alsa-plugins-oss alsa-plugins-pulseaudio \ - at-spi2-atk at-spi2-core atk avahi-libs brotli \ + at-spi2-atk at-spi2-core atk avahi-libs \ ca-certificates cairo cairo-gobject cups-libs curl cyrus-sasl2 \ dbuslibs devtools dri elfutils-libelf elfutils-libs expat \ ffmpeg-libs flac fontconfig freetype fribidi gdkpixbuf2 gnupg gnutls \ graphite2 gsm gstreamer1 gstreamer1-libav gtk2 gtk3 harfbuzz icu \ imageformats-libs libassuan libasyncns libdrm libepoxy libevent \ - libgcrypt libgfortran libglvnd libgpg-error libidn2 libksba libnghttp2 libogg \ - libpciaccess libpsl librsvg2 libsecret libsigc++20 \ - libsndfile libsoup libssh libstemmer libtasn1 libthai libtheora libtool-ltdl \ - libtracker-sparql libunistring libusb libv4l libva libvdpau \ + libgcrypt libglvnd libgpg-error libksba libnghttp2 libogg \ + libpciaccess librsvg2 libsecret libsigc++20 \ + libsndfile libssh libstemmer libtasn1 libthai libtheora libtool-ltdl \ + libtracker-sparql libusb libv4l libva libvdpau \ libvorbis libvpx libxkbcommon libxml2 libxslt llvm \ lz4 nettle npth nspr nss ocl-icd openal-soft openldap opus orc \ p11-kit pango pixman pulseaudio-libs pulseaudio-utils python3 \ qt3d qtbase qtconnectivity qtdeclarative qtgraphicaleffects qtimageformats \ qtmultimedia qtquickcontrols qtscript qtsensors qtserialbus qtserialport \ qtsvg qttools qtwayland qtwebchannel qtwebsockets qtx11extras qtxmlpatterns \ - sdl12 sdl12-extralibs sdl20 sdl2gfx sdl2image sdl2mixer sdl2ttf \ + sdl12 sdl12-extralibs sdl20 sdl20-extralibs \ sqlite3 strace systemd-libs tcp_wrappers-libs vulkan \ wayland wget xcb-util xorglibs diff --git a/emulators/linux_base-c7/Makefile b/emulators/linux_base-c7/Makefile index f12ee3eeefa0..f6ac0239dde0 100644 --- a/emulators/linux_base-c7/Makefile +++ b/emulators/linux_base-c7/Makefile @@ -1,6 +1,6 @@ PORTNAME= c7 PORTVERSION= ${LINUX_DIST_VER} -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= emulators linux PKGNAMEPREFIX= linux_base- EXTRACT_ONLY= ${DISTFILES:N*${SRC_SUFX}*:Nfilesystem-*:C/:[^:]+$//} @@ -12,6 +12,10 @@ USES= linux:c7 USE_LINUX= # empty USE_LINUX_RPM= yes +# lib64/gconv/ stuff that is loaded dynamically and has rpath +NO_SHLIB_REQUIRES_GLOB= libCNS.so* libGB.so* libISOIR165.so* \ + libJIS.so* libJISX0213.so* libKSC.so* + BIN_DISTNAMES= bash-4.2.46-35.el7_9 \ bzip2-1.0.6-13.el7 \ centos-release-7-9.2009.2.el7.centos \ @@ -57,6 +61,7 @@ LIB_DISTNAMES= audit-libs-2.8.5-4.el7 \ libstdc++-4.8.5-44.el7 \ libuuid-2.23.2-65.el7_9.1 \ libverto-0.2.5-4.el7 \ + mpfr-3.1.1-4.el7 \ ncurses-libs-5.9-14.20130511.el7_4 \ nss-softokn-freebl-3.90.0-6.el7_9 \ openssl-libs-1.0.2k-26.el7_9 \ @@ -111,6 +116,7 @@ SRC_DISTFILES= acl-2.2.51-15.el7${SRC_SUFX}:SOURCE \ libidn-1.28-4.el7${SRC_SUFX}:SOURCE \ libselinux-2.5-15.el7${SRC_SUFX}:SOURCE \ libsepol-2.5-10.el7${SRC_SUFX}:SOURCE \ + mpfr-3.1.1-4.el7${SRC_SUFX}:SOURCE \ ncurses-5.9-14.20130511.el7_4${SRC_SUFX}:SOURCE \ nss-softokn-3.90.0-6.el7_9${SRC_SUFX}:SOURCE \ openssl-1.0.2k-26.el7_9${SRC_SUFX}:SOURCE \ diff --git a/emulators/linux_base-c7/distinfo b/emulators/linux_base-c7/distinfo index 57b1da9edf58..4961d4c4086f 100644 --- a/emulators/linux_base-c7/distinfo +++ b/emulators/linux_base-c7/distinfo @@ -1,4 +1,4 @@ -TIMESTAMP = 1745089701 +TIMESTAMP = 1747983508 SHA256 (centos/audit-libs-2.8.5-4.el7.aarch64.rpm) = c67ba5a600a6a94da1ee52fffc4855b6f6c75ae4ad1a568aafec1538849d8395 SIZE (centos/audit-libs-2.8.5-4.el7.aarch64.rpm) = 98696 SHA256 (centos/audit-libs-2.8.5-4.el7.i686.rpm) = 53624cacb5fb907f0dd6112044f9358f1245e81c07cee66ae76e1ed7362480b0 @@ -251,6 +251,12 @@ SHA256 (centos/libverto-0.2.5-4.el7.i686.rpm) = 9d0f76540a5db6154e3f86d7d825b59e SIZE (centos/libverto-0.2.5-4.el7.i686.rpm) = 16728 SHA256 (centos/libverto-0.2.5-4.el7.x86_64.rpm) = e8485822ec59dbb056057ae28872f673574fe70162aed18bb315fcbb8819d8cd SIZE (centos/libverto-0.2.5-4.el7.x86_64.rpm) = 16820 +SHA256 (centos/mpfr-3.1.1-4.el7.aarch64.rpm) = afb6073325878dd3d09d042e97111971b35e5a495423584d6c1630ffb9dfede2 +SIZE (centos/mpfr-3.1.1-4.el7.aarch64.rpm) = 202496 +SHA256 (centos/mpfr-3.1.1-4.el7.i686.rpm) = 434df971d8ca24131e558a76d76b89c1a50492f2042c16f02267c623a35c6675 +SIZE (centos/mpfr-3.1.1-4.el7.i686.rpm) = 204828 +SHA256 (centos/mpfr-3.1.1-4.el7.x86_64.rpm) = 252c6dbd30edf55bfc5e24cc2862470d6046156d515a7cf614d6994dba13519a +SIZE (centos/mpfr-3.1.1-4.el7.x86_64.rpm) = 208316 SHA256 (centos/ncurses-5.9-14.20130511.el7_4.aarch64.rpm) = 72c170b7fba9425782141691eeeac14875687af32a8ac5d09c83314324e129c9 SIZE (centos/ncurses-5.9-14.20130511.el7_4.aarch64.rpm) = 310084 SHA256 (centos/ncurses-5.9-14.20130511.el7_4.i686.rpm) = ad7a2660acba812a13c6715b14ac509d77df0522f17eeabba93c44de714a6044 @@ -409,6 +415,8 @@ SHA256 (centos/libselinux-2.5-15.el7.src.rpm) = 978ed00b9c7ca78a51e0aff48070c69e SIZE (centos/libselinux-2.5-15.el7.src.rpm) = 311489 SHA256 (centos/libsepol-2.5-10.el7.src.rpm) = 89da19c3ca2daa42f9a02593c2e0e77630c54d951ffa41ba29f7862074841909 SIZE (centos/libsepol-2.5-10.el7.src.rpm) = 534142 +SHA256 (centos/mpfr-3.1.1-4.el7.src.rpm) = c6946822a27080f2952925146088928a16292ee0fc2639aa4ef862eae716397e +SIZE (centos/mpfr-3.1.1-4.el7.src.rpm) = 1080457 SHA256 (centos/ncurses-5.9-14.20130511.el7_4.src.rpm) = 7250cb2d8e0dbaf1ec64be098662858486948eb53c3e924b9de873e40857b236 SIZE (centos/ncurses-5.9-14.20130511.el7_4.src.rpm) = 3940747 SHA256 (centos/nss-softokn-3.90.0-6.el7_9.src.rpm) = 6bf91cbc81864e10c0e941d3f2973d58e13b1675a7e53cad3e4f9286e4a073af diff --git a/emulators/linux_base-c7/pkg-plist.aarch64 b/emulators/linux_base-c7/pkg-plist.aarch64 index b759bdfc3830..7bae1d337289 100644 --- a/emulators/linux_base-c7/pkg-plist.aarch64 +++ b/emulators/linux_base-c7/pkg-plist.aarch64 @@ -719,6 +719,8 @@ usr/lib64/libmenuw.so.5 usr/lib64/libmenuw.so.5.9 usr/lib64/libmount.so.1 usr/lib64/libmount.so.1.1.0 +usr/lib64/libmpfr.so.4 +usr/lib64/libmpfr.so.4.1.1 usr/lib64/libncurses++.so.5 usr/lib64/libncurses++.so.5.9 usr/lib64/libncurses++w.so.5 @@ -1141,6 +1143,22 @@ usr/share/centos-release/EULA %%PORTDOCS%%usr/share/doc/libverto-0.2.5/ChangeLog %%PORTDOCS%%usr/share/doc/libverto-0.2.5/NEWS %%PORTDOCS%%usr/share/doc/libverto-0.2.5/README +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/COPYING +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/COPYING.LESSER +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/NEWS +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/README +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/AUTHORS +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/BUGS +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/COPYING +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/COPYING.LESSER +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/FAQ.html +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/NEWS +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/TODO +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/examples/ReadMe +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/examples/divworst.c +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/examples/rndo-add.c +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/examples/sample.c +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/examples/version.c %%PORTDOCS%%usr/share/doc/ncurses-5.9/ANNOUNCE %%PORTDOCS%%usr/share/doc/ncurses-5.9/AUTHORS %%PORTDOCS%%usr/share/doc/ncurses-5.9/NEWS.bz2 diff --git a/emulators/linux_base-c7/pkg-plist.amd64 b/emulators/linux_base-c7/pkg-plist.amd64 index 3771c91075dd..75b90bfa2d54 100644 --- a/emulators/linux_base-c7/pkg-plist.amd64 +++ b/emulators/linux_base-c7/pkg-plist.amd64 @@ -719,6 +719,8 @@ usr/lib/libmenuw.so.5 usr/lib/libmenuw.so.5.9 usr/lib/libmount.so.1 usr/lib/libmount.so.1.1.0 +usr/lib/libmpfr.so.4 +usr/lib/libmpfr.so.4.1.1 usr/lib/libncurses++.so.5 usr/lib/libncurses++.so.5.9 usr/lib/libncurses++w.so.5 @@ -1200,6 +1202,8 @@ usr/lib64/libmenuw.so.5 usr/lib64/libmenuw.so.5.9 usr/lib64/libmount.so.1 usr/lib64/libmount.so.1.1.0 +usr/lib64/libmpfr.so.4 +usr/lib64/libmpfr.so.4.1.1 usr/lib64/libncurses++.so.5 usr/lib64/libncurses++.so.5.9 usr/lib64/libncurses++w.so.5 @@ -1636,6 +1640,22 @@ usr/share/centos-release/EULA %%PORTDOCS%%usr/share/doc/libverto-0.2.5/ChangeLog %%PORTDOCS%%usr/share/doc/libverto-0.2.5/NEWS %%PORTDOCS%%usr/share/doc/libverto-0.2.5/README +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/COPYING +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/COPYING.LESSER +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/NEWS +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/README +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/AUTHORS +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/BUGS +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/COPYING +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/COPYING.LESSER +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/FAQ.html +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/NEWS +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/TODO +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/examples/ReadMe +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/examples/divworst.c +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/examples/rndo-add.c +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/examples/sample.c +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/examples/version.c %%PORTDOCS%%usr/share/doc/ncurses-5.9/ANNOUNCE %%PORTDOCS%%usr/share/doc/ncurses-5.9/AUTHORS %%PORTDOCS%%usr/share/doc/ncurses-5.9/NEWS.bz2 diff --git a/emulators/linux_base-c7/pkg-plist.i386 b/emulators/linux_base-c7/pkg-plist.i386 index 128a821bc2ce..5deb2b9a3263 100644 --- a/emulators/linux_base-c7/pkg-plist.i386 +++ b/emulators/linux_base-c7/pkg-plist.i386 @@ -715,6 +715,8 @@ usr/lib/libmenuw.so.5 usr/lib/libmenuw.so.5.9 usr/lib/libmount.so.1 usr/lib/libmount.so.1.1.0 +usr/lib/libmpfr.so.4 +usr/lib/libmpfr.so.4.1.1 usr/lib/libncurses++.so.5 usr/lib/libncurses++.so.5.9 usr/lib/libncurses++w.so.5 @@ -1164,6 +1166,22 @@ usr/share/centos-release/EULA %%PORTDOCS%%usr/share/doc/libverto-0.2.5/ChangeLog %%PORTDOCS%%usr/share/doc/libverto-0.2.5/NEWS %%PORTDOCS%%usr/share/doc/libverto-0.2.5/README +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/COPYING +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/COPYING.LESSER +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/NEWS +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/README +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/AUTHORS +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/BUGS +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/COPYING +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/COPYING.LESSER +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/FAQ.html +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/NEWS +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/TODO +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/examples/ReadMe +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/examples/divworst.c +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/examples/rndo-add.c +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/examples/sample.c +%%PORTDOCS%%usr/share/doc/mpfr-3.1.1/mpfr/examples/version.c %%PORTDOCS%%usr/share/doc/ncurses-5.9/ANNOUNCE %%PORTDOCS%%usr/share/doc/ncurses-5.9/AUTHORS %%PORTDOCS%%usr/share/doc/ncurses-5.9/NEWS.bz2 diff --git a/emulators/linux_base-rl9/Makefile b/emulators/linux_base-rl9/Makefile index 6b60d59bdf8f..628b300ba9f9 100644 --- a/emulators/linux_base-rl9/Makefile +++ b/emulators/linux_base-rl9/Makefile @@ -1,6 +1,5 @@ PORTNAME= rl9 PORTVERSION= ${LINUX_DIST_VER} -PORTREVISION= 8 CATEGORIES= emulators linux PKGNAMEPREFIX= linux_base- EXTRACT_ONLY= ${DISTFILES:N*${SRC_SUFX}*:Nf/filesystem-*:C/:[^:]+$//} @@ -15,7 +14,9 @@ USE_LINUX= # empty USE_LINUX_RPM= yes WANT_LINUX32= yes -CONFLICTS_INSTALL= linux-${linux_ARGS}-libsigsegv +# lib64/gconv/ stuff that is loaded dynamically and has rpath +NO_SHLIB_REQUIRES_GLOB= libCNS.so* libGB.so* libISOIR165.so* \ + libJIS.so* libJISX0213.so* libKSC.so* .include "${.CURDIR}/Makefile.version" @@ -37,6 +38,7 @@ BIN_DISTNAMES= bash-${bash_ver} \ ncurses-${ncurses_ver} \ sed-${sed_ver} \ setserial-${setserial_ver} \ + sqlite-${sqlite_ver} \ util-linux-${util_ver} \ util-linux-core-${util_ver} \ which-${which_ver} @@ -56,6 +58,7 @@ LIB_DISTNAMES= bzip2-libs-${bzip2_ver} \ libacl-${libacl_ver} \ libattr-${libattr_ver} \ libblkid-${util_ver} \ + libbrotli-${brotli_ver} \ libcap-${libcap_ver} \ libcom_err-${e2fsprogs_ver} \ libdatrie-${libdatrie_ver} \ @@ -66,14 +69,18 @@ LIB_DISTNAMES= bzip2-libs-${bzip2_ver} \ libffi-${libffi_ver} \ libgcc-${gcc_ver} \ libgudev-${libgudev_ver} \ + libidn2-${libidn2_ver} \ libmount-${util_ver} \ libnsl-${glibc_ver} \ libproxy-${libproxy_ver} \ + libpsl-${libpsl_ver} \ libselinux-${selinux_ver} \ libsepol-${sepol_ver} \ libsigsegv-${libsigsegv_ver} \ libsmartcols-${util_ver} \ + libsoup-${libsoup_ver} \ libstdc++-${gcc_ver} \ + libunistring-${libunistring_ver} \ libuuid-${util_ver} \ libverto-${libverto_ver} \ libxcrypt-${libxcrypt_ver} \ @@ -91,6 +98,7 @@ LIB_DISTNAMES= bzip2-libs-${bzip2_ver} \ popt-${popt_ver} \ readline-${readline_ver} \ slang-${slang_ver} \ + sqlite-libs-${sqlite_ver} \ xz-libs-${xz_ver} \ zlib-${zlib_ver} @@ -133,6 +141,7 @@ SRC_DISTFILES= acl-${libacl_ver}${SRC_SUFX}:SOURCE \ libselinux-${selinux_ver}${SRC_SUFX}:SOURCE \ libsepol-${sepol_ver}${SRC_SUFX}:SOURCE \ libsigsegv-${libsigsegv_ver}${SRC_SUFX}:SOURCE \ + libsoup-${libsoup_ver}${SRC_SUFX}:SOURCE \ libverto-${libverto_ver}${SRC_SUFX}:SOURCE \ libxcrypt-${libxcrypt_ver}${SRC_SUFX}:SOURCE \ mpfr-${mpfr_ver}${SRC_SUFX}:SOURCE \ @@ -174,6 +183,7 @@ REMOVE_FILES= bin/chfn bin/chsh bin/findmnt bin/login bin/lsblk bin/lscpu \ usr/bin/taskset usr/bin/unshare usr/sbin/agetty usr/sbin/blkid \ usr/sbin/blockdev usr/sbin/fsck usr/sbin/losetup usr/sbin/mkswap \ usr/sbin/partx usr/sbin/swapoff usr/sbin/swapon usr/sbin/switch_root \ + usr/lib/gio/modules/libgiognutls.so usr/lib64/gio/modules/libgiognutls.so \ usr/share/man/man1/chrt.1.gz usr/share/man/man1/dmesg.1.gz \ usr/share/man/man1/flock.1.gz usr/share/man/man1/hardlink.1.gz \ usr/share/man/man1/ionice.1.gz usr/share/man/man1/ipcmk.1.gz \ diff --git a/emulators/linux_base-rl9/Makefile.version b/emulators/linux_base-rl9/Makefile.version index b54ebe994cd9..6bc9e8c58232 100644 --- a/emulators/linux_base-rl9/Makefile.version +++ b/emulators/linux_base-rl9/Makefile.version @@ -1,38 +1,43 @@ basesystem_ver= 11-13.el9.0.1 bash_ver= 5.1.8-9.el9 +brotli_ver= 1.0.9-7.el9_5 bzip2_ver= 1.0.8-10.el9_5 -coreutils_ver= 8.32-36.el9 +coreutils_ver= 8.32-39.el9 diffutils_ver= 3.7-12.el9 -e2fsprogs_ver= 1.46.5-5.el9 +e2fsprogs_ver= 1.46.5-7.el9 filesystem_ver= 3.16-5.el9 findutils_ver= 4.8.0-7.el9 -fuse_ver= 2.9.9-16.el9 +fuse_ver= 2.9.9-17.el9 gawk_ver= 5.1.0-6.el9 gcc_ver= 11.5.0-5.el9_5 gdbm_ver= 1.23-1.el9 geocode-glib_ver= 3.26.2-5.el9 glib-networking_ver= 2.68.3-3.el9 -glib2_ver= 2.68.4-14.el9_4.1 -glibc_ver= 2.34-125.el9_5.8 +glib2_ver= 2.68.4-16.el9 +glibc_ver= 2.34-168.el9_6.19 gmp_ver= 6.2.0-13.el9 grep_ver= 3.6-5.el9 info_ver= 6.7-15.el9 json-glib_ver= 1.6.6-1.el9 keyutils_ver= 1.6.3-1.el9 -krb5_ver= 1.21.1-4.el9_5 +krb5_ver= 1.21.1-6.el9 less_ver= 590-5.el9 libacl_ver= 2.3.1-4.el9 libattr_ver= 2.5.1-3.el9 libcap_ver= 2.48-9.el9_2 libdatrie_ver= 0.2.13-4.el9 -libdb_ver= 5.3.28-54.el9 +libdb_ver= 5.3.28-55.el9 libedit_ver= 3.1-38.20210216cvs.el9 libevdev_ver= 1.11.0-3.el9 libffi_ver= 3.4.2-8.el9 libgudev_ver= 237-1.el9 +libidn2_ver= 2.3.0-7.el9 libnattr_ver= 2.5.1-3.el9 libproxy_ver= 0.4.15-35.el9 +libpsl_ver= 0.21.1-5.el9 libsigsegv_ver= 2.13-4.el9 +libsoup_ver= 2.72.0-10.el9_6.2 +libunistring_ver= 0.9.10-15.el9 libverto_ver= 0.3.2-3.el9 libxcrypt_ver= 4.4.18-3.el9 mpfr_ver= 4.1.0-7.el9 @@ -45,13 +50,14 @@ popt_ver= 1.18-8.el9 readline_ver= 8.1-4.el9 rocky-release_ver= 9.5-1.2.el9 sed_ver= 4.8-9.el9 -selinux_ver= 3.6-1.el9 -sepol_ver= 3.6-1.el9 +selinux_ver= 3.6-3.el9 +sepol_ver= 3.6-2.el9 setserial_ver= 2.17-54.el9 setup_ver= 2.13.7-10.el9 slang_ver= 2.3.2-11.el9 -util_ver= 2.37.4-20.el9 +sqlite_ver= 3.34.1-7.el9_3 +util_ver= 2.37.4-21.el9 which_ver= 2.21-29.el9 xz_ver= 5.2.5-8.el9_0 zlib_ver= 1.2.11-40.el9 -zstd_ver= 1.5.1-2.el9 +zstd_ver= 1.5.5-1.el9 diff --git a/emulators/linux_base-rl9/distinfo b/emulators/linux_base-rl9/distinfo index ff2b4e9497ec..a187221c7d0c 100644 --- a/emulators/linux_base-rl9/distinfo +++ b/emulators/linux_base-rl9/distinfo @@ -1,4 +1,4 @@ -TIMESTAMP = 1746515966 +TIMESTAMP = 1750633076 SHA256 (rocky/b/basesystem-11-13.el9.0.1.noarch.rpm) = 9f707e8d1046381c9b4a4df6a6674327df6ffe0298d48e1750972212c97aafad SIZE (rocky/b/basesystem-11-13.el9.0.1.noarch.rpm) = 6565 SHA256 (rocky/b/bash-5.1.8-9.el9.aarch64.rpm) = f6b8bbdbd96ecb8d240a4d3c4a038f58faeab170015b07c7096d02157838279d @@ -15,24 +15,24 @@ SHA256 (rocky/b/bzip2-libs-1.0.8-10.el9_5.i686.rpm) = 3e7d1321c13f53b170717d150f SIZE (rocky/b/bzip2-libs-1.0.8-10.el9_5.i686.rpm) = 40141 SHA256 (rocky/b/bzip2-libs-1.0.8-10.el9_5.x86_64.rpm) = 1741762b008088e223b9ec386bc77322b95ab47ed8e982e32e8f3d11997955be SIZE (rocky/b/bzip2-libs-1.0.8-10.el9_5.x86_64.rpm) = 39972 -SHA256 (rocky/c/coreutils-8.32-36.el9.aarch64.rpm) = 97dedc47d3c920a40f9d9ff01d8b062124fbe3b3f93151b3230453667b2bb772 -SIZE (rocky/c/coreutils-8.32-36.el9.aarch64.rpm) = 1133904 -SHA256 (rocky/c/coreutils-8.32-36.el9.x86_64.rpm) = 9c5f9d4b74543a16b32fdb1536b53ac42042c9ad0acb794f9ab91655c069eb19 -SIZE (rocky/c/coreutils-8.32-36.el9.x86_64.rpm) = 1181131 +SHA256 (rocky/c/coreutils-8.32-39.el9.aarch64.rpm) = f7b726650ec026e994ebaa181715950109b962ae8da21309ba59b8286137252f +SIZE (rocky/c/coreutils-8.32-39.el9.aarch64.rpm) = 1113137 +SHA256 (rocky/c/coreutils-8.32-39.el9.x86_64.rpm) = 73a91621d9303290c1e27d2a834df4e5532d94dfa9ef2eca984d97f1fd2249a5 +SIZE (rocky/c/coreutils-8.32-39.el9.x86_64.rpm) = 1158633 SHA256 (rocky/d/diffutils-3.7-12.el9.aarch64.rpm) = df77e6cb59b73a1ff3d007c8011c689bf9bdbd416889bce8d65dc9855144e335 SIZE (rocky/d/diffutils-3.7-12.el9.aarch64.rpm) = 391813 SHA256 (rocky/d/diffutils-3.7-12.el9.x86_64.rpm) = d3932991f5d9b1e5f6326e376cf77f3f676bbf0c5657b2ddf1013bfdb4738a69 SIZE (rocky/d/diffutils-3.7-12.el9.x86_64.rpm) = 396968 -SHA256 (rocky/e/e2fsprogs-1.46.5-5.el9.aarch64.rpm) = 5e7e13ef9e10c5eb625e0c6edb8e913e235a630f567f939f02c1d4f4c2470d2b -SIZE (rocky/e/e2fsprogs-1.46.5-5.el9.aarch64.rpm) = 1018362 -SHA256 (rocky/e/e2fsprogs-1.46.5-5.el9.x86_64.rpm) = f79ac72b32036502f10e4a679fb4817758de89006f71b695b53c06f13084247a -SIZE (rocky/e/e2fsprogs-1.46.5-5.el9.x86_64.rpm) = 1026807 -SHA256 (rocky/e/e2fsprogs-libs-1.46.5-5.el9.aarch64.rpm) = ce2bbbd636414190a36fd76a959c1d519b2fd92da85187501d9b9fe96e93f5e3 -SIZE (rocky/e/e2fsprogs-libs-1.46.5-5.el9.aarch64.rpm) = 227421 -SHA256 (rocky/e/e2fsprogs-libs-1.46.5-5.el9.i686.rpm) = a026908e1861a2f63ec281c2c7b8add14899c257d47e7c4c1141cb489b4fc537 -SIZE (rocky/e/e2fsprogs-libs-1.46.5-5.el9.i686.rpm) = 259694 -SHA256 (rocky/e/e2fsprogs-libs-1.46.5-5.el9.x86_64.rpm) = 7c465f9f430781cec46d6d6ae0c45a3a22a0838eb4c6819e8410224dfa505df9 -SIZE (rocky/e/e2fsprogs-libs-1.46.5-5.el9.x86_64.rpm) = 226783 +SHA256 (rocky/e/e2fsprogs-1.46.5-7.el9.aarch64.rpm) = bb0d5e64092fe8f539dac21a35f559dfa2453521b09ace9b0b39feb9c23f6923 +SIZE (rocky/e/e2fsprogs-1.46.5-7.el9.aarch64.rpm) = 1015999 +SHA256 (rocky/e/e2fsprogs-1.46.5-7.el9.x86_64.rpm) = 18fee60bd62d5ef248447df59d2a9c89a6c07c560bca05fd5e69a174357ed68e +SIZE (rocky/e/e2fsprogs-1.46.5-7.el9.x86_64.rpm) = 1022981 +SHA256 (rocky/e/e2fsprogs-libs-1.46.5-7.el9.aarch64.rpm) = 0aaecc33fe832814e6e1107f5c885ce296b41de0d8e453614714f76f467bd4e4 +SIZE (rocky/e/e2fsprogs-libs-1.46.5-7.el9.aarch64.rpm) = 226870 +SHA256 (rocky/e/e2fsprogs-libs-1.46.5-7.el9.i686.rpm) = 1dddaf5a9adfb8da036e49ec0d58a217122fae2af63cd4cec24ce25b37f0bbcc +SIZE (rocky/e/e2fsprogs-libs-1.46.5-7.el9.i686.rpm) = 259414 +SHA256 (rocky/e/e2fsprogs-libs-1.46.5-7.el9.x86_64.rpm) = 2e2cf05b97d183343cc8d84c77d3af7c49f3a153f6fdbd93c7c34b44c79a2c61 +SIZE (rocky/e/e2fsprogs-libs-1.46.5-7.el9.x86_64.rpm) = 226202 SHA256 (rocky/f/filesystem-3.16-5.el9.aarch64.rpm) = 373dffb499081ae9f7573af300e4087b4abc6f54a25dfd7c8cc63b295c2d4e03 SIZE (rocky/f/filesystem-3.16-5.el9.aarch64.rpm) = 1117518 SHA256 (rocky/f/filesystem-3.16-5.el9.x86_64.rpm) = cabe98453b9517158c5a045cfec0418b747c874da2717d183f4296f240bdf8d9 @@ -41,16 +41,16 @@ SHA256 (rocky/f/findutils-4.8.0-7.el9.aarch64.rpm) = b77862b75f970d95a6943c46133 SIZE (rocky/f/findutils-4.8.0-7.el9.aarch64.rpm) = 550234 SHA256 (rocky/f/findutils-4.8.0-7.el9.x86_64.rpm) = 1c9c28792695c61ced41da9337f323111973ba7eea938c3c11944532e384a662 SIZE (rocky/f/findutils-4.8.0-7.el9.x86_64.rpm) = 549239 -SHA256 (rocky/f/fuse-2.9.9-16.el9.aarch64.rpm) = 3dd56d0baa2c83b6ee5d0dc9be112031783d0a124f51b0f0bd512209112cae9c -SIZE (rocky/f/fuse-2.9.9-16.el9.aarch64.rpm) = 79610 -SHA256 (rocky/f/fuse-2.9.9-16.el9.x86_64.rpm) = fc076e7835b9de97d00be6610bb3851b2bc18993c681caa2fbb5901bb1999879 -SIZE (rocky/f/fuse-2.9.9-16.el9.x86_64.rpm) = 80044 -SHA256 (rocky/f/fuse-libs-2.9.9-16.el9.aarch64.rpm) = 6944c5d19a9328391fb7535799c6acee9598e6b7a0625d2c69833a6cd28980cc -SIZE (rocky/f/fuse-libs-2.9.9-16.el9.aarch64.rpm) = 96342 -SHA256 (rocky/f/fuse-libs-2.9.9-16.el9.i686.rpm) = 7f094b2e5654f3790165441e505914fb3a0c825cff92410bbbd31e60f2d78491 -SIZE (rocky/f/fuse-libs-2.9.9-16.el9.i686.rpm) = 109504 -SHA256 (rocky/f/fuse-libs-2.9.9-16.el9.x86_64.rpm) = 0fb2172f73c49e359315f89da8ff0bfa78c2bdd8ec6a6891597e83a0601210fd -SIZE (rocky/f/fuse-libs-2.9.9-16.el9.x86_64.rpm) = 98099 +SHA256 (rocky/f/fuse-2.9.9-17.el9.aarch64.rpm) = 42b60a7fc59e9b73c010f6609c14cd44ded2d8adf03bf43752152841bf409382 +SIZE (rocky/f/fuse-2.9.9-17.el9.aarch64.rpm) = 79069 +SHA256 (rocky/f/fuse-2.9.9-17.el9.x86_64.rpm) = f1de06c2c41e5fe6071609b369e499c282af7a85f09ecb0475f0100df12e6dda +SIZE (rocky/f/fuse-2.9.9-17.el9.x86_64.rpm) = 79519 +SHA256 (rocky/f/fuse-libs-2.9.9-17.el9.aarch64.rpm) = 7729aaf4b9ec5689dd7d5a0972b27866c58eff063034c621f9d80b747c2012cd +SIZE (rocky/f/fuse-libs-2.9.9-17.el9.aarch64.rpm) = 95924 +SHA256 (rocky/f/fuse-libs-2.9.9-17.el9.i686.rpm) = 2ad507dc955f3623462089d64eb0b0d211fa48380d5600f760a2526fea4c63be +SIZE (rocky/f/fuse-libs-2.9.9-17.el9.i686.rpm) = 109570 +SHA256 (rocky/f/fuse-libs-2.9.9-17.el9.x86_64.rpm) = 4ce8725296d740d70aed725d3946244dab5c263ca846dc6cb571f7a2d0aa858c +SIZE (rocky/f/fuse-libs-2.9.9-17.el9.x86_64.rpm) = 97719 SHA256 (rocky/g/gawk-5.1.0-6.el9.aarch64.rpm) = c831415c883ab8ecd6d62373cea563c73042d06463c91e6645f82984eeb12c74 SIZE (rocky/g/gawk-5.1.0-6.el9.aarch64.rpm) = 999013 SHA256 (rocky/g/gawk-5.1.0-6.el9.x86_64.rpm) = eaca68b315d6c2ef5ec30deaf9b7c38401e2ed0169972d158fd88b917e8a47dc @@ -73,32 +73,32 @@ SHA256 (rocky/g/glib-networking-2.68.3-3.el9.i686.rpm) = 2a7824f80e9ef343a8467da SIZE (rocky/g/glib-networking-2.68.3-3.el9.i686.rpm) = 180304 SHA256 (rocky/g/glib-networking-2.68.3-3.el9.x86_64.rpm) = fa9bec5c45cd1d4123f3e5e9793c592312d95dc50369740226969e69bd0e0ab0 SIZE (rocky/g/glib-networking-2.68.3-3.el9.x86_64.rpm) = 173019 -SHA256 (rocky/g/glib2-2.68.4-14.el9_4.1.aarch64.rpm) = a720ff7488134ba4fef07680e45a1fd757b50a9b83edb9ae9f70d4740c8aeb7d -SIZE (rocky/g/glib2-2.68.4-14.el9_4.1.aarch64.rpm) = 2708566 -SHA256 (rocky/g/glib2-2.68.4-14.el9_4.1.i686.rpm) = 70fc96806a62a13d46e6786f52b340c5099d9672e59370d6ac9f1c170a258a52 -SIZE (rocky/g/glib2-2.68.4-14.el9_4.1.i686.rpm) = 2824506 -SHA256 (rocky/g/glib2-2.68.4-14.el9_4.1.x86_64.rpm) = 80a459770f044a232087c6e3483ceaf118807987d51e2501c4e5bdf64b1bb58d -SIZE (rocky/g/glib2-2.68.4-14.el9_4.1.x86_64.rpm) = 2741037 -SHA256 (rocky/g/glibc-2.34-125.el9_5.8.aarch64.rpm) = 7110fd3359cce2266a72df6e9b4f85320c54ca8e90ff159f58f3fe65d287698d -SIZE (rocky/g/glibc-2.34-125.el9_5.8.aarch64.rpm) = 1772281 -SHA256 (rocky/g/glibc-2.34-125.el9_5.8.i686.rpm) = 143b942ced528c17fc3e2bd8cb0cfed70aeb8f098d4e82f533e7a8703946e9c7 -SIZE (rocky/g/glibc-2.34-125.el9_5.8.i686.rpm) = 1984225 -SHA256 (rocky/g/glibc-2.34-125.el9_5.8.x86_64.rpm) = b7fcc189398338475f84a2538e628de3fd0bb0ac778d66c9e4ee06e0fc177689 -SIZE (rocky/g/glibc-2.34-125.el9_5.8.x86_64.rpm) = 2039086 -SHA256 (rocky/g/glibc-all-langpacks-2.34-125.el9_5.8.aarch64.rpm) = bd033f52cd6c65b4b4faccd7c012d6af4e85a670452a847af6ea2bfe54d68d49 -SIZE (rocky/g/glibc-all-langpacks-2.34-125.el9_5.8.aarch64.rpm) = 18730073 -SHA256 (rocky/g/glibc-all-langpacks-2.34-125.el9_5.8.x86_64.rpm) = c138c3b76ee3bf0d4268068ff560c0ffb821ac0135f78ab6825c817ec3539cb2 -SIZE (rocky/g/glibc-all-langpacks-2.34-125.el9_5.8.x86_64.rpm) = 18731797 -SHA256 (rocky/g/glibc-common-2.34-125.el9_5.8.aarch64.rpm) = a0e38ead8793c1071f2f6e7cd6c8cb5c764e21d7b7e5f40d8c6700beadb3c3e4 -SIZE (rocky/g/glibc-common-2.34-125.el9_5.8.aarch64.rpm) = 287567 -SHA256 (rocky/g/glibc-common-2.34-125.el9_5.8.x86_64.rpm) = 07878f56af2ac82507b59e13e786b7dd9811243c4230c5a310ecfb2c43877b1d -SIZE (rocky/g/glibc-common-2.34-125.el9_5.8.x86_64.rpm) = 296884 -SHA256 (rocky/g/glibc-gconv-extra-2.34-125.el9_5.8.aarch64.rpm) = 431e843b276b489f1872969fb53c17059ec576917b9ea08b9c7d849f86bfc1fa -SIZE (rocky/g/glibc-gconv-extra-2.34-125.el9_5.8.aarch64.rpm) = 1711363 -SHA256 (rocky/g/glibc-gconv-extra-2.34-125.el9_5.8.i686.rpm) = d343406cbb75cf8609ff61e02e41d17b3edd6b755666de35bb5708fbc65f0e4f -SIZE (rocky/g/glibc-gconv-extra-2.34-125.el9_5.8.i686.rpm) = 1682322 -SHA256 (rocky/g/glibc-gconv-extra-2.34-125.el9_5.8.x86_64.rpm) = 57d45448e415f7447d20320596031e01a609f102d341c3a8a2cafadacc31ac1d -SIZE (rocky/g/glibc-gconv-extra-2.34-125.el9_5.8.x86_64.rpm) = 1645776 +SHA256 (rocky/g/glib2-2.68.4-16.el9.aarch64.rpm) = 541e7161b729d7ca7697420c11c910cc76b14a621385a3635388c7e2ebeba769 +SIZE (rocky/g/glib2-2.68.4-16.el9.aarch64.rpm) = 2704830 +SHA256 (rocky/g/glib2-2.68.4-16.el9.i686.rpm) = ef4ab5a8ef717fb418930105447e6974809b2f380ffac61538e95a19b60f6a51 +SIZE (rocky/g/glib2-2.68.4-16.el9.i686.rpm) = 2823474 +SHA256 (rocky/g/glib2-2.68.4-16.el9.x86_64.rpm) = 4830c7ff22fd986efb3b5802d08029cbdc33a6dbbad55fb6c272c55218e51211 +SIZE (rocky/g/glib2-2.68.4-16.el9.x86_64.rpm) = 2737173 +SHA256 (rocky/g/glibc-2.34-168.el9_6.19.aarch64.rpm) = 2acd8162d1e26f0c6eaf81e5f95b2c380e9c9d0ab8585ca7f21ce2d0bb1fecf5 +SIZE (rocky/g/glibc-2.34-168.el9_6.19.aarch64.rpm) = 1768161 +SHA256 (rocky/g/glibc-2.34-168.el9_6.19.i686.rpm) = eb383ff671bbca2657ba373645448effc4207fc5f8382c4aca6f96ffda7c01d5 +SIZE (rocky/g/glibc-2.34-168.el9_6.19.i686.rpm) = 1978180 +SHA256 (rocky/g/glibc-2.34-168.el9_6.19.x86_64.rpm) = 9c51750fa82466b52c66f1dc1b86ada5ace1b4197eb12189843f2061556cad04 +SIZE (rocky/g/glibc-2.34-168.el9_6.19.x86_64.rpm) = 2030908 +SHA256 (rocky/g/glibc-all-langpacks-2.34-168.el9_6.19.aarch64.rpm) = 9f9abef6ee86b90a3f7ce97285a02d127795d1a15e90af240ad24bf8da7b6296 +SIZE (rocky/g/glibc-all-langpacks-2.34-168.el9_6.19.aarch64.rpm) = 18717407 +SHA256 (rocky/g/glibc-all-langpacks-2.34-168.el9_6.19.x86_64.rpm) = 001e936bfb8621c0152322ad29f7c913311856c84449482fbf26c3086b69c66e +SIZE (rocky/g/glibc-all-langpacks-2.34-168.el9_6.19.x86_64.rpm) = 18717415 +SHA256 (rocky/g/glibc-common-2.34-168.el9_6.19.aarch64.rpm) = 8e6b5ab2d6a95051efb5e8e7e1241d0feaad178d15af41b40903bdc898e4b09e +SIZE (rocky/g/glibc-common-2.34-168.el9_6.19.aarch64.rpm) = 292320 +SHA256 (rocky/g/glibc-common-2.34-168.el9_6.19.x86_64.rpm) = 136530d214a30424970457d573dd36f0fb574d40f7ee42c790e6d344efe27734 +SIZE (rocky/g/glibc-common-2.34-168.el9_6.19.x86_64.rpm) = 302086 +SHA256 (rocky/g/glibc-gconv-extra-2.34-168.el9_6.19.aarch64.rpm) = e3fa2c7ea577941866340331ba481691ab4e5966b55f9825d21d8a8ef0c33d40 +SIZE (rocky/g/glibc-gconv-extra-2.34-168.el9_6.19.aarch64.rpm) = 1679013 +SHA256 (rocky/g/glibc-gconv-extra-2.34-168.el9_6.19.i686.rpm) = 028ec1e9626ef03acc25e29ce1c0b10147085b638e7bd075cfe081db43b53a26 +SIZE (rocky/g/glibc-gconv-extra-2.34-168.el9_6.19.i686.rpm) = 1642987 +SHA256 (rocky/g/glibc-gconv-extra-2.34-168.el9_6.19.x86_64.rpm) = 3e8a0692ee91644568ce89bbbf092ed4ee9512a072a8a627f44730e248f6d587 +SIZE (rocky/g/glibc-gconv-extra-2.34-168.el9_6.19.x86_64.rpm) = 1615301 SHA256 (rocky/g/gmp-6.2.0-13.el9.aarch64.rpm) = 54f5999feb6a26c57616d64cc880dccb5e44723911f52b06a36311e389a568ce SIZE (rocky/g/gmp-6.2.0-13.el9.aarch64.rpm) = 270794 SHA256 (rocky/g/gmp-6.2.0-13.el9.i686.rpm) = 186f9821881081e526d4a8a6e34240e55db8830380bf4d1303e4e1d5d6e9f755 @@ -129,12 +129,12 @@ SHA256 (rocky/k/keyutils-libs-1.6.3-1.el9.i686.rpm) = 1921ffd05b1bd783c199ba0306 SIZE (rocky/k/keyutils-libs-1.6.3-1.el9.i686.rpm) = 31963 SHA256 (rocky/k/keyutils-libs-1.6.3-1.el9.x86_64.rpm) = 347a9d44e0271c1ff6f511fe493e736b3d36fde683360ccc51c852ab91810b16 SIZE (rocky/k/keyutils-libs-1.6.3-1.el9.x86_64.rpm) = 31595 -SHA256 (rocky/k/krb5-libs-1.21.1-4.el9_5.aarch64.rpm) = 9a31da451bc9ac69dc814b716aca6c5e9740d1a02b7dd89e8a42f060aacba0c7 -SIZE (rocky/k/krb5-libs-1.21.1-4.el9_5.aarch64.rpm) = 777976 -SHA256 (rocky/k/krb5-libs-1.21.1-4.el9_5.i686.rpm) = 903eff09563f1391eda7e961c9d8c2754e98cddc3dcf10221260147631cb3c28 -SIZE (rocky/k/krb5-libs-1.21.1-4.el9_5.i686.rpm) = 824464 -SHA256 (rocky/k/krb5-libs-1.21.1-4.el9_5.x86_64.rpm) = 9f46dae9e1ded35472f1071eb87ebfa4790d0e69187235f773404de61785ad6f -SIZE (rocky/k/krb5-libs-1.21.1-4.el9_5.x86_64.rpm) = 774100 +SHA256 (rocky/k/krb5-libs-1.21.1-6.el9.aarch64.rpm) = 1c6205f377fc9cbf0cbbeee71aa38d851e94988d15ded5a393819a0cc7de9e21 +SIZE (rocky/k/krb5-libs-1.21.1-6.el9.aarch64.rpm) = 776066 +SHA256 (rocky/k/krb5-libs-1.21.1-6.el9.i686.rpm) = 4751680ff8b8e5ea728ef0b3609290044e8e2761f069ef9c7fbc458d64ab9d00 +SIZE (rocky/k/krb5-libs-1.21.1-6.el9.i686.rpm) = 822506 +SHA256 (rocky/k/krb5-libs-1.21.1-6.el9.x86_64.rpm) = 143365a2e51654b7c80350b975749d3b61a300ab4718f817b49f9aaa4951982d +SIZE (rocky/k/krb5-libs-1.21.1-6.el9.x86_64.rpm) = 772433 SHA256 (rocky/l/less-590-5.el9.aarch64.rpm) = d80cae3c354ae8417b77f1205c1da5175a79b1663e342b73094d874c9aa41066 SIZE (rocky/l/less-590-5.el9.aarch64.rpm) = 163430 SHA256 (rocky/l/less-590-5.el9.x86_64.rpm) = b6ec3819b307d9a65eb269c8b2737479444267ead009c99ca474db7ad8907052 @@ -151,36 +151,42 @@ SHA256 (rocky/l/libattr-2.5.1-3.el9.i686.rpm) = f0deb20bf7f31dddaf9a85b7acc806c7 SIZE (rocky/l/libattr-2.5.1-3.el9.i686.rpm) = 18745 SHA256 (rocky/l/libattr-2.5.1-3.el9.x86_64.rpm) = 77742a1097d81c384b8c7529e3c049fb7de206b773ad230553be99ba5c9d9fc1 SIZE (rocky/l/libattr-2.5.1-3.el9.x86_64.rpm) = 18347 -SHA256 (rocky/l/libblkid-2.37.4-20.el9.aarch64.rpm) = 8522a13f39ee76a77ff47f4cfd34f8b6e22c7909efb6cd030a59c001df9e94ff -SIZE (rocky/l/libblkid-2.37.4-20.el9.aarch64.rpm) = 108380 -SHA256 (rocky/l/libblkid-2.37.4-20.el9.i686.rpm) = 5767efe0e33bcb56ba00fb37ade069fb1494b4bf1876d9f386ebef6181eb3b5c -SIZE (rocky/l/libblkid-2.37.4-20.el9.i686.rpm) = 120871 -SHA256 (rocky/l/libblkid-2.37.4-20.el9.x86_64.rpm) = 685281417c4346761b44ac727a511a3de222ed8454c01a446b1349890a634f6d -SIZE (rocky/l/libblkid-2.37.4-20.el9.x86_64.rpm) = 108917 +SHA256 (rocky/l/libblkid-2.37.4-21.el9.aarch64.rpm) = 1210764b98d9077fe9ad4f536de8f8b5384b1d066ac9d4c3e8595277964f2697 +SIZE (rocky/l/libblkid-2.37.4-21.el9.aarch64.rpm) = 108359 +SHA256 (rocky/l/libblkid-2.37.4-21.el9.i686.rpm) = e47685f135721ba7453dcda9f4a2764b89bd2e5be3f91d92aa07c7fe4afd4e6b +SIZE (rocky/l/libblkid-2.37.4-21.el9.i686.rpm) = 120461 +SHA256 (rocky/l/libblkid-2.37.4-21.el9.x86_64.rpm) = 6a65c588cbc5546f5bd2701b5716278ae44a05220cd539535a3958b6ea038830 +SIZE (rocky/l/libblkid-2.37.4-21.el9.x86_64.rpm) = 108730 +SHA256 (rocky/l/libbrotli-1.0.9-7.el9_5.aarch64.rpm) = e7a412a4613c6032c93bd217a413916ad87014139991441ac2d2cc4e58ce0213 +SIZE (rocky/l/libbrotli-1.0.9-7.el9_5.aarch64.rpm) = 318461 +SHA256 (rocky/l/libbrotli-1.0.9-7.el9_5.i686.rpm) = 4baea718bd3b48888564bebe2700c7cd13eab6033f08d2ac24cd1581af3af514 +SIZE (rocky/l/libbrotli-1.0.9-7.el9_5.i686.rpm) = 321751 +SHA256 (rocky/l/libbrotli-1.0.9-7.el9_5.x86_64.rpm) = 307cec82f955c39e26ce1c73d5e1ac7bf00d172f85575e7e16b4b73e876fd3c1 +SIZE (rocky/l/libbrotli-1.0.9-7.el9_5.x86_64.rpm) = 319496 SHA256 (rocky/l/libcap-2.48-9.el9_2.aarch64.rpm) = e7b8b5ace872eb354539991f9f6cbd5fbd1fd7fcd230893ef81237c09da27f06 SIZE (rocky/l/libcap-2.48-9.el9_2.aarch64.rpm) = 67186 SHA256 (rocky/l/libcap-2.48-9.el9_2.i686.rpm) = dfb7395d3db508bccc8e6f8e76f74707a5429f98632fd9a11871fb1c607f5ffa SIZE (rocky/l/libcap-2.48-9.el9_2.i686.rpm) = 69926 SHA256 (rocky/l/libcap-2.48-9.el9_2.x86_64.rpm) = f399db0064e09ccf71d9a395454fefb1ca38076f18fac9e08104816bd9324c32 SIZE (rocky/l/libcap-2.48-9.el9_2.x86_64.rpm) = 68237 -SHA256 (rocky/l/libcom_err-1.46.5-5.el9.aarch64.rpm) = 60ef191ff670f7de4658af55cd3f926e323ccbddcb7974b228916cb5dd28fe7b -SIZE (rocky/l/libcom_err-1.46.5-5.el9.aarch64.rpm) = 25574 -SHA256 (rocky/l/libcom_err-1.46.5-5.el9.i686.rpm) = 44f3c65fcc8a82eccc7359b64ea1e26cf27ea18b7248ed2c817d38d5860dffbd -SIZE (rocky/l/libcom_err-1.46.5-5.el9.i686.rpm) = 26404 -SHA256 (rocky/l/libcom_err-1.46.5-5.el9.x86_64.rpm) = f5e5232e19bccd8f9ac5e4972f3b0e85dee8991c842aa7cc8f44d1bd18932388 -SIZE (rocky/l/libcom_err-1.46.5-5.el9.x86_64.rpm) = 25930 +SHA256 (rocky/l/libcom_err-1.46.5-7.el9.aarch64.rpm) = 2dd31415307a05334ae9bc961ad34b17afc23e9b9533a1e0ac5539e6260c44d8 +SIZE (rocky/l/libcom_err-1.46.5-7.el9.aarch64.rpm) = 25418 +SHA256 (rocky/l/libcom_err-1.46.5-7.el9.i686.rpm) = 0f4854ca0c95136a887a846a0ffec291a7a4839fb1fc30c683a28dad7e1d32e5 +SIZE (rocky/l/libcom_err-1.46.5-7.el9.i686.rpm) = 26174 +SHA256 (rocky/l/libcom_err-1.46.5-7.el9.x86_64.rpm) = 4582ab872db9d39aaf4a7f0137c957eeb42a65f620216a3f381b00e8d2265194 +SIZE (rocky/l/libcom_err-1.46.5-7.el9.x86_64.rpm) = 25808 SHA256 (rocky/l/libdatrie-0.2.13-4.el9.aarch64.rpm) = ad561550ee0c35b3ed7c273e937fcac159c894e15500ad30f95dff15db1ecbdf SIZE (rocky/l/libdatrie-0.2.13-4.el9.aarch64.rpm) = 32212 SHA256 (rocky/l/libdatrie-0.2.13-4.el9.i686.rpm) = fd1e5f28c41e4123ee3beb34cf13eecdf68fe8db96017fa617b80bf7593f170d SIZE (rocky/l/libdatrie-0.2.13-4.el9.i686.rpm) = 33322 SHA256 (rocky/l/libdatrie-0.2.13-4.el9.x86_64.rpm) = 820f090a87181c921892fdb5744c53cb935eca5e303d4adbaba0d04ae35a4a61 SIZE (rocky/l/libdatrie-0.2.13-4.el9.x86_64.rpm) = 32491 -SHA256 (rocky/l/libdb-5.3.28-54.el9.aarch64.rpm) = 266bb43149e67399cbcf8247787c1b784a50c420cc57a7b4173a5793b7eefb4b -SIZE (rocky/l/libdb-5.3.28-54.el9.aarch64.rpm) = 724070 -SHA256 (rocky/l/libdb-5.3.28-54.el9.i686.rpm) = cf1032c555c54fcc2afb18820e7bf3539f045612a15833136dd88da43b7dc863 -SIZE (rocky/l/libdb-5.3.28-54.el9.i686.rpm) = 824898 -SHA256 (rocky/l/libdb-5.3.28-54.el9.x86_64.rpm) = d32cf8a7c3f631d5b0bafcdf5fa6bf6c8438ccd5d0466943310ad8deef886f15 -SIZE (rocky/l/libdb-5.3.28-54.el9.x86_64.rpm) = 753408 +SHA256 (rocky/l/libdb-5.3.28-55.el9.aarch64.rpm) = c8afbf7d987ef6ad8cbfebe5394f141f048ee8320f33e6262bc1148e230e7670 +SIZE (rocky/l/libdb-5.3.28-55.el9.aarch64.rpm) = 724197 +SHA256 (rocky/l/libdb-5.3.28-55.el9.i686.rpm) = 66cbe56c6f0b4fcca411712b7d0c6995a8eddb60295180e6bb09cf762c3828f5 +SIZE (rocky/l/libdb-5.3.28-55.el9.i686.rpm) = 822965 +SHA256 (rocky/l/libdb-5.3.28-55.el9.x86_64.rpm) = 4a1b890fbb02c7a84fe0473e086317d2956ef39f32721434ead04efea1f77c4b +SIZE (rocky/l/libdb-5.3.28-55.el9.x86_64.rpm) = 753520 SHA256 (rocky/l/libedit-3.1-38.20210216cvs.el9.aarch64.rpm) = 7f5937f4debf7eaa0f7a92e321d6d35bee089f42c7d7529c1ad4fbd7c270ea4b SIZE (rocky/l/libedit-3.1-38.20210216cvs.el9.aarch64.rpm) = 103897 SHA256 (rocky/l/libedit-3.1-38.20210216cvs.el9.i686.rpm) = 657f0a7d99887b7cde2a241ecfde72973747486ac056a19b27c92c59fc0a3b02 @@ -193,12 +199,12 @@ SHA256 (rocky/l/libevdev-1.11.0-3.el9.i686.rpm) = c301d9e380ad02e5545ddbd703d4fd SIZE (rocky/l/libevdev-1.11.0-3.el9.i686.rpm) = 42952 SHA256 (rocky/l/libevdev-1.11.0-3.el9.x86_64.rpm) = 6e62f64bd004b988017571a11b72d9b177d75368236f17af81b4c479ce8d5e31 SIZE (rocky/l/libevdev-1.11.0-3.el9.x86_64.rpm) = 45846 -SHA256 (rocky/l/libfdisk-2.37.4-20.el9.aarch64.rpm) = 068e888c074721a9b1975d6c3c1d41acabb7e765919208b30dcdaf562778ead1 -SIZE (rocky/l/libfdisk-2.37.4-20.el9.aarch64.rpm) = 151388 -SHA256 (rocky/l/libfdisk-2.37.4-20.el9.i686.rpm) = ef771a53073e75fec2acc3b30f429aec1c3d036c5999fd563edcc58a83819fff -SIZE (rocky/l/libfdisk-2.37.4-20.el9.i686.rpm) = 171716 -SHA256 (rocky/l/libfdisk-2.37.4-20.el9.x86_64.rpm) = 8f2f07dd3beeb80214db6bca60969a64c71b69a9220c7262df8c915033de1a50 -SIZE (rocky/l/libfdisk-2.37.4-20.el9.x86_64.rpm) = 156514 +SHA256 (rocky/l/libfdisk-2.37.4-21.el9.aarch64.rpm) = c51d46e0d1ddb506b92b2f20d466017fc9622f9c5dd69e2d647e33043f6f7670 +SIZE (rocky/l/libfdisk-2.37.4-21.el9.aarch64.rpm) = 151116 +SHA256 (rocky/l/libfdisk-2.37.4-21.el9.i686.rpm) = 9db4abc6a9c128d22fc16410a588e5220063ad333b81a3610b66552f24cb2cd9 +SIZE (rocky/l/libfdisk-2.37.4-21.el9.i686.rpm) = 171546 +SHA256 (rocky/l/libfdisk-2.37.4-21.el9.x86_64.rpm) = a7af319a0426a67bb1cf9c193f88f16fc5663b8d7f57227249557344871c8917 +SIZE (rocky/l/libfdisk-2.37.4-21.el9.x86_64.rpm) = 156379 SHA256 (rocky/l/libffi-3.4.2-8.el9.aarch64.rpm) = 1a6fe133eab781288e5ecef0cdde627d57f7d67efb3ded23ec5d9e5a22fb6ab4 SIZE (rocky/l/libffi-3.4.2-8.el9.aarch64.rpm) = 35443 SHA256 (rocky/l/libffi-3.4.2-8.el9.i686.rpm) = 9e365ba0dc6786a12578c91cdb2013b1336d857f932fff70bfca798f9e5279dc @@ -217,60 +223,84 @@ SHA256 (rocky/l/libgudev-237-1.el9.i686.rpm) = b390949a3c0124579a53b2d986754ae2a SIZE (rocky/l/libgudev-237-1.el9.i686.rpm) = 36535 SHA256 (rocky/l/libgudev-237-1.el9.x86_64.rpm) = d1bfa6c0da6fdb70cf1a6f107042cec28689afd5fe3b1109f955b61bc6cc2c5f SIZE (rocky/l/libgudev-237-1.el9.x86_64.rpm) = 35847 -SHA256 (rocky/l/libmount-2.37.4-20.el9.aarch64.rpm) = f10b35190a67203cae540dc5d0381d26d4ab5623d753511d439917517bb11434 -SIZE (rocky/l/libmount-2.37.4-20.el9.aarch64.rpm) = 134935 -SHA256 (rocky/l/libmount-2.37.4-20.el9.i686.rpm) = 21eddd2c18c7c9d68d8f5f24786db134250f447f4624d7d67224071deec77d94 -SIZE (rocky/l/libmount-2.37.4-20.el9.i686.rpm) = 145048 -SHA256 (rocky/l/libmount-2.37.4-20.el9.x86_64.rpm) = 8ae34772bc519310fbb3eae367bb81ebcc0add25d75155cba8d9af67947d7fb0 -SIZE (rocky/l/libmount-2.37.4-20.el9.x86_64.rpm) = 137687 -SHA256 (rocky/l/libnsl-2.34-125.el9_5.8.aarch64.rpm) = 75d7046c0a82d6c2e925af8e6b82da273e4f9cc51bf932a109ebbdc1afe83a26 -SIZE (rocky/l/libnsl-2.34-125.el9_5.8.aarch64.rpm) = 57614 -SHA256 (rocky/l/libnsl-2.34-125.el9_5.8.i686.rpm) = 1228b53e473128050b7a708a16d72a9dbad5d16986968115ea91ff2549182bef -SIZE (rocky/l/libnsl-2.34-125.el9_5.8.i686.rpm) = 62745 -SHA256 (rocky/l/libnsl-2.34-125.el9_5.8.x86_64.rpm) = f4913ddc988030d92b68a9c7bd8ae2af0c8521870cf931b72e59232c96fe2fef -SIZE (rocky/l/libnsl-2.34-125.el9_5.8.x86_64.rpm) = 58181 +SHA256 (rocky/l/libidn2-2.3.0-7.el9.aarch64.rpm) = 0832f2067447fb0485ba5220919a926694930006f19e098694e5274d56b6aadc +SIZE (rocky/l/libidn2-2.3.0-7.el9.aarch64.rpm) = 98237 +SHA256 (rocky/l/libidn2-2.3.0-7.el9.i686.rpm) = dd02219555652565f3ce99ede5979d0c4676a5ab3cc584f3fdc70d521c177d71 +SIZE (rocky/l/libidn2-2.3.0-7.el9.i686.rpm) = 98675 +SHA256 (rocky/l/libidn2-2.3.0-7.el9.x86_64.rpm) = be32d8ba7ff8cf790c15d89c5ea18747d7fcc0126782a0e80f15901bb9889b31 +SIZE (rocky/l/libidn2-2.3.0-7.el9.x86_64.rpm) = 97676 +SHA256 (rocky/l/libmount-2.37.4-21.el9.aarch64.rpm) = e6152dabc095682cd575c76aa54c3b22ff8f3d9a7bc740106836b40e39d75688 +SIZE (rocky/l/libmount-2.37.4-21.el9.aarch64.rpm) = 134634 +SHA256 (rocky/l/libmount-2.37.4-21.el9.i686.rpm) = 8867477dbc4772e19144e45342eb707410bcf6b4271ebc241f986f0d18b5cb16 +SIZE (rocky/l/libmount-2.37.4-21.el9.i686.rpm) = 144706 +SHA256 (rocky/l/libmount-2.37.4-21.el9.x86_64.rpm) = 13de9f8ae01cdb98b0928b33325613a97dc917d1b1b5adb5d83f11ee05415e80 +SIZE (rocky/l/libmount-2.37.4-21.el9.x86_64.rpm) = 136970 +SHA256 (rocky/l/libnsl-2.34-168.el9_6.19.aarch64.rpm) = 15e5fb181bda91b70af4591523c90264e30ab8967685903a9075e8d3ed8b3895 +SIZE (rocky/l/libnsl-2.34-168.el9_6.19.aarch64.rpm) = 63734 +SHA256 (rocky/l/libnsl-2.34-168.el9_6.19.i686.rpm) = d595fc273ea5a3b1f2b5da203d3c8e54e7d5cc7b67ef7f2ee43ba4773128b033 +SIZE (rocky/l/libnsl-2.34-168.el9_6.19.i686.rpm) = 68936 +SHA256 (rocky/l/libnsl-2.34-168.el9_6.19.x86_64.rpm) = 9071af2a30152346263858ce67bd19dc9a5d5b7710936979bc7eda698826a7f1 +SIZE (rocky/l/libnsl-2.34-168.el9_6.19.x86_64.rpm) = 64403 SHA256 (rocky/l/libproxy-0.4.15-35.el9.aarch64.rpm) = 31daa01dfa6eb8e0ae100cbdc20f0d73320598a934f0eabad830b0060027f2d2 SIZE (rocky/l/libproxy-0.4.15-35.el9.aarch64.rpm) = 71753 SHA256 (rocky/l/libproxy-0.4.15-35.el9.i686.rpm) = 44c7d66545b791a88f1faf63dc6d686ddfaa8154aa45899cd1469dd7aed9f657 SIZE (rocky/l/libproxy-0.4.15-35.el9.i686.rpm) = 79219 SHA256 (rocky/l/libproxy-0.4.15-35.el9.x86_64.rpm) = b5723d56327d929d31efc63d2d746b61a1205269c6dae21d55881bc729a422ec SIZE (rocky/l/libproxy-0.4.15-35.el9.x86_64.rpm) = 74998 -SHA256 (rocky/l/libselinux-3.6-1.el9.aarch64.rpm) = b54cca70a42bdbebe5bd62ae674e9f80ac6e08f4c2b6179b547edc09bd9d4f6c -SIZE (rocky/l/libselinux-3.6-1.el9.aarch64.rpm) = 86800 -SHA256 (rocky/l/libselinux-3.6-1.el9.i686.rpm) = e7e73bf702efd0bc91daad71aa70046d8650ab27b92b07e958ea083a79c511d0 -SIZE (rocky/l/libselinux-3.6-1.el9.i686.rpm) = 93600 -SHA256 (rocky/l/libselinux-3.6-1.el9.x86_64.rpm) = 50d204575b1cbf21e822c65bb9ed42416f6fcaf00e9be9ff5698a84036529ddd -SIZE (rocky/l/libselinux-3.6-1.el9.x86_64.rpm) = 87073 -SHA256 (rocky/l/libsepol-3.6-1.el9.aarch64.rpm) = ec1097b26e8134ab0b7bbe641525b5574720b4e8ffa8156a6f6111b470125c0d -SIZE (rocky/l/libsepol-3.6-1.el9.aarch64.rpm) = 324894 -SHA256 (rocky/l/libsepol-3.6-1.el9.i686.rpm) = e982b8a6e2ed94d01d992b56d5b3c2f6db7288fe93e8b482274cb0fae5203d2f -SIZE (rocky/l/libsepol-3.6-1.el9.i686.rpm) = 351074 -SHA256 (rocky/l/libsepol-3.6-1.el9.x86_64.rpm) = d58084e91e5f6d091b40a9485b52a3099dbcd82c48a9a60520d14a5aad2406fd -SIZE (rocky/l/libsepol-3.6-1.el9.x86_64.rpm) = 336922 +SHA256 (rocky/l/libpsl-0.21.1-5.el9.aarch64.rpm) = 3c7d57a0adafb76ddcf588e41326bcb0b33fd7c6cbf2044450288a289e47ab25 +SIZE (rocky/l/libpsl-0.21.1-5.el9.aarch64.rpm) = 64676 +SHA256 (rocky/l/libpsl-0.21.1-5.el9.i686.rpm) = a8101c1d94803b6b84f818569d122a702771d0eece23bca2f340cb20449d173c +SIZE (rocky/l/libpsl-0.21.1-5.el9.i686.rpm) = 65579 +SHA256 (rocky/l/libpsl-0.21.1-5.el9.x86_64.rpm) = 30553c652451362ebf346a98ff45fa2417dc25a9a644401b4d86d9000c0346a9 +SIZE (rocky/l/libpsl-0.21.1-5.el9.x86_64.rpm) = 64862 +SHA256 (rocky/l/libselinux-3.6-3.el9.aarch64.rpm) = 9703e0531f15c1da12e382ee399c1459e7cec6fed0ec98645a170fa784acac87 +SIZE (rocky/l/libselinux-3.6-3.el9.aarch64.rpm) = 86553 +SHA256 (rocky/l/libselinux-3.6-3.el9.i686.rpm) = 375d13bf313d55627a9e74b0d435f36bf363d9cca130567b47fdcd14a2cf4fa1 +SIZE (rocky/l/libselinux-3.6-3.el9.i686.rpm) = 93243 +SHA256 (rocky/l/libselinux-3.6-3.el9.x86_64.rpm) = 52f36acacd851901745f7729b7bce31ef7e5fa0fa250a0ce653d4e76dce02664 +SIZE (rocky/l/libselinux-3.6-3.el9.x86_64.rpm) = 86789 +SHA256 (rocky/l/libsepol-3.6-2.el9.aarch64.rpm) = be5ad6b4cf9bf814b4672a67af5a8ef985a9a4e7943c6f5e3ec7ea793748d135 +SIZE (rocky/l/libsepol-3.6-2.el9.aarch64.rpm) = 324588 +SHA256 (rocky/l/libsepol-3.6-2.el9.i686.rpm) = cb50331f210c3799163e6d5b1ad1b21c9a4c2f479c045ded2d597a388ecd4e5a +SIZE (rocky/l/libsepol-3.6-2.el9.i686.rpm) = 350700 +SHA256 (rocky/l/libsepol-3.6-2.el9.x86_64.rpm) = e5da14a9afe825cced510db984c6bd767d7b1bb6aea1f6c3e2c4456c03dc70ee +SIZE (rocky/l/libsepol-3.6-2.el9.x86_64.rpm) = 336553 SHA256 (rocky/l/libsigsegv-2.13-4.el9.aarch64.rpm) = 1935c944375f3bf40913bbda2cd87bbaf25a475be51c1662c24f54eb04da584b SIZE (rocky/l/libsigsegv-2.13-4.el9.aarch64.rpm) = 27124 SHA256 (rocky/l/libsigsegv-2.13-4.el9.i686.rpm) = 312f6e760effbf2019985c86212d9ee73051b524918281ff7b0f229f6736da6a SIZE (rocky/l/libsigsegv-2.13-4.el9.i686.rpm) = 27681 SHA256 (rocky/l/libsigsegv-2.13-4.el9.x86_64.rpm) = a80701bd3f67994493b1a14e043d9212032c86fd24374c309cf2b7006900f4da SIZE (rocky/l/libsigsegv-2.13-4.el9.x86_64.rpm) = 27135 -SHA256 (rocky/l/libsmartcols-2.37.4-20.el9.aarch64.rpm) = 540dd30afe7d5ea12916fd4ff1d771673a7cdd103e144014560109b4d027d869 -SIZE (rocky/l/libsmartcols-2.37.4-20.el9.aarch64.rpm) = 62175 -SHA256 (rocky/l/libsmartcols-2.37.4-20.el9.i686.rpm) = 4924bb362ffa06e682d46fafd453bf9bd0965b54003903ffb8c6f9eb399ad756 -SIZE (rocky/l/libsmartcols-2.37.4-20.el9.i686.rpm) = 65437 -SHA256 (rocky/l/libsmartcols-2.37.4-20.el9.x86_64.rpm) = bda89ca67d387cc6aa39c6808ad7b5f9b6ccc9d02fb01617182a810633074653 -SIZE (rocky/l/libsmartcols-2.37.4-20.el9.x86_64.rpm) = 63334 +SHA256 (rocky/l/libsmartcols-2.37.4-21.el9.aarch64.rpm) = 9a61634f7428f5b84c5c1281d8c76aeecb4cd94911a0a3571688ab03db376a03 +SIZE (rocky/l/libsmartcols-2.37.4-21.el9.aarch64.rpm) = 62348 +SHA256 (rocky/l/libsmartcols-2.37.4-21.el9.i686.rpm) = eac9a17b0a9982116d5c1e30732fb582b9a006625dc8f364fb07164c49ceb1ae +SIZE (rocky/l/libsmartcols-2.37.4-21.el9.i686.rpm) = 65152 +SHA256 (rocky/l/libsmartcols-2.37.4-21.el9.x86_64.rpm) = e3cd7c91d1e96f53440edfc60041f04a028c0ab3216e40213ea5868451a9c1bc +SIZE (rocky/l/libsmartcols-2.37.4-21.el9.x86_64.rpm) = 63120 +SHA256 (rocky/l/libsoup-2.72.0-10.el9_6.2.aarch64.rpm) = 8a3ee9fbab89e01674a1cc72f6287ed793c9db99a9cdabe134c8d040b56569e3 +SIZE (rocky/l/libsoup-2.72.0-10.el9_6.2.aarch64.rpm) = 390282 +SHA256 (rocky/l/libsoup-2.72.0-10.el9_6.2.i686.rpm) = c49556dc9c67ece4fe4142815068ddcbfabe175cb0e015a5482a49199e0b2f57 +SIZE (rocky/l/libsoup-2.72.0-10.el9_6.2.i686.rpm) = 418375 +SHA256 (rocky/l/libsoup-2.72.0-10.el9_6.2.x86_64.rpm) = 5a18681d01127ba2c0e251fbc4dcf4eb62685601a8aae20e3930d7137510af10 +SIZE (rocky/l/libsoup-2.72.0-10.el9_6.2.x86_64.rpm) = 397144 SHA256 (rocky/l/libstdc++-11.5.0-5.el9_5.aarch64.rpm) = dda158bff05238aeb6dd2560603ef21f41cc252ac0ba404d4ec444c3f13c4c0e SIZE (rocky/l/libstdc++-11.5.0-5.el9_5.aarch64.rpm) = 711196 SHA256 (rocky/l/libstdc++-11.5.0-5.el9_5.i686.rpm) = 755ff10fecb4f2c0bf09a620a6d3af84d041e57e92c6766102589a48fd31ac95 SIZE (rocky/l/libstdc++-11.5.0-5.el9_5.i686.rpm) = 803189 SHA256 (rocky/l/libstdc++-11.5.0-5.el9_5.x86_64.rpm) = c2396f89268ca7d21f0571bfd38ad33657b4a845e446d8662d41c432f1c194de SIZE (rocky/l/libstdc++-11.5.0-5.el9_5.x86_64.rpm) = 748678 -SHA256 (rocky/l/libuuid-2.37.4-20.el9.aarch64.rpm) = 0180e850a12b12877048a1dc1bcecc58e48f439fba4ca09bbf394b3f4c60a21d -SIZE (rocky/l/libuuid-2.37.4-20.el9.aarch64.rpm) = 27238 -SHA256 (rocky/l/libuuid-2.37.4-20.el9.i686.rpm) = b027fc81606102fc8accee466dcc2e454332d40852645710d853a1495f06baee -SIZE (rocky/l/libuuid-2.37.4-20.el9.i686.rpm) = 28328 -SHA256 (rocky/l/libuuid-2.37.4-20.el9.x86_64.rpm) = 24a4082728d22bfec44b9c77f060ab8b33ced51b8831881962ca8fa93c12db43 -SIZE (rocky/l/libuuid-2.37.4-20.el9.x86_64.rpm) = 27425 +SHA256 (rocky/l/libunistring-0.9.10-15.el9.aarch64.rpm) = 640263402602c1f5a77a2ecde6b73cfd71e6bb574619f6ead58fdf61c0f4f63e +SIZE (rocky/l/libunistring-0.9.10-15.el9.aarch64.rpm) = 498368 +SHA256 (rocky/l/libunistring-0.9.10-15.el9.i686.rpm) = bf11f42137900620f5c6f2464d675752688675ff649143147bd771ed581c99e3 +SIZE (rocky/l/libunistring-0.9.10-15.el9.i686.rpm) = 510707 +SHA256 (rocky/l/libunistring-0.9.10-15.el9.x86_64.rpm) = 7e8b90a282ec310de6766619056296bdf666f3040f22cff211cd52710b39ece5 +SIZE (rocky/l/libunistring-0.9.10-15.el9.x86_64.rpm) = 506614 +SHA256 (rocky/l/libuuid-2.37.4-21.el9.aarch64.rpm) = fa438440f035b3e2c87d45c0ef4485f7c91458f4ed0f73b6fcc0f18533b406c5 +SIZE (rocky/l/libuuid-2.37.4-21.el9.aarch64.rpm) = 27157 +SHA256 (rocky/l/libuuid-2.37.4-21.el9.i686.rpm) = b0cfbc18ae67f2b4cc8605229c58fdd6dcbfa5c230e1991da3c1af9669029831 +SIZE (rocky/l/libuuid-2.37.4-21.el9.i686.rpm) = 28240 +SHA256 (rocky/l/libuuid-2.37.4-21.el9.x86_64.rpm) = 97c132661651a81f8a0abd41ce11a88b25c773ef2633be961717dedf2e65f07a +SIZE (rocky/l/libuuid-2.37.4-21.el9.x86_64.rpm) = 27457 SHA256 (rocky/l/libverto-0.3.2-3.el9.aarch64.rpm) = d12d7f526c5ef9957f6e1d9be4b2b77ff892040e08112f0a8804677e3c668b64 SIZE (rocky/l/libverto-0.3.2-3.el9.aarch64.rpm) = 20851 SHA256 (rocky/l/libverto-0.3.2-3.el9.i686.rpm) = aaa5c950e270962b5d5c1f59225dc96e205a58b4985430589adc34c753216b74 @@ -283,12 +313,12 @@ SHA256 (rocky/l/libxcrypt-4.4.18-3.el9.i686.rpm) = a9df06cdddf956ae3de2052767bc8 SIZE (rocky/l/libxcrypt-4.4.18-3.el9.i686.rpm) = 124057 SHA256 (rocky/l/libxcrypt-4.4.18-3.el9.x86_64.rpm) = e3c178ed2e04ac25699d5af612fad51694a23f5d544b72cab2f65d35b8db5f28 SIZE (rocky/l/libxcrypt-4.4.18-3.el9.x86_64.rpm) = 117617 -SHA256 (rocky/l/libzstd-1.5.1-2.el9.aarch64.rpm) = b997fa077e854b7541c044dd2c213e9ecf18b67176a9e7f70dba11dc53f48d5e -SIZE (rocky/l/libzstd-1.5.1-2.el9.aarch64.rpm) = 314410 -SHA256 (rocky/l/libzstd-1.5.1-2.el9.i686.rpm) = be7a85f4e09963396cdc297cfaea7d0ee3551b733d5841ce8c5083f465afe8f5 -SIZE (rocky/l/libzstd-1.5.1-2.el9.i686.rpm) = 340877 -SHA256 (rocky/l/libzstd-1.5.1-2.el9.x86_64.rpm) = 517b3080de2e0891cc346ba6b1548ef438b95dbede0e6e7a6deae89fc241f5bc -SIZE (rocky/l/libzstd-1.5.1-2.el9.x86_64.rpm) = 337469 +SHA256 (rocky/l/libzstd-1.5.5-1.el9.aarch64.rpm) = 2bf515e49598e6226b47c5c1cc24e51f9550b15cef36380b283ad3959dbd0fe8 +SIZE (rocky/l/libzstd-1.5.5-1.el9.aarch64.rpm) = 279988 +SHA256 (rocky/l/libzstd-1.5.5-1.el9.i686.rpm) = 9bf54e27e5a0ba9ca43e807bed46819896168f887ca1cd83e66af87f160cbebb +SIZE (rocky/l/libzstd-1.5.5-1.el9.i686.rpm) = 289392 +SHA256 (rocky/l/libzstd-1.5.5-1.el9.x86_64.rpm) = c5c8b675cfad29fee013a84a2f70bcb958f400b654ff63455bb80597daae86ab +SIZE (rocky/l/libzstd-1.5.5-1.el9.x86_64.rpm) = 301084 SHA256 (rocky/m/mpfr-4.1.0-7.el9.aarch64.rpm) = 41ce16a26c839c36cd84a836361ecd3ca4bc966bddc945af8cb70886331511ee SIZE (rocky/m/mpfr-4.1.0-7.el9.aarch64.rpm) = 244002 SHA256 (rocky/m/mpfr-4.1.0-7.el9.i686.rpm) = b9352d80d67ac8b610269108a18bb0052ffec69b76ed4b318ebee58f4772f114 @@ -385,14 +415,24 @@ SHA256 (rocky/s/slang-2.3.2-11.el9.i686.rpm) = 012839622f868a21a6e9340636e10068b SIZE (rocky/s/slang-2.3.2-11.el9.i686.rpm) = 406583 SHA256 (rocky/s/slang-2.3.2-11.el9.x86_64.rpm) = ce9de0b6765d6bc5a13dc0d70649c60f99b5566b8b779bc9d715170375192947 SIZE (rocky/s/slang-2.3.2-11.el9.x86_64.rpm) = 382399 -SHA256 (rocky/u/util-linux-2.37.4-20.el9.aarch64.rpm) = 19aed3883a7cf679e803c4ce1b59cdde339e756f4b9e431bb4b6f966a4b2aef1 -SIZE (rocky/u/util-linux-2.37.4-20.el9.aarch64.rpm) = 2294383 -SHA256 (rocky/u/util-linux-2.37.4-20.el9.x86_64.rpm) = f9be4cbe6cb6cbda39ef5d471cd7f4aed50070927ff0259d092ad34d46cc8196 -SIZE (rocky/u/util-linux-2.37.4-20.el9.x86_64.rpm) = 2296252 -SHA256 (rocky/u/util-linux-core-2.37.4-20.el9.aarch64.rpm) = 5707b7c504f04a85ccf95f5f2ac329398dc480356ae7dc5e3b7bcb7559af6479 -SIZE (rocky/u/util-linux-core-2.37.4-20.el9.aarch64.rpm) = 445975 -SHA256 (rocky/u/util-linux-core-2.37.4-20.el9.x86_64.rpm) = f9a570f7927d3371d48b2207dfb2aec3dbe15862b5846e39fadd0f568d6778b9 -SIZE (rocky/u/util-linux-core-2.37.4-20.el9.x86_64.rpm) = 447799 +SHA256 (rocky/s/sqlite-3.34.1-7.el9_3.aarch64.rpm) = c28b24e8614c96b50bc91de6c54a7b931dcc842759d7864328287d8cfbfe5bf2 +SIZE (rocky/s/sqlite-3.34.1-7.el9_3.aarch64.rpm) = 753848 +SHA256 (rocky/s/sqlite-3.34.1-7.el9_3.x86_64.rpm) = 3db7e0a7937231a5b23a8537bec0ee58ab03e16dad01564ccfc7d0b844fcfc39 +SIZE (rocky/s/sqlite-3.34.1-7.el9_3.x86_64.rpm) = 764919 +SHA256 (rocky/s/sqlite-libs-3.34.1-7.el9_3.aarch64.rpm) = 2cb657f0cbcac497228fec8d29621f7e093af3a0b59a7d78703eb59032fb40a8 +SIZE (rocky/s/sqlite-libs-3.34.1-7.el9_3.aarch64.rpm) = 628618 +SHA256 (rocky/s/sqlite-libs-3.34.1-7.el9_3.i686.rpm) = 5003ec7b55f0d6e7ef97f157a012f004fa87a99f41a1f134995a0522b967fcb4 +SIZE (rocky/s/sqlite-libs-3.34.1-7.el9_3.i686.rpm) = 678995 +SHA256 (rocky/s/sqlite-libs-3.34.1-7.el9_3.x86_64.rpm) = 9e9b58febeff10765c104ecebc8af189507ecd6c2a600f9b0d9207394117a063 +SIZE (rocky/s/sqlite-libs-3.34.1-7.el9_3.x86_64.rpm) = 633300 +SHA256 (rocky/u/util-linux-2.37.4-21.el9.aarch64.rpm) = 6fb40a221bb130387888bc15116b7ff68e1ce87c4ed4458e1e53757aedcda2c8 +SIZE (rocky/u/util-linux-2.37.4-21.el9.aarch64.rpm) = 2291649 +SHA256 (rocky/u/util-linux-2.37.4-21.el9.x86_64.rpm) = d91647847d0bf984ca668a4464d876fef0e40805d6d73864ad7c3a0b3aa6fdee +SIZE (rocky/u/util-linux-2.37.4-21.el9.x86_64.rpm) = 2279426 +SHA256 (rocky/u/util-linux-core-2.37.4-21.el9.aarch64.rpm) = d4ba6df41a32aff02ee942cb952cea3fe7f5eb58b6485baaffa3e4fafbd58df0 +SIZE (rocky/u/util-linux-core-2.37.4-21.el9.aarch64.rpm) = 440263 +SHA256 (rocky/u/util-linux-core-2.37.4-21.el9.x86_64.rpm) = 98b481d78be2a3e3c4d604c0e3913f34d3d73a8a567efd991ef6df754337f2c2 +SIZE (rocky/u/util-linux-core-2.37.4-21.el9.x86_64.rpm) = 441105 SHA256 (rocky/w/which-2.21-29.el9.aarch64.rpm) = e9351855af75aac7fb5c53173f262e4f87f400d7a96d48ec100a8d35269a1367 SIZE (rocky/w/which-2.21-29.el9.aarch64.rpm) = 40717 SHA256 (rocky/w/which-2.21-29.el9.x86_64.rpm) = c54b2c55264430eee2786fad79bd26c7a7c62204b1f7b568e5f097d850db9688 @@ -419,18 +459,18 @@ SHA256 (rocky/b/bash-5.1.8-9.el9.src.rpm) = 2feaf22c87e32f674c8ad7cb16ea260e9519 SIZE (rocky/b/bash-5.1.8-9.el9.src.rpm) = 10502704 SHA256 (rocky/b/bzip2-1.0.8-10.el9_5.src.rpm) = 0a5da1ab041a701e6432aac3062d0c26d02f2624d860ff584f1d380f4c91e241 SIZE (rocky/b/bzip2-1.0.8-10.el9_5.src.rpm) = 821572 -SHA256 (rocky/c/coreutils-8.32-36.el9.src.rpm) = a40366df7fef778d67a90631a0a807977a2ed6f3d15bd97c0fc9c8ba3f2209fd -SIZE (rocky/c/coreutils-8.32-36.el9.src.rpm) = 5677028 +SHA256 (rocky/c/coreutils-8.32-39.el9.src.rpm) = 8cd352cceae8dd5ff9483b5f2de1e61f6be0aad45a10f2187fad1035eaed0690 +SIZE (rocky/c/coreutils-8.32-39.el9.src.rpm) = 5680833 SHA256 (rocky/d/diffutils-3.7-12.el9.src.rpm) = cdb9fa5192884d5bab617927a54aa83bd39d4f67963fa73e609d4e2897c37dc2 SIZE (rocky/d/diffutils-3.7-12.el9.src.rpm) = 1474771 -SHA256 (rocky/e/e2fsprogs-1.46.5-5.el9.src.rpm) = 5b67eb4089d3463aad8b0045fe7774705f33cdba398452553692bbca22ce36e8 -SIZE (rocky/e/e2fsprogs-1.46.5-5.el9.src.rpm) = 7413550 +SHA256 (rocky/e/e2fsprogs-1.46.5-7.el9.src.rpm) = fb02dc1e5c772de3a3d7e938392fa5512f18d5993927c98580ecff320ede7796 +SIZE (rocky/e/e2fsprogs-1.46.5-7.el9.src.rpm) = 7414416 SHA256 (rocky/f/filesystem-3.16-5.el9.src.rpm) = 09f78e040d8e6ff9d5218942bf7140de7708b4ad53c128aabfebb7cc7904bf18 SIZE (rocky/f/filesystem-3.16-5.el9.src.rpm) = 18475 SHA256 (rocky/f/findutils-4.8.0-7.el9.src.rpm) = bcc1a98f56e7ba7bd3e0e52f99511d12e78decf0af78cbd29998556cb068b382 SIZE (rocky/f/findutils-4.8.0-7.el9.src.rpm) = 2007589 -SHA256 (rocky/f/fuse-2.9.9-16.el9.src.rpm) = 5c9d7decbbffc641722673ec64043e2e4d4e646b31458ef7695840607c249ca8 -SIZE (rocky/f/fuse-2.9.9-16.el9.src.rpm) = 1829633 +SHA256 (rocky/f/fuse-2.9.9-17.el9.src.rpm) = 33c3b76362bcc4630b7a415fde6951927d2c458947fe25c544e7ae8471fd294a +SIZE (rocky/f/fuse-2.9.9-17.el9.src.rpm) = 1829749 SHA256 (rocky/g/gawk-5.1.0-6.el9.src.rpm) = 2dc77bb16a6be20f4474328581a740a419387124ff2cfb1b8c2b2809469cb9ea SIZE (rocky/g/gawk-5.1.0-6.el9.src.rpm) = 3188594 SHA256 (rocky/g/gcc-11.5.0-5.el9_5.src.rpm) = 8656bacb48e097fec2c34a35460ff0338c021ac4b1b0cb3849e47f4256692095 @@ -441,10 +481,10 @@ SHA256 (rocky/g/geocode-glib-3.26.2-5.el9.src.rpm) = cd4902dafb8f4479356f17d53e4 SIZE (rocky/g/geocode-glib-3.26.2-5.el9.src.rpm) = 83267 SHA256 (rocky/g/glib-networking-2.68.3-3.el9.src.rpm) = aa6bb6cb4406d2b1aa6d75611cc2f90eaba5f556596e79d046c42f26a9e0278d SIZE (rocky/g/glib-networking-2.68.3-3.el9.src.rpm) = 254741 -SHA256 (rocky/g/glib2-2.68.4-14.el9_4.1.src.rpm) = 4137a8f97ec2b906dabc48b93e12d3c5d916711087cbce82dd2d233016c2ddfc -SIZE (rocky/g/glib2-2.68.4-14.el9_4.1.src.rpm) = 5068111 -SHA256 (rocky/g/glibc-2.34-125.el9_5.8.src.rpm) = 2a0ea9e22af53f2c9f5f9819b000f970206e8b2242132ae6165f1ecd3eb3c2ea -SIZE (rocky/g/glibc-2.34-125.el9_5.8.src.rpm) = 18631240 +SHA256 (rocky/g/glib2-2.68.4-16.el9.src.rpm) = 777801aa08ed9a92a1e8d0114394a7fabbcf44937344d0a4751752c72594125e +SIZE (rocky/g/glib2-2.68.4-16.el9.src.rpm) = 5069608 +SHA256 (rocky/g/glibc-2.34-168.el9_6.19.src.rpm) = 9a602a4f0a3d3c5d28df7a746421b29d5b5077ab1f971562eaa023a303b1b0ce +SIZE (rocky/g/glibc-2.34-168.el9_6.19.src.rpm) = 19642716 SHA256 (rocky/g/gmp-6.2.0-13.el9.src.rpm) = 8297b96da5460fd78d81e38c3ac1559a35eb51bea3c3d398efaacd62868d20d4 SIZE (rocky/g/gmp-6.2.0-13.el9.src.rpm) = 2500190 SHA256 (rocky/g/grep-3.6-5.el9.src.rpm) = d7e0368575da276796d79537cb4897092988285541a2ede0b5688ba42215f34b @@ -453,16 +493,16 @@ SHA256 (rocky/j/json-glib-1.6.6-1.el9.src.rpm) = ba95317ff8dad227b304364ca50ec85 SIZE (rocky/j/json-glib-1.6.6-1.el9.src.rpm) = 1317772 SHA256 (rocky/k/keyutils-1.6.3-1.el9.src.rpm) = 49c8af3cf9a7164242d8d457dc17d57eaaf97af07859d584b091e9e39f0bede7 SIZE (rocky/k/keyutils-1.6.3-1.el9.src.rpm) = 149203 -SHA256 (rocky/k/krb5-1.21.1-4.el9_5.src.rpm) = 3fb5c4f03ccf4dc8c9e85c41a45aa6f7f419b7bb369f0de2cfcd6f83438164ac -SIZE (rocky/k/krb5-1.21.1-4.el9_5.src.rpm) = 8835785 +SHA256 (rocky/k/krb5-1.21.1-6.el9.src.rpm) = 170406a8b6d2f3becf1afe4bcea0e08c4f44adcb3ac470037266cdb36b0b41d2 +SIZE (rocky/k/krb5-1.21.1-6.el9.src.rpm) = 8916347 SHA256 (rocky/l/less-590-5.el9.src.rpm) = 9354552d15d43d789de3b4f9561a5ee464d75f9309a2092218d546ad1b5ce9f2 SIZE (rocky/l/less-590-5.el9.src.rpm) = 380068 SHA256 (rocky/l/libcap-2.48-9.el9_2.src.rpm) = 54f35d6b547033d86b9fed8247c80306fffbb3c316a286586ab37bee660d275c SIZE (rocky/l/libcap-2.48-9.el9_2.src.rpm) = 198929 SHA256 (rocky/l/libdatrie-0.2.13-4.el9.src.rpm) = ef54036ffe2f890f13b6208cc2b5531583d69d492688ecc03e8dee3d62b07b1c SIZE (rocky/l/libdatrie-0.2.13-4.el9.src.rpm) = 324214 -SHA256 (rocky/l/libdb-5.3.28-54.el9.src.rpm) = 497a3a3a10a19b2bb39eb5a955710dfebe33694a4869b85032bd69ff4e2af4ff -SIZE (rocky/l/libdb-5.3.28-54.el9.src.rpm) = 35282165 +SHA256 (rocky/l/libdb-5.3.28-55.el9.src.rpm) = 6633b628cc424c5ddd513687ca8b85228c01d27df60543bca7e1442f59d38ddc +SIZE (rocky/l/libdb-5.3.28-55.el9.src.rpm) = 35282456 SHA256 (rocky/l/libedit-3.1-38.20210216cvs.el9.src.rpm) = 865cc64b0049617e1aa2e784520cc3f7c4d68813aefc98dffd71d3353f9e37cd SIZE (rocky/l/libedit-3.1-38.20210216cvs.el9.src.rpm) = 529753 SHA256 (rocky/l/libevdev-1.11.0-3.el9.src.rpm) = 2edb9205f23b2659b10d2710efc5512a5f0681bfc337fbfb75bd888131be46bb @@ -473,12 +513,14 @@ SHA256 (rocky/l/libgudev-237-1.el9.src.rpm) = 2904abffd7583e387e6233cdef9dd9224a SIZE (rocky/l/libgudev-237-1.el9.src.rpm) = 38802 SHA256 (rocky/l/libproxy-0.4.15-35.el9.src.rpm) = 9ce7f7bf42973bea5fd91e556e554a3ad3b76f63a301b1a280d4af6d45284cd2 SIZE (rocky/l/libproxy-0.4.15-35.el9.src.rpm) = 120129 -SHA256 (rocky/l/libselinux-3.6-1.el9.src.rpm) = 2db2d5d2ad87a9b28eae6cb7c5dfab2b965a2f79d3486ac82aba68413b442071 -SIZE (rocky/l/libselinux-3.6-1.el9.src.rpm) = 265639 -SHA256 (rocky/l/libsepol-3.6-1.el9.src.rpm) = ae509bd810045681bf3c603ba0f70096809833a3127fe21218840ebaf5e469b5 -SIZE (rocky/l/libsepol-3.6-1.el9.src.rpm) = 534494 +SHA256 (rocky/l/libselinux-3.6-3.el9.src.rpm) = 7c4027c9bbdb54dd1e119a4d0c0bd82de59b1c019ea79cba6fb2e4e278efce74 +SIZE (rocky/l/libselinux-3.6-3.el9.src.rpm) = 267707 +SHA256 (rocky/l/libsepol-3.6-2.el9.src.rpm) = 918a8132aa3ee7317217e6bf50939f9fb7e00248225c12ac600260be41ba1626 +SIZE (rocky/l/libsepol-3.6-2.el9.src.rpm) = 535547 SHA256 (rocky/l/libsigsegv-2.13-4.el9.src.rpm) = 36dc113c8837b27c3c12b021e05786b69c2014519ed4c9f5354436cd80e8b1a4 SIZE (rocky/l/libsigsegv-2.13-4.el9.src.rpm) = 471565 +SHA256 (rocky/l/libsoup-2.72.0-10.el9_6.2.src.rpm) = 4b3b526a52cdf2dbaaff0e8222822294a3922db1981cba8e0a3e230dbf284a4a +SIZE (rocky/l/libsoup-2.72.0-10.el9_6.2.src.rpm) = 1513675 SHA256 (rocky/l/libverto-0.3.2-3.el9.src.rpm) = 08f0b27aaf3b288e10ab3c1068ee09f3f2afe036879787d3f66b871ef161cb33 SIZE (rocky/l/libverto-0.3.2-3.el9.src.rpm) = 394523 SHA256 (rocky/l/libxcrypt-4.4.18-3.el9.src.rpm) = dba21a9a96b6532e452b45190b9ba38b56c2a1fbaecae037505c5315de014b3d @@ -511,13 +553,13 @@ SHA256 (rocky/s/slang-2.3.2-11.el9.src.rpm) = 09b66b87664e1975912a3ccf0dc045ea08 SIZE (rocky/s/slang-2.3.2-11.el9.src.rpm) = 1592900 SHA256 (rocky/t/texinfo-6.7-15.el9.src.rpm) = beb821fc1b42f83852ed93eb8563be8f848a8d30a2eca2a1da7761b5de745e6a SIZE (rocky/t/texinfo-6.7-15.el9.src.rpm) = 4364617 -SHA256 (rocky/u/util-linux-2.37.4-20.el9.src.rpm) = 94fc4dc67a4ad2724041d92d4b8418c3c71fd5d497d6bf8f4511c3c2dab43af6 -SIZE (rocky/u/util-linux-2.37.4-20.el9.src.rpm) = 6256967 +SHA256 (rocky/u/util-linux-2.37.4-21.el9.src.rpm) = f629469f0eb787619c3fd1bb156910d55cdd0d5ef0004ce719cfc5440cd2f28a +SIZE (rocky/u/util-linux-2.37.4-21.el9.src.rpm) = 6258692 SHA256 (rocky/w/which-2.21-29.el9.src.rpm) = 2417f4282c349795befae1c8cbc357906b47fd1a9ea5eeea5f92c69430c084d5 SIZE (rocky/w/which-2.21-29.el9.src.rpm) = 162444 SHA256 (rocky/x/xz-5.2.5-8.el9_0.src.rpm) = b7cef2fb719b09209740b5be7fcd6e766b069e9a5177a51bd74894e3fe5959b6 SIZE (rocky/x/xz-5.2.5-8.el9_0.src.rpm) = 1165795 SHA256 (rocky/z/zlib-1.2.11-40.el9.src.rpm) = 0902a850988d0051410218305303ffb76c090a2606113078c73a0c1f73adee7d SIZE (rocky/z/zlib-1.2.11-40.el9.src.rpm) = 554604 -SHA256 (rocky/z/zstd-1.5.1-2.el9.src.rpm) = ef2be564d3bfe67c70420f5fb7a78741dea2d3ba1c2a400088b841420a18eb79 -SIZE (rocky/z/zstd-1.5.1-2.el9.src.rpm) = 1945682 +SHA256 (rocky/z/zstd-1.5.5-1.el9.src.rpm) = 24459f352126ff5c32fab8a50e49473378966d22b11918edde04be3235574575 +SIZE (rocky/z/zstd-1.5.5-1.el9.src.rpm) = 2376247 diff --git a/emulators/linux_base-rl9/pkg-plist.aarch64 b/emulators/linux_base-rl9/pkg-plist.aarch64 index 543159638632..2a1b8860da03 100644 --- a/emulators/linux_base-rl9/pkg-plist.aarch64 +++ b/emulators/linux_base-rl9/pkg-plist.aarch64 @@ -240,6 +240,7 @@ usr/bin/sort usr/bin/sotruss usr/bin/split usr/bin/sprof +usr/bin/sqlite3 usr/bin/stat usr/bin/stdbuf usr/bin/stty @@ -291,681 +292,6 @@ usr/bin/write usr/bin/xargs usr/bin/yes usr/bin/zdump -usr/lib/.build-id/00/28e554acd9c16064b12195dcc8dffd7caea925 -usr/lib/.build-id/00/8c49e4fa52d5c6b4421efe93a2e0a97b34953f -usr/lib/.build-id/00/e9e02ed1f5eceff9fd22ce6b60614cff4923ac -usr/lib/.build-id/01/583f6240dd9b8816b13a961865f5300765f96f -usr/lib/.build-id/01/a03e4c212790df1b5b8536a369fbce672ea0ba -usr/lib/.build-id/01/ccf7f8b258b4d32de576f1ec45d006aec2397c -usr/lib/.build-id/02/7d2af4f8d48eb0d6f76086d9a9aa20cc32866e -usr/lib/.build-id/02/ec43c4270173dfaaa729bfb411c39f6c05e689 -usr/lib/.build-id/02/ec509c1887bed47f214291315b934ebd5331ee -usr/lib/.build-id/03/3d7014e704a1754ada5b4b7251f51288f24deb -usr/lib/.build-id/03/3d7014e704a1754ada5b4b7251f51288f24deb.1 -usr/lib/.build-id/03/3d7014e704a1754ada5b4b7251f51288f24deb.2 -usr/lib/.build-id/03/3d7014e704a1754ada5b4b7251f51288f24deb.3 -usr/lib/.build-id/03/73ec6d70882a8d6be0de64027b6afac8e5ff7f -usr/lib/.build-id/03/860dc639b33f7b611df9436e75b7ed9d282cac -usr/lib/.build-id/03/e0dec25a905d88b1a66e3f4888bdf3e127e458 -usr/lib/.build-id/04/00eb89b7a2c633b6826a1725eeb542a342e9e7 -usr/lib/.build-id/04/25c5c3f3209030214db909f391036b77dc216f -usr/lib/.build-id/04/4137595229c7c14f25a6e0fc15c2730048bcde -usr/lib/.build-id/04/e90816c511b49f014942b11701f2b033252c7d -usr/lib/.build-id/04/efefdf2cde1cbc93e7a06a27a0df1a01c5e549 -usr/lib/.build-id/05/1e2c62f858d0fc2768a432bce6a6ae314c6469 -usr/lib/.build-id/05/23a385c1cc29e8666e6b76d72c1e65faedeff9 -usr/lib/.build-id/05/8cee041af1ac78582d809da84fac235b3e33a4 -usr/lib/.build-id/05/cd47cd3f1b85fe2a3180d44149f3ec1854cf01 -usr/lib/.build-id/05/d06e8936fc01653c07ddd2aff996f6c3342dd9 -usr/lib/.build-id/07/273c74672ec5f8cb236410988c012256a10c36 -usr/lib/.build-id/07/2a1fabdb5b468d0c63c216f25a99f6e6126d08 -usr/lib/.build-id/07/b4d247838028f97395772b1123f2adb888ea04 -usr/lib/.build-id/08/1ddb412a3d7fe0c8707a0c77bf267f8c2e6be0 -usr/lib/.build-id/08/67c8958c0d2301cd56a6684cd127a3a6c7ca7f -usr/lib/.build-id/08/a3257453f24caa1385d01e55529dd9d37bde97 -usr/lib/.build-id/08/ece9705554a20668769989c03aefda757c9e4b -usr/lib/.build-id/09/3fb5505d8463d4b548b94427840235abdecd66 -usr/lib/.build-id/09/7bb2ce9b724a4aa558d3b5d74605bfec11941e -usr/lib/.build-id/09/7c38b6959e1ed0c991800e3760ed23f7786e5b -usr/lib/.build-id/09/91197b6880e2d437050c6ac13c2e9478dbbe94 -usr/lib/.build-id/0a/012043c71c0375c69b6b59b18cc1190ddeb5fe -usr/lib/.build-id/0a/b9b26d6947f6579c584c7d7a86d0d5c8871f4b -usr/lib/.build-id/0a/e5f47d3779a0034fb6f223b88e31c61d97d987 -usr/lib/.build-id/0c/5d8cefb95ac8ba99d3c8ffcece49a9990639f1 -usr/lib/.build-id/0d/2ecf014d0a4a7e716086a684b84b25c8d7a1af -usr/lib/.build-id/0d/40b80f1b4c81c1a48cf26963b7b2a2dfb6428a -usr/lib/.build-id/0d/7052cc8bf4b5c8eb0d08d69096ac19e5305aab -usr/lib/.build-id/0d/83f71b7e625aec20b43e2b8af1a9c2eebbfa4d -usr/lib/.build-id/0d/8cf7b47310a145132cdf078c8c728b6a8f9528 -usr/lib/.build-id/0e/316d97e94a6db78db9eb7307fd42be3dd4a146 -usr/lib/.build-id/0e/5f65272031391f298cb5c3b6b7d1dee2994163 -usr/lib/.build-id/0e/95bf3e9389a373837be8ba4351b8908261511a -usr/lib/.build-id/0f/5e4c65dacbd3c3633f9fe64e6b2141960c6800 -usr/lib/.build-id/0f/64b9662a9331da8410b42f71e83b63dac29002 -usr/lib/.build-id/0f/735384fa1d8b8ce48647c8e0f0d2f47c4ba86d -usr/lib/.build-id/0f/8ef51f38e46af5db95876ce29e75e31b23fa44 -usr/lib/.build-id/0f/de05b2ba67bc59e94c565b94e6a33d2d04836d -usr/lib/.build-id/0f/fcd218d9c919b874371b4b70b3ad63887e426c -usr/lib/.build-id/10/10651b00165f486e48686964f4b8aa9bde964a -usr/lib/.build-id/10/bb114fdf43be740c91726253737ffcace6ae54 -usr/lib/.build-id/10/cb7f5973e6ef4e9f3a16595b8e6c4301621b13 -usr/lib/.build-id/10/d9d4601e6658b709a8464e8d31a8354af74b07 -usr/lib/.build-id/11/25fd031769dd0d900b39447f356307c445f4c5 -usr/lib/.build-id/11/351f731fefb7d05e17c32f88f7afa6e6afe1ac -usr/lib/.build-id/11/e25a8131aa87dff1e1a2d6c6b04257e6caadca -usr/lib/.build-id/11/e96e9ddf3de4ed63e41d44cc9d527728db242b -usr/lib/.build-id/12/142227e77518a53a06e2705c4df9f9e9111684 -usr/lib/.build-id/12/2a5bd09c03d696cd8d76b9b3a167a6fce7ca52 -usr/lib/.build-id/12/4469f55a1e05fc14ce67b98b25f511b68f252b -usr/lib/.build-id/13/36f318182548c0c7e0a523925a3485993a1aee -usr/lib/.build-id/13/6fb155b0e1511d4427e32b6fcebeddc04847d1 -usr/lib/.build-id/14/1b8bebadc641dfba1edfcfbb8f7eb0695958ac -usr/lib/.build-id/14/703307203f8ad722d46782fe8003e2fbc4feef -usr/lib/.build-id/16/e32f31b1003250856db043211675d12d68da03 -usr/lib/.build-id/17/50f667b5910e546e33bac7b86b754d468f7d35 -usr/lib/.build-id/17/ddb0be85f497ae363da00615c61d42a64b8c8d -usr/lib/.build-id/17/df6b541b28aa001ddc51a3132c10ab44230f44 -usr/lib/.build-id/17/fdd1e9d012608599f2d0a7c3fe92f67053c302 -usr/lib/.build-id/18/33df465fa91aaff396b5a1c7a963c446320c33 -usr/lib/.build-id/18/369eaa44e29a9b4d3c9b09a2580c02ff8e275b -usr/lib/.build-id/18/4d62558aff37f2e342e5108a5a9f89b33d0883 -usr/lib/.build-id/18/af7fda2cba0787ec5ce301f19c08c28692af8d -usr/lib/.build-id/19/1f53d617797d33429d889dd538bdf54c438a7b -usr/lib/.build-id/19/61f692e311a49a82dace870268331fbe5eb27e -usr/lib/.build-id/19/78a7dfecc1917d7e4a4c80880648127155ede8 -usr/lib/.build-id/19/e5e08f360ff8fa73b6ba6ff0be39a4f108535c -usr/lib/.build-id/1a/2e0a366961633ad97feeaa2240f6a1e80f3a12 -usr/lib/.build-id/1a/4b74c00d9951cd46d7e8136d8b2ce98ef36e14 -usr/lib/.build-id/1a/a63105df0f360f28b2790f57754e24a41262bf -usr/lib/.build-id/1b/42fa71a5299d33ebead63172ae39ba7f47ac54 -usr/lib/.build-id/1b/52de80e2c6482462f0172bd29f5368a6015445 -usr/lib/.build-id/1b/79c67b93a0a80f4b8bca30f84c72471ba2189b -usr/lib/.build-id/1b/ade8bcbc42cceeae103d157bb513233ea44f41 -usr/lib/.build-id/1c/19227c52247d85a561c86b6aee287fb7fc60c3 -usr/lib/.build-id/1c/673e755912468f7ec6b65b8e821a70852af609 -usr/lib/.build-id/1c/903ff37e7804e14404f3fa48c6ec2a2cc9077e -usr/lib/.build-id/1c/b89d5ef1adbcdf36af5e347545416c9594ff99 -usr/lib/.build-id/1c/e502ea5885da82dfddab2217ef849ac2132b73 -usr/lib/.build-id/1d/0451c454b062f4dae778ab850c0edafa9ced13 -usr/lib/.build-id/1d/27f4ce7169ac8bdb4e6e280e6b5dd9a7dd1b8d -usr/lib/.build-id/1d/7b43f2e60db6c1b226bd8eaba65239445a68a0 -usr/lib/.build-id/1e/3e9f8dcc345fa9f60524904dcb88e9c9bdf94b -usr/lib/.build-id/1e/67008be973e6b64dfeab6de0bb63824456c4e4 -usr/lib/.build-id/1e/8c919499ee13b6f837b4e9094e324a04a2941a -usr/lib/.build-id/1e/bd7a60bb061c8da0f20466e75e413d3223d775 -usr/lib/.build-id/1e/c2a5e0f10c60fddeb63f2948b7052e881436aa -usr/lib/.build-id/1f/19d589314996cf8da7ace4ed63729d03b590b2 -usr/lib/.build-id/1f/7152cd259e2082402f0469d9c195a7a3a64d21 -usr/lib/.build-id/20/3e2270451d35d8a0eaa2a4f9b195f65f4e87f9 -usr/lib/.build-id/21/50e2a6bd01b6840d91e04efaf0e4562c20e20a -usr/lib/.build-id/21/7452ad5f1e94ec5c3ab241acd625b98b4631e6 -usr/lib/.build-id/21/96ed74dd2d28ff191057d36b95339fe794a317 -usr/lib/.build-id/22/1161078c0203fdded34d8be06728fb624127eb -usr/lib/.build-id/22/b9864f184379217f0f44fac62032525d3cd197 -usr/lib/.build-id/23/d506ef78a76e9881d6777e14194d2e67fee302 -usr/lib/.build-id/24/24c715a351c02aa5b72ebbd06d798d3e71c1be -usr/lib/.build-id/24/bccd65d8a79bde2195317d93f63ce5704ef007 -usr/lib/.build-id/25/0cd48b635d3ea9ea71d11ee4204a6f2f5b39df -usr/lib/.build-id/25/119ecb08b21caf2155918b11d76059d43172f8 -usr/lib/.build-id/25/38c1e68feca53ffd9f77e1c480b180b4d7aa2d -usr/lib/.build-id/25/5149056f16234a7f50424d9c43468f6ee9f5a7 -usr/lib/.build-id/25/8d3cf5a8bf66fd9c1c0c6015159e36f477d06b -usr/lib/.build-id/26/0cb85d8f0184984f67e90091068fa247df75ba -usr/lib/.build-id/26/33c0c2e2cc3da988db402fd6f8d1efc0888a95 -usr/lib/.build-id/27/3416a3af7c2f15fb2bd318d5bf19f12d14f42e -usr/lib/.build-id/27/6f65c9e5242a45312e2cc1362bd3f02cba8663 -usr/lib/.build-id/27/dc9a781eaadc74fde64246dd29a4685186cfb9 -usr/lib/.build-id/27/e751c348b820531337afa30f4199175ac03aeb -usr/lib/.build-id/27/f521a21633384da435194852e211d578255c36 -usr/lib/.build-id/28/40547b50293771a1f8408225c37984ea84f0d8 -usr/lib/.build-id/28/cfd18c8dace506007fcf1ec5527da11046d084 -usr/lib/.build-id/29/ea354feb218567ed9c481f389c0a6ba2269be3 -usr/lib/.build-id/2a/38c1fe4ed1011cb9a86c2f8b21600c64959159 -usr/lib/.build-id/2a/70b4c3835e3c7a3576216afcdc4b19790317c9 -usr/lib/.build-id/2a/70dd0b68a6aba00d9a7eca54fa50653fe3a5d9 -usr/lib/.build-id/2a/bbfc484c0f85b5f59e9ba2d42130443ce2888d -usr/lib/.build-id/2b/39b903c0885e6d5d74a0c4366c46e4ecdc9ca2 -usr/lib/.build-id/2b/3ce68ccf1222b25dbb89f5b84d45bd7551f9fe -usr/lib/.build-id/2c/1db267f28cb249023af08ca5a27030eddc37f8 -usr/lib/.build-id/2c/21c5ce360b332381d3304764e0815b90c72304 -usr/lib/.build-id/2c/ee087a6df7b68a255c63ced0dd0c0788faab11 -usr/lib/.build-id/2e/00394d8ed1368bd37ddc789ac90bd84830484d -usr/lib/.build-id/2e/4f9868c014ae968a483157dd40dbcc04cbef86 -usr/lib/.build-id/2e/d14e84c4dea044671f02a06b86080922887182 -usr/lib/.build-id/2f/ac382f935f8a137c698004f7f4352f4c353ce7 -usr/lib/.build-id/2f/dbed728a9e261b391b6afb22cee96d18552e71 -usr/lib/.build-id/2f/f778a8d7e5ad58f57c5584a1c5bea3c81932e8 -usr/lib/.build-id/30/64e17094cf77a8f6e4570f9896c45c71927b5d -usr/lib/.build-id/30/87282a3f41b8ee003da6b5ffad5839af70b770 -usr/lib/.build-id/30/e2cf2fef64ad892bf21121244f6bfd374c66c1 -usr/lib/.build-id/31/3da7f06966b673fa41e6578234a4d0f7345ea8 -usr/lib/.build-id/31/414509974439cebe965d21a2e7699372e343f3 -usr/lib/.build-id/31/43e5d37834fa1244ca9022a9ef6f7e9d676ac2 -usr/lib/.build-id/31/8d360ca9ac24b10786257ebb88ab12a69f5446 -usr/lib/.build-id/31/e7ffebb669a830cf818326c4ed736c18ce3539 -usr/lib/.build-id/32/29944e4ff1ae6348cf12a7fbf3b87237368e9e -usr/lib/.build-id/32/36a5b31fbe904162c98a56fbf969b86cacd4a1 -usr/lib/.build-id/32/70f0e330ecc2daa9b9d4aff024ec0647b68c60 -usr/lib/.build-id/32/747a056f4e4efb64bfd3f8672c161bf4c707ea -usr/lib/.build-id/32/747a056f4e4efb64bfd3f8672c161bf4c707ea.1 -usr/lib/.build-id/32/747a056f4e4efb64bfd3f8672c161bf4c707ea.2 -usr/lib/.build-id/32/747a056f4e4efb64bfd3f8672c161bf4c707ea.3 -usr/lib/.build-id/32/a2b8b40d5d4ce831a684615d3ee5ca656b45b3 -usr/lib/.build-id/32/cf645b197ee775a3592ae3d5ef85a4c450a1ec -usr/lib/.build-id/33/13eeeeb9e9ee4feb96456ff6650dea7cdb4a14 -usr/lib/.build-id/33/2f40799882f6d8152c6c0ef02d031fe45aa5c3 -usr/lib/.build-id/33/5c71bb58d78cbce232328f154e70d3435c9209 -usr/lib/.build-id/33/aa2ae5425cba1d356cffd437bce0eba8543b8e -usr/lib/.build-id/33/ce0d74de03e0a215065ebddabe62a9b403c80b -usr/lib/.build-id/34/63af0614b4c9f70870d5b381e55bfa8cb9f883 -usr/lib/.build-id/34/9b642661186c6596a68fea6a970c53f0c4e952 -usr/lib/.build-id/34/d31542b2cdb87c9e0a2adaf5a089fe1bd7a57e -usr/lib/.build-id/35/1786247a3a18b0472b15f746f43779cc6080f4 -usr/lib/.build-id/35/22a6985bf0aef3b023db9747c04532234e7ff6 -usr/lib/.build-id/35/5340c9573f2bf227487ded615c70231a26e7b4 -usr/lib/.build-id/35/a9124d3b62dddfe11545b164e3c41a1905c796 -usr/lib/.build-id/36/95757d3e24e40185f36cc0343905b1057a89e6 -usr/lib/.build-id/36/a8b6a34131940cabc39d5b800272552f57d273 -usr/lib/.build-id/36/d9870834ecf90dc0c1bd5ddb74531ced8bfa5b -usr/lib/.build-id/37/4e962d9ba3ef78fb1b9485b58c73a1ef40515b -usr/lib/.build-id/37/891470842a2a99824c65b7b464f47ebed0057b -usr/lib/.build-id/38/2c142e81cedc9fe38732f7abb678b138999ba4 -usr/lib/.build-id/38/4d099bce6d6944ceaf23d255cff0771e198847 -usr/lib/.build-id/38/7dd0a895314c431af54f60cf2b12a3dfffc964 -usr/lib/.build-id/3b/aa2f316a950a0de75a6f0a8e4d6694a80130fa -usr/lib/.build-id/3b/aea3f0cab85809d71e862c1b2bf02adec065ce -usr/lib/.build-id/3b/d155e72f0bb584555db424bf993ee256b10267 -usr/lib/.build-id/3c/32b4c8d138f95d97073cf4ecea207d7bc7b100 -usr/lib/.build-id/3c/ab931e7bb6c868059877b8bee99acc8afa3a18 -usr/lib/.build-id/3d/4a70d90c0d82d9f88005a96ffb01702ac560b2 -usr/lib/.build-id/3e/30436ff8f17a59c4f47ed0301f80d5501ebc4b -usr/lib/.build-id/3e/4939d19ef92f67c99a7e439f286624ebbefd9f -usr/lib/.build-id/3e/9a094ae2273a46c62f6b86546efae5a84a6170 -usr/lib/.build-id/3e/c130c040011eb3666d22f43d3f5b692fa96c28 -usr/lib/.build-id/3f/71f326f67ba7d7bce2d5b7d3b5a6d7364a8aa3 -usr/lib/.build-id/3f/737dcda35d1ec08980963b4e17c4569cad95f5 -usr/lib/.build-id/3f/7d14abc06408404429ac937736b3f462cb740b -usr/lib/.build-id/3f/bbb7486f2524c1451fea0a2ff68d518c0f8987 -usr/lib/.build-id/40/8b7239ab9785203b2cb897b07b7ad7b468c808 -usr/lib/.build-id/41/01660be93ed09467d5147a84ac0268395d5c63 -usr/lib/.build-id/41/01660be93ed09467d5147a84ac0268395d5c63.1 -usr/lib/.build-id/41/01660be93ed09467d5147a84ac0268395d5c63.2 -usr/lib/.build-id/41/01660be93ed09467d5147a84ac0268395d5c63.3 -usr/lib/.build-id/41/053a6d2d04742bec7d7d1f999c477dc9df0370 -usr/lib/.build-id/41/30769428670079c6f2e7035fd5f35ec2d67672 -usr/lib/.build-id/41/8c6d9426eaa2732cbd96c790e2e97956c09e9e -usr/lib/.build-id/41/da172fcad8c82b69016217a8d860e46268acc7 -usr/lib/.build-id/42/2d698d5711c14adb162b46090239e80701e28d -usr/lib/.build-id/42/67681cba1156a6de39de4b02fdc3f44e424b1c -usr/lib/.build-id/42/b591a025a25942c9bc9d57e0cb64d207ad83e6 -usr/lib/.build-id/43/0863e62424734746ae82349b8d91c0697629c3 -usr/lib/.build-id/43/36f8b9eb39fb053898519839636d54f238df27 -usr/lib/.build-id/43/775f309990052ca774ff5430e52cf5bd041305 -usr/lib/.build-id/45/a3c2ffa00fafe2019ee5a48be405d71b2e0155 -usr/lib/.build-id/46/111d8ad3028e58c9c72b1b79ce00b0e9b87246 -usr/lib/.build-id/46/24bc9074d03d7eab9f71869b20fc8c61010cab -usr/lib/.build-id/46/3b3d8bed276197e9d36125d6cbdacd64cb5aa6 -usr/lib/.build-id/46/4ea91297e872636a174f68b0901ee47af7244e -usr/lib/.build-id/46/783416b4880f7201d151236c88b5dd2c86da1d -usr/lib/.build-id/46/ceb3d85da7c066ac31c693dd57759907a234a9 -usr/lib/.build-id/47/18bfba9c3b8e2d38f39aa44cc88e418c1845e1 -usr/lib/.build-id/47/1f533b1453332b4d40577b12691e336b11ea16 -usr/lib/.build-id/47/75a09a12603694b1dd620169af525c10d64a60 -usr/lib/.build-id/47/916887fa0e52bab4b14ea960b5f10125ded4cf -usr/lib/.build-id/47/99e99f0b01f3e5482cc5784a3558dd31cf3e2e -usr/lib/.build-id/48/2bcdf5d4204b723b2c57b582fffdf54c99c379 -usr/lib/.build-id/4a/cce70b64d9caa416c6a48c1c33a78a3830c815 -usr/lib/.build-id/4a/edd1545a39c21e2882df116dad4405fbf14676 -usr/lib/.build-id/4b/ae81da85f05b8d2dbe7ad54181bdb754d0f984 -usr/lib/.build-id/4b/ced9c7c37582597e7343d4e66374c5484a3659 -usr/lib/.build-id/4b/d403d604f17c0677e40488f3c9fbf9d607787d -usr/lib/.build-id/4c/178603ac0184e780ba7b233f9edb41084c858e -usr/lib/.build-id/4c/e610bafeb88c27e9a11fd0771308e5d49e8cfa -usr/lib/.build-id/4c/f49cca2955a1f1a6940e83e8273229e7d88576 -usr/lib/.build-id/4e/4f49c6a09a136eb3491c9856237f16e971a5d2 -usr/lib/.build-id/4f/2f237ded6281276ed3a1488a6aaaac1d5aab5a -usr/lib/.build-id/4f/6ee0146d39d57eff9b918df38a1f00981b1dd6 -usr/lib/.build-id/4f/b38f408e233e5e001ea1da9edcafc46c5886c4 -usr/lib/.build-id/4f/cfb61a346219c3a01fbd4b260670a79118ac79 -usr/lib/.build-id/50/5d30bd25bf0728f79fbd0d5ce5ce5a3aa15f9a -usr/lib/.build-id/51/6eaf32bb73f3e5d9f8dce1575bef1ae8c1b3d0 -usr/lib/.build-id/51/b08c195320b24eb666c9cb0ff02103341ff4de -usr/lib/.build-id/52/697f5405f8c97d922906f99f25dd9d391e7065 -usr/lib/.build-id/52/82036bfd7791e973b81d0d08b5193fa6b35ce6 -usr/lib/.build-id/52/94f252f3996ea13fa15569330d0eb76e77ad86 -usr/lib/.build-id/52/b8b0973476b650c8e446bdca960227263b81b3 -usr/lib/.build-id/52/d3ffa05d6a4403f9fc351a6fb00dec1171946b -usr/lib/.build-id/53/2eef15ffb5d6cca142eeebe1a1431c31440b81 -usr/lib/.build-id/53/b2aba40bfdbabbc78e553918ebcaf2b527864f -usr/lib/.build-id/53/ecb40719ca87fc7f6ef15705d359321b95a67c -usr/lib/.build-id/53/f2be8d44499f8d481181ade95d9ccd1347a6b0 -usr/lib/.build-id/54/9bd5673270e62be97c71eb734e974db529a5dd -usr/lib/.build-id/54/a33908901201cf8fa5446adafeedba3c129195 -usr/lib/.build-id/56/7325763c1bc34acbdbf6753560230580999154 -usr/lib/.build-id/57/92deae190ad9dd8ce653d975eed7a4a902d8c0 -usr/lib/.build-id/58/1e25e4fe190fbbbbe64c3410fa7214075d8ece -usr/lib/.build-id/58/812bf2faadef019faa6adbecaa65397f468240 -usr/lib/.build-id/59/872f43be9f38166a0f47d96aea016cab048351 -usr/lib/.build-id/59/a175dae175525e58ff35cac8606c41701e0190 -usr/lib/.build-id/59/e448b9becea98b4adaf3aa8db8f2615953c3aa -usr/lib/.build-id/5a/07e13ce76c4a58b6e36833b2c1a8e38a1793ce -usr/lib/.build-id/5a/1c585343dc90c604aa019918367da132fc6f8d -usr/lib/.build-id/5a/3e89565e8d6715b7311c377d140e1059b755e8 -usr/lib/.build-id/5a/5dd17e4bd2e52471f3de5a8c2f44462bb4b987 -usr/lib/.build-id/5a/792b980c50ab1e4ea62e31d6fac6028fbf17f6 -usr/lib/.build-id/5a/7aa7835c5d1e93b3d4dc5e06dd30e769e45427 -usr/lib/.build-id/5b/4c355874c3a34d50a7330dabd0c643470761ba -usr/lib/.build-id/5b/8cba0a0a3f5b539fe58766083c839f1489c353 -usr/lib/.build-id/5c/bae2b689656dd0b63e1dd6000bedfc1002a64d -usr/lib/.build-id/5d/b91b2a54c56348eb3c53016003fd4eb0e9dd4b -usr/lib/.build-id/5e/a669641835fe0b3a7658d3c207d1ef19373d57 -usr/lib/.build-id/5f/70e609764522a774c19ca08facadba1108b242 -usr/lib/.build-id/60/a6a669a3641ed094e4c1d615145668a9709ee8 -usr/lib/.build-id/60/fc3cba5b188e56db9ae184d7b391c5dbe6a6b3 -usr/lib/.build-id/61/52da2e3aaf9f6ee1c0086d98c80bcb36003633 -usr/lib/.build-id/61/555cc285f6fa044d229d9010d64f35ab09262a -usr/lib/.build-id/61/bf0deb1bacddde16a62637037b3598d9f909e2 -usr/lib/.build-id/62/10bd9a59dec23f6969c8c3c05f2886b4a5ec6d -usr/lib/.build-id/62/53a1b0054ef3f06ac0a9f0983f52fa79722629 -usr/lib/.build-id/62/66870544ab714af415f40920038bd2850f9c90 -usr/lib/.build-id/62/90bed5ee48b8e82dfce4680b636f96a1d4e2b7 -usr/lib/.build-id/62/a225b8996813e373efbc664e7ba98745f9e249 -usr/lib/.build-id/63/391d964b60f5f53b62594f793f3b3ca5ebd0bf -usr/lib/.build-id/63/4230e98b4a30e471708f77b072ef3adb19c04e -usr/lib/.build-id/63/48faa7d1b1b21beeaaa05cf62d2bbee6b3a1a7 -usr/lib/.build-id/63/65779383e3c28c56c410ee293bd7bf6206a73f -usr/lib/.build-id/64/adcfaf67952bd02642c3f3684b3dbb44ed013e -usr/lib/.build-id/65/0acf559cdf61bb308a900f38dc21cd8163ec51 -usr/lib/.build-id/65/124f7ea804a19f88b7abd135eb2c93f6006ec3 -usr/lib/.build-id/65/608143ad38c3f236e2266222c70a4800afc655 -usr/lib/.build-id/65/ca3a887a1060062108aa70583fb6809a97e522 -usr/lib/.build-id/66/873ec9dc07d97c1a99785e653c1e719832bfc5 -usr/lib/.build-id/66/9b36adaa916a8e6fed83e511db4404096004c0 -usr/lib/.build-id/67/0b4b4e4b774e898f90f953c8f2facef616a293 -usr/lib/.build-id/67/879008fb6bd24f08f920f538efadd7603ec5b3 -usr/lib/.build-id/67/8a2e246ea5c76ef90a728d4738e2e23efee06e -usr/lib/.build-id/67/ed6e502db24c8c6beda334303ab9387f631603 -usr/lib/.build-id/68/807ccc643c3c1f5aa55ebf6549c9b08f408fb8 -usr/lib/.build-id/69/e6517be863c8d34715771bbe79548c65317756 -usr/lib/.build-id/6a/466e07c5d3a3afeaabb2344e60f9c21a2c1a67 -usr/lib/.build-id/6b/3d4878cb8e2b0948e7f73272f603a892b353a1 -usr/lib/.build-id/6c/1d29ac89b49488a51a73bcc297af10a748eb3e -usr/lib/.build-id/6c/d7b02f9387d41dbd75ad5d5026be7395db391f -usr/lib/.build-id/6d/07a1add50b565eaa5e9f9ece1c2a490ae795b8 -usr/lib/.build-id/6d/2e76c3173a8695877caf2e6b0c04d89d384df6 -usr/lib/.build-id/6e/978abbbfff7458fa2bf2251f5bb8bbef6f7530 -usr/lib/.build-id/6f/2e1b4d8ef75fd769acff19b2d6ed5d771b044d -usr/lib/.build-id/6f/443b23b1c3278c48be97e20b7c4ba937233806 -usr/lib/.build-id/6f/7e8e9fce4f337723e11c2b261369948fc85f05 -usr/lib/.build-id/70/246358827e77d4751b1a2aa4cbcc9d6ba5db39 -usr/lib/.build-id/71/1ee170506e3987b4b29d8a5f0bb072589c3624 -usr/lib/.build-id/71/b42758b562f3e962f7c1d1607460fdbbb1117f -usr/lib/.build-id/72/c9393c41bb01868be3dfe9147bfcf9ae2eeb94 -usr/lib/.build-id/73/de08d957bb1ec53c9e18ce7f2505ec4c87c6bc -usr/lib/.build-id/74/5c72cb342ba47249b3b34c213b774bc7bb1f4d -usr/lib/.build-id/74/9cdddd0a80a8dac20ea44918aa7363d13118da -usr/lib/.build-id/75/6107fc92abcc7b100fd0fe34ae09332d72b456 -usr/lib/.build-id/75/857064fd182628f8e6ddd98cb01f112c5329d3 -usr/lib/.build-id/75/cf85bcf85e11ffe1d570ae23d6cabe75ddd31c -usr/lib/.build-id/76/06497195592772b76632c35487fd90d273ca4c -usr/lib/.build-id/76/28f3889ba60f9d297631806d4e8c72947af1ad -usr/lib/.build-id/77/187b857e50f6c380630d9c97fcc7a38298682d -usr/lib/.build-id/77/37b3fec619e82428e185bd8bdfe70d2cd93f29 -usr/lib/.build-id/77/b00f081dcd548ae4aebdac3f0237994ceb7023 -usr/lib/.build-id/78/4e133f4efb8993bc56ddf3bd894a5ccc810c7e -usr/lib/.build-id/78/796927e4ff0033cdd0c66c19a7ec4cdf2171b7 -usr/lib/.build-id/78/9f2485aa5ce4421b91e795893008bcb79b60d7 -usr/lib/.build-id/78/ca9a7996903f1f3ae5bee470abcb36b776fd2b -usr/lib/.build-id/79/2a68e4ce0c9673f8942ca7a8f4192a366a0db9 -usr/lib/.build-id/79/733712bf173a0c1d40ec8df7da13c0cdab5557 -usr/lib/.build-id/7a/019a7b0cb962dee98f28eaee55d9c420c2fdeb -usr/lib/.build-id/7a/7baeb477bb525f5107eb5dfd173c192cb6d2c5 -usr/lib/.build-id/7a/a14436fc98358781d5d52f18a9ae9ff0114c56 -usr/lib/.build-id/7a/f2cb3b7ddc1c6c6f96bfeda8dc6d5cee8f6456 -usr/lib/.build-id/7b/d444e7f789c250625dc8f8b312ae37978b2a27 -usr/lib/.build-id/7c/09477b5e1fd07287bb2eb0c7d938e65a6bd369 -usr/lib/.build-id/7c/c2ba49c384b5229da722bbe2f288025c80a481 -usr/lib/.build-id/7c/e83f1301a3ce00efdc056603a4c3fe96d143a9 -usr/lib/.build-id/7c/eb73fa8e07afa864b3ce8567513add1f81d4a6 -usr/lib/.build-id/7e/3ad0c3fb2fc72459b8c6f42325be06ec08c4b8 -usr/lib/.build-id/7e/a7069c85b6a9eccc8f7ce303dcc17f05173260 -usr/lib/.build-id/7e/fece4b45ff135c7d590c8ea05271c504ecfc65 -usr/lib/.build-id/7f/394e0909f13d6c85233ae2a84e50f4c38c06b8 -usr/lib/.build-id/7f/70b1b20e3837ec7b8e631cd801de87a0791e1d -usr/lib/.build-id/7f/7ce9ae761776d514cc180db994b24e0be08bb1 -usr/lib/.build-id/7f/8079fccfe143fa6866ba5fcd76866be5f091dc -usr/lib/.build-id/7f/b9ceb02b93358fa227e543053af25e05a97d9e -usr/lib/.build-id/80/3f3e904445cc5beb0bcb76e029d65a4da6b8b9 -usr/lib/.build-id/80/40e9c3d52f5ee7e16f1544d3ea4f64f90b1a52 -usr/lib/.build-id/80/a4bfef0360bc88b8ac6488e56e960d92cdbb29 -usr/lib/.build-id/81/1bfde267ec6d48fcf954c6452a15b9df826df8 -usr/lib/.build-id/81/b52e020409c7e46958ed2357b668d8800f974c -usr/lib/.build-id/82/01ee44eee4a480f610e2b48f1245a427a34ab7 -usr/lib/.build-id/83/cc91e6148b03ab988aba7a95968df5d26e61fb -usr/lib/.build-id/83/dc683b7f1d53b6519b02fb0d9bcb8da482ca8a -usr/lib/.build-id/84/00863d0e3867147e7ebc76ab1399a19fe5c3ce -usr/lib/.build-id/85/3aa448381048f4ebb6a2610d58e3a5e828f662 -usr/lib/.build-id/85/719f365dd81205a5e43cfa153c53959537e0e1 -usr/lib/.build-id/85/929f5e2e360b436f603904fbbcaef23d419ee3 -usr/lib/.build-id/87/b0fe613fb9ee13d402bebafe5095155027707c -usr/lib/.build-id/87/c01a6aefa09aa72889f724e3f455fb5bc5a3fe -usr/lib/.build-id/87/d393e8c011e20d504dd3083be6ed63afb18cd2 -usr/lib/.build-id/88/1ce654b2fb61d63b3a9faa4de789095b735f0a -usr/lib/.build-id/88/1edb5e32dc1b86357da17b5664da0f9ba9b7ff -usr/lib/.build-id/88/a19dd79b79e0e66479d45aaf079163e9affae4 -usr/lib/.build-id/89/500a8ce6e528ed406bc97a0183df1bf7842c86 -usr/lib/.build-id/8a/1b0122ab6c9f949dd6e4018f281dffd8ae0eb7 -usr/lib/.build-id/8a/2b357bfd269c7f585f7c3d1b92a9760dbb5e32 -usr/lib/.build-id/8a/3c9d6d702ccdfbd367e160b9e9098deff47262 -usr/lib/.build-id/8a/42798b1e7e3bcfee668a4ff274a3d5745bce3d -usr/lib/.build-id/8a/8af90f268f7f29a142078468855948633d8a67 -usr/lib/.build-id/8a/9ad4d659f37c867796164be5ebe460c19b6b08 -usr/lib/.build-id/8a/bc02b35aa54c9e348afc0a58a034a32cf88f79 -usr/lib/.build-id/8a/cbc27ec15f2797322a6097d4659319ee781438 -usr/lib/.build-id/8b/01ae6fbb2f653a016c1f86d5fba874dd53e97c -usr/lib/.build-id/8b/05243fff1b1ed9bf4a99e04d091572fb205a4c -usr/lib/.build-id/8b/9fd4e9dde71d3b2d3a1f504e46801669c5eaa7 -usr/lib/.build-id/8b/c73745a27220272ea09b8de846630d5361cd26 -usr/lib/.build-id/8b/cd598a33e05e44abda90d775828622c1304c38 -usr/lib/.build-id/8c/6a2860073f2c1732777b642e1024995615b6ea -usr/lib/.build-id/8c/6c2f3935eb9aa28185dc46e2c522499e66b582 -usr/lib/.build-id/8c/8a3c208c0e4ff503335d587e8d580a52c45425 -usr/lib/.build-id/8c/968e5227668ad4224a93a8372f4be0f84e887e -usr/lib/.build-id/8d/13860e1d19880e9d54eca53aa0d397d1f5dc6f -usr/lib/.build-id/8e/16f5dc41f51d4d3e09d04f81fdd8926c33cc88 -usr/lib/.build-id/8e/a0dae7c0f0bfd15847b81407179acbe98a07f0 -usr/lib/.build-id/8e/deabd074677dfea936b9fb288037b2bdf5cf4a -usr/lib/.build-id/8f/197c2693a3ca1913042933308daf475e689231 -usr/lib/.build-id/8f/83ffbfc86fea6b596ed7e4c167547e4abf99ed -usr/lib/.build-id/90/46dd34d98a05cf6fdbb12a37e665dbff86a6ee -usr/lib/.build-id/90/7c2e782c5e4f55a8b26cfb74be03c83f47f2e5 -usr/lib/.build-id/91/cab8b12acad5525d7c38b7e4cf2851173079a6 -usr/lib/.build-id/91/d0fe09a703938e1e05af9b9fdce2ea81981a6f -usr/lib/.build-id/92/3846e434b797490185827a948446a1e4298a6e -usr/lib/.build-id/92/3ddd3c9d8e4655b0372430448104bff3be5236 -usr/lib/.build-id/92/4aff50a5b2b78090c88022dcbaafa7688ae0f0 -usr/lib/.build-id/92/568e45aa3a0863b4f0061ce9b6df1a30eba532 -usr/lib/.build-id/93/17230f60df2ec1216b95b9b24392c12cfa3fe4 -usr/lib/.build-id/93/22658928f6036bda7b69ac0756c942cbd8d520 -usr/lib/.build-id/93/490f4e659e7c20938efa1f5c1f25739bf1e1a0 -usr/lib/.build-id/93/b8f83fa3fcfc1be716d8cc0816f818ccd5f7ec -usr/lib/.build-id/94/04a135442b47586b2dbe6ce08f726e098fccc7 -usr/lib/.build-id/94/3ff7ccd59b3094c2acbc4e669c26dd2535438c -usr/lib/.build-id/95/e917a404c0f9e7c76ad613f8f75f13ad62c939 -usr/lib/.build-id/96/39fee3f5dade41b816660fb49552246e723bc3 -usr/lib/.build-id/97/9b2f00c5dc97a2f8ccbf7b734eb7fb93ddb860 -usr/lib/.build-id/98/13c3053264cae2e3cf57e3bed3ebace4768563 -usr/lib/.build-id/98/2c5e96a5def3d0c9865bb58d635be56faf6daa -usr/lib/.build-id/98/4830b9ecdae9e4811a1a576f0ea751ccf86bc9 -usr/lib/.build-id/98/78b44025aecc118c75e06224ed965b5682a5e0 -usr/lib/.build-id/98/8333dda6bf1fa1faa6d3ea0b58ffbbfdb4e49a -usr/lib/.build-id/98/baaa56c4f0c168f8d0c95790c4306ba048d11d -usr/lib/.build-id/99/136b0135aea13eaa2686e2d0f15f67023d5729 -usr/lib/.build-id/99/30610324bceeac249bcfeb91bc0449065ff46b -usr/lib/.build-id/99/5e010799c564cc76b579477e47ef6a9df77b72 -usr/lib/.build-id/99/badfe9e60045e168e8a5f55b6fb5a2f0f36a1f -usr/lib/.build-id/99/e8169b7ba36dd6a7431ac1099f1d7d4536bcd5 -usr/lib/.build-id/9b/2f872ed5287579bbf4cd78a330204b548aa09a -usr/lib/.build-id/9b/9e1b838b35c90ea863a317fe996a09a1997c89 -usr/lib/.build-id/9b/f2ae80033953784c803dad2bbfe3a44f788e31 -usr/lib/.build-id/9c/bd95463c2c199d3f179dd18be100033601fd15 -usr/lib/.build-id/9d/70980161eb99604d73a0da3f2bf57522bf8ed4 -usr/lib/.build-id/9d/ae080c054590aa8cf6c64331432bfddb18950c -usr/lib/.build-id/9d/ce776fc5e9be48efce88cc94d026cb28c02864 -usr/lib/.build-id/9d/d74ec8f9396d8fd0f31eacb45dfb8c8b628666 -usr/lib/.build-id/9e/34dca6d0680e869d9e3999d079a65f08a5161a -usr/lib/.build-id/9f/092c70ddd3cb3657b7600616d986774cc6e869 -usr/lib/.build-id/9f/156ddcc0985fb9015cdde479be8d51bb3bd6fa -usr/lib/.build-id/9f/7630d26fce0309f783dc4727bd0dbca5ca2b3d -usr/lib/.build-id/9f/94113bff0ea36f23acb37f44ccabc388e20e20 -usr/lib/.build-id/9f/946c792da6e3d2ec9e944b82a4133973b81eb0 -usr/lib/.build-id/9f/b5d59c44bf7deb03003f238c4c59683c145f78 -usr/lib/.build-id/9f/bc285cbdf87ec1bdad67d16ada5342419ff88d -usr/lib/.build-id/a0/466b2bcf78108d4d951e0cda01f36642ed4f01 -usr/lib/.build-id/a0/ddfc50b76f0bc651c12a6862f0b0dcfac3bf00 -usr/lib/.build-id/a0/e52c5f32c0e7cc28fb85569a0608c695be0183 -usr/lib/.build-id/a1/1939a9ce91a10f646eeac1c97f445ff99593ef -usr/lib/.build-id/a1/4c03278c9f3444954c77012ce45e55d4e59edf -usr/lib/.build-id/a1/a3dea3b2d92a088f73330bc861527ea0a61d57 -usr/lib/.build-id/a2/a91cf5b3f87d73b510d639bdc02be12ec9c62c -usr/lib/.build-id/a2/aca59cab9932947e82dfbe3aff9d70f3e19ef6 -usr/lib/.build-id/a3/3da990bb3833aae1b11317f2024c6c0be8a646 -usr/lib/.build-id/a3/52c54b8a26e2eab606ce013f0be43f48f79899 -usr/lib/.build-id/a3/67a7f7e3465986299f99964a5f20e4b7c7030c -usr/lib/.build-id/a3/c8baabb0ec84a78b1318c7b199e29c6e2a563a -usr/lib/.build-id/a4/254a26afe6f6b9692bddce5b11557bdb00e495 -usr/lib/.build-id/a4/71b5ed97e5b4d9f09a07efc964d8b166990e9e -usr/lib/.build-id/a4/9f5c27a2dcc585826275c240f35f186447b216 -usr/lib/.build-id/a5/4b396fc6b4cf4aef40b333bf834b044a91ef34 -usr/lib/.build-id/a5/6161e022dac5155bf5bb358aec578f793ef641 -usr/lib/.build-id/a5/64dbe0e5d342241321849e2a71431c45cae215 -usr/lib/.build-id/a5/d95e1db2df52d29aab66f48a9da682010bf5d6 -usr/lib/.build-id/a7/75f1e5adf16bb15e97d71df001f5ba23123081 -usr/lib/.build-id/a7/87ab9bc430d8e3e284a352307b8906fa1d5e50 -usr/lib/.build-id/a7/90c66d4575fd7e286bab9415b0c7293374ae1c -usr/lib/.build-id/a8/1c662f20b941f05da4c346553d722061ecbd4a -usr/lib/.build-id/a8/4a70aede94b365683184141161b0d907619555 -usr/lib/.build-id/a8/b54e8149ca03dbc8cbabfbaa627674f2f89ba6 -usr/lib/.build-id/a9/2181ece19fb80c188fb1e9e7efcaf7e21317f3 -usr/lib/.build-id/a9/26a0a4c4e968e565c6d91f91067eea59c8b42a -usr/lib/.build-id/ab/171f860154f5d2f1099e8ecd9df6fc96111c56 -usr/lib/.build-id/ab/4d525c85e05293a15a79ec60a808822541c401 -usr/lib/.build-id/ac/5abbb4e34c23ced45fbb704b32f4b153645422 -usr/lib/.build-id/ac/c3a3720299bd993c0255466ee3a481d41d6ca4 -usr/lib/.build-id/ad/2fcd710b272844c9028ca12e9a0c4347479818 -usr/lib/.build-id/ad/41207e46f3baf02a08e70acac0c086a8be5c66 -usr/lib/.build-id/b0/6a67c9bedfcd7ef64937748d21d402c31e18d3 -usr/lib/.build-id/b0/78022e227686601d031b9a846409cedc1ed34d -usr/lib/.build-id/b0/b12c47ed01e445f0e4f534edf738a76f25df1e -usr/lib/.build-id/b1/45f503b2fce621bb5f6df874d18d71244c1cf6 -usr/lib/.build-id/b2/05198e94889dcb93415bb03b2ad3a695856934 -usr/lib/.build-id/b2/86935b39c09b86a4d7a3b3aaa6303d4a5180bf -usr/lib/.build-id/b2/9343b9b140e4bf1581761e4e179553f373b8e4 -usr/lib/.build-id/b2/f2ec797ed1487053070b0aebeeee414ba2330d -usr/lib/.build-id/b3/25ccf2ea9388383fb7d8146b53c1ea0c4d2509 -usr/lib/.build-id/b3/52fe2e657c492d5024f0a08d8d9532cd660412 -usr/lib/.build-id/b3/624afd6380e4b8e2496246434f2d84001a11b6 -usr/lib/.build-id/b3/de6078f171e70fcb011f57ba3c2d99a9518a96 -usr/lib/.build-id/b4/85ffbaa9747a9442d4eedf2643e6f949c6a22c -usr/lib/.build-id/b5/be8c6475fc7b63ac959d7fd71b020b0ec8fcb3 -usr/lib/.build-id/b6/2ea3532d14825713d1bbdcf9c9c93d06c6ff12 -usr/lib/.build-id/b6/97d44edc30bb0134e19c3f0a194c193f3eff38 -usr/lib/.build-id/b6/ca302bdcba646afa138ee64b47cf655c29ac01 -usr/lib/.build-id/b7/27435848e12e40147d01c046ff204b6d18579d -usr/lib/.build-id/b7/ba2187c015c879a572f12e1289a7096c92e2a5 -usr/lib/.build-id/b8/375c53370816f0bd342c7ae7e80e6b5250a8de -usr/lib/.build-id/b8/b1d0b957d23bee9e21d52e7c35eb9b6678442a -usr/lib/.build-id/b8/c1fb97caca36225cf3d0bf9c55ee39f5c1678e -usr/lib/.build-id/b9/3e1f585386ae3f8d55c49dea92f6bd85623d1f -usr/lib/.build-id/b9/9f3960d9cc205a397f3045eb2eaf95a34fd835 -usr/lib/.build-id/ba/0e1989fd2b1a9fc3f53d0240e980eca608c631 -usr/lib/.build-id/ba/7b6d4e5bc9babf41ecdf569e64201611ea9dc6 -usr/lib/.build-id/ba/a22819032d92f1f63ad06946cf62bbb9fd2acc -usr/lib/.build-id/ba/e234c38681b052fdddc6d67b984a048d08d2e7 -usr/lib/.build-id/bb/0b5764b80a235d29a0dcb5fd0429d7caf24064 -usr/lib/.build-id/bb/108fa2f563b8408d3bc51cc50925e058a1ac7d -usr/lib/.build-id/bb/4ead92c09db3731bcc812f22099f345d553bb1 -usr/lib/.build-id/bb/be0e5dee082762e77bbae9133599fd82d1798d -usr/lib/.build-id/bc/1f0bbdd70686b64fefc72c63115eb87feded07 -usr/lib/.build-id/bc/36d47aa4f027a1b767c0c2c6ee0ff5eb3ab3c2 -usr/lib/.build-id/bc/70bc5a44c0c84da5a32f5617d4052079ca0632 -usr/lib/.build-id/bc/9788e1a74f3b943bcb4e56f29cd27081f45c9c -usr/lib/.build-id/bc/ef23bb1b2db2f32674eede07f5f598600cf7b2 -usr/lib/.build-id/bd/3a64916c76cf377d71563f0cc08dd3642c2b0f -usr/lib/.build-id/bd/dc065a42841a1c70b262de6d022d677089770b -usr/lib/.build-id/be/ab4f34ca1333bb518a7acc1203b899d486afbd -usr/lib/.build-id/be/dfc9d91b1d74995c8e19478125379bd2cadc76 -usr/lib/.build-id/bf/f047ac7fb9df6bd69506752b8eb5bac43b4365 -usr/lib/.build-id/bf/f62a550e07d6be016aac2ea0b6f4414e8968e6 -usr/lib/.build-id/c0/1e07b8d0ffb5e59afb553c3c8c698a9ff2603b -usr/lib/.build-id/c0/7d1d6b2d382819bd50b158bb019b52affde66a -usr/lib/.build-id/c0/dcbe6b1d12a467424afbba802e86532002f6a5 -usr/lib/.build-id/c1/42d0d13b1a1b868752de2fbbc130ac6a045816 -usr/lib/.build-id/c1/6aa0e9b8df8f7866907dce37d3c414606b573f -usr/lib/.build-id/c1/7db0b2a175402e80a8c5bb9718f9461499a612 -usr/lib/.build-id/c1/9b8164491806dd1245ef4721f4b1a3158a591c -usr/lib/.build-id/c1/c151aed009d5a2fac8378caf9c5589f52c156f -usr/lib/.build-id/c1/d251686498a1ca8c6192e32617de17142b1ea3 -usr/lib/.build-id/c2/1f06bd4e3d8c366ce2e89e1dba6e56bc86db1e -usr/lib/.build-id/c2/b913320d43344ea72b29ef398cb4663d9ce5b3 -usr/lib/.build-id/c3/8aa3c1bde579ae9d6ea4cb491140d0a4f51f4a -usr/lib/.build-id/c3/cd62b7576dd87682b49becfb78398120fa65d7 -usr/lib/.build-id/c4/1f3b2beb780739c951eec38a32daa93c42d182 -usr/lib/.build-id/c4/6880d64992d8664f227e13e7faaf205a03fb56 -usr/lib/.build-id/c5/3d41f2c3b3e06e2bc594ff3b614f84d221cad0 -usr/lib/.build-id/c5/a28fc995bc98ccfa2bf9a1c6bdf2e4c4837920 -usr/lib/.build-id/c5/f3063607b091da4f3bd3710e08dba3ea7b575f -usr/lib/.build-id/c6/2aa6e422a3d9757738d5abf0a17266ae60e16b -usr/lib/.build-id/c6/3841e8d1860dc9f523da6526b65da0408ac7c2 -usr/lib/.build-id/c7/8bd0cf2c37a7c6473316a7fdb05084643cf152 -usr/lib/.build-id/c8/1c2753e516af45518b062d0ae196bc71699729 -usr/lib/.build-id/c8/53eca560eb208100c6fac6a36a7e07e49942d4 -usr/lib/.build-id/c8/982fc01494db3c34e8560aeee71cb5ef0caeae -usr/lib/.build-id/c8/be8f827442d2e527655e897dd070fcaeb7b28c -usr/lib/.build-id/c8/efd63640906a09d597d704554444c0ab758e98 -usr/lib/.build-id/c9/3ae2e7d69da1a6214c213dec0fd5d78314ed57 -usr/lib/.build-id/c9/5392dbd979f1c676a8015d1f33d17e547efda6 -usr/lib/.build-id/c9/aeec38440db42321f264d0b8a9503b30e7f30e -usr/lib/.build-id/ca/36ea24bfe24e2c51132d5b989ff9a609d662ba -usr/lib/.build-id/ca/4f9ab74faaadb0afcfe0124aa079f8673a9543 -usr/lib/.build-id/cb/1b7c1c06b1da1cee1a452372578aa59ee60783 -usr/lib/.build-id/cb/ab08e797ffa02330eef64a9449f16774b8938d -usr/lib/.build-id/cb/e0410585309c22cb0b459d87d5545bf839cb14 -usr/lib/.build-id/cc/09459083f6c9c3420b4019bc4479a1d5fc8488 -usr/lib/.build-id/cc/0ba558646ba30b0a7f64a578da515ded64c807 -usr/lib/.build-id/cc/df732ac325c6a05324d40e1e0287c4de050a44 -usr/lib/.build-id/cd/0f7f0f64dced101ae808a0d78fea9bf3dbe2a4 -usr/lib/.build-id/cd/c25854eb76748ba3104b699b711be32f63462a -usr/lib/.build-id/ce/4970a5a73f69e31e81117f6d4e2fb36f45cd6c -usr/lib/.build-id/ce/9bca1db1e6602e41c46c959253b16528a8d244 -usr/lib/.build-id/ce/9f128460303111618d3093bdd18e1f7e3f0847 -usr/lib/.build-id/cf/082ade3414c70883238823f90acb54da3c013b -usr/lib/.build-id/cf/3498af1c288d7339552c08dbab5f1d9e99d9a9 -usr/lib/.build-id/cf/578ac2329f0603267f9a246b7b10ed248bd63e -usr/lib/.build-id/d0/42efd615fcb16b223609577616ab9f6f5af05c -usr/lib/.build-id/d0/7df47a1219c7b69a152b66c77c2abef9f44a2d -usr/lib/.build-id/d1/8de439d4c56f86f1df779cd9bc461eaafaac57 -usr/lib/.build-id/d1/c7147cec90ee4d42fbbf5b0887d660203d962e -usr/lib/.build-id/d2/0d6b496087dc5994fc08cf642788be1693cc08 -usr/lib/.build-id/d2/1687457d9bc8f5f2fb0258e2cc359581e45329 -usr/lib/.build-id/d2/9485eebe58856e75ec9369bd1c31aad697e641 -usr/lib/.build-id/d3/0c98f494bb91dbfbc2333ecc590dca0d8f7771 -usr/lib/.build-id/d3/3aa486600f044bf4ce4f307cb1a5edcb89ba67 -usr/lib/.build-id/d3/ef07e214a5799ac605beadabf1573829ce0d2a -usr/lib/.build-id/d3/f5eb80a9b5a7765beaadef64841764032ef52f -usr/lib/.build-id/d4/73b09b4d91fdae794de3df685d149c007eed95 -usr/lib/.build-id/d4/e0dd632959b064d31589080124a304156407f8 -usr/lib/.build-id/d6/203895632b3bdc648972a8b37708d211dcc9df -usr/lib/.build-id/d6/2f178c8100ba148efa8b3944b3420b742650c8 -usr/lib/.build-id/d6/3dc0289ef3ed55f6303103a2efd7b735d906fd -usr/lib/.build-id/d6/5b1cea89c586e06f593a12027c640f48195e78 -usr/lib/.build-id/d6/8df8db642de998d623d92e5c21abc7cfc583bb -usr/lib/.build-id/d7/07b5b366eb1aeaa854a4e3639a3f0bc2a71882 -usr/lib/.build-id/d7/16ff2479e74a7960cf12c75c048255777ebfea -usr/lib/.build-id/d7/2f58464c84ca6927ba1fcde2ed190ba1a0a7c4 -usr/lib/.build-id/d7/94d2d419c748c56d553c60cf863b081aa44b94 -usr/lib/.build-id/d7/c3984b4b461270a1972d3601aa27d6fa08c11e -usr/lib/.build-id/d7/c3984b4b461270a1972d3601aa27d6fa08c11e.1 -usr/lib/.build-id/d8/dea2c1b851b2d07f44cd5bf3deacd0f3df6643 -usr/lib/.build-id/d8/fbd944d8f23f4e0f02bc833aa7e369bd1ae8d6 -usr/lib/.build-id/d9/5159f2d8164bf4a722b0d93b14cbe6cb44df50 -usr/lib/.build-id/d9/ad1c2c48bb6b69eec6c07dd9e772be408be17a -usr/lib/.build-id/d9/f88ecfafac71e57f7d3c717a68dab5d2cdd76a -usr/lib/.build-id/da/4145ec9cd6ba78724a5eddefa8fb40b92d8e35 -usr/lib/.build-id/da/f5ed23ee84a5eaed42688941e72e4dd80b28c5 -usr/lib/.build-id/db/14f5ebfab3b8ccc904710687df2ebb2d268199 -usr/lib/.build-id/db/2f1f43a3e9181f09b75439b67e19e7120c175a -usr/lib/.build-id/db/9cc748a2bcfe89cbcb6ee47480f12de00f3b5d -usr/lib/.build-id/db/c74f6ad7c9d54f4feb294109d2225c318186bf -usr/lib/.build-id/dc/2f89840cbe2a839172a5fc30bf5ab62a529cc1 -usr/lib/.build-id/dc/ba73fdd7978f554e1d0a52a1fcd41ff9455b3d -usr/lib/.build-id/dd/44b4e9099efddaa9340a79d763beaaa891e3c7 -usr/lib/.build-id/dd/642b5408aed5707ffbf544feab134776f87664 -usr/lib/.build-id/dd/bf31a18c1e7dab7ab04e61c0597f97db7bb6dc -usr/lib/.build-id/dd/ce873a712e52481282e717597f676a2b3ca7d0 -usr/lib/.build-id/dd/def81be1b20358130899ef6577c56a92247f22 -usr/lib/.build-id/de/09af2f59150dab7fa7192c3dd6183085308472 -usr/lib/.build-id/de/2168603d46b596f879a1e3ce55e9f63a47de19 -usr/lib/.build-id/de/51b788f5accce1218596db86c3e996a6410d29 -usr/lib/.build-id/de/acda4228d1fac7480ee0f1195e502859fe0ce9 -usr/lib/.build-id/de/d808d43836f23c3e6c975c4978776f5a7de1d4 -usr/lib/.build-id/df/0b5c7ef77fb831aae9cf426a1b65e730585921 -usr/lib/.build-id/df/1a3c5ee90bf8c9a165b6741e048369985e119b -usr/lib/.build-id/df/52de2d4fa80156cefde96f1baa7a93d79e815b -usr/lib/.build-id/df/a012e581ec0a44c510d251ec83124dce930d99 -usr/lib/.build-id/e0/7e32352d404d5c80c9b277e5614fbcf9c5990d -usr/lib/.build-id/e0/aa0cc782acb17a27ccb9d3905ca00cd89d8602 -usr/lib/.build-id/e2/6c40ec3ffb8c68c6884ef24553ec0ccd2767c5 -usr/lib/.build-id/e2/ae2fd3245dd49e9708c349d1ab2574b912c890 -usr/lib/.build-id/e3/317130b5733f588340145ed19a970010d724c9 -usr/lib/.build-id/e3/34b6463967aa5c62663a0ed0499d973fcd0e19 -usr/lib/.build-id/e3/373348e98df983d5427fa7a449c1b25266adac -usr/lib/.build-id/e4/1da92f519d488732152c0ccaff8d40ac1d85d0 -usr/lib/.build-id/e4/1da92f519d488732152c0ccaff8d40ac1d85d0.1 -usr/lib/.build-id/e4/56876295d4f0a1f84b5e8252bbe40d83c74a01 -usr/lib/.build-id/e4/61f53613589686c40a8532daab77853384be84 -usr/lib/.build-id/e5/1545990a70477e0f788421789298cb082cae05 -usr/lib/.build-id/e5/65421a9a98266dd85864c83e93cca94f571cb3 -usr/lib/.build-id/e6/54b36219c41b7bf0e53da8b852ac0f16c6fe68 -usr/lib/.build-id/e6/c8b4a33186e3bef9109140f3933cea85160e49 -usr/lib/.build-id/e6/d3d786e45ed72e64aa51b411b6bfd10b3cd5ed -usr/lib/.build-id/e7/7f12cde0b4650b235c4ff8b16c14ad69640cc1 -usr/lib/.build-id/e9/b33780ee9e28d4c32fa5676913a5b4f21fabb6 -usr/lib/.build-id/ea/72858daf12161670cae59dedd094e906860449 -usr/lib/.build-id/eb/1567d781c7041e9f0de36ce4a938e0f49a9b87 -usr/lib/.build-id/eb/3e689620ed80333c0c242cb33ec8958f09e34d -usr/lib/.build-id/eb/8607c5f94bd46daeecf053cf258f17e99de04a -usr/lib/.build-id/eb/94b56bd6f0c9105bd23a18f04b7fc323278a53 -usr/lib/.build-id/ec/cfb4321e8627415a5c047e2dde51333c0e5335 -usr/lib/.build-id/ed/2f3218bc11e1634afb036bad1c322d23ea6dc4 -usr/lib/.build-id/ed/322aaba1b31c206c16263e3888d63c089a298c -usr/lib/.build-id/ed/5437e0cbcc920bca459752ad0e35c1f175679d -usr/lib/.build-id/ed/5d03d530f26f2b97851f7df46f4ffbb8299123 -usr/lib/.build-id/ed/5fed0e7d68d5b7cdc3f28c14f492031a2ef82e -usr/lib/.build-id/ed/752ac7517a23fee747a1d63915e1ca07fef1f9 -usr/lib/.build-id/ed/76776e0c126c32ad64012752a7b06625b68983 -usr/lib/.build-id/ed/c14c719a218de144d10ec189672809cbf21412 -usr/lib/.build-id/ee/af42b4939a64d6121437942b6a6cdc835af6cf -usr/lib/.build-id/ee/be2c6e75dadb513feb462393ff0152b461ed51 -usr/lib/.build-id/ef/0dbde9a935b7aad080cf4e0a339f39b4b2e848 -usr/lib/.build-id/ef/25daadef5c9256b0c8f78fa6c68bec50d77498 -usr/lib/.build-id/ef/b5632cead05a7106a883225ed5ade31d564133 -usr/lib/.build-id/f0/5ad2e73fe7df93582c144ac14509064367d6f8 -usr/lib/.build-id/f1/1837cea531bb63a62c9697cb7d1cac2412201b -usr/lib/.build-id/f1/34d5797db2043828d4692273b8d856e9d2d5ce -usr/lib/.build-id/f1/49b217168c897dfdb893c101929d3388cee40f -usr/lib/.build-id/f2/c3d1e4b45d2ac2c8e8f51765335b7887cda041 -usr/lib/.build-id/f2/c4bd462aed834a18ea784a6b579f59be2e0dce -usr/lib/.build-id/f3/5da0d6441d3c52d1828278f3b086e7f8040c59 -usr/lib/.build-id/f4/a4dab4b507caab83fc8658b59c0645fb8bc7af -usr/lib/.build-id/f5/48fac9852f35f367e7ff7362d503b41549d2d1 -usr/lib/.build-id/f5/63d2f6cf1f319e380bf133bd655920509e83ea -usr/lib/.build-id/f5/de75e7442a041f452c3139774a368c31e0c1d8 -usr/lib/.build-id/f6/560bea696fe1557e8d7954bdaf2b957535a0f9 -usr/lib/.build-id/f6/8daa8ecc068c68961a935f5fdebca23eeca60a -usr/lib/.build-id/f7/3490d54e0af4bec74b5963c929f760d39ada1b -usr/lib/.build-id/f7/4da02afa108ca2fed4f73c30482fa5e4666de5 -usr/lib/.build-id/f7/6814dd76420c0abf87f12d0d45efb6fb563087 -usr/lib/.build-id/f7/9c3627b581707a6c81eb1a3b6543138be850d4 -usr/lib/.build-id/f8/33da8e61498c59c4b5c19b85609bb5532393a9 -usr/lib/.build-id/f8/ae65cef6bdfdfc1b8e3ad615262408182dc631 -usr/lib/.build-id/f8/db8c26a0c69d788f8fd8ceeaf1ca214c6f62b4 -usr/lib/.build-id/f9/01cf2fb4a4a175107b63449c9f34f3d1215164 -usr/lib/.build-id/fa/4245e55d63335ffd990485510feed18f16655e -usr/lib/.build-id/fa/44339b6ab408b15503d3f135319cda6900611f -usr/lib/.build-id/fa/a50353e70cf980986923fb644ff31cbeb4d8e9 -usr/lib/.build-id/fb/96a1b1fcc82ad575c8ccbb3f823e5f36c676f8 -usr/lib/.build-id/fb/b8d4947efe2f43e6b24b3635dc0bba9d0b5d1f -usr/lib/.build-id/fb/bbfeaa275b77a801622715da0b579ecd99bfd7 -usr/lib/.build-id/fc/27d40c916b23437641a70513e1ffc2ccfa7557 -usr/lib/.build-id/fd/0943f9bd6fcd66337053221a27259a2ca501f4 -usr/lib/.build-id/fd/293e96cab1a5967f602f98d4232b9536c3f3ff -usr/lib/.build-id/fd/3ffce6a8a3ed60adc092a815191df1cfbecb63 -usr/lib/.build-id/fd/728af0cf15feae944716ff7269ec21a71c58ef -usr/lib/.build-id/fd/9fa6cff82c006b6c588386983e1bb5c8b30857 -usr/lib/.build-id/fd/e188f5067218099974ab4e600a6a43170aea60 -usr/lib/.build-id/fe/8da1a3d7fa5e281198dc6d10e3f9d79f278851 -usr/lib/.build-id/fe/ce5696d52c8bb4f3e4e4379dad30e230923437 usr/lib/ld-linux-aarch64.so.1 usr/lib/locale/C.utf8/LC_ADDRESS usr/lib/locale/C.utf8/LC_COLLATE @@ -1024,14 +350,7 @@ usr/lib64/gconv/ASMO_449.so usr/lib64/gconv/BIG5.so usr/lib64/gconv/BIG5HKSCS.so usr/lib64/gconv/BRF.so -usr/lib64/gconv/CP737.so -usr/lib64/gconv/CP770.so -usr/lib64/gconv/CP771.so -usr/lib64/gconv/CP772.so -usr/lib64/gconv/CP773.so -usr/lib64/gconv/CP774.so -usr/lib64/gconv/CP775.so -usr/lib64/gconv/CP932.so +usr/lib64/gconv/CP10007.so usr/lib64/gconv/CP1125.so usr/lib64/gconv/CP1250.so usr/lib64/gconv/CP1251.so @@ -1042,20 +361,27 @@ usr/lib64/gconv/CP1255.so usr/lib64/gconv/CP1256.so usr/lib64/gconv/CP1257.so usr/lib64/gconv/CP1258.so -usr/lib64/gconv/CP10007.so +usr/lib64/gconv/CP737.so +usr/lib64/gconv/CP770.so +usr/lib64/gconv/CP771.so +usr/lib64/gconv/CP772.so +usr/lib64/gconv/CP773.so +usr/lib64/gconv/CP774.so +usr/lib64/gconv/CP775.so +usr/lib64/gconv/CP932.so usr/lib64/gconv/CSN_369103.so usr/lib64/gconv/CWI.so usr/lib64/gconv/DEC-MCS.so -usr/lib64/gconv/EBCDIC-AT-DE.so usr/lib64/gconv/EBCDIC-AT-DE-A.so +usr/lib64/gconv/EBCDIC-AT-DE.so usr/lib64/gconv/EBCDIC-CA-FR.so -usr/lib64/gconv/EBCDIC-DK-NO.so usr/lib64/gconv/EBCDIC-DK-NO-A.so -usr/lib64/gconv/EBCDIC-ES.so +usr/lib64/gconv/EBCDIC-DK-NO.so usr/lib64/gconv/EBCDIC-ES-A.so usr/lib64/gconv/EBCDIC-ES-S.so -usr/lib64/gconv/EBCDIC-FI-SE.so +usr/lib64/gconv/EBCDIC-ES.so usr/lib64/gconv/EBCDIC-FI-SE-A.so +usr/lib64/gconv/EBCDIC-FI-SE.so usr/lib64/gconv/EBCDIC-FR.so usr/lib64/gconv/EBCDIC-IS-FRISS.so usr/lib64/gconv/EBCDIC-IT.so @@ -1065,8 +391,8 @@ usr/lib64/gconv/EBCDIC-US.so usr/lib64/gconv/ECMA-CYRILLIC.so usr/lib64/gconv/EUC-CN.so usr/lib64/gconv/EUC-JISX0213.so -usr/lib64/gconv/EUC-JP.so usr/lib64/gconv/EUC-JP-MS.so +usr/lib64/gconv/EUC-JP.so usr/lib64/gconv/EUC-KR.so usr/lib64/gconv/EUC-TW.so usr/lib64/gconv/GB18030.so @@ -1076,9 +402,9 @@ usr/lib64/gconv/GBK.so usr/lib64/gconv/GEORGIAN-ACADEMY.so usr/lib64/gconv/GEORGIAN-PS.so usr/lib64/gconv/GOST_19768-74.so -usr/lib64/gconv/GREEK7.so -usr/lib64/gconv/GREEK7-OLD.so usr/lib64/gconv/GREEK-CCITT.so +usr/lib64/gconv/GREEK7-OLD.so +usr/lib64/gconv/GREEK7.so usr/lib64/gconv/HP-GREEK8.so usr/lib64/gconv/HP-ROMAN8.so usr/lib64/gconv/HP-ROMAN9.so @@ -1086,6 +412,53 @@ usr/lib64/gconv/HP-THAI8.so usr/lib64/gconv/HP-TURKISH8.so usr/lib64/gconv/IBM037.so usr/lib64/gconv/IBM038.so +usr/lib64/gconv/IBM1004.so +usr/lib64/gconv/IBM1008.so +usr/lib64/gconv/IBM1008_420.so +usr/lib64/gconv/IBM1025.so +usr/lib64/gconv/IBM1026.so +usr/lib64/gconv/IBM1046.so +usr/lib64/gconv/IBM1047.so +usr/lib64/gconv/IBM1097.so +usr/lib64/gconv/IBM1112.so +usr/lib64/gconv/IBM1122.so +usr/lib64/gconv/IBM1123.so +usr/lib64/gconv/IBM1124.so +usr/lib64/gconv/IBM1129.so +usr/lib64/gconv/IBM1130.so +usr/lib64/gconv/IBM1132.so +usr/lib64/gconv/IBM1133.so +usr/lib64/gconv/IBM1137.so +usr/lib64/gconv/IBM1140.so +usr/lib64/gconv/IBM1141.so +usr/lib64/gconv/IBM1142.so +usr/lib64/gconv/IBM1143.so +usr/lib64/gconv/IBM1144.so +usr/lib64/gconv/IBM1145.so +usr/lib64/gconv/IBM1146.so +usr/lib64/gconv/IBM1147.so +usr/lib64/gconv/IBM1148.so +usr/lib64/gconv/IBM1149.so +usr/lib64/gconv/IBM1153.so +usr/lib64/gconv/IBM1154.so +usr/lib64/gconv/IBM1155.so +usr/lib64/gconv/IBM1156.so +usr/lib64/gconv/IBM1157.so +usr/lib64/gconv/IBM1158.so +usr/lib64/gconv/IBM1160.so +usr/lib64/gconv/IBM1161.so +usr/lib64/gconv/IBM1162.so +usr/lib64/gconv/IBM1163.so +usr/lib64/gconv/IBM1164.so +usr/lib64/gconv/IBM1166.so +usr/lib64/gconv/IBM1167.so +usr/lib64/gconv/IBM12712.so +usr/lib64/gconv/IBM1364.so +usr/lib64/gconv/IBM1371.so +usr/lib64/gconv/IBM1388.so +usr/lib64/gconv/IBM1390.so +usr/lib64/gconv/IBM1399.so +usr/lib64/gconv/IBM16804.so usr/lib64/gconv/IBM256.so usr/lib64/gconv/IBM273.so usr/lib64/gconv/IBM274.so @@ -1102,7 +475,12 @@ usr/lib64/gconv/IBM420.so usr/lib64/gconv/IBM423.so usr/lib64/gconv/IBM424.so usr/lib64/gconv/IBM437.so +usr/lib64/gconv/IBM4517.so +usr/lib64/gconv/IBM4899.so +usr/lib64/gconv/IBM4909.so +usr/lib64/gconv/IBM4971.so usr/lib64/gconv/IBM500.so +usr/lib64/gconv/IBM5347.so usr/lib64/gconv/IBM803.so usr/lib64/gconv/IBM850.so usr/lib64/gconv/IBM851.so @@ -1130,8 +508,10 @@ usr/lib64/gconv/IBM891.so usr/lib64/gconv/IBM901.so usr/lib64/gconv/IBM902.so usr/lib64/gconv/IBM903.so +usr/lib64/gconv/IBM9030.so usr/lib64/gconv/IBM904.so usr/lib64/gconv/IBM905.so +usr/lib64/gconv/IBM9066.so usr/lib64/gconv/IBM918.so usr/lib64/gconv/IBM921.so usr/lib64/gconv/IBM922.so @@ -1142,68 +522,27 @@ usr/lib64/gconv/IBM935.so usr/lib64/gconv/IBM937.so usr/lib64/gconv/IBM939.so usr/lib64/gconv/IBM943.so -usr/lib64/gconv/IBM1004.so -usr/lib64/gconv/IBM1008.so -usr/lib64/gconv/IBM1008_420.so -usr/lib64/gconv/IBM1025.so -usr/lib64/gconv/IBM1026.so -usr/lib64/gconv/IBM1046.so -usr/lib64/gconv/IBM1047.so -usr/lib64/gconv/IBM1097.so -usr/lib64/gconv/IBM1112.so -usr/lib64/gconv/IBM1122.so -usr/lib64/gconv/IBM1123.so -usr/lib64/gconv/IBM1124.so -usr/lib64/gconv/IBM1129.so -usr/lib64/gconv/IBM1130.so -usr/lib64/gconv/IBM1132.so -usr/lib64/gconv/IBM1133.so -usr/lib64/gconv/IBM1137.so -usr/lib64/gconv/IBM1140.so -usr/lib64/gconv/IBM1141.so -usr/lib64/gconv/IBM1142.so -usr/lib64/gconv/IBM1143.so -usr/lib64/gconv/IBM1144.so -usr/lib64/gconv/IBM1145.so -usr/lib64/gconv/IBM1146.so -usr/lib64/gconv/IBM1147.so -usr/lib64/gconv/IBM1148.so -usr/lib64/gconv/IBM1149.so -usr/lib64/gconv/IBM1153.so -usr/lib64/gconv/IBM1154.so -usr/lib64/gconv/IBM1155.so -usr/lib64/gconv/IBM1156.so -usr/lib64/gconv/IBM1157.so -usr/lib64/gconv/IBM1158.so -usr/lib64/gconv/IBM1160.so -usr/lib64/gconv/IBM1161.so -usr/lib64/gconv/IBM1162.so -usr/lib64/gconv/IBM1163.so -usr/lib64/gconv/IBM1164.so -usr/lib64/gconv/IBM1166.so -usr/lib64/gconv/IBM1167.so -usr/lib64/gconv/IBM1364.so -usr/lib64/gconv/IBM1371.so -usr/lib64/gconv/IBM1388.so -usr/lib64/gconv/IBM1390.so -usr/lib64/gconv/IBM1399.so -usr/lib64/gconv/IBM4517.so -usr/lib64/gconv/IBM4899.so -usr/lib64/gconv/IBM4909.so -usr/lib64/gconv/IBM4971.so -usr/lib64/gconv/IBM5347.so -usr/lib64/gconv/IBM9030.so -usr/lib64/gconv/IBM9066.so usr/lib64/gconv/IBM9448.so -usr/lib64/gconv/IBM12712.so -usr/lib64/gconv/IBM16804.so usr/lib64/gconv/IEC_P27-1.so -usr/lib64/gconv/INIS.so usr/lib64/gconv/INIS-8.so usr/lib64/gconv/INIS-CYRILLIC.so +usr/lib64/gconv/INIS.so usr/lib64/gconv/ISIRI-3342.so +usr/lib64/gconv/ISO-2022-CN-EXT.so +usr/lib64/gconv/ISO-2022-CN.so +usr/lib64/gconv/ISO-2022-JP-3.so +usr/lib64/gconv/ISO-2022-JP.so +usr/lib64/gconv/ISO-2022-KR.so +usr/lib64/gconv/ISO-IR-197.so +usr/lib64/gconv/ISO-IR-209.so usr/lib64/gconv/ISO646.so usr/lib64/gconv/ISO8859-1.so +usr/lib64/gconv/ISO8859-10.so +usr/lib64/gconv/ISO8859-11.so +usr/lib64/gconv/ISO8859-13.so +usr/lib64/gconv/ISO8859-14.so +usr/lib64/gconv/ISO8859-15.so +usr/lib64/gconv/ISO8859-16.so usr/lib64/gconv/ISO8859-2.so usr/lib64/gconv/ISO8859-3.so usr/lib64/gconv/ISO8859-4.so @@ -1213,40 +552,27 @@ usr/lib64/gconv/ISO8859-7.so usr/lib64/gconv/ISO8859-8.so usr/lib64/gconv/ISO8859-9.so usr/lib64/gconv/ISO8859-9E.so -usr/lib64/gconv/ISO8859-10.so -usr/lib64/gconv/ISO8859-11.so -usr/lib64/gconv/ISO8859-13.so -usr/lib64/gconv/ISO8859-14.so -usr/lib64/gconv/ISO8859-15.so -usr/lib64/gconv/ISO8859-16.so -usr/lib64/gconv/ISO-2022-CN.so -usr/lib64/gconv/ISO-2022-CN-EXT.so -usr/lib64/gconv/ISO-2022-JP.so -usr/lib64/gconv/ISO-2022-JP-3.so -usr/lib64/gconv/ISO-2022-KR.so -usr/lib64/gconv/ISO-IR-197.so -usr/lib64/gconv/ISO-IR-209.so +usr/lib64/gconv/ISO_10367-BOX.so +usr/lib64/gconv/ISO_11548-1.so usr/lib64/gconv/ISO_2033.so -usr/lib64/gconv/ISO_5427.so usr/lib64/gconv/ISO_5427-EXT.so +usr/lib64/gconv/ISO_5427.so usr/lib64/gconv/ISO_5428.so -usr/lib64/gconv/ISO_6937.so usr/lib64/gconv/ISO_6937-2.so -usr/lib64/gconv/ISO_10367-BOX.so -usr/lib64/gconv/ISO_11548-1.so +usr/lib64/gconv/ISO_6937.so usr/lib64/gconv/JOHAB.so +usr/lib64/gconv/KOI-8.so usr/lib64/gconv/KOI8-R.so usr/lib64/gconv/KOI8-RU.so usr/lib64/gconv/KOI8-T.so usr/lib64/gconv/KOI8-U.so -usr/lib64/gconv/KOI-8.so -usr/lib64/gconv/LATIN-GREEK.so usr/lib64/gconv/LATIN-GREEK-1.so -usr/lib64/gconv/MACINTOSH.so +usr/lib64/gconv/LATIN-GREEK.so usr/lib64/gconv/MAC-CENTRALEUROPE.so usr/lib64/gconv/MAC-IS.so usr/lib64/gconv/MAC-SAMI.so usr/lib64/gconv/MAC-UK.so +usr/lib64/gconv/MACINTOSH.so usr/lib64/gconv/MIK.so usr/lib64/gconv/NATS-DANO.so usr/lib64/gconv/NATS-SEFI.so @@ -1255,15 +581,15 @@ usr/lib64/gconv/RK1048.so usr/lib64/gconv/SAMI-WS2.so usr/lib64/gconv/SHIFT_JISX0213.so usr/lib64/gconv/SJIS.so +usr/lib64/gconv/T.61.so usr/lib64/gconv/TCVN5712-1.so usr/lib64/gconv/TIS-620.so usr/lib64/gconv/TSCII.so -usr/lib64/gconv/T.61.so usr/lib64/gconv/UHC.so usr/lib64/gconv/UNICODE.so -usr/lib64/gconv/UTF-7.so usr/lib64/gconv/UTF-16.so usr/lib64/gconv/UTF-32.so +usr/lib64/gconv/UTF-7.so usr/lib64/gconv/VISCII.so usr/lib64/gconv/gconv-modules usr/lib64/gconv/gconv-modules.cache @@ -1275,12 +601,13 @@ usr/lib64/gconv/libJIS.so usr/lib64/gconv/libJISX0213.so usr/lib64/gconv/libKSC.so usr/lib64/gio/modules/libgiognomeproxy.so -usr/lib64/gio/modules/libgiognutls.so usr/lib64/gio/modules/libgiolibproxy.so usr/lib64/girepository-1.0/GUdev-1.0.typelib usr/lib64/girepository-1.0/GeocodeGlib-1.0.typelib usr/lib64/girepository-1.0/Json-1.0.typelib @rmtry usr/lib64/gio/modules/giomodule.cache +usr/lib64/girepository-1.0/Soup-2.4.typelib +usr/lib64/girepository-1.0/SoupGNOME-2.4.typelib usr/lib64/krb5/plugins/preauth/spake.so usr/lib64/krb5/plugins/tls/k5tls.so usr/lib64/libBrokenLocale.so.1 @@ -1292,6 +619,12 @@ usr/lib64/libattr.so.1 usr/lib64/libattr.so.1.1.2501 usr/lib64/libblkid.so.1 usr/lib64/libblkid.so.1.1.0 +usr/lib64/libbrotlicommon.so.1 +usr/lib64/libbrotlicommon.so.1.0.9 +usr/lib64/libbrotlidec.so.1 +usr/lib64/libbrotlidec.so.1.0.9 +usr/lib64/libbrotlienc.so.1 +usr/lib64/libbrotlienc.so.1.0.9 usr/lib64/libbz2.so.1 usr/lib64/libbz2.so.1.0.8 usr/lib64/libc.so.6 @@ -1355,6 +688,8 @@ usr/lib64/libgudev-1.0.so.0 usr/lib64/libgudev-1.0.so.0.3.0 usr/lib64/libhistory.so.8 usr/lib64/libhistory.so.8.1 +usr/lib64/libidn2.so.0 +usr/lib64/libidn2.so.0.3.7 usr/lib64/libjson-glib-1.0.so.0 usr/lib64/libjson-glib-1.0.so.0.600.6 usr/lib64/libk5crypto.so.3 @@ -1400,22 +735,24 @@ usr/lib64/libpcre.so.1 usr/lib64/libpcre.so.1.2.12 usr/lib64/libpcre16.so.0 usr/lib64/libpcre16.so.0.2.12 -usr/lib64/libpcre32.so.0 -usr/lib64/libpcre32.so.0.0.12 -usr/lib64/libpcreposix.so.0 -usr/lib64/libpcreposix.so.0.0.7 -usr/lib64/libpcre2-8.so.0 -usr/lib64/libpcre2-8.so.0.11.0 usr/lib64/libpcre2-16.so.0 usr/lib64/libpcre2-16.so.0.11.0 usr/lib64/libpcre2-32.so.0 usr/lib64/libpcre2-32.so.0.11.0 +usr/lib64/libpcre2-8.so.0 +usr/lib64/libpcre2-8.so.0.11.0 usr/lib64/libpcre2-posix.so.3 usr/lib64/libpcre2-posix.so.3.0.2 +usr/lib64/libpcre32.so.0 +usr/lib64/libpcre32.so.0.0.12 +usr/lib64/libpcreposix.so.0 +usr/lib64/libpcreposix.so.0.0.7 usr/lib64/libpopt.so.0 usr/lib64/libpopt.so.0.0.1 usr/lib64/libproxy.so.1 usr/lib64/libproxy.so.1.0.0 +usr/lib64/libpsl.so.5 +usr/lib64/libpsl.so.5.3.3 usr/lib64/libpsx.so.2 usr/lib64/libpsx.so.2.48 usr/lib64/libpthread.so.0 @@ -1431,6 +768,12 @@ usr/lib64/libslang.so.2 usr/lib64/libslang.so.2.3.2 usr/lib64/libsmartcols.so.1 usr/lib64/libsmartcols.so.1.1.0 +usr/lib64/libsoup-2.4.so.1 +usr/lib64/libsoup-2.4.so.1.11.0 +usr/lib64/libsoup-gnome-2.4.so.1 +usr/lib64/libsoup-gnome-2.4.so.1.11.0 +usr/lib64/libsqlite3.so.0 +usr/lib64/libsqlite3.so.0.8.6 usr/lib64/libssl.so.3 usr/lib64/libssl.so.3.2.2 usr/lib64/libstdc++.so.6 @@ -1442,6 +785,8 @@ usr/lib64/libtinfo.so.6 usr/lib64/libtinfo.so.6.2 usr/lib64/libulockmgr.so.1 usr/lib64/libulockmgr.so.1.0.1 +usr/lib64/libunistring.so.2 +usr/lib64/libunistring.so.2.1.0 usr/lib64/libutil.so.1 usr/lib64/libuuid.so.1 usr/lib64/libuuid.so.1.3.0 @@ -1450,7 +795,7 @@ usr/lib64/libverto.so.1.0.0 usr/lib64/libz.so.1 usr/lib64/libz.so.1.2.11 usr/lib64/libzstd.so.1 -usr/lib64/libzstd.so.1.5.1 +usr/lib64/libzstd.so.1.5.5 usr/lib64/ossl-modules/fips.so usr/lib64/ossl-modules/legacy.so usr/lib64/security/pam_cap.so @@ -1712,11 +1057,20 @@ usr/share/dbus-1/services/org.gtk.GLib.PACRunner.service %%PORTDOCS%%usr/share/doc/libevdev/COPYING %%PORTDOCS%%usr/share/doc/libffi/README.md %%PORTDOCS%%usr/share/doc/libgudev/NEWS +%%PORTDOCS%%usr/share/doc/libidn2/AUTHORS +%%PORTDOCS%%usr/share/doc/libidn2/NEWS +%%PORTDOCS%%usr/share/doc/libidn2/README.md %%PORTDOCS%%usr/share/doc/libproxy/AUTHORS %%PORTDOCS%%usr/share/doc/libproxy/README %%PORTDOCS%%usr/share/doc/libsigsegv/AUTHORS %%PORTDOCS%%usr/share/doc/libsigsegv/NEWS %%PORTDOCS%%usr/share/doc/libsigsegv/README +%%PORTDOCS%%usr/share/doc/libsoup/AUTHORS +%%PORTDOCS%%usr/share/doc/libsoup/NEWS +%%PORTDOCS%%usr/share/doc/libsoup/README +%%PORTDOCS%%usr/share/doc/libunistring/AUTHORS +%%PORTDOCS%%usr/share/doc/libunistring/NEWS +%%PORTDOCS%%usr/share/doc/libunistring/README %%PORTDOCS%%usr/share/doc/libverto/AUTHORS %%PORTDOCS%%usr/share/doc/libverto/ChangeLog %%PORTDOCS%%usr/share/doc/libverto/NEWS @@ -1737,12 +1091,12 @@ usr/share/dbus-1/services/org.gtk.GLib.PACRunner.service %%PORTDOCS%%usr/share/doc/ncurses/NEWS.xz %%PORTDOCS%%usr/share/doc/ncurses/README %%PORTDOCS%%usr/share/doc/ncurses/TO-DO -%%PORTDOCS%%usr/share/doc/pcre/AUTHORS -%%PORTDOCS%%usr/share/doc/pcre/NEWS %%PORTDOCS%%usr/share/doc/pcre-utf16/AUTHORS %%PORTDOCS%%usr/share/doc/pcre-utf16/NEWS %%PORTDOCS%%usr/share/doc/pcre-utf32/AUTHORS %%PORTDOCS%%usr/share/doc/pcre-utf32/NEWS +%%PORTDOCS%%usr/share/doc/pcre/AUTHORS +%%PORTDOCS%%usr/share/doc/pcre/NEWS %%PORTDOCS%%usr/share/doc/popt/CHANGES %%PORTDOCS%%usr/share/doc/rocky-release/COMMUNITY-CHARTER %%PORTDOCS%%usr/share/doc/rocky-release/Contributors @@ -1756,6 +1110,7 @@ usr/share/dbus-1/services/org.gtk.GLib.PACRunner.service %%PORTDOCS%%usr/share/doc/setserial/rc.serial %%PORTDOCS%%usr/share/doc/setup/uidgid %%PORTDOCS%%usr/share/doc/slang/NEWS +%%PORTDOCS%%usr/share/doc/sqlite-libs/README.md %%PORTDOCS%%usr/share/doc/util-linux/AUTHORS %%PORTDOCS%%usr/share/doc/util-linux/NEWS %%PORTDOCS%%usr/share/doc/util-linux/README @@ -1832,6 +1187,7 @@ usr/share/licenses/keyutils/LICENCE.GPL usr/share/licenses/krb5-libs/LICENSE usr/share/licenses/less/COPYING usr/share/licenses/less/LICENSE +usr/share/licenses/libbrotli/LICENSE usr/share/licenses/libcap/License usr/share/licenses/libcom_err/NOTICE usr/share/licenses/libdatrie/COPYING @@ -1847,15 +1203,23 @@ usr/share/licenses/libgcc/COPYING.RUNTIME usr/share/licenses/libgcc/COPYING3 usr/share/licenses/libgcc/COPYING3.LIB usr/share/licenses/libgudev/COPYING +usr/share/licenses/libidn2/COPYING +usr/share/licenses/libidn2/COPYING.LESSERv3 +usr/share/licenses/libidn2/COPYING.unicode +usr/share/licenses/libidn2/COPYINGv2 usr/share/licenses/libmount/COPYING usr/share/licenses/libmount/COPYING.LGPL-2.1-or-later usr/share/licenses/libproxy/COPYING usr/share/licenses/libproxy/Copyright.txt +usr/share/licenses/libpsl/COPYING usr/share/licenses/libselinux/LICENSE usr/share/licenses/libsepol/LICENSE usr/share/licenses/libsigsegv/COPYING usr/share/licenses/libsmartcols/COPYING usr/share/licenses/libsmartcols/COPYING.LGPL-2.1-or-later +usr/share/licenses/libsoup/COPYING +usr/share/licenses/libunistring/COPYING +usr/share/licenses/libunistring/COPYING.LIB usr/share/licenses/libuuid/COPYING usr/share/licenses/libuuid/COPYING.BSD-3-Clause usr/share/licenses/libverto/COPYING @@ -1868,12 +1232,12 @@ usr/share/licenses/mpfr/COPYING usr/share/licenses/mpfr/COPYING.LESSER usr/share/licenses/ncurses-base/COPYING usr/share/licenses/openssl-libs/LICENSE.txt -usr/share/licenses/pcre/COPYING -usr/share/licenses/pcre/LICENCE usr/share/licenses/pcre-utf16/COPYING usr/share/licenses/pcre-utf16/LICENCE usr/share/licenses/pcre-utf32/COPYING usr/share/licenses/pcre-utf32/LICENCE +usr/share/licenses/pcre/COPYING +usr/share/licenses/pcre/LICENCE usr/share/licenses/popt/COPYING usr/share/licenses/readline/COPYING usr/share/licenses/readline/USAGE @@ -1897,11 +1261,13 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/am/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/an/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/an/LC_MESSAGES/glib20.mo +%%NLS%%usr/share/locale/an/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ar/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/ar/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/as/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/as/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/as/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/as/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ast/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ast/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/az/LC_MESSAGES/glib20.mo @@ -1911,6 +1277,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/be/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/be/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/be/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/be/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/be@latin/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/bg/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/bg/LC_MESSAGES/diffutils.mo @@ -1920,14 +1287,17 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/bg/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/bg/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/bg/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/bg/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/bg/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/bn/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/bn_IN/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/bn_IN/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/bn_IN/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/bn_IN/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/bs/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/bs/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/bs/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/bs/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ca/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/ca/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/ca/LC_MESSAGES/e2fsprogs.mo @@ -1937,11 +1307,13 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ca/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/ca/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/ca/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/ca/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ca/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/ca/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/ca@valencia/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/ca@valencia/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ca@valencia/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/ca@valencia/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/e2fsprogs.mo @@ -1951,6 +1323,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/cs/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/cs/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/cs/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/util-linux.mo @@ -1964,6 +1338,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/da/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/da/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/da/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/da/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/da/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/da/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/da/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/da/LC_MESSAGES/util-linux.mo @@ -1976,6 +1352,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/de/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/de/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/de/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/de/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/de/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/de/LC_MESSAGES/mit-krb5.mo %%NLS%%usr/share/locale/de/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/de/LC_MESSAGES/sed.mo @@ -1989,6 +1367,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/el/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/el/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/el/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/el/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/el/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/en@boldquot/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/en@quot/LC_MESSAGES/bash.mo @@ -1999,6 +1378,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/en_GB/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/en_GB/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/en_GB/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/en_GB/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/en_US/LC_MESSAGES/mit-krb5.mo %%NLS%%usr/share/locale/eo/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/eo/LC_MESSAGES/diffutils.mo @@ -2009,6 +1389,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/eo/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/eo/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/eo/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/eo/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/eo/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/eo/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/eo/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/es/LC_MESSAGES/bash.mo @@ -2020,6 +1402,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/es/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/es/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/es/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/es/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/es/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/es/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/es/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/es/LC_MESSAGES/util-linux.mo @@ -2029,16 +1413,19 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/et/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/et/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/et/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/et/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/et/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/et/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/eu/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/eu/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/eu/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/eu/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/eu/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/eu/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/eu/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/fa/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/fa/LC_MESSAGES/glib20.mo +%%NLS%%usr/share/locale/fa/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/e2fsprogs.mo @@ -2047,6 +1434,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/fi/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/fi/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/fi/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/util-linux.mo @@ -2059,12 +1448,16 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/fr/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/fr/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/fr/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/fr/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/fr/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/fr/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/fr/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/fr/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/fur/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/fur/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/fur/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/fur/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/fur/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ga/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/ga/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/ga/LC_MESSAGES/findutils.mo @@ -2074,6 +1467,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ga/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/gd/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/gd/LC_MESSAGES/glib20.mo +%%NLS%%usr/share/locale/gd/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/findutils.mo @@ -2082,20 +1476,24 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/gl/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/gl/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/gu/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/gu/LC_MESSAGES/glib20.mo +%%NLS%%usr/share/locale/gu/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/he/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/he/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/he/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/he/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/he/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/he/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/he/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/hi/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/hi/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/hi/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/hi/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/hr/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/hr/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/hr/LC_MESSAGES/findutils.mo @@ -2104,6 +1502,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/hr/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/hr/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/hr/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/hr/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/hr/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/hr/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/hr/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/hu/LC_MESSAGES/bash.mo @@ -2115,6 +1515,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/hu/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/hu/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/hu/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/hu/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/hu/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/hu/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/hu/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/hu/LC_MESSAGES/util-linux.mo @@ -2129,6 +1531,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/id/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/id/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/id/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/id/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/id/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/id/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/id/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/id/LC_MESSAGES/util-linux.mo @@ -2143,6 +1547,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/it/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/it/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/it/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/it/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/it/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/it/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/it/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/it/LC_MESSAGES/util-linux.mo @@ -2154,6 +1560,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ja/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/ja/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/ja/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/ja/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/ja/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ja/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/ja/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/ja/LC_MESSAGES/util-linux.mo @@ -2164,6 +1572,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/km/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/kn/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/kn/LC_MESSAGES/glib20.mo +%%NLS%%usr/share/locale/kn/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ko/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/ko/LC_MESSAGES/findutils.mo %%NLS%%usr/share/locale/ko/LC_MESSAGES/glib-networking.mo @@ -2171,6 +1580,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ko/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/ko/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/ko/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/ko/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ko/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/ko/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/ku/LC_MESSAGES/glib20.mo @@ -2185,10 +1595,12 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/lt/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/lt/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/lt/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/lt/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/lv/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/lv/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/lv/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/lv/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/lv/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/lv/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/mai/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/mg/LC_MESSAGES/glib20.mo @@ -2196,15 +1608,18 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ml/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/ml/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ml/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/ml/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/mn/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/mr/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/mr/LC_MESSAGES/glib20.mo +%%NLS%%usr/share/locale/mr/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ms/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/ms/LC_MESSAGES/e2fsprogs.mo %%NLS%%usr/share/locale/ms/LC_MESSAGES/findutils.mo %%NLS%%usr/share/locale/ms/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/ms/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ms/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/ms/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/nb/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/nb/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/nb/LC_MESSAGES/findutils.mo @@ -2213,12 +1628,14 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/nb/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/nb/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/nb/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/nb/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/nb/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/nb/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/nds/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ne/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/ne/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ne/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/ne/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/e2fsprogs.mo @@ -2228,6 +1645,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/nl/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/nl/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/nl/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/util-linux.mo @@ -2235,13 +1654,16 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/oc/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/oc/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/oc/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/oc/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/or/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/or/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/or/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/or/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/pa/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/pa/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/pa/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/pa/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/pa/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/e2fsprogs.mo @@ -2251,6 +1673,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/pl/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/pl/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/pl/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/util-linux.mo @@ -2264,6 +1688,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/pt/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/pt/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/pt/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/pt/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/pt/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/pt/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/pt/LC_MESSAGES/util-linux.mo @@ -2275,6 +1700,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/pt_BR/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/pt_BR/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/pt_BR/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/pt_BR/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/pt_BR/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/pt_BR/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/pt_BR/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/ro/LC_MESSAGES/bash.mo @@ -2284,6 +1711,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ro/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ro/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/ro/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/ro/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/ro/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ro/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/ro/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/ru/LC_MESSAGES/bash.mo @@ -2294,6 +1723,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ru/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/ru/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/ru/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/ru/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/ru/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ru/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/ru/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/ru/LC_MESSAGES/util-linux.mo @@ -2307,6 +1738,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/sk/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/sk/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/sk/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/sk/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/sk/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/sk/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/sl/LC_MESSAGES/bash.mo @@ -2316,6 +1748,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/sl/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/sl/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/sl/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/sl/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/sl/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/sl/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/sl/LC_MESSAGES/util-linux.mo @@ -2329,11 +1762,14 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/sr/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/sr/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/sr/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/sr/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/sr/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/sr/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/sr@ije/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/sr@latin/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/sr@latin/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/sr@latin/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/sr@latin/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/e2fsprogs.mo @@ -2343,20 +1779,26 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/sv/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/sv/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/sv/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/ta/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/ta/LC_MESSAGES/glib20.mo +%%NLS%%usr/share/locale/ta/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/te/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/te/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/te/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/te/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/tg/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/tg/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/tg/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/tg/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/th/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/th/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/th/LC_MESSAGES/grep.mo +%%NLS%%usr/share/locale/th/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/th/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/tl/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/tr/LC_MESSAGES/bash.mo @@ -2368,6 +1810,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/tr/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/tr/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/tr/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/tr/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/tr/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/tr/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/tr/LC_MESSAGES/util-linux.mo @@ -2375,6 +1818,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ug/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/ug/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ug/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/ug/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/e2fsprogs.mo @@ -2384,9 +1828,12 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/uk/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/uk/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/uk/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/util-linux.mo +%%NLS%%usr/share/locale/uz@cyrillic/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/e2fsprogs.mo @@ -2396,6 +1843,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/vi/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/vi/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/vi/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/util-linux.mo @@ -2412,12 +1861,15 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/zh_HK/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/zh_HK/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/zh_HK/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/zh_HK/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/findutils.mo @@ -2426,6 +1878,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/util-linux.mo @@ -2557,6 +2010,7 @@ usr/share/man/man1/sh.1.gz usr/share/man/man1/shift.1.gz usr/share/man/man1/shopt.1.gz usr/share/man/man1/source.1.gz +usr/share/man/man1/sqlite3.1.gz usr/share/man/man1/su.1.gz usr/share/man/man1/suspend.1.gz usr/share/man/man1/tabs.1.gz @@ -2876,7 +2330,6 @@ var/mail @dir etc/yum.repos.d @dir opt @dir srv -@dir usr/lib64/gio/modules @dir var/adm @dir var/cache/bpf @dir var/cache/ldconfig diff --git a/emulators/linux_base-rl9/pkg-plist.amd64 b/emulators/linux_base-rl9/pkg-plist.amd64 index 8cb78167bdfa..f47b7a4aa1e6 100644 --- a/emulators/linux_base-rl9/pkg-plist.amd64 +++ b/emulators/linux_base-rl9/pkg-plist.amd64 @@ -142,6 +142,7 @@ usr/bin/getent usr/bin/getopt usr/bin/getopts usr/bin/gio +usr/bin/gio-querymodules-32 usr/bin/gio-querymodules-64 usr/bin/glib-compile-schemas usr/bin/grep @@ -241,6 +242,7 @@ usr/bin/sort usr/bin/sotruss usr/bin/split usr/bin/sprof +usr/bin/sqlite3 usr/bin/stat usr/bin/stdbuf usr/bin/stty @@ -293,1065 +295,6 @@ usr/bin/x86_64 usr/bin/xargs usr/bin/yes usr/bin/zdump -usr/bin/gio-querymodules-32 -usr/lib/.build-id/00/9b48d5cb84a9cdd20e8d9cb6f4503a6f94b2ee -usr/lib/.build-id/01/201b981f51b64cfb0e07db34a8252a31353426 -usr/lib/.build-id/02/603e4246c063d1c34cd9fbbd2721fc1be4c049 -usr/lib/.build-id/02/86ab2bbba17240d53eaf82c32695d971e46c86 -usr/lib/.build-id/02/d217bb279662aa8deb8aa69a855365bf030e8e -usr/lib/.build-id/02/d409ecc45523a36fcfae2ca5edc7f2f5d5d5de -usr/lib/.build-id/02/f091863382147c7bbc959a3990af53fccde1d3 -usr/lib/.build-id/03/062287a83b8a02758757eb5faa50eca18b9a67 -usr/lib/.build-id/03/16d79b382abb8deba8acefeb2099203d9d9492 -usr/lib/.build-id/03/5397d794a2e2357120e37f842bf8b292b9bf9e -usr/lib/.build-id/03/6e9719c32ed3cd88b2f89eddd06415ba5ce7c6 -usr/lib/.build-id/03/9385093a26e86647a6c9323e0d863be2fcd965 -usr/lib/.build-id/03/c3a8ca9bc5a41b1f0cff56749add9fd16d511e -usr/lib/.build-id/03/f27794d098ed66b2fc6bea6abf8901dd2f128a -usr/lib/.build-id/04/0c4605d103e0dd364c95dec2b047787e472024 -usr/lib/.build-id/04/220b5e9381dfa16798b371d71990945971aac7 -usr/lib/.build-id/04/67d718ac7b0e931394da3df929d94c8135cb81 -usr/lib/.build-id/04/6e0c6c02d81e2fe834d7153ac571fc23d5e5e9 -usr/lib/.build-id/04/a1e29956fd714c494aace0710f7e63a5ffe849 -usr/lib/.build-id/04/a2b622d97e62f8963491f4f522087eacdfdc59 -usr/lib/.build-id/04/c564e1d028792291cb6c7fbdef662e3a063c36 -usr/lib/.build-id/04/ce1b9f02dd35786a2a43a51c0a5deda750ccc8 -usr/lib/.build-id/05/06bf6451812b3f340946fcb6b7fe92129c39a2 -usr/lib/.build-id/05/2b3c0efa00d425d1d8d4d1f9b8d5c90f5aec4a -usr/lib/.build-id/05/439c543395d1136d16b6bc12999aae5651ea4c -usr/lib/.build-id/05/7d7194233570202972f8ca1a0212ea2d1d925e -usr/lib/.build-id/05/b8339e3eb56f73fc5ba51f2a657356e51a1350 -usr/lib/.build-id/06/37f16913d1372ef9ff7fe7146cb3c767f01324 -usr/lib/.build-id/06/4101991e2ce488e6ce50a466151dd581da8286 -usr/lib/.build-id/06/4def25b6799a475799b7169c05d676f5acfcaf -usr/lib/.build-id/06/68831ab28fd5a6801a8dbc0e7f85af12065e3b -usr/lib/.build-id/06/b1642cbf7c5b8579240a3f30b10447c399dcbc -usr/lib/.build-id/07/177b20d9cc92b5d2efd1b676101479a7e0f792 -usr/lib/.build-id/07/364ae680ca15c23aaa22d1bb7898f4b3cca433 -usr/lib/.build-id/07/4afdcce33254270af0e2193f9d37bbf560830d -usr/lib/.build-id/07/52fb9dc0a7f786f019b884b6b1585ce341507e -usr/lib/.build-id/07/c2f4cab4509892360abc52650b2548f1d0e2ee -usr/lib/.build-id/07/d7230d562e99284e7da17928b6ea8ea43f1f61 -usr/lib/.build-id/08/3f7cceb6cb05a1ed1d6ce5bd07fcfc2523b28b -usr/lib/.build-id/08/506448a1c1355fd65b579cde2e90bd45a7d4fd -usr/lib/.build-id/08/6d288f6ad3991af642ae4374601a660984b991 -usr/lib/.build-id/08/6f6f995a6e1c297267d796fbda20bbf4e684cd -usr/lib/.build-id/08/a83f7542848dd168d6b1581b897aef0397a87d -usr/lib/.build-id/08/c2d78ca1d752a6b422812fdff07589e0cd4440 -usr/lib/.build-id/09/2c3eeef149754537800950a044d8027c8ee279 -usr/lib/.build-id/09/ade426a0f0d95a968c7c334fca0d7d92ef6f7b -usr/lib/.build-id/09/e916f1d06781c9877666aad8e80757a9cd13f9 -usr/lib/.build-id/0a/47fead2b5d45d6d43e4313ce68ae67bbc7e051 -usr/lib/.build-id/0a/62cb1e0a6e041922acb7e0cfdcab148ea7dbfb -usr/lib/.build-id/0a/66b40b9fcc71d5984fd80121dbf28156a122a6 -usr/lib/.build-id/0a/8d9d48119c75ff6b732436bb51968844e49093 -usr/lib/.build-id/0a/ecc3bb2562cc7be4dd38b029b1da10c6992c9c -usr/lib/.build-id/0a/ed4fe4432a4f41efb80c0eaf4045282b7eca14 -usr/lib/.build-id/0b/e639b952fb9f808211717faa02779a11cf579a -usr/lib/.build-id/0c/0502bcc3c0505c450f566ab26fa0a351100d6c -usr/lib/.build-id/0c/1fb29e44ffedfc03fe04edb425c3c10ddd50e4 -usr/lib/.build-id/0c/331b968ebbc6757277334ad1d715d62cda2b3e -usr/lib/.build-id/0c/447c3cd1f62c711bee115ad4ea10ced1a73a1d -usr/lib/.build-id/0c/e90498e8909bac8c1be7e54156d557897db045 -usr/lib/.build-id/0d/1ff2e1036f0599c76d625ae462995fb476c5d9 -usr/lib/.build-id/0d/617cf4757dc9c4d26d258d569d87fe9d5f2dd1 -usr/lib/.build-id/0d/68de3287952a29e179b69a7a10ab8942d73835 -usr/lib/.build-id/0d/77efbdc6cebad15c79e6d67b894e87d9b11ba6 -usr/lib/.build-id/0d/87305c724b6f99adc6ae43fb712d214193400e -usr/lib/.build-id/0d/c5842ce84ffbe90bdbf2a26f95df2a7ef541a2 -usr/lib/.build-id/0d/d5d1e96ee5e5221acec0d0d679fce140a8870a -usr/lib/.build-id/0e/5504419054f87c060a2f8a42329db0efcc1f74 -usr/lib/.build-id/0e/b696ed41bbb6340f02e51ac2ff911a3914913a -usr/lib/.build-id/0f/10bbf5b58079746d984ca5d507abc397d1e726 -usr/lib/.build-id/0f/aa1f58f643f887684769f00926672cab2b4d1c -usr/lib/.build-id/0f/d15b020669fff3a9139c2e0ecf6c0f28fea964 -usr/lib/.build-id/0f/d4ad8c5bfe16a4c56d019bfe873400089656c0 -usr/lib/.build-id/10/e67e54d514e889112e55451593f41e272151e2 -usr/lib/.build-id/11/911eb584a6fc3bc6ad5c273c013f0e3b0cb750 -usr/lib/.build-id/11/be5274782dc2d71a17a15593a87c8b2765a272 -usr/lib/.build-id/11/d44db5144a78924cb899c406d13005b0db14e2 -usr/lib/.build-id/11/e14f70384d58523b5a212ba2314d0d82564aff -usr/lib/.build-id/12/1ec78d27505e9eecb3c3855fe6cbd46e5ad8b9 -usr/lib/.build-id/12/4d1817758a962a625176da9162fd4e24fd42ec -usr/lib/.build-id/12/617edffb869e15bbc2cfb4293881c2ab174e02 -usr/lib/.build-id/12/d66c4f7bd57543eb79b930030468052706a913 -usr/lib/.build-id/12/e6d259b4e2f56fe4ecef95c4125d671cb12fe7 -usr/lib/.build-id/13/4d72b9d34e340386abf7993638f06183ded311 -usr/lib/.build-id/13/7984e6ccb42ed823e65c7b60076bb12029cb58 -usr/lib/.build-id/13/f00cf4467e44d7ab133fe8348091766c4e0047 -usr/lib/.build-id/14/19c287fbedfecb3b0a47276cce4b4d01102f9a -usr/lib/.build-id/14/2b832e9c52420d06a784d79883ccaa49aae8b9 -usr/lib/.build-id/14/507a78057c144fc3e03f754a95d0264b00eb6e -usr/lib/.build-id/14/ba44d98dc5c53be4e0c9779daac3236539303d -usr/lib/.build-id/14/cb06b5cbf54a1abd57a200c79804a227aaf622 -usr/lib/.build-id/15/166b0b3fdee269bac2ca282ca3aae38f1bf7f9 -usr/lib/.build-id/15/3a0afe684399893b9d6b87892112ba0079287d -usr/lib/.build-id/15/7a13cb06ec55fd0d269ce803f61b9ef82a4b78 -usr/lib/.build-id/16/14c986f49425ffa721e2e4fb89ce93cbe55161 -usr/lib/.build-id/16/37fc992cd8a1386674815a47b40fd0be601266 -usr/lib/.build-id/16/47e6c1ec7d06fe6883562165f2ae6635d9f7c4 -usr/lib/.build-id/16/4eaaa145d567edd6d609552872bff37e062fdf -usr/lib/.build-id/16/79889bb0661d4cb993be96851596941f4bce0a -usr/lib/.build-id/16/7a6c45aec35d49296e7516a67ec2ba904dd5e8 -usr/lib/.build-id/16/8c1b5cbb5b0d24da1a86bd58d9b3468983f22c -usr/lib/.build-id/16/9d7744cff9529ed9e27c2407e89ff78ffd717d -usr/lib/.build-id/16/d27cd949ba654c0f950d677ef4ad62ed710e71 -usr/lib/.build-id/16/d75a2180d07f8f2c0a2437e42c902b3f27298e -usr/lib/.build-id/16/df1257f952199714091bcde5901591b8da75bb -usr/lib/.build-id/17/8dbb548216a6c622d775047241a88fbbdc3d9c -usr/lib/.build-id/17/992b8ae248be7aa0564b8ee4672e47305e8ff9 -usr/lib/.build-id/17/d7b517501f82efb533812f68bb2c37b0509d62 -usr/lib/.build-id/17/e18c891b2ef433be8de522d1f520b062732351 -usr/lib/.build-id/18/3f6a3902997fd73232226905a4ff481489b61e -usr/lib/.build-id/18/501cdca644b8daef36b94eb324cebf28060440 -usr/lib/.build-id/19/768950eb8f77b9a0872d4c605a23fb23cbfa32 -usr/lib/.build-id/19/8bdc74d716c5d62fe8837667f9201ad797edf8 -usr/lib/.build-id/1a/222a088cdae970ee38feac0f694290ac5819fa -usr/lib/.build-id/1a/fdd52081d4b8b631f2986e26e69e0b275e159c -usr/lib/.build-id/1b/435c03d0bc17ce5a32f02322d93e67a18ec9f8 -usr/lib/.build-id/1b/a3d01fecd560ac4d815bdd8c5f34ccd463daa6 -usr/lib/.build-id/1b/dc46d11b04765bc149e374dd80650ce36b04ed -usr/lib/.build-id/1c/1474e035d147524ca893caca4930b5b83cb300 -usr/lib/.build-id/1c/619a9d7e8211c33b37941b4ff4bb2470c082ee -usr/lib/.build-id/1c/6c9c6a471b0cecf138ebed4b82ec09f21f5781 -usr/lib/.build-id/1c/c185303ead50b30b1b3196a373af94e1341063 -usr/lib/.build-id/1c/ffe6225840cffffe9b53b214c34d9596f16660 -usr/lib/.build-id/1d/80840ca029e24a485f5d927235be6d7f033443 -usr/lib/.build-id/1d/8806a634247fc5e9f94e8ad300be792393d093 -usr/lib/.build-id/1e/aa00f32b11667b98f2133a50d637a344a4ea33 -usr/lib/.build-id/1e/c1cc5cb1f3bbca7d9ad0efee379dbc3e357f57 -usr/lib/.build-id/1e/ea9f03a47141c816966c43b3b60ecf34450a37 -usr/lib/.build-id/1f/023413a08dc91ac12b572b134ae1db890df9fb -usr/lib/.build-id/1f/0f7445c7f6a1c61907ea8209bddabb20c12b2d -usr/lib/.build-id/1f/4fc7586d64292e52862d181dfd01c747dca170 -usr/lib/.build-id/1f/b0c1325053c38efc5f5b08c41033c80063cd2d -usr/lib/.build-id/1f/d21a63dfce9da882b4a1b9846e7191439d1262 -usr/lib/.build-id/1f/d95cdc1df286938a613c8a5aa9e1af2db9825e -usr/lib/.build-id/20/5cffad0f813924c786d5d2060878a166666266 -usr/lib/.build-id/20/a839a93a5de52e70917ce96ed81baf4f96813e -usr/lib/.build-id/20/e14f4d24b0764a19c0174e41797c67deefea44 -usr/lib/.build-id/20/ffcd4b18e66ee4a5e162eef9874234275a9587 -usr/lib/.build-id/21/2fd015d1c4ad4765a63d668a6056e5a1d9fa8c -usr/lib/.build-id/21/5fa1e676ded39ddb636f46d060d7ca434f5572 -usr/lib/.build-id/21/d1bda9764072e1208e7df64bb131dd491f7b8e -usr/lib/.build-id/22/00130affc9d911b7feb6094eed3cf89f220627 -usr/lib/.build-id/22/2d5960bd543161135ee0af1de949b6589bde28 -usr/lib/.build-id/22/7632cb0ce62a4c762a54d57174d539763f1968 -usr/lib/.build-id/23/4f960a326f00e4fe81daa9e3e854031b7296b7 -usr/lib/.build-id/23/5ad5379c9648c80188041abb97894713885f13 -usr/lib/.build-id/23/6188e8040f520c2b1ab560ddebfb56baae5159 -usr/lib/.build-id/23/b3fcdd360ad3d7cdca4051a7139ddca68ce3fc -usr/lib/.build-id/24/14f0bbbebe7e315d9c282efc4acfe1ebdb09ad -usr/lib/.build-id/24/16ea4246da4b547271112a459c84b085c28ced -usr/lib/.build-id/24/26f958c9bdd6adb34c8c53f31d45b487be18c5 -usr/lib/.build-id/24/4eec2014bef8c0f990f319d7d70c967aa2b6c1 -usr/lib/.build-id/24/88284c48975afc3d0378e2f0cf7ee0a84c4f7d -usr/lib/.build-id/24/8ae7e8de1d7500f3f7b1e051f363a5405eb060 -usr/lib/.build-id/24/ce29bd8e77a973abcc485e55c03da87ea872ee -usr/lib/.build-id/24/e371893b0c7c1640748977809bcd2dd4b3e50d -usr/lib/.build-id/25/28c02e46dd8c38ce3608fc0374b818e3fb719f -usr/lib/.build-id/25/2dd4e41e79de2ad12d2b38820b759ddc022ebc -usr/lib/.build-id/25/497b6840cc7e39f69f06948e40bcbaf3a4374b -usr/lib/.build-id/25/6e6f7b6763f0cbfd6d86a37ca732355ab2aeb2 -usr/lib/.build-id/25/7b5e1bc5a05f69ffcf4e62761479bfce6f6595 -usr/lib/.build-id/25/b03ef02064391339f3b6b9f5552d2172e3257e -usr/lib/.build-id/26/0089a28a7a472785094b5f1300c54cf765c1fc -usr/lib/.build-id/26/0e0e5bcef926258b70b96d6a3dbe3ea48bd805 -usr/lib/.build-id/26/52926db8a4e657316e89317abe73d46139bdf8 -usr/lib/.build-id/26/5e868cd577dd221569f97b7859f93a567bdf23 -usr/lib/.build-id/27/ce3fb7eb5e2fff2baf9547af07b297bd1dabd6 -usr/lib/.build-id/28/38b2989eb5ab64daaad09897a14edca2738af2 -usr/lib/.build-id/28/473f458848741ae8309d500ceff30c47ab07ec -usr/lib/.build-id/28/a8886b4f45b97b8ca274e4b43cb6e60f7683a6 -usr/lib/.build-id/28/aed38833551909c33c1cfe4541305be86a1cf0 -usr/lib/.build-id/28/ba95acc559b5658e7efd450fbd6e6ab1b7cfc9 -usr/lib/.build-id/28/c02c0bcbbed3cea52d5346be581c25df621490 -usr/lib/.build-id/28/d0c126740a5c73b5c74afa5961423f5a35d893 -usr/lib/.build-id/29/c8af889a69598556c7a771818108360551771c -usr/lib/.build-id/29/e21b11c114ff95151f13164087d268a82cdfa5 -usr/lib/.build-id/29/ef50d614d86024c6de685ba17e66a61e1ac6d5 -usr/lib/.build-id/2a/43011d91d3b5e159f3d998ddb16b2b7f6e7eac -usr/lib/.build-id/2a/8c710a0c5a8f9914c97b4dc7a9b57476faea9a -usr/lib/.build-id/2a/d5bd6053f51b8d184aa851525c3bf5ebdc8720 -usr/lib/.build-id/2a/fe89c4c905efa73df8bda6e4f842fa8b831c66 -usr/lib/.build-id/2b/19a01be99cf3a522aa381e7ca6b4d86b5a7ffc -usr/lib/.build-id/2b/1b8d5c4986ba6ac748b48fa4a1a46b88b748e6 -usr/lib/.build-id/2b/4f81148e03cffd18204543db195b6bbf00c4ca -usr/lib/.build-id/2b/65d4f00729b94cc4d6e2bd0f1e0b6195190588 -usr/lib/.build-id/2b/78ebf119aee2b429d59df3b2a91042a282d0e6 -usr/lib/.build-id/2b/bfe14bbb7bb83eb84865b863f9a93b773c0348 -usr/lib/.build-id/2c/60bc7dc51c28174c0ad67b250437efd334a8b2 -usr/lib/.build-id/2c/8a1b04ea282ab9267d6e8df109892871e5125d -usr/lib/.build-id/2c/c7914158d0dbfd873a9d4eed4abc8c6fde5e73 -usr/lib/.build-id/2c/dade33efa0097beb3ac42c877098f63add5806 -usr/lib/.build-id/2c/ee9a36e606c340cf3507085d30b46bf04e1e63 -usr/lib/.build-id/2d/172346a2410deb41811cdecc70ac1971e29ffa -usr/lib/.build-id/2d/17b84063aee726ff5c194620cf62a003145e43 -usr/lib/.build-id/2d/4fa836c53551b53d08f44c5e32ef322a792216 -usr/lib/.build-id/2d/60674cd25fb10f5a95aaba0d5dc10e2c9ad532 -usr/lib/.build-id/2d/754e4c2db42564146d024425dd15c680b2598b -usr/lib/.build-id/2d/ae2a9b3bb62eac2a6095b4d1faaaebaa689f0a -usr/lib/.build-id/2d/e6d1a8cdbae5bab780876ec29852a0848a05fb -usr/lib/.build-id/2d/ee3c96998d9989214e218b82fbed50b36d6f20 -usr/lib/.build-id/2e/074a7253e75d943a188602c92a97dd62939739 -usr/lib/.build-id/2e/3fe23f9a6a9e40cb80be90ff6ae14f7a2c0520 -usr/lib/.build-id/2e/6af17020caef00d163c1303e507daf66f360e3 -usr/lib/.build-id/2e/dfb7fec9ce44253bd9a8f8242faf21b5125139 -usr/lib/.build-id/2f/89ff0c6a7702e786f0a6a6042213eae8c3c65c -usr/lib/.build-id/2f/bf0333ce72ed095f6631a257303c8256d883c6 -usr/lib/.build-id/2f/cb8ee41a62a927ca37d919d7d0150583c88bee -usr/lib/.build-id/2f/f971b8e527fb547fc3133dff1fca1a26109cd4 -usr/lib/.build-id/30/3488fd485a6e642422b3c2bafafe58ad797e7c -usr/lib/.build-id/30/7789b8a82a4466a0aca6b3a13d9d466811e7e8 -usr/lib/.build-id/30/e6cc1800c6272775f23976f97c43bf217f4dd7 -usr/lib/.build-id/31/79dba8ce63f373162f78dd3ae023144efb319a -usr/lib/.build-id/31/89ec95cc77eb74883ff1588e2c8fb7013475ad -usr/lib/.build-id/32/4845a206fe5bd927c6bb1b0421938cff415a9b -usr/lib/.build-id/32/69643ecb69d55368cdcf559e5c43be7a761208 -usr/lib/.build-id/32/f19d02baa2b4db8dce4640d652ac41655c6ee2 -usr/lib/.build-id/33/0eb2fe0769e5466e2e0ac1b158e1e8452738c9 -usr/lib/.build-id/33/72acac67d8bb011c524331e39d851313c1403a -usr/lib/.build-id/33/a375bba365103b26935b8b9938f0c1f65b4bf7 -usr/lib/.build-id/33/dbe6f6382d838a8dcf13e879de96da6ce94d30 -usr/lib/.build-id/34/076457399cf4f107d985d3b513a115d8c329ec -usr/lib/.build-id/34/0f42758119d3cd45eb79e8ceafd89dcb34e8d0 -usr/lib/.build-id/34/2953310e9ed38e5e8c46fbc4acb14988473517 -usr/lib/.build-id/34/46712c07e22f5b4ce8f480e2cd7c35b34bec00 -usr/lib/.build-id/34/6b006d5914caed4742b741eeb95c0507e1ad9d -usr/lib/.build-id/34/abb974a72680be6aac83d6803f76396b49142d -usr/lib/.build-id/35/19023de67c7b48e6148bbe10e0fe60d87ee3e3 -usr/lib/.build-id/35/31417f06743e7be1b8e499688182ecfd159fbf -usr/lib/.build-id/35/31aff32ce3e8977feeeb1a74cc6a02e0f70a62 -usr/lib/.build-id/35/45c9ddce2756d9cfb7c1e9364045aa70ea3f40 -usr/lib/.build-id/35/55ce26f6067927d3cd6cf3b4236273f68dd7ad -usr/lib/.build-id/35/6c30fe5c10b93b44fa43a409ffffcd47c17a46 -usr/lib/.build-id/35/c573664af9e7006cfdf2f34d29d3c27d04c6b7 -usr/lib/.build-id/35/e669a9ab52556a4e1785953674f8d967d7f46c -usr/lib/.build-id/36/04e280efd030e778e56849c37137e4f8f44d4d -usr/lib/.build-id/36/63e07ce96098a90871cfb343db397d03faadc2 -usr/lib/.build-id/36/e450e3e137a48aedd6005c0f624cee6f6e7dec -usr/lib/.build-id/37/07e8e3291c47f45a7329d9d648fced7358a540 -usr/lib/.build-id/37/71eabfefea7f6c46964e5877be2ee331b02276 -usr/lib/.build-id/37/eeaed8ba1de87af6c1bab38d60004d6981348e -usr/lib/.build-id/38/2d079775ef7ffc4763a0eb6ccde192aa16b2fc -usr/lib/.build-id/38/ad24fb97b180069b53ec7caa5cb9edbf318047 -usr/lib/.build-id/38/b52d57cb41682da851921d0f3e0a2a398e8701 -usr/lib/.build-id/38/c8340b8331ac198c4b1607963161d62332cbaf -usr/lib/.build-id/39/037426720c32f039bddfe8b2080b477215a7eb -usr/lib/.build-id/39/96a8758741c02a809e985828d3da8b7c5ce2b4 -usr/lib/.build-id/39/acaa5afd619b85e7e291b426e08ef141cd440b -usr/lib/.build-id/39/edf0feded78519191369c3977bbbfc0c87769a -usr/lib/.build-id/39/ff827efadbb14ff6e67e76b153b36c9e8899f4 -usr/lib/.build-id/3a/0fc075029d3fc1919a6be940b00bbeff17527e -usr/lib/.build-id/3a/158e17fc85443ddbf8a50ed38431fa7a4895e1 -usr/lib/.build-id/3a/22271b885b13c3227c8bbabb28e944549c9252 -usr/lib/.build-id/3b/69b2c0981ee9210e538463bf0edf5b1e54fc01 -usr/lib/.build-id/3b/8f06d66836c2d7c79bf5c6e90bea84c587f93a -usr/lib/.build-id/3b/9e0c93ae119d0f124df5eec088e953dae1e05f -usr/lib/.build-id/3b/9eb77b4d6884ef5c0478e0d505392077c8d4d5 -usr/lib/.build-id/3b/da1e7983c21cf2bc81ab758b8b2932ae08c665 -usr/lib/.build-id/3c/24d031b256528ca43f00b856ccf94195f122d5 -usr/lib/.build-id/3c/a0b27bd7f314abc8c87c88ac6c25d4412d9d79 -usr/lib/.build-id/3c/d04f7b4a78499cf7aefdc4be419fd508db7e72 -usr/lib/.build-id/3d/3129ff44af70e1cf435609307fed0677784fc7 -usr/lib/.build-id/3d/74bc0156fb37a2b5a273277ce81c1765fcd9d2 -usr/lib/.build-id/3d/829b238137efcf6c3b8e51339866d6c6fd5bb8 -usr/lib/.build-id/3e/4ca89ad898a819230b8627b8a9b224b7e8822f -usr/lib/.build-id/3e/b11ab58ac1dffc204c6ffc06f7eaa658ed23ce -usr/lib/.build-id/3e/b74844b19744bab47a845aef84e3d710528bb2 -usr/lib/.build-id/3f/e28c90619c1c8b8cdc109408f82ff8e0b5c018 -usr/lib/.build-id/3f/e3a3b39b04594f51b653533fab5645284954e6 -usr/lib/.build-id/40/2dfd48b743057d0227f5dbd6e7a28c672ac749 -usr/lib/.build-id/40/4b4faef8a12bbd4b065b5c46233ed4c13a146e -usr/lib/.build-id/40/b5cff5fd5f36660b638da8ffcfce3831e8265d -usr/lib/.build-id/40/be2400cbdf17b0ceea6af996cf7b0cf5118848 -usr/lib/.build-id/41/247447abfaac7e615f28bce995ddc84b3b083b -usr/lib/.build-id/41/5d19a7bdbe26b352c0391f7200dd9b8c0eabf8 -usr/lib/.build-id/41/6d3603a3a4416ca0e2da2ba1803734669b023a -usr/lib/.build-id/41/d733eb930bc4db53541cfe4c84a3e82db4a523 -usr/lib/.build-id/41/da7e13ca2c57f04bcd75dab8dc9c601deabeee -usr/lib/.build-id/41/e9da7ddd609eec33dc85a5d8e603f9897aa00a -usr/lib/.build-id/42/2270916cdff731c68ddb05a9167fc2eb7daea7 -usr/lib/.build-id/42/779344e881f4e90a88cab86ac55604fd16b6e8 -usr/lib/.build-id/43/1726e417e84477d21112b033c171506954c6f3 -usr/lib/.build-id/43/288b1feba114c85f50774164d77497e12a2d25 -usr/lib/.build-id/43/5b8ef08c4e844ae705d0bd223af4b8081af723 -usr/lib/.build-id/43/709467b9d7ad5a1180464902c0ffdcc28a40cb -usr/lib/.build-id/43/8fae1ca6506e99610b2b61cf43bae7b25f975c -usr/lib/.build-id/43/c2cc269f54d42bdf554daf38d8068d9cea0078 -usr/lib/.build-id/43/cc909d67a7573957be572f25a1bda51b9d72d6 -usr/lib/.build-id/44/0f5c8bd4d05905bc8ffd0265d9de798bf37cc8 -usr/lib/.build-id/44/1295ed429ed097c0733db5de78ca631a943971 -usr/lib/.build-id/44/28d833e57048bdc5c4074f794e7341c721533c -usr/lib/.build-id/44/2b073905f1137930d40e334651e48251fa1af9 -usr/lib/.build-id/44/a42a89f541d098fe9eda3220525a65cb3c172c -usr/lib/.build-id/44/ac8888c8f6ce558e40e52e188b0758c8ae377f -usr/lib/.build-id/45/3f1c9295e007a5e39e0b452c98602954fb650d -usr/lib/.build-id/45/62c0cbb71f72f0ab95bb5593967214c3976ef5 -usr/lib/.build-id/45/9309e61ef551c6551d8333576c113ddc30f126 -usr/lib/.build-id/45/eb8312f0f2732f1b9bdf9f9a5b06dd1a13cb57 -usr/lib/.build-id/46/224d6b3c5ec6dee17f48e0eec4240aed3c0305 -usr/lib/.build-id/46/6da8f72dca0d750ca0913d75ef7e11ed25596a -usr/lib/.build-id/46/97981adb0ffdddf2e4f02df36b8ce85dcaeb96 -usr/lib/.build-id/46/c287568283b5b7b8b32324f83d455ca36e6d64 -usr/lib/.build-id/47/cabe6cbfc6209e3e1b7b5c098862d99a4ae95e -usr/lib/.build-id/47/fc10ede2f35e8b5d1def40978736b15559f7c0 -usr/lib/.build-id/49/0ab19ab6058a0c489c441b93850ffbec0e6cd8 -usr/lib/.build-id/49/26fda2d19b787534508f2064b44e6668e7bc47 -usr/lib/.build-id/49/60c104b0bf2f2337b6e8bae8e1a0b7efb1da33 -usr/lib/.build-id/4a/0dc8909f74931e763f2ffb3b7dfdd2a174ee7d -usr/lib/.build-id/4a/1913b445b40bdf12435113865314a7b313a3b7 -usr/lib/.build-id/4a/7d37200f86fb73e9adc67b3e402d06c6d7faf7 -usr/lib/.build-id/4a/eb7b8f3a598852867920d3ee347ce0aa434b9c -usr/lib/.build-id/4b/17d2f7436aeef57c753585f117d2c86a538ade -usr/lib/.build-id/4b/69cabcd0f183b0398eaf315ab7f189fb123fbb -usr/lib/.build-id/4b/b525a876b4a1b998bfd8974883eb24c58b6037 -usr/lib/.build-id/4b/e88b7186256c7f79de0e86e872ece8b53a1087 -usr/lib/.build-id/4c/2a4c60e84137c24446af2f9a45c66f63024b2a -usr/lib/.build-id/4c/aa1cbf3324d8c99dcb6cd0655f4998f2e4b04c -usr/lib/.build-id/4c/fcec89fb655c8b0c82c0f72bf7903ef1ad0662 -usr/lib/.build-id/4d/35695ef0e42a24fe42b83743b0c6777e5d4849 -usr/lib/.build-id/4d/35a76cbad5ee968f90c3288260ff68f21a0a66 -usr/lib/.build-id/4e/2e5ead21777d007585882d5a16eec9dec0c81d -usr/lib/.build-id/4e/3c5718f36867dcc55b17255f3a3b19d5e6cd14 -usr/lib/.build-id/4e/da7771a125344cf362d9964c68ae0bceb5319a -usr/lib/.build-id/4f/5deea12b421879216fac18e9bb60de4ac9fb0f -usr/lib/.build-id/4f/66748c61c17fc9b7bc3a7248c9ca7d8f86699c -usr/lib/.build-id/4f/97c1cf9935cdbd1dc36267ddbc8890578615cb -usr/lib/.build-id/4f/bd40d274a792d3214cd6da5e9274c16942235c -usr/lib/.build-id/4f/e712f7d9d854c5c140b7599d8e64a0e0de647a -usr/lib/.build-id/50/01ba7a11dc5c3aa45478ed5f9294e5256f2d47 -usr/lib/.build-id/50/60d940577ea597058faa1a36611afd8b0d658c -usr/lib/.build-id/50/695f23da4647a1b765e512c6bc0b3b91e8af97 -usr/lib/.build-id/50/844834aa33e0d8d245cd2d19ac41e86e89de8a -usr/lib/.build-id/50/fa583d292a9985ba8aa9b4584fe48146174473 -usr/lib/.build-id/51/5f683ec1b7a3d4f6f40216e077d3fca77818b7 -usr/lib/.build-id/51/673dac30aa14a615e03a50ac6853b1540a0104 -usr/lib/.build-id/51/badb6f16c429f76bf1250bc7ddeeb5629b0164 -usr/lib/.build-id/52/1a4729b3f5f5c16d71b99ce42e95a5f91d7de4 -usr/lib/.build-id/52/2125b6594a50582cab344ee8bf9abfcd487445 -usr/lib/.build-id/52/2f62c83fa9161d2c199b914e9096ed785a19bf -usr/lib/.build-id/52/512c9969331362cbd4ce77a1e4e3a3019b4b42 -usr/lib/.build-id/52/90a3fc9a71fa6b4296638c9c2a57143f7c4a8b -usr/lib/.build-id/52/9c76869e6990af735d33e9d135376b57b04e64 -usr/lib/.build-id/53/4d18135bfb3e04a0341160e107aa13a22ec6f3 -usr/lib/.build-id/53/8b08d13ccb8685680153c64221a5a225b5239b -usr/lib/.build-id/53/c8858d0009958ec30aacd2fe6dbbb405b973e4 -usr/lib/.build-id/54/577da2136d945ca6760f973d2825614a99ae8c -usr/lib/.build-id/54/5b849f56e86ebfd8e3af8912e73385d1e49725 -usr/lib/.build-id/54/900d6303fe1a016dd9ad0593c4ca3559c6a47e -usr/lib/.build-id/54/f89ec05da34d5e9f53e91bc26ed5d938fe2313 -usr/lib/.build-id/56/710ad4beb4461457be62b64e65f328d46502a0 -usr/lib/.build-id/56/80f884c707256a2a85e21b4bf0b6805c1a6914 -usr/lib/.build-id/56/81365aaebd39bab636dd671c68b358da98bb96 -usr/lib/.build-id/56/87823a18f153cd5e6d45cbac9b3c06af221380 -usr/lib/.build-id/56/d4af62456d823067b7cf0b813a85e410ea073f -usr/lib/.build-id/57/59e44385dd4a81a0fc7b56fc756cadbe87a331 -usr/lib/.build-id/57/b46cf1d5ba66e7eeb9a566843a144e2ce73989 -usr/lib/.build-id/58/32aa17cb6e5e27d6110fb69e71cafa3dbaf554 -usr/lib/.build-id/58/5ff3833574647a623ae848d8b8031fec46c4da -usr/lib/.build-id/58/b6d55941506ea060d1200aa7ab73c6ad1b538e -usr/lib/.build-id/58/bb916f28a8bafb0c2cf57d9c280d3e10735d7a -usr/lib/.build-id/58/f8adf08b4a81ec891424357a87cd3c16b82a59 -usr/lib/.build-id/59/42d2377730d1edd2b952b7ab6c5218e1d4e8fd -usr/lib/.build-id/59/a68e56d5456df11d1339f57f6e91a3af7581f2 -usr/lib/.build-id/59/cd703a329ea5fe4287d43cec700f147524da95 -usr/lib/.build-id/59/d80c810d74964488e2a8ae54288d9e51026c60 -usr/lib/.build-id/5a/0493fb786bd9276d6973bd2b053d9279eff4e4 -usr/lib/.build-id/5a/d82e5076fc9c5315539716faaf9ad57e9caf3f -usr/lib/.build-id/5b/c59605a701ac9a370ff6c955767c23c97ab250 -usr/lib/.build-id/5c/5cd466c46ecc7551e08fb5f615e037f9ed033c -usr/lib/.build-id/5c/7cb28c9c22916ce344083275d9150e0811def2 -usr/lib/.build-id/5c/8c3a430a8a9c7680ff920b9b5f2ce05c4c507a -usr/lib/.build-id/5c/d5496ac1c8ca089476c63e1ef5104a491c3b90 -usr/lib/.build-id/5c/d682a041f9a9118c546034b8bcb6ee36c0c1c8 -usr/lib/.build-id/5c/ddaee0f95aee615fe5b8da32156e0d0f161e54 -usr/lib/.build-id/5d/68c0b5a06cf9aa0c45967421fb1eeabe61d548 -usr/lib/.build-id/5d/7045cd456afcb8d095fdf7e39e7dd8164c9840 -usr/lib/.build-id/5d/73a42d0a85c6f9a6a53f2cbb310511f5b84619 -usr/lib/.build-id/5d/addeaefe2b21fdbb7fd698bf25fe9f7654f022 -usr/lib/.build-id/5e/2707aea4c6695fa2aca5169bb6d53991aa87bc -usr/lib/.build-id/5e/3f19ec7e492f44ff5ba61a159a47cf4cad6251 -usr/lib/.build-id/5e/c40020a7ef7879d43a0788143f960cee5bc1ab -usr/lib/.build-id/5e/f3af806098e612525f6380609cadaf07907c01 -usr/lib/.build-id/5f/0500a9a923b26865877cc03e493c351e0752ce -usr/lib/.build-id/5f/974be838845545e23b6397dd0d25b7ff701412 -usr/lib/.build-id/5f/99772d9718c44bdc5c1d8869234efbd220f618 -usr/lib/.build-id/5f/9a6ed3e2c62a3193f58ff7657e6053e91b4cad -usr/lib/.build-id/5f/af6c98c9354819622ac8869a8466ccd98b0d85 -usr/lib/.build-id/5f/d4562b6deecd1b8f633ac4f33a8c1e502546ff -usr/lib/.build-id/60/2562843d5b10446348e7624aa8341cfc5c3ebf -usr/lib/.build-id/60/400bd3c6ba4a0207c4e5951f42c846acc52bc9 -usr/lib/.build-id/60/4155eb331a13112ecbdd6a936195c1e41ce54e -usr/lib/.build-id/60/51d147bd6f6eddcb06e9bf48b4796284310227 -usr/lib/.build-id/60/63d663dfc10dcb87857f4032f403b7460e68b6 -usr/lib/.build-id/60/bf8bb1e00c7e4ccd8def383688a1e8a12e3fcf -usr/lib/.build-id/61/1d21660219be5e13b322396cc7828a62d981e9 -usr/lib/.build-id/61/501b10afd6dc3230b1c51dc720b3884c7c5268 -usr/lib/.build-id/61/a62f876e8860582e6aa8f080e386922861b98b -usr/lib/.build-id/61/d1a397d615dc216e1bc934cde9d35b30adbb05 -usr/lib/.build-id/62/015d86faf73e594886bf037f409cc98f47a8ea -usr/lib/.build-id/62/054854b8430ab5543432847cd3fd43245ceda9 -usr/lib/.build-id/62/11892b718b8e5081985684c401bca3ac28e4a0 -usr/lib/.build-id/62/218a0846867cd7077ffcd14b4b5445edb9f32b -usr/lib/.build-id/62/593355e1c5597adf0833d6d2581beefdbd69ef -usr/lib/.build-id/62/98520010e619d3873b5a9e1e892799c3231a40 -usr/lib/.build-id/63/21a194fffeaba48a14f3cc2e0ac43b2923547e -usr/lib/.build-id/63/3664f69850fddbbd6cd7ad2cc732b11ec643ae -usr/lib/.build-id/63/b65e9f026c70c67da02e5f0361a2c8e8e40245 -usr/lib/.build-id/64/200eafd1beeba14a1d61584c1ac96e9f9015b7 -usr/lib/.build-id/64/c7833a12471ed8d44e34d3e07f5384478b5128 -usr/lib/.build-id/64/f7848246fad49da74c3985e72c00e5d11950b1 -usr/lib/.build-id/65/34d973d12c4ab7e6bfb2c7d7530d5a954ca33f -usr/lib/.build-id/65/a74bab62ceb0bd4b01da0330a272003b7b47b0 -usr/lib/.build-id/65/bf3dad8dc868baa3d348c66e8733018f0d22a2 -usr/lib/.build-id/65/e6e3e54d790b580026e4ca146a54c1ddb3d642 -usr/lib/.build-id/66/387939f3d78bca05a3e61e02c3e3bce593455c -usr/lib/.build-id/66/6cb362ce3a837e3bdad74e38cea6c595e7efbf -usr/lib/.build-id/66/7c163e5ba26365a303a6a953a459af58cf0628 -usr/lib/.build-id/66/c69e25e48242ab7101afb037425a7705c86008 -usr/lib/.build-id/66/e53686abfc4289726db40f122ea3d9928ca42e -usr/lib/.build-id/67/16744f4a89a11ca8402520b6c45accb7491ad1 -usr/lib/.build-id/67/16744f4a89a11ca8402520b6c45accb7491ad1.1 -usr/lib/.build-id/67/228fce3d6418ac3712e70518ad0e1e7be0a51b -usr/lib/.build-id/67/a0e66569da3105f6cfc63106392c71f7ff037b -usr/lib/.build-id/68/04f5abe303b6d5c5a3b06f892c9d7cf3aca73d -usr/lib/.build-id/68/1878a0761abc8e3a9bdd403b20d59b3c7f0b76 -usr/lib/.build-id/68/3d4607162968e3cc73c3209ae8a10fa79fae33 -usr/lib/.build-id/68/aaf9a40f6873a9d97d64ff828db49ccf262f1c -usr/lib/.build-id/69/27eae5ee8ac5df4441e577be434d7b07d05394 -usr/lib/.build-id/69/75f7085e57230b80492f7fbb9a5e9739f3bb61 -usr/lib/.build-id/69/a8ef887b713af7b6e4a695901905c00c2b953b -usr/lib/.build-id/69/f0231c4c007b6438098b7fcbd0be357b50e83e -usr/lib/.build-id/6a/456f31ac3d34b4931e5d019ce14aeca4509079 -usr/lib/.build-id/6a/a9bcfba0b2814b674ec17cde2d40bf0cb7e524 -usr/lib/.build-id/6a/c651fdb605b539d773a583f32cc1569faab4b4 -usr/lib/.build-id/6a/e22b3b0995a6651af879e2afbd861b0d5fc3ec -usr/lib/.build-id/6a/eb0d7d71f67aa91762188ec9d906e9b7639fe8 -usr/lib/.build-id/6a/fbaa6948c26f376eb77c2c1ea0547feaf1df28 -usr/lib/.build-id/6b/3fc4f3652ed7021b9bde3f9ecb04f7adffbf62 -usr/lib/.build-id/6b/5e8399f9806d8e8608e29c88ab02ae250cb433 -usr/lib/.build-id/6b/8d88623cda0a9feab482117f589fa392f7c5ea -usr/lib/.build-id/6b/9d357635817bb19f7d6499c333aaa3b34242b4 -usr/lib/.build-id/6b/ad864e3d7d194a34ab4455539402810178ab6a -usr/lib/.build-id/6b/d62dab6f7e1a3bf42fcdef417b2218b4f4003d -usr/lib/.build-id/6b/f63c1eb8c54694140375a8ccacbbfdc98f7bdd -usr/lib/.build-id/6c/4f63aa651798e01cb5fbcd5464207b3203c3f3 -usr/lib/.build-id/6c/9e5389056ab1181031c341f6539d8cd69e7332 -usr/lib/.build-id/6c/b8083b7c52ef6075e2ae44f9b51efe63628282 -usr/lib/.build-id/6c/ee061b146f1356a81c2f8c80928192e3960ee2 -usr/lib/.build-id/6d/60b18c387742ae3394b8d4ca96c9226c3806cd -usr/lib/.build-id/6e/665bce394f302d74cad544801828ab9833e23a -usr/lib/.build-id/6e/d0034e5150950458d4e9e0b9d22432379e5e2f -usr/lib/.build-id/6f/d4747c0832366888eb7cbd976de5dad4a219bd -usr/lib/.build-id/70/02e7e58805e5529d91f267279d56aa5800ba45 -usr/lib/.build-id/70/40ffb15f2551653e448ce0267d46bfca7a7861 -usr/lib/.build-id/70/e0253b7868401893c741d9f49603a8073e144a -usr/lib/.build-id/71/27d326f4d344bf0eb270b75ec09fbacd60cfbd -usr/lib/.build-id/71/7f0e634b01a39c01e6605d58bc2b7635ebbc0b -usr/lib/.build-id/71/87c398556fdd58a97e82d4400edea8743c83db -usr/lib/.build-id/72/0b534c560012f218a86ab308f031f1f8c13f0d -usr/lib/.build-id/72/d7bf1f45e722afc8d32660368e2169257bacba -usr/lib/.build-id/73/2dddcf3178120f876ab83c37c1e3a1404e34ff -usr/lib/.build-id/73/405acadf75ca5a6fbbfcea4b00cace7b3184a6 -usr/lib/.build-id/73/6f12e5b7bc726c9bd30de780505ba86aebfdf5 -usr/lib/.build-id/73/8f149c2491e64004db5109fabb5ecf08c4b889 -usr/lib/.build-id/73/b1f2f5adeca0dad6fdcce48543c631fb28d232 -usr/lib/.build-id/73/fe106c0f38ea3a2e68d94077fac8b0d84b65ef -usr/lib/.build-id/74/0df787ba13208b5a0a373f9892e6060c419c90 -usr/lib/.build-id/74/b7cfb3ce0b7570c13047a0688b4a3f0c121528 -usr/lib/.build-id/74/ed73e39bcdd0f7999570e6ed5461d2aee8cc9e -usr/lib/.build-id/75/0c33ddfb39517cc96f36394df6825d06ea932e -usr/lib/.build-id/75/37f2192f64059f51bc554318d336ff7b2df5a2 -usr/lib/.build-id/75/8c1401f19799ab07b1703d4772a65554cb3ed5 -usr/lib/.build-id/75/a0bcfa041a465d4f6f1fba768304c4f6317b77 -usr/lib/.build-id/75/adfb163d1796466ce81f08cf2248847415b77d -usr/lib/.build-id/76/72b4cd54f2c48ea4e48ac8ed271389ab61cd5b -usr/lib/.build-id/76/c823f4f8d714997cf7d6ef2b986b26a365c46e -usr/lib/.build-id/76/e75e0d8b09f3e897633c6508431fbdce3e8908 -usr/lib/.build-id/77/a11610b4a142145bb8476ce43c2e1e54740d6f -usr/lib/.build-id/77/ea098a6385770eab758b6372e10254c0613563 -usr/lib/.build-id/77/f2dbb5800da9cbc766b9bba3b529d71517d661 -usr/lib/.build-id/77/f57e1407c76f822168495c6f8c6b907c9dc9c2 -usr/lib/.build-id/78/2eda7ba39f0904a39d540f6c724336f1ee7705 -usr/lib/.build-id/78/43623017b58b79af0a49614101e1d14623b940 -usr/lib/.build-id/78/45e91968137653bcfbf746c3d523435f204528 -usr/lib/.build-id/78/8ca4eccb689af0d2c9d7103b69a579bb251029 -usr/lib/.build-id/79/01b85e2fa79d15b110f3c4a5e08c0f2de279e7 -usr/lib/.build-id/79/0fca7de5261fcb803a3809480903f29b557f97 -usr/lib/.build-id/79/6fa2186dc9d0bc96aed18088a6ff23c8b0e9d4 -usr/lib/.build-id/79/8c5778f5e06ae917492cde88880764894f15d3 -usr/lib/.build-id/79/dbc8d21e16b951bec0e74ddd2655d1c693cd57 -usr/lib/.build-id/79/e8e93fc7b049551b54f22d806c2437d6f895d3 -usr/lib/.build-id/7b/21deaf8238308d6f6a837fed9a8c0a315ba898 -usr/lib/.build-id/7b/2e9c94c1345db483e9b43f44c3ae1ccb93b519 -usr/lib/.build-id/7b/329f12f7ce1daa438db842da103daa874d6fe7 -usr/lib/.build-id/7b/6a4b2b509fa003f51ad6aa00c1031726878032 -usr/lib/.build-id/7b/8d8b616f5d290e3d27a1e440286e5581e3ec6f -usr/lib/.build-id/7b/f934707ecb43845b1a8c8a160dca466378f37b -usr/lib/.build-id/7c/49f1e34ae5c9e22fc5a4c90427a2c764c3db9d -usr/lib/.build-id/7c/5344c7a172faf96b8de710055ab84ac5882582 -usr/lib/.build-id/7c/8ce369851fe3df1bf0a2cbc98fae78f1777767 -usr/lib/.build-id/7c/ae178c523c7646b44c8c329dfd77157c9031da -usr/lib/.build-id/7c/da9320266c918c6f1a78af8bc8d496a3b223ad -usr/lib/.build-id/7c/f0aa1ca21596ba7ffcfbcb0129f521aaf29c57 -usr/lib/.build-id/7c/f84880736a34fdec6d71132e0fac0a6191bdae -usr/lib/.build-id/7d/14681b3e8c8db168b33b696b247d95417ed5b5 -usr/lib/.build-id/7d/20d81f868562e66d084d12de749089a5f2bd0a -usr/lib/.build-id/7d/7af2405c8c34bb8a56935d1674fa41a830558a -usr/lib/.build-id/7d/9a34ba0ea25d233e03d2a1b5fa200d9eb60ac1 -usr/lib/.build-id/7e/4cfa81ecd4c6fc2044bf8f47f2423adcaaf306 -usr/lib/.build-id/7e/4cfa81ecd4c6fc2044bf8f47f2423adcaaf306.1 -usr/lib/.build-id/7e/4cfa81ecd4c6fc2044bf8f47f2423adcaaf306.2 -usr/lib/.build-id/7e/4cfa81ecd4c6fc2044bf8f47f2423adcaaf306.3 -usr/lib/.build-id/7e/4cfa81ecd4c6fc2044bf8f47f2423adcaaf306.4 -usr/lib/.build-id/7e/4cfa81ecd4c6fc2044bf8f47f2423adcaaf306.5 -usr/lib/.build-id/7f/ddb97efc78cacae6dc06a2ba98aa730c83b833 -usr/lib/.build-id/7f/e2062321b909bbd666fc91211462aa3333a62a -usr/lib/.build-id/80/55e8dc692062721717364437686016bcd617c3 -usr/lib/.build-id/80/e228c7c2064b641b8c4aeadc0629d212c9a75e -usr/lib/.build-id/81/1263addacc122923afb52b14d7dcbae540b04f -usr/lib/.build-id/81/36dbcf9653da9e1b6111fd546b0eae14d16d89 -usr/lib/.build-id/81/432c2da5c313f088ca24e3c20b1691f666beb2 -usr/lib/.build-id/81/848d9f24c9632b23886894b09449656e4308a4 -usr/lib/.build-id/81/90d3f66418325d305777b436f0b2e38e6a42a1 -usr/lib/.build-id/81/b43af15cc364d8537f0698e8c7bd1cf0d54ca0 -usr/lib/.build-id/81/ce32e9132d0fbbe545f5ebe26f5e6a880b08ff -usr/lib/.build-id/81/dd63f2c8460c6a28884b7289c17997eb342525 -usr/lib/.build-id/81/e60f144433fc8128127dc5d7e37dce2f677161 -usr/lib/.build-id/81/e9543fd391b19eb11b18d3a049e4b2e25cd7f0 -usr/lib/.build-id/82/2746af6d3d854f6ba3bebbe8759d1637faa43e -usr/lib/.build-id/82/b4315c0b20cdc8f884c76cee57bf92d88750f7 -usr/lib/.build-id/82/fa01a9561169a388240813d130a6a70ffd0c0f -usr/lib/.build-id/83/ea38bdecf0e11f38eb3b3e68a7ebff8ca9fd6f -usr/lib/.build-id/84/17fbf8880dbaa8749efc9dada8ffc122ac60ee -usr/lib/.build-id/84/3e3ab2549df1d9397a4ef4797289fd485a4b33 -usr/lib/.build-id/84/9bb7cc1d1515503222043e7503294517e13b8e -usr/lib/.build-id/85/2fba24ab65aa2f8db3643c0e3a7abe57670294 -usr/lib/.build-id/85/8570ea2ae7f8eb785ece0e50aa1a678b3aa664 -usr/lib/.build-id/85/9af4f52af6e749c4103b3e642d38c8243a4aaa -usr/lib/.build-id/85/a78415bcd0b54bd2e6d0798803be4786a334b4 -usr/lib/.build-id/85/ec6b8bce4bb109302f14054f148aaeb22d09b1 -usr/lib/.build-id/86/5b1f284c495193224d8e277919012dc36e51f0 -usr/lib/.build-id/86/7006057ac8be939441030fac89db3d23cce48e -usr/lib/.build-id/86/8490c186b84efc9962a169dca52558287a92db -usr/lib/.build-id/86/91d08fef3d9f042028d462e5b4e17b78332215 -usr/lib/.build-id/86/c4252046f8529ab44ee90da35695a62006f8b4 -usr/lib/.build-id/86/cef162137533b8ecb35b7cd2c9af3ce74a99f6 -usr/lib/.build-id/88/4b3d9ea6af056916b0442a8deef60574c540f8 -usr/lib/.build-id/88/73a4c72ac6f08df9d2211f588d9e1496a37cd0 -usr/lib/.build-id/88/74f55db2e70222caa814a8dc3c6997ced3e11d -usr/lib/.build-id/88/832c7cbdce766c57b6c5146b0b072388949998 -usr/lib/.build-id/88/e4843448778fd49d40e1da0b5a7305038825ab -usr/lib/.build-id/89/08c0645605e4dbb927ca85211bf61545597cad -usr/lib/.build-id/89/35586a81857523f3907c8052f8d248cf74a289 -usr/lib/.build-id/89/c537967306ac3f25592be4da176347076e4962 -usr/lib/.build-id/8a/3205a84d51e9b5ac741dc74889065461aa9a39 -usr/lib/.build-id/8a/42f62b3e766e3cbbe33c566cd7aca5d60b428e -usr/lib/.build-id/8a/972b3a57e2c021eae569774320e6d209015c21 -usr/lib/.build-id/8a/d6ece459b100ff372a9cf898e306f1ed61c151 -usr/lib/.build-id/8a/fd8ce278d954fe8b901b3eed7e7748f387b300 -usr/lib/.build-id/8b/94594604a18ea2f63e1a5c70e876354cbdb3b6 -usr/lib/.build-id/8b/9cfc86256c4fefcc3ffb983722cce2f3e679c9 -usr/lib/.build-id/8b/e0fbea5edee960415e957793fd15926b80f494 -usr/lib/.build-id/8c/1081f37cf1e36a1ecf1f75b87092890d92f220 -usr/lib/.build-id/8c/1081f37cf1e36a1ecf1f75b87092890d92f220.1 -usr/lib/.build-id/8c/4f2b1570d1b12d82e28c5d679f8a106096e0d1 -usr/lib/.build-id/8c/86efc0db265fa05071dcedec6646841b253fa2 -usr/lib/.build-id/8c/9868a5868d4adf37a8e9d1d68e47a5341b659b -usr/lib/.build-id/8d/a53546b3ae2c5beb3cf3c6494525063a5f54ac -usr/lib/.build-id/8e/40935dc3e6a68cf299a74fdab501ef7da6861e -usr/lib/.build-id/8e/4671b33951fe3a2ba6369dca0b959436cb4c77 -usr/lib/.build-id/8e/57338680e59ce4fca0af8760935fdd13b12a9d -usr/lib/.build-id/8e/88671af55dbeea74ba0c352d352a93fe3bfe5b -usr/lib/.build-id/8e/93637e2c2807527c16632ee09eab8bd7933f84 -usr/lib/.build-id/8e/cca1364d34d1da280fbfc9ee326f5c78346277 -usr/lib/.build-id/8f/a84f6a74f486188d439aeb5efd69c6db955412 -usr/lib/.build-id/8f/ad6870bd7edd4fe38fd1cfce3f1eeba3d096eb -usr/lib/.build-id/8f/ea1662d8c14a67b758ea5673b88a404b1123ee -usr/lib/.build-id/90/8a31447b4a2a595978b37d76083f779f320e42 -usr/lib/.build-id/90/a4ea155beff2ae04a02731e18aa8c1bc6903db -usr/lib/.build-id/90/e8c48cdcb958fd676789e6ac6e5eafdf26c64e -usr/lib/.build-id/91/0811dec34dcb1c7dedde473013505b92f70f46 -usr/lib/.build-id/91/409a68114f3b9d0d7f246323c54aea3b01ffe5 -usr/lib/.build-id/91/77f56b1889010304c17109173d5a82b9a052e7 -usr/lib/.build-id/91/d0cc4ed87c491336e5cc5b5056f82792235a4c -usr/lib/.build-id/92/1ff39d37cd1549bb9222c61f1f7abb6137839b -usr/lib/.build-id/92/505f4073a8a235f6e3dcaf46ad397d2adb4f18 -usr/lib/.build-id/92/79569e26de95d4b6e0ec10ca863e418042e73a -usr/lib/.build-id/92/79569e26de95d4b6e0ec10ca863e418042e73a.1 -usr/lib/.build-id/92/79569e26de95d4b6e0ec10ca863e418042e73a.2 -usr/lib/.build-id/92/79569e26de95d4b6e0ec10ca863e418042e73a.3 -usr/lib/.build-id/92/ea47d37841ca86259455ba025e0cd52b1dc553 -usr/lib/.build-id/93/45dfeb5e8945f911ecd58e8b1d2a152e4baf3d -usr/lib/.build-id/93/674b011480d831889552f20ec6ed5e0f437907 -usr/lib/.build-id/93/7b98871b78ac8e0013c346a8dbbd794817272b -usr/lib/.build-id/93/8ff443d4127711f322efb86ab693d10e7930ec -usr/lib/.build-id/94/ca912a89ac1f6edd945891b917fde2f1b5625e -usr/lib/.build-id/94/f60a8116ac809252433fb51ec9e2ca14d5d38f -usr/lib/.build-id/95/99c8aa8899f4d1feee7fb09ae78b3890f7461e -usr/lib/.build-id/96/07c26251d85a17b1dddcea2d0e4980ff2431e8 -usr/lib/.build-id/96/246730dc288abc088cb67f5f09429ef270ecce -usr/lib/.build-id/96/a902362c51d1f357a58183643fd7bdcee5fe35 -usr/lib/.build-id/96/dfb4f4c5456974279f8e27b2f75b06a9ef8de9 -usr/lib/.build-id/96/e110e8c4f3d13d6db6754ed4b3136e14fb3347 -usr/lib/.build-id/96/f7b1214efa81dce610806904ce64d47556b9bf -usr/lib/.build-id/97/52db898c37cd55c2b9338dde8851a568b9883a -usr/lib/.build-id/97/5f05938274f7189867032f565d7bdc0826e5f5 -usr/lib/.build-id/97/783782421dae1b5e724e43252ddf2c58fcba39 -usr/lib/.build-id/97/ab61718b43032e37b69cf43be9b1711ae8e940 -usr/lib/.build-id/97/af3ced2febb1c77cef0922595e63709df6a1d7 -usr/lib/.build-id/98/0381c3ac52e3b99ac5245bacae48792a3ee7bf -usr/lib/.build-id/98/6d5d76dd634b8f800f68595794b886b4a755e8 -usr/lib/.build-id/98/b6ee5197f95a0bece49c53f27b2f6af25f9254 -usr/lib/.build-id/98/e2f63b351351418546cfa58fc02dde4735c6b1 -usr/lib/.build-id/98/fe59e5531e0207a3b26340023413bdfc3ac866 -usr/lib/.build-id/99/43248c382f3203a9b2b40599ed609ee78d7582 -usr/lib/.build-id/99/4c1869b0cb09376e3903edab0865c4a0f28511 -usr/lib/.build-id/9a/23c951e336a915679cd9024cad86ab3f2847a6 -usr/lib/.build-id/9a/3c1315f04e3c3f5429b55729668409b9cfe2fe -usr/lib/.build-id/9a/9a6ba3723329523390a8a33a55345415bb477b -usr/lib/.build-id/9a/de86dfec28f8ee98fd984bc90a6613d4ea7315 -usr/lib/.build-id/9b/12d4c26078c8945ec1e4cd4d04ece3c4a506a8 -usr/lib/.build-id/9b/665b2fd9375774245bdb4f47c5ee8c0a08adc8 -usr/lib/.build-id/9b/8bae872cd65bc334635170c5f959f1ef8d3ef1 -usr/lib/.build-id/9b/e9277ba5651885f66a444d6bdde84a80f7dcfe -usr/lib/.build-id/9b/fc4c71a06b0be9ee73a993f3c9f7a3af131482 -usr/lib/.build-id/9c/09a89fbd6e168c0f9ae514fcde5a92dc41c34c -usr/lib/.build-id/9c/0eecc52d0b8a4bd75683b8ab6d301ce1ddd6de -usr/lib/.build-id/9c/260fabda23bfa76848f34dc87a2606d96ed3f0 -usr/lib/.build-id/9c/853258a524f22d94cdb71dca4a747b4778fb31 -usr/lib/.build-id/9c/c4bdf73b7b214832345b1835bee877a8aee317 -usr/lib/.build-id/9d/33eeef685841d5162fd71c00fe9242c804f5bf -usr/lib/.build-id/9d/8fee9f9084bc756f35b11dcc2e94474eac89f4 -usr/lib/.build-id/9e/0d29f3c0cb8bcee1ea92ce28f6700bf5276191 -usr/lib/.build-id/9e/51ca94596fd497a980a831e86847d4be38249d -usr/lib/.build-id/9e/54edb2f329e8696f91a72bc7680743eeb07a25 -usr/lib/.build-id/9e/8ddb70f53dcb66acaacc8b04a902b27441245b -usr/lib/.build-id/9e/a54c87c0fbbc7f0d0d0da20fd4c3df0c7f26c3 -usr/lib/.build-id/9e/bcbc82d7d1c4e30c9a0e2c73d2455e2eed9ef8 -usr/lib/.build-id/9e/c3458e3f8d8307e9fde43ea2d645c713fd6561 -usr/lib/.build-id/9f/2f106621f179a8f1f3ac4df9985e68fad7a255 -usr/lib/.build-id/9f/31c010d936621c0c85237d4cee0b9a4aac0144 -usr/lib/.build-id/9f/3aa342b304d745fcee9adfb0064a4f9daaf05c -usr/lib/.build-id/9f/a421eec167c98a3637e09c494f7ee1ffe4db1a -usr/lib/.build-id/a0/499878f0209918acffcf15078960b75cfb9f79 -usr/lib/.build-id/a0/63611bbb9d4ab9b137fdddfc9128f3ac80b461 -usr/lib/.build-id/a1/06353ded26bf376234fd5b04d0e5952bd52ad1 -usr/lib/.build-id/a1/4292ccd0d447e24cf0a17aeb03c0a2179ed7a8 -usr/lib/.build-id/a2/94dc67b0211fa7a4ae51d31115f9f021710083 -usr/lib/.build-id/a2/9f34c67b668ceb72c11d25b91e83a5234d791c -usr/lib/.build-id/a2/db163308bcb09f1c996ee13678480474f5a377 -usr/lib/.build-id/a3/258273512458334cbc24ce2f2cf9609f0b9909 -usr/lib/.build-id/a3/6ab4f7a6464d01bd7ea1b9542fbebc39237796 -usr/lib/.build-id/a3/b1812b4f406e555c74ea09726d7f7c46c3c99c -usr/lib/.build-id/a3/baffd1c21922de3b0e92d6e608332c8064da0b -usr/lib/.build-id/a4/053e13ae8464b0fac21455c7cc604411c3cace -usr/lib/.build-id/a4/091b6bcb744cf6c3edf445a3d3813e946dd734 -usr/lib/.build-id/a4/2ef1c78e170a1d1d55cfb1dfa60428a298650e -usr/lib/.build-id/a4/987b4cf78c632393ef2453308b0a3803d7eec2 -usr/lib/.build-id/a4/c9d4e3dbb904d92d858c9829bba67943c22bde -usr/lib/.build-id/a4/dda759853add945edfe690262305cc1c90bdce -usr/lib/.build-id/a4/f6a29b5aa0e965e9c61324ef1457dd75208f8b -usr/lib/.build-id/a5/122452f2f956f492396bf64e82d12cc2b635ce -usr/lib/.build-id/a5/2fc1db31e2c9d6c2bca255984692c20f747bc9 -usr/lib/.build-id/a5/48430b7c152e3dfc6e3f398487cc5eae2c4f52 -usr/lib/.build-id/a5/591fcc120fee79242fb773b8ea83f2b06c9891 -usr/lib/.build-id/a5/80b49e5b0e1db63103565a9c22ec8a1e2097c8 -usr/lib/.build-id/a5/97c5f31a4974fc5e3e1a2452c12fb211b26dd6 -usr/lib/.build-id/a5/a1d56ae6739d81cce21f67d1d5910c5a0e9609 -usr/lib/.build-id/a5/e103868627a26f653dbf93e6d6ed56f081f125 -usr/lib/.build-id/a6/0c4da09db0188c032dc9b18ec8c09b997c66bd -usr/lib/.build-id/a6/c09ea22691158c488026540acab9f5675f675e -usr/lib/.build-id/a6/d10687dc0f44bce6d5ebea74cbbefd77a3535b -usr/lib/.build-id/a7/5f584f89a67983fc50e86b37d2d3e58e8f678b -usr/lib/.build-id/a7/a3e66158ee7e81881f791779699792cb8b5126 -usr/lib/.build-id/a8/31937da80fc09ff65d9fd3817afa648f854895 -usr/lib/.build-id/a8/c25c9d96859f17a91b87fffdb24cccdc0b5f7b -usr/lib/.build-id/a8/de1343fbd9d95b05e5a2d1c89cebca098178da -usr/lib/.build-id/a9/16ea80741920b540705a766848a73d1b0c385d -usr/lib/.build-id/a9/76a9976ddc75db335d744f37579e38690cbede -usr/lib/.build-id/a9/84bfee4df4cfe2d1956dac3cc10f4d55e83316 -usr/lib/.build-id/a9/959750f4da8411a75d2fb511cabddfd876a4e6 -usr/lib/.build-id/a9/a2d4cca5b2f7edcf41a8fe85571f99e5222ae3 -usr/lib/.build-id/a9/ac1b8d71f9f6f29c7486563376e295e17585d6 -usr/lib/.build-id/a9/ad071f1d9a3b29acef392735bef99610c6390e -usr/lib/.build-id/a9/e118f6e8615748c17332535b146030fc181a81 -usr/lib/.build-id/aa/280855835ab01ad2944d6e07bbb326807f4e02 -usr/lib/.build-id/aa/84dd42c5424413fa075dff9a0982acaf74df96 -usr/lib/.build-id/aa/967c83cd29f89a1f5f729a8a0720f81e3f7746 -usr/lib/.build-id/aa/e3b6a50fab84dd1f68f49c7345e17eca0a2d6a -usr/lib/.build-id/ab/1fbd96602c83ca1eec4eb6207a3c5d8c63f6c1 -usr/lib/.build-id/ab/c6a6a835e6371c621f0a08991bfaf3d078b1f1 -usr/lib/.build-id/ab/e85d6ed328ca087dfa4db3d1e20bb046f8896c -usr/lib/.build-id/ab/fb165368b55b4425e0d77d7da0a830c7fc4480 -usr/lib/.build-id/ac/407d6675dc2c9d4a078d33d56e0bcfa9dd449c -usr/lib/.build-id/ac/5155179b2793b388b2d099e669e9c7533db3a9 -usr/lib/.build-id/ac/9b1dd6ab73a396e56943db51ccfc08657de34a -usr/lib/.build-id/ac/9b4d120b2a461156c79a66babc15da0a69bbe2 -usr/lib/.build-id/ac/f62677c4a5177ce6501f6e62a6607cd3576dcf -usr/lib/.build-id/ad/00edd277873eb18631c5b3ce37f0e21f7f87c4 -usr/lib/.build-id/ad/a2334714f8653977a4926c4a7f3450d574c98a -usr/lib/.build-id/ad/abd6660433b2029a6e1010a2ead1617b0995f9 -usr/lib/.build-id/ad/b9f79ebe950148e4abfcdc6df751e06f2e4da5 -usr/lib/.build-id/ae/62833d903d8c583e429769bc1b138e12d1a56a -usr/lib/.build-id/af/283c28bbaf5f173899cb4c5c6b41682dbc315b -usr/lib/.build-id/af/2bcd903f115d5aa6b418862b1b20ae83565738 -usr/lib/.build-id/af/9d89f708fecc6390a915692edce3b5f5783e8f -usr/lib/.build-id/af/adf8efc64cc1a1356becb7e12bd9c4c519a086 -usr/lib/.build-id/b0/5846a0c34d2df2564d80213722984bb11f2071 -usr/lib/.build-id/b0/d37a5729b62304aba087b4cd7bb6f3c51a3438 -usr/lib/.build-id/b1/73c2269bb0d5efc7cce3c76d1b4dfdf7e9f944 -usr/lib/.build-id/b2/1ad70f94c08ad8c509e607d6094c5e042d5d1e -usr/lib/.build-id/b2/2d63c1bf09e6b0285aca929aa08bcfb181fffd -usr/lib/.build-id/b2/81a4ad3157172f472577082f6a66fa28bf1af9 -usr/lib/.build-id/b2/9b1fc39017fd2e92a1da94ac68cd88a170bd9a -usr/lib/.build-id/b3/051d5e4936b54c88cf35cee924ff09a064a065 -usr/lib/.build-id/b3/bbd514914024d9bf72859640a8cada72df0ddd -usr/lib/.build-id/b4/7553159357fe9f067968a9da5591bd5456bccb -usr/lib/.build-id/b4/84173a1894f156548a8cf428a1bdc21d86415d -usr/lib/.build-id/b4/97432156d3b35d15b1177c85fff452efc2363d -usr/lib/.build-id/b4/cebdd7b4c9aba923ed6a8f9a6fc479042ddf5c -usr/lib/.build-id/b5/136094a881789ec0ffbec5837fe95c4daf35bd -usr/lib/.build-id/b5/7bb61fdb1f7c3a1a3c8e409cb33980e845e364 -usr/lib/.build-id/b5/7e2d3e835c6c6f29cfcad77499bf65084c9c25 -usr/lib/.build-id/b5/9a40ffdbe35bdb82b95dba55c5be90ef010631 -usr/lib/.build-id/b5/fdcfe4fbbcb34d72b0be46cb32d8ceab33ca9c -usr/lib/.build-id/b6/2e1dea468148ef6821897489edd822e30f9ce1 -usr/lib/.build-id/b6/3a3c47eeaa75b6ac2849868efe07b01da2ba3d -usr/lib/.build-id/b6/58687790fa3a31aada72c8b3858041e076d74b -usr/lib/.build-id/b6/d5c4bb60e3060eb879d4153e68df0336c0da45 -usr/lib/.build-id/b7/038cacc0040413c2ec6375e34dbf021311fb23 -usr/lib/.build-id/b7/06398164d8df2c0f9e7ab8b727d3164de96e79 -usr/lib/.build-id/b7/420fb6af73efcec9d82632598d384b6f892b94 -usr/lib/.build-id/b7/459d01f70c3399dcf1611837f166914ba0cea9 -usr/lib/.build-id/b7/a2c605645efad44843cd6b8849dac92d17eca2 -usr/lib/.build-id/b7/aff522f4d65a9992c2e6c890b4e4afa38c9b6e -usr/lib/.build-id/b8/3a59349f9f4d309d74851cda0b34985e5a63ee -usr/lib/.build-id/b8/9a347816dcb53bd0bee07adb2949f0bf66e3a8 -usr/lib/.build-id/b8/a951cabbb0b5bed2bd5411434f96b9396173d6 -usr/lib/.build-id/b8/ab5f4aea724a861c6894130f367ba713ea2b8d -usr/lib/.build-id/b9/339800015bc78b353b73175e4504db3b912184 -usr/lib/.build-id/b9/84429a968c823424bbfa8d34f191b4a357d509 -usr/lib/.build-id/b9/f57906bc9abf2ac8f98d8305fbd4a2979279ce -usr/lib/.build-id/ba/9e652df50099e9ce590361dd4136efe6906c7b -usr/lib/.build-id/ba/d38b11e988233132340bd8e4c940a305ae1a3e -usr/lib/.build-id/bb/1ac1fe00b0b31f758812da72057fd7372acbc7 -usr/lib/.build-id/bb/6d0c4138d5babda51b78f2df9952610d0e220f -usr/lib/.build-id/bb/a190d81dc0570b1c1b22cddf0e022161d4dac1 -usr/lib/.build-id/bb/cecd2f3830dc81dc12e1c263f32bf876886aa5 -usr/lib/.build-id/bb/f350c37617c73e29a5ab6f78b14c97a5c09092 -usr/lib/.build-id/bb/fd288c3035b18c6f0ac291f28ca2527d7a448a -usr/lib/.build-id/bc/181132be929ba4d551c2d56d44210579f36650 -usr/lib/.build-id/bc/995af1c7722691ca92b24ea8a48d74609fbe74 -usr/lib/.build-id/bc/fa8195639305890e3f21a116adda6ddc8c163c -usr/lib/.build-id/bd/2a40bccee31324ec5226263cc59edcf4071e2a -usr/lib/.build-id/bd/56eb18a23799b3a60bf316a453db7250026a11 -usr/lib/.build-id/bd/68fc3a253a847f1d627460fba65b51332c5270 -usr/lib/.build-id/bd/b0731dcf251c2bffa44849b90f11b4e84cebb5 -usr/lib/.build-id/bd/e58488c3c26d88abb774b24eb46a84ad443564 -usr/lib/.build-id/be/42d39bfb309c98d6cecb0deddb8074e00d412c -usr/lib/.build-id/be/83223e141d9963545ef188af72f94dca92d5aa -usr/lib/.build-id/be/ae3eb7a9e1556e67d8121633a56456141e1270 -usr/lib/.build-id/be/b0e4b811efdd066eb78337bdc255e3a78e573c -usr/lib/.build-id/be/c4bcdf038ca51bf2dacb0461fdbbf8d250806f -usr/lib/.build-id/be/cf156e5c0cc2a28a81fc514132422c45e89e87 -usr/lib/.build-id/bf/0aed0e8032b776d14d49f64c28ccda3f4de369 -usr/lib/.build-id/bf/ba81bb7ef95a64a9cb5a9cb9cf50db57cfc162 -usr/lib/.build-id/c0/a65afc039f74306a0209caf95fe793e5ac343c -usr/lib/.build-id/c0/dbe15a8e45f30799d193277d176063a58b7755 -usr/lib/.build-id/c0/e699ad81a71a94dbaf2ad438bc58ef9df9a1f5 -usr/lib/.build-id/c0/f7d07b6f8e8ff53f61be32e1fc10e7e43a957e -usr/lib/.build-id/c1/7f9db1aca8b33846684bc3e45448fd36a9882d -usr/lib/.build-id/c1/ab465634fcd5710b0eace2ef6f1a178e9d997e -usr/lib/.build-id/c1/eeaca3f4e2300b90d63a0609c9915af67c639b -usr/lib/.build-id/c2/0c3b7f4cdf5171113e064f7774c2876216de59 -usr/lib/.build-id/c2/40fc71b17631b401747a59c4b259016073b984 -usr/lib/.build-id/c2/75f5d3b57b52beb2e9c03fb3353c1d8b91ff22 -usr/lib/.build-id/c2/a83d7049dbcb141558aa8b5f52c6c2c321203b -usr/lib/.build-id/c2/acc4c92e65a9c39e113465b878ddadf6098d16 -usr/lib/.build-id/c2/c48405609a4928984382e4eb00b27038cc4e5a -usr/lib/.build-id/c3/45029a807e88ac202d8f16ca0e7846e75444af -usr/lib/.build-id/c3/bf62dd9df37f84cac5e00335ac6034ec5b112a -usr/lib/.build-id/c3/caacb8df730e5a1b1bf9bd58a7db4fa559f05c -usr/lib/.build-id/c4/1fd647d5f4a9067b287a1d88bd51d4c0a08b24 -usr/lib/.build-id/c4/384405c11f65665446337e271d1af591b07f87 -usr/lib/.build-id/c4/42279bde281cf21c8283fa45a7abde17d018b9 -usr/lib/.build-id/c4/6699f3851553bd6aa181321cbd03b9e0addfa3 -usr/lib/.build-id/c4/78c694afccd3fb0f2831f5a61c40025eba23e9 -usr/lib/.build-id/c4/e0a7a4f18e3fa222d3664e39e85a0f0b984291 -usr/lib/.build-id/c5/042c4086cce02570e41e355dee7dd79ccce20f -usr/lib/.build-id/c5/2d447faca8e767ebe181b78a85c09ea0b45d6b -usr/lib/.build-id/c5/2d447faca8e767ebe181b78a85c09ea0b45d6b.1 -usr/lib/.build-id/c5/2d447faca8e767ebe181b78a85c09ea0b45d6b.2 -usr/lib/.build-id/c5/2d447faca8e767ebe181b78a85c09ea0b45d6b.3 -usr/lib/.build-id/c5/9c9728a1768bd0d9a21557844b42159b83bd67 -usr/lib/.build-id/c5/e5e8e5ffa97ac3889c352b0789d28df4cb318d -usr/lib/.build-id/c6/3d118c87bc148a5585d8981bc1b275e130a707 -usr/lib/.build-id/c6/558c073e0b206524d4b3583ed070e93fc446db -usr/lib/.build-id/c6/a6f4af2c27466c51cbc9586ce005158b304b12 -usr/lib/.build-id/c6/c1fdbeb663ef2774f5eff886fba860bf33f3ec -usr/lib/.build-id/c6/eb823d1c459cb6287ecae08b8ab05b47c3953d -usr/lib/.build-id/c7/1428b2f746916f8cd2ed58e1ae17de9640cdc7 -usr/lib/.build-id/c7/4af666d3e2be27f503f53e08e8d2dc07ff9b11 -usr/lib/.build-id/c7/8470aa2713df4416fcc65a174ea0f745eb6404 -usr/lib/.build-id/c7/8b941c6cb4b6790887e430352b82a0c045e6a4 -usr/lib/.build-id/c7/8fc9ac5675480831d2e5481f4c92ac40d60c34 -usr/lib/.build-id/c7/919c5fe2a8b32eb1a3d5422912707020f3b67b -usr/lib/.build-id/c7/abc241a6b77797795d381ba7c765fbd7545f26 -usr/lib/.build-id/c8/1ba8b365aa6cc85dbc556c0427a9f18568ade2 -usr/lib/.build-id/c8/44f4d9260557c08f121d5c00c199a5bc2bebe1 -usr/lib/.build-id/c8/7bb1b9128020dd181400e84d1c2d074a49bb60 -usr/lib/.build-id/c8/7f0478fa7dd2348ae45909be7666a10ac41a6b -usr/lib/.build-id/c8/97e3670070b285a54252317839653e52ba3095 -usr/lib/.build-id/c8/abe211cc9f1e9c85f3a56b785233dbc1da3b41 -usr/lib/.build-id/c8/c917976f665d3faaf4bbe9dc97ffa56219cf3b -usr/lib/.build-id/c9/951de227dac88cc52c83ad7248b8efb4a0c593 -usr/lib/.build-id/c9/c56b7879a31732674b426d2e1ff9c7459a7e3a -usr/lib/.build-id/ca/353d90367ce99faf3c73891ecd318b6011e908 -usr/lib/.build-id/ca/4d6962ee588d4cfc6059aba80546f1bfb1a6c9 -usr/lib/.build-id/ca/4fc53db044ceb422a140eb3435360e233587eb -usr/lib/.build-id/ca/c5eb79ac5312d867b249928aa4ff6c5c31c3dc -usr/lib/.build-id/ca/e6bf871dd800a2b67bca723dfe8a31e95865c2 -usr/lib/.build-id/cb/780ab7145146941ebc192fb56855b860a7f0db -usr/lib/.build-id/cb/ddd352a6ecf2f3409ba9e24fa1c7635db2c8d7 -usr/lib/.build-id/cc/10b69b1b0fc6a42c83cfa91d47bc01d9fae6a3 -usr/lib/.build-id/cc/a875d625c2dfbe293f76d20507edc4885fd175 -usr/lib/.build-id/cc/ae9dde72c2b19bb4177be8ae3af0b2d560c123 -usr/lib/.build-id/cd/4b8582a529ed5c9aaf4c7b1eb2087355607e27 -usr/lib/.build-id/cd/75bb36337773313710b38baeac9f9efa3abd1d -usr/lib/.build-id/cd/7934b890b08e2eca890bae05e649dc67b2a869 -usr/lib/.build-id/cd/8ebe30acca7cb8c052b4fcd85858fff5325101 -usr/lib/.build-id/cd/c742ccdc79dd24dc5826263c5a15a8c4cde22a -usr/lib/.build-id/ce/0dea7d34046f965fcda9b83e55aa18c0561a7d -usr/lib/.build-id/ce/27d457e75aa31d1dc467e28f8b8c6fb1e33918 -usr/lib/.build-id/ce/8af4bddc4303bc352403c04db4fb520a139f0c -usr/lib/.build-id/ce/bc6febb40d126807e80ee76e88c0f905da346d -usr/lib/.build-id/cf/2734ac59ed72afa2e7aaa4bfe15bb5ecf50dab -usr/lib/.build-id/cf/459a4a048d181047eb8e7802261b9d7064fc13 -usr/lib/.build-id/cf/c0e1c2c0133d96cbb42c2b26d36468e6e1e3f0 -usr/lib/.build-id/cf/efb65631635284352ed39afa4de671707fe35e -usr/lib/.build-id/d0/9a307b6443cbf9a8d19e4aa8699c57008de8c4 -usr/lib/.build-id/d0/b2ab66a180f4f3732f9578382211d99d6864cf -usr/lib/.build-id/d0/b3a2311328fcb22f693d7c80935f307b0d8e0e -usr/lib/.build-id/d1/19b63d031946f6e72e9ab0ca3e41e54e2ee0bf -usr/lib/.build-id/d1/23a489b5bd39195aa6982148894799f28d5864 -usr/lib/.build-id/d1/2587a6d9633158cbc7001b3062a416305387ca -usr/lib/.build-id/d1/3dfd185cc351a3261ccbc6de2cd87150c51422 -usr/lib/.build-id/d1/50bd51a517b543151d4f93fe21c2c6e63666a9 -usr/lib/.build-id/d1/6bbee941dfd932f0c5a2c7afbaec80b4b4b400 -usr/lib/.build-id/d1/81662b61979d8c371d1e9ae65540b536cb7fa2 -usr/lib/.build-id/d1/dcb91f301e68ce76818145c9701bb72238f01d -usr/lib/.build-id/d2/30e6e431149812ee80c2821a400f7a31407cbb -usr/lib/.build-id/d2/952d9403697ce8b6888a7436d6e2e3eb1a6ce6 -usr/lib/.build-id/d2/a4b635d755e4deacdae3535e3e48604750f9da -usr/lib/.build-id/d2/c21314cde1b8d1b1dc3d756904138e3e73faf5 -usr/lib/.build-id/d2/c97657d76d8b34d612efdc73b129b3b18c7e81 -usr/lib/.build-id/d2/ced3581682f0b3dd188028290922a953e9c53f -usr/lib/.build-id/d2/cf01578d8bc2a0f7d3cb1a3cdb4ed5b765b719 -usr/lib/.build-id/d3/5722ad8fdc3431f5d9b46aa5687c4f8925805b -usr/lib/.build-id/d3/7138f364076671b8f2f2c47b5b5d2e8d0cb7fd -usr/lib/.build-id/d3/775deee4fad681c5a91e459229a79c7ecea17e -usr/lib/.build-id/d3/81ab70a09508e5c72c18fd107595f53bd6aaa7 -usr/lib/.build-id/d3/9e4e10709bd393ac465b8813b66971e762ec75 -usr/lib/.build-id/d4/1b8af3544284872a8b4ae37dfb72d5633901fe -usr/lib/.build-id/d4/20048a580b8891fb3a7449576b918b98fe2aa0 -usr/lib/.build-id/d4/2114ee3accab3597ec06b21cf2c2dae272be33 -usr/lib/.build-id/d4/7cc9c57c67e32b21c1836472c52947e7e4a1b0 -usr/lib/.build-id/d4/9eb72d1a52b3db0f0b57f92433eba15dcd41e5 -usr/lib/.build-id/d5/cb36cf68a112a6157bb98652678d125b609e24 -usr/lib/.build-id/d6/9767645c25e0ffec0cad6bbc4798dc3c6a1cb8 -usr/lib/.build-id/d6/adc564042c9e89b0c00cf3c89202998b604dbe -usr/lib/.build-id/d6/f9af2fd60fdbc5f427c301833969b8c9e1675f -usr/lib/.build-id/d7/355fc24a072f82751059753e402ad560198a60 -usr/lib/.build-id/d7/64d0b14f543b32c631502d022d31dc73605b99 -usr/lib/.build-id/d7/70497826bad0b9e8e5179274010291b044d9e5 -usr/lib/.build-id/d7/9f6e7527270cd0db13e99d96a2d19b37d3d609 -usr/lib/.build-id/d7/d74c354ae09a3b9f6d092a569c0db3b6198d18 -usr/lib/.build-id/d7/eef20ca6dc50d5b7592c336ca0b4a780f35202 -usr/lib/.build-id/d8/214e54fbc4a7bc6533fdd2eee362feb850e32e -usr/lib/.build-id/d8/642dae30f14fb46fe2eaab75ea3afb58821062 -usr/lib/.build-id/d8/b21e63ecd8f6b4a606b34ac79dd6c0d01cc6e5 -usr/lib/.build-id/d8/d8a4ed14c07fb2e6ed716401f0ae63f6a0501d -usr/lib/.build-id/d8/dbf71e3e7037680297831da366676c4ca09d7f -usr/lib/.build-id/d9/49b804415bbcf9e70e533417f7dd8f626307a2 -usr/lib/.build-id/d9/ca8c58c171f665c894ff48ef2c0d81d036c700 -usr/lib/.build-id/d9/f65a51abb58e67bee19e8c833c0d32fec78da2 -usr/lib/.build-id/da/94bcc8b3bbec0a4c190cdf82913f8c678542bc -usr/lib/.build-id/da/ed8218dfe6c6839d3f5fc1a34903ab35802a89 -usr/lib/.build-id/db/0fb0cc9ac7495365c9e665d9d562dc909e92a4 -usr/lib/.build-id/db/6cefd53bb91e9a5e82cf17a8c0edd792ab57ac -usr/lib/.build-id/dc/3aac56c3c2a8b6378eaed0f07ea40a6af30768 -usr/lib/.build-id/dc/6c919a45d4cdcc1e9aa671ba513dfc1350d776 -usr/lib/.build-id/dc/8fb4bc44b44001849568ea8fbb43644780747b -usr/lib/.build-id/dc/b62c90f48e0feafcfc72f2e8153cd4fafbb1ed -usr/lib/.build-id/dc/c8f48f61fb1089fe044441df31e0faa1c1185a -usr/lib/.build-id/dc/e36e3728dda8894bcae875a31705f9694401bc -usr/lib/.build-id/dc/e969f26b418b3ee4a099d207a7b3f4a3fe566c -usr/lib/.build-id/dc/f85620eeb3cb37337c2523e0f8fa69f0001f12 -usr/lib/.build-id/dd/0e01313179969d8991222d262c4fb98775937a -usr/lib/.build-id/dd/5df23d7cef85d580a84f3c9b6968101ab55ac7 -usr/lib/.build-id/de/09cf9415ff2b70670451aa53d155a314eab054 -usr/lib/.build-id/de/5042b23edb0b522033a9a71226262f26231c36 -usr/lib/.build-id/de/58f30b81f953639fc9e83b50b9c19ae2c64cba -usr/lib/.build-id/de/b23dd76d8c542d2e73e29d68b3439d3f8640dd -usr/lib/.build-id/de/b65148f5599f0310157f4259fb34321d776219 -usr/lib/.build-id/de/eb18792181b16453f40666d03f9bc4afc133c6 -usr/lib/.build-id/df/1a1e7738925d227c99bc6ccaa0d74937664e50 -usr/lib/.build-id/df/4f40111340999be168e8bc178af67b710b2871 -usr/lib/.build-id/df/fd700871bf2393e634f8b0b10af086a0b73c3b -usr/lib/.build-id/e0/022df89ba27bc2c23c880594c280cef7314441 -usr/lib/.build-id/e0/a1dc5d2edbafb443e1717a6ec62e98f274ddcc -usr/lib/.build-id/e0/e8e0f1076aa84d34d8aad21d85e932216ba64e -usr/lib/.build-id/e1/238f104b7c387d75de3fda0889d105c1fa1cba -usr/lib/.build-id/e1/8749e5654dd37408b1fdc84adb24a443b9d10c -usr/lib/.build-id/e1/ace2b0b8c0e1214c1f3d2fa11a4d8d93078e5a -usr/lib/.build-id/e2/035980162a13d606e1bdf93c778eb6312209d9 -usr/lib/.build-id/e2/0c01c431383a8c53534996f54e25724517d2ca -usr/lib/.build-id/e2/4098c207c166ee8a07cd50704df6f984018d75 -usr/lib/.build-id/e2/72ed553c94d586c58d66066aab6670fddfe1d7 -usr/lib/.build-id/e2/a16fef2908a8017ca5366f03b359275d7cc5dd -usr/lib/.build-id/e2/d0dafcb37ade303866148cf0ecefbda0096b67 -usr/lib/.build-id/e2/d235919399bc6615db6e1e08dd44592281c942 -usr/lib/.build-id/e2/f5cc13be512ec5e730cc4b5fc4475dda1c6558 -usr/lib/.build-id/e2/fd492bc7ae4663e6abc70165afdbfbfab1528f -usr/lib/.build-id/e3/328a2c11dc330644928bacdc5896b1461664da -usr/lib/.build-id/e3/7ac603fbbf2bb2fca7adbc2da46e01f2a85812 -usr/lib/.build-id/e3/b32800823baad56d37784c59b9306eca1b9cf1 -usr/lib/.build-id/e4/2decc13c8548363d23ce48d1a99620e08b7102 -usr/lib/.build-id/e4/83e20f8388f8984e6b151781838d7d7fe360dc -usr/lib/.build-id/e4/9e9d3b68f0940f57e97cbac261d21f59b601aa -usr/lib/.build-id/e4/a0247e832a7a033b8da09da9e99cf6d64fe566 -usr/lib/.build-id/e4/e2e94fabd274944aff51cbb268b7eb12779d52 -usr/lib/.build-id/e4/ed426d5a87a427827dafaf8e51e39fcadbd05b -usr/lib/.build-id/e5/054774f999b03e59f5fa18480142b4bd445534 -usr/lib/.build-id/e5/65571ac985cb0f3eda66c755d93033112924be -usr/lib/.build-id/e5/ed05ccb272002e79e69c717f5f32f5e00bfd15 -usr/lib/.build-id/e6/0daf16a76f895097072f10feb286638bdfb392 -usr/lib/.build-id/e6/294450e099a384e6094333e0881bac019800b1 -usr/lib/.build-id/e6/2ac6fdb82a54f40b51b65a3ed8c47004b1a260 -usr/lib/.build-id/e6/ae2a78a7ec4b56ada56bef67fa34ff70390f67 -usr/lib/.build-id/e7/16b845f49e39e752f68f666ebb0aa131f721d2 -usr/lib/.build-id/e7/278e39a80eac13e9d97a6feccb428cc1a848a8 -usr/lib/.build-id/e7/49493a0b93a34e1bfc54680e256a152314d4b2 -usr/lib/.build-id/e7/ef3e58b665690735e628cf0d4a55f3726a995c -usr/lib/.build-id/e8/3990cd4d77efef26c7b77d5b9bc9cfff9d74d5 -usr/lib/.build-id/e8/3aaf70ea62fc4206c5ee4fc9bcfa98b72e578a -usr/lib/.build-id/e8/4082689c7b23eed0a36c5a48fe85359eaea48d -usr/lib/.build-id/e8/549c431b288e2c35ab282c3374c29ebd300f53 -usr/lib/.build-id/e8/5cf228e9f4d13ac6b036c17f5020a4558373e5 -usr/lib/.build-id/e8/9895d97390926da1c925f1b0e3dc00cdcbe89b -usr/lib/.build-id/e8/d012b5add013f7d0647a78c8c2f759996aea4a -usr/lib/.build-id/e9/09c9f3c001f6d1e06f822e7b82cf524d171f32 -usr/lib/.build-id/e9/3c3d4fb7bb7a922cbb8040129c54b8f9a2a642 -usr/lib/.build-id/e9/52641ef7d21809955a14873002f047b85952ed -usr/lib/.build-id/e9/79fc7b5be61e327368385f4db3f5a3df98ef28 -usr/lib/.build-id/e9/9b83df5a8e1443c376dcdebee69cf08e29617e -usr/lib/.build-id/e9/c3e366752d07406d46cbccb22b27ed97dde3a7 -usr/lib/.build-id/ea/055dd368ec90891c293c0288718af02a8aac84 -usr/lib/.build-id/ea/0fa5eb2d08dacb3e00e5531393d545ccd4a91c -usr/lib/.build-id/ea/34dd0b6efe116e87162890440d2b9b9df879ff -usr/lib/.build-id/ea/a2faf8e6b92caf63ac7f3b1f104a76c6d3d17c -usr/lib/.build-id/ea/b169baa518fe6dcf517252ef2ea4ed02543578 -usr/lib/.build-id/eb/92030a526c1206cad525804fb04ef87de5e69f -usr/lib/.build-id/eb/b244b565262029f0272813afe4b16b2b7133a3 -usr/lib/.build-id/eb/b8de6c9ad08c136734936fc49cc51779f61b08 -usr/lib/.build-id/eb/cca458e7129367895ec62cf42750b9a533000a -usr/lib/.build-id/eb/d1a5d2180df97ba2863d4c5026f3c0f9c342e3 -usr/lib/.build-id/eb/fd75a34e643ef8b64cc1f5225486681e214b4e -usr/lib/.build-id/ec/6587d9214bf908dd5d5ee3c95ae5e3be7330db -usr/lib/.build-id/ec/673f7c63e58dc60e5aac6aca90a9e2d064c10f -usr/lib/.build-id/ec/81712cd61ee36d7f4a28675b921fb40d855500 -usr/lib/.build-id/ec/9ac6b6351319335a2327260490d9b0b176ca19 -usr/lib/.build-id/ed/3e7dc9521e003840c63d3495620242d9d7ed53 -usr/lib/.build-id/ed/51ad6a5882c6f2a73240bf5a901326347bebbc -usr/lib/.build-id/ed/76fd5c01115f708b20aa4286513c889e707143 -usr/lib/.build-id/ed/83cc97d4c1a7a03302c6da3bc8252dd6052936 -usr/lib/.build-id/ed/e4ce6a9a3abfb2c8808b20c451f1d41443a2cc -usr/lib/.build-id/ed/fb93f83d981c2581055e50d31b8c6725259bca -usr/lib/.build-id/ee/a905ae972073934f747f732891abb38da6596a -usr/lib/.build-id/ee/aa4758ab678957f348c482bf1e4b1cd8dae956 -usr/lib/.build-id/ee/f801abd3cb9aebb971ebebfaea48424e705428 -usr/lib/.build-id/ef/345ecf247e01022dc8ce4ee0f02d1b8432f0fd -usr/lib/.build-id/ef/36913c69ac46042e073f45b2a25461a580686d -usr/lib/.build-id/ef/55a1e1729fd6ac859ca7c25898e3314e1cb69c -usr/lib/.build-id/ef/892035f0f947ac78c4ef86ce9f30687fedc936 -usr/lib/.build-id/ef/8ef837eafca150b87e55412b4d330cd29c293c -usr/lib/.build-id/f0/a4107f43bb9c15e94c53f77b4d4c5dfcf1b27a -usr/lib/.build-id/f0/e2cb92583b02ea8de5b1452d9ba4efac2a12cb -usr/lib/.build-id/f1/726e7069560ee3cdd5241ace1793c250e7e95e -usr/lib/.build-id/f1/79a154c8664be4575fa61bdaaa050893519abe -usr/lib/.build-id/f1/90910a69fc724163c73b1d40eb59f516bb72b5 -usr/lib/.build-id/f1/f9015ba756067068369afe4e996ced0f86a534 -usr/lib/.build-id/f2/388b491804c1bc6e9bc1fc3eaf29c41839cd7c -usr/lib/.build-id/f2/914d2d66a063d3105b0176b74d43b699922809 -usr/lib/.build-id/f2/d7fa0533d029e04f9cc4a2348d6c4e102fe1ab -usr/lib/.build-id/f3/4f78d0e6a8b73976834cdb59da1e8d507446b9 -usr/lib/.build-id/f3/6a7ca383bc94d566210be98905026ce99876c5 -usr/lib/.build-id/f3/9056d30357891f9ba337bcdcbc1068b483d235 -usr/lib/.build-id/f3/925fc1a485ae1780f78e4237402bbbfd018258 -usr/lib/.build-id/f5/08944db00d93f12c97a44925881ef73683fdc2 -usr/lib/.build-id/f5/17ce9229f80341efd5c61a6512ca8ad03ecf1f -usr/lib/.build-id/f5/341a851208b4777e733b437721402a915afdd1 -usr/lib/.build-id/f5/52533ba8e8aead6e3112b3e7c8239d09a777fc -usr/lib/.build-id/f5/ee9abfcc54928242b3c39ddff3d7efd9521be8 -usr/lib/.build-id/f6/e885e08d6f84009205cb1ce05df58cbcea8f9b -usr/lib/.build-id/f7/645895047cb787dbc752fc370baa8ea0a34b9d -usr/lib/.build-id/f7/846f2d4dbdb690a70d8bcd1f391f4a6257b490 -usr/lib/.build-id/f7/d649d46e7c7697be446f1d5700a4b2af70855f -usr/lib/.build-id/f8/55dca56f03d5fd212c041db38d8a1474c4964f -usr/lib/.build-id/f8/dbf760a337a5a2795b652311abd64b0c42aafa -usr/lib/.build-id/f8/f7c2a36257162faada68d4ff33d04873c17de2 -usr/lib/.build-id/f8/f7c2a36257162faada68d4ff33d04873c17de2.1 -usr/lib/.build-id/f8/f7c2a36257162faada68d4ff33d04873c17de2.2 -usr/lib/.build-id/f8/f7c2a36257162faada68d4ff33d04873c17de2.3 -usr/lib/.build-id/f9/2f6282678e59a4c7415e69d91b74ada971586e -usr/lib/.build-id/f9/4c94e14da8c451744360bc650700dc61514069 -usr/lib/.build-id/f9/5ff3c13355fa8366502fcf3b084afcc58c1d69 -usr/lib/.build-id/f9/97c75976df0d4202ab874fcc7e3058723b570a -usr/lib/.build-id/f9/aaacf08c459641b1e24abeab8564120e07d819 -usr/lib/.build-id/f9/da100606a9d100aac0427b1058d2393f83d2ba -usr/lib/.build-id/f9/e024d01a5c7087fe71b7193c25f26d06860b36 -usr/lib/.build-id/f9/ee92f2c778d6bcfa3a4af28d752c153efc61c8 -usr/lib/.build-id/fa/4c021ec8cfeb7c8dcaa85ab4f0f7577a44102b -usr/lib/.build-id/fa/576b2c31e2e135022c36787ca19a4df9e3556e -usr/lib/.build-id/fa/5795a6dcf5de2bf3bf684eb72c9346883de159 -usr/lib/.build-id/fa/7a291c8b5fbed49e1755d77d27432e82d5ad0b -usr/lib/.build-id/fa/864a993490e7615df0010f3a2a59eea18c27c4 -usr/lib/.build-id/fa/88cf5fdc9637c4ba3655774d1e73c3c8eb91f5 -usr/lib/.build-id/fb/5e8db26cddcb34abbb961838fcd97dd62ff2fb -usr/lib/.build-id/fb/8fbdf48342b351bdeac167161806e44ae711fc -usr/lib/.build-id/fb/ae37bf50cf95a279b809d54ed7e78de6ab860b -usr/lib/.build-id/fb/dd2cd0c0f13215c41be0569cee27a522de896d -usr/lib/.build-id/fc/23007c5ed2db91aa9c11730e154f683517ba69 -usr/lib/.build-id/fc/2b1c316fe57d2dcae9651ee61287357d4f4fe8 -usr/lib/.build-id/fc/351d39140bf9912b654cdd6cb58df71d149b61 -usr/lib/.build-id/fc/46bc419367003d0e4e399cbe22aade4a1ee7be -usr/lib/.build-id/fc/bec24a27da2c1022ed92f3448c6bbd5e0831db -usr/lib/.build-id/fc/d288d8ac4bc587f5b05a2c87d6fb62b02ddcb3 -usr/lib/.build-id/fc/d75217e2740c5f63d748f87369ca66342109b2 -usr/lib/.build-id/fc/e9182f29619841dbfa010140c23a0821ab56a9 -usr/lib/.build-id/fd/56b043ce47cb4f41be9f3bed51dffbe36f6a24 -usr/lib/.build-id/fd/7d5cb1e4753bc54cacc836c4619af447db8b70 -usr/lib/.build-id/fd/838ec0d77e8b6d206c62045352af83ed7f5df5 -usr/lib/.build-id/fd/8d1f5ff969c9fd4bfc1011fd1d199c4fa933dd -usr/lib/.build-id/fd/a968165e7057412c25aac6a072e0c79c60ffdf -usr/lib/.build-id/fd/e30e7b72e074322e253308b1510e7fc30f3a95 -usr/lib/.build-id/fd/eb44dab416cb9bb521da086ebc8d1a7a24793a -usr/lib/.build-id/fd/ee3cb0a79105f9aee6e8f5cbcb3b97fe227c26 -usr/lib/.build-id/fe/0727eb33f51a6b2a505984938dc862b561f387 -usr/lib/.build-id/fe/3365699995eb323d015d38abb79135902bb4c6 -usr/lib/.build-id/fe/84cf66af8f613d10cf5aef3dcaf96f182cf3b3 -usr/lib/.build-id/fe/8903ee76261ccca26c0f75daa1da637a93f37b -usr/lib/.build-id/fe/9d372cc4bd5146afb2c70ab9bed7af43b1a118 -usr/lib/.build-id/fe/b4086af6091e61dc75e4ede3c28058d2ac8e63 -usr/lib/.build-id/fe/d1b1f776bdea5a954e065e9d120b2f483da3c8 -usr/lib/.build-id/fe/e136153b4475983e66c5b56561d4ffb17e9e92 -usr/lib/.build-id/ff/4e6a6a9dff6649d9d98a79ce2a2ba5bea74c35 -usr/lib/.build-id/ff/5ce98065bd719acf94b749c1d7ce08cef7f954 -usr/lib/.build-id/ff/7f83ad7098ce78fa7b5b11dfafd3ca39e6bd7d -usr/lib/.build-id/ff/c6ae65e93b1b44c35c34dcfa80e69bc9515b53 -usr/lib/.build-id/ff/fedf745ffddf06d62b2d322d1bffaa3a8a30d1 usr/lib/.libgmp.so.10.4.0.hmac usr/lib/.libgmp.so.10.hmac usr/lib/audit/sotruss-lib.so @@ -1369,14 +312,7 @@ usr/lib/gconv/ASMO_449.so usr/lib/gconv/BIG5.so usr/lib/gconv/BIG5HKSCS.so usr/lib/gconv/BRF.so -usr/lib/gconv/CP737.so -usr/lib/gconv/CP770.so -usr/lib/gconv/CP771.so -usr/lib/gconv/CP772.so -usr/lib/gconv/CP773.so -usr/lib/gconv/CP774.so -usr/lib/gconv/CP775.so -usr/lib/gconv/CP932.so +usr/lib/gconv/CP10007.so usr/lib/gconv/CP1125.so usr/lib/gconv/CP1250.so usr/lib/gconv/CP1251.so @@ -1387,20 +323,27 @@ usr/lib/gconv/CP1255.so usr/lib/gconv/CP1256.so usr/lib/gconv/CP1257.so usr/lib/gconv/CP1258.so -usr/lib/gconv/CP10007.so +usr/lib/gconv/CP737.so +usr/lib/gconv/CP770.so +usr/lib/gconv/CP771.so +usr/lib/gconv/CP772.so +usr/lib/gconv/CP773.so +usr/lib/gconv/CP774.so +usr/lib/gconv/CP775.so +usr/lib/gconv/CP932.so usr/lib/gconv/CSN_369103.so usr/lib/gconv/CWI.so usr/lib/gconv/DEC-MCS.so -usr/lib/gconv/EBCDIC-AT-DE.so usr/lib/gconv/EBCDIC-AT-DE-A.so +usr/lib/gconv/EBCDIC-AT-DE.so usr/lib/gconv/EBCDIC-CA-FR.so -usr/lib/gconv/EBCDIC-DK-NO.so usr/lib/gconv/EBCDIC-DK-NO-A.so -usr/lib/gconv/EBCDIC-ES.so +usr/lib/gconv/EBCDIC-DK-NO.so usr/lib/gconv/EBCDIC-ES-A.so usr/lib/gconv/EBCDIC-ES-S.so -usr/lib/gconv/EBCDIC-FI-SE.so +usr/lib/gconv/EBCDIC-ES.so usr/lib/gconv/EBCDIC-FI-SE-A.so +usr/lib/gconv/EBCDIC-FI-SE.so usr/lib/gconv/EBCDIC-FR.so usr/lib/gconv/EBCDIC-IS-FRISS.so usr/lib/gconv/EBCDIC-IT.so @@ -1410,8 +353,8 @@ usr/lib/gconv/EBCDIC-US.so usr/lib/gconv/ECMA-CYRILLIC.so usr/lib/gconv/EUC-CN.so usr/lib/gconv/EUC-JISX0213.so -usr/lib/gconv/EUC-JP.so usr/lib/gconv/EUC-JP-MS.so +usr/lib/gconv/EUC-JP.so usr/lib/gconv/EUC-KR.so usr/lib/gconv/EUC-TW.so usr/lib/gconv/GB18030.so @@ -1421,9 +364,9 @@ usr/lib/gconv/GBK.so usr/lib/gconv/GEORGIAN-ACADEMY.so usr/lib/gconv/GEORGIAN-PS.so usr/lib/gconv/GOST_19768-74.so -usr/lib/gconv/GREEK7.so -usr/lib/gconv/GREEK7-OLD.so usr/lib/gconv/GREEK-CCITT.so +usr/lib/gconv/GREEK7-OLD.so +usr/lib/gconv/GREEK7.so usr/lib/gconv/HP-GREEK8.so usr/lib/gconv/HP-ROMAN8.so usr/lib/gconv/HP-ROMAN9.so @@ -1431,6 +374,53 @@ usr/lib/gconv/HP-THAI8.so usr/lib/gconv/HP-TURKISH8.so usr/lib/gconv/IBM037.so usr/lib/gconv/IBM038.so +usr/lib/gconv/IBM1004.so +usr/lib/gconv/IBM1008.so +usr/lib/gconv/IBM1008_420.so +usr/lib/gconv/IBM1025.so +usr/lib/gconv/IBM1026.so +usr/lib/gconv/IBM1046.so +usr/lib/gconv/IBM1047.so +usr/lib/gconv/IBM1097.so +usr/lib/gconv/IBM1112.so +usr/lib/gconv/IBM1122.so +usr/lib/gconv/IBM1123.so +usr/lib/gconv/IBM1124.so +usr/lib/gconv/IBM1129.so +usr/lib/gconv/IBM1130.so +usr/lib/gconv/IBM1132.so +usr/lib/gconv/IBM1133.so +usr/lib/gconv/IBM1137.so +usr/lib/gconv/IBM1140.so +usr/lib/gconv/IBM1141.so +usr/lib/gconv/IBM1142.so +usr/lib/gconv/IBM1143.so +usr/lib/gconv/IBM1144.so +usr/lib/gconv/IBM1145.so +usr/lib/gconv/IBM1146.so +usr/lib/gconv/IBM1147.so +usr/lib/gconv/IBM1148.so +usr/lib/gconv/IBM1149.so +usr/lib/gconv/IBM1153.so +usr/lib/gconv/IBM1154.so +usr/lib/gconv/IBM1155.so +usr/lib/gconv/IBM1156.so +usr/lib/gconv/IBM1157.so +usr/lib/gconv/IBM1158.so +usr/lib/gconv/IBM1160.so +usr/lib/gconv/IBM1161.so +usr/lib/gconv/IBM1162.so +usr/lib/gconv/IBM1163.so +usr/lib/gconv/IBM1164.so +usr/lib/gconv/IBM1166.so +usr/lib/gconv/IBM1167.so +usr/lib/gconv/IBM12712.so +usr/lib/gconv/IBM1364.so +usr/lib/gconv/IBM1371.so +usr/lib/gconv/IBM1388.so +usr/lib/gconv/IBM1390.so +usr/lib/gconv/IBM1399.so +usr/lib/gconv/IBM16804.so usr/lib/gconv/IBM256.so usr/lib/gconv/IBM273.so usr/lib/gconv/IBM274.so @@ -1447,7 +437,12 @@ usr/lib/gconv/IBM420.so usr/lib/gconv/IBM423.so usr/lib/gconv/IBM424.so usr/lib/gconv/IBM437.so +usr/lib/gconv/IBM4517.so +usr/lib/gconv/IBM4899.so +usr/lib/gconv/IBM4909.so +usr/lib/gconv/IBM4971.so usr/lib/gconv/IBM500.so +usr/lib/gconv/IBM5347.so usr/lib/gconv/IBM803.so usr/lib/gconv/IBM850.so usr/lib/gconv/IBM851.so @@ -1475,8 +470,10 @@ usr/lib/gconv/IBM891.so usr/lib/gconv/IBM901.so usr/lib/gconv/IBM902.so usr/lib/gconv/IBM903.so +usr/lib/gconv/IBM9030.so usr/lib/gconv/IBM904.so usr/lib/gconv/IBM905.so +usr/lib/gconv/IBM9066.so usr/lib/gconv/IBM918.so usr/lib/gconv/IBM921.so usr/lib/gconv/IBM922.so @@ -1487,68 +484,27 @@ usr/lib/gconv/IBM935.so usr/lib/gconv/IBM937.so usr/lib/gconv/IBM939.so usr/lib/gconv/IBM943.so -usr/lib/gconv/IBM1004.so -usr/lib/gconv/IBM1008.so -usr/lib/gconv/IBM1008_420.so -usr/lib/gconv/IBM1025.so -usr/lib/gconv/IBM1026.so -usr/lib/gconv/IBM1046.so -usr/lib/gconv/IBM1047.so -usr/lib/gconv/IBM1097.so -usr/lib/gconv/IBM1112.so -usr/lib/gconv/IBM1122.so -usr/lib/gconv/IBM1123.so -usr/lib/gconv/IBM1124.so -usr/lib/gconv/IBM1129.so -usr/lib/gconv/IBM1130.so -usr/lib/gconv/IBM1132.so -usr/lib/gconv/IBM1133.so -usr/lib/gconv/IBM1137.so -usr/lib/gconv/IBM1140.so -usr/lib/gconv/IBM1141.so -usr/lib/gconv/IBM1142.so -usr/lib/gconv/IBM1143.so -usr/lib/gconv/IBM1144.so -usr/lib/gconv/IBM1145.so -usr/lib/gconv/IBM1146.so -usr/lib/gconv/IBM1147.so -usr/lib/gconv/IBM1148.so -usr/lib/gconv/IBM1149.so -usr/lib/gconv/IBM1153.so -usr/lib/gconv/IBM1154.so -usr/lib/gconv/IBM1155.so -usr/lib/gconv/IBM1156.so -usr/lib/gconv/IBM1157.so -usr/lib/gconv/IBM1158.so -usr/lib/gconv/IBM1160.so -usr/lib/gconv/IBM1161.so -usr/lib/gconv/IBM1162.so -usr/lib/gconv/IBM1163.so -usr/lib/gconv/IBM1164.so -usr/lib/gconv/IBM1166.so -usr/lib/gconv/IBM1167.so -usr/lib/gconv/IBM1364.so -usr/lib/gconv/IBM1371.so -usr/lib/gconv/IBM1388.so -usr/lib/gconv/IBM1390.so -usr/lib/gconv/IBM1399.so -usr/lib/gconv/IBM4517.so -usr/lib/gconv/IBM4899.so -usr/lib/gconv/IBM4909.so -usr/lib/gconv/IBM4971.so -usr/lib/gconv/IBM5347.so -usr/lib/gconv/IBM9030.so -usr/lib/gconv/IBM9066.so usr/lib/gconv/IBM9448.so -usr/lib/gconv/IBM12712.so -usr/lib/gconv/IBM16804.so usr/lib/gconv/IEC_P27-1.so -usr/lib/gconv/INIS.so usr/lib/gconv/INIS-8.so usr/lib/gconv/INIS-CYRILLIC.so +usr/lib/gconv/INIS.so usr/lib/gconv/ISIRI-3342.so +usr/lib/gconv/ISO-2022-CN-EXT.so +usr/lib/gconv/ISO-2022-CN.so +usr/lib/gconv/ISO-2022-JP-3.so +usr/lib/gconv/ISO-2022-JP.so +usr/lib/gconv/ISO-2022-KR.so +usr/lib/gconv/ISO-IR-197.so +usr/lib/gconv/ISO-IR-209.so usr/lib/gconv/ISO646.so usr/lib/gconv/ISO8859-1.so +usr/lib/gconv/ISO8859-10.so +usr/lib/gconv/ISO8859-11.so +usr/lib/gconv/ISO8859-13.so +usr/lib/gconv/ISO8859-14.so +usr/lib/gconv/ISO8859-15.so +usr/lib/gconv/ISO8859-16.so usr/lib/gconv/ISO8859-2.so usr/lib/gconv/ISO8859-3.so usr/lib/gconv/ISO8859-4.so @@ -1558,40 +514,27 @@ usr/lib/gconv/ISO8859-7.so usr/lib/gconv/ISO8859-8.so usr/lib/gconv/ISO8859-9.so usr/lib/gconv/ISO8859-9E.so -usr/lib/gconv/ISO8859-10.so -usr/lib/gconv/ISO8859-11.so -usr/lib/gconv/ISO8859-13.so -usr/lib/gconv/ISO8859-14.so -usr/lib/gconv/ISO8859-15.so -usr/lib/gconv/ISO8859-16.so -usr/lib/gconv/ISO-2022-CN.so -usr/lib/gconv/ISO-2022-CN-EXT.so -usr/lib/gconv/ISO-2022-JP.so -usr/lib/gconv/ISO-2022-JP-3.so -usr/lib/gconv/ISO-2022-KR.so -usr/lib/gconv/ISO-IR-197.so -usr/lib/gconv/ISO-IR-209.so +usr/lib/gconv/ISO_10367-BOX.so +usr/lib/gconv/ISO_11548-1.so usr/lib/gconv/ISO_2033.so -usr/lib/gconv/ISO_5427.so usr/lib/gconv/ISO_5427-EXT.so +usr/lib/gconv/ISO_5427.so usr/lib/gconv/ISO_5428.so -usr/lib/gconv/ISO_6937.so usr/lib/gconv/ISO_6937-2.so -usr/lib/gconv/ISO_10367-BOX.so -usr/lib/gconv/ISO_11548-1.so +usr/lib/gconv/ISO_6937.so usr/lib/gconv/JOHAB.so +usr/lib/gconv/KOI-8.so usr/lib/gconv/KOI8-R.so usr/lib/gconv/KOI8-RU.so usr/lib/gconv/KOI8-T.so usr/lib/gconv/KOI8-U.so -usr/lib/gconv/KOI-8.so -usr/lib/gconv/LATIN-GREEK.so usr/lib/gconv/LATIN-GREEK-1.so -usr/lib/gconv/MACINTOSH.so +usr/lib/gconv/LATIN-GREEK.so usr/lib/gconv/MAC-CENTRALEUROPE.so usr/lib/gconv/MAC-IS.so usr/lib/gconv/MAC-SAMI.so usr/lib/gconv/MAC-UK.so +usr/lib/gconv/MACINTOSH.so usr/lib/gconv/MIK.so usr/lib/gconv/NATS-DANO.so usr/lib/gconv/NATS-SEFI.so @@ -1600,15 +543,15 @@ usr/lib/gconv/RK1048.so usr/lib/gconv/SAMI-WS2.so usr/lib/gconv/SHIFT_JISX0213.so usr/lib/gconv/SJIS.so +usr/lib/gconv/T.61.so usr/lib/gconv/TCVN5712-1.so usr/lib/gconv/TIS-620.so usr/lib/gconv/TSCII.so -usr/lib/gconv/T.61.so usr/lib/gconv/UHC.so usr/lib/gconv/UNICODE.so -usr/lib/gconv/UTF-7.so usr/lib/gconv/UTF-16.so usr/lib/gconv/UTF-32.so +usr/lib/gconv/UTF-7.so usr/lib/gconv/VISCII.so usr/lib/gconv/gconv-modules usr/lib/gconv/gconv-modules.cache @@ -1620,15 +563,18 @@ usr/lib/gconv/libJIS.so usr/lib/gconv/libJISX0213.so usr/lib/gconv/libKSC.so usr/lib/gio/modules/libgiognomeproxy.so -usr/lib/gio/modules/libgiognutls.so usr/lib/gio/modules/libgiolibproxy.so @rmtry usr/lib/gio/modules/giomodule.cache -usr/lib/girepository-1.0/GeocodeGlib-1.0.typelib usr/lib/girepository-1.0/GUdev-1.0.typelib +usr/lib/girepository-1.0/GeocodeGlib-1.0.typelib usr/lib/girepository-1.0/Json-1.0.typelib +usr/lib/girepository-1.0/Soup-2.4.typelib +usr/lib/girepository-1.0/SoupGNOME-2.4.typelib usr/lib/krb5/plugins/preauth/spake.so usr/lib/krb5/plugins/tls/k5tls.so usr/lib/ld-linux.so.2 +usr/lib/libBrokenLocale.so.1 +usr/lib/libSegFault.so usr/lib/libacl.so.1 usr/lib/libacl.so.1.1.2301 usr/lib/libanl.so.1 @@ -1636,11 +582,16 @@ usr/lib/libattr.so.1 usr/lib/libattr.so.1.1.2501 usr/lib/libblkid.so.1 usr/lib/libblkid.so.1.1.0 -usr/lib/libBrokenLocale.so.1 +usr/lib/libbrotlicommon.so.1 +usr/lib/libbrotlicommon.so.1.0.9 +usr/lib/libbrotlidec.so.1 +usr/lib/libbrotlidec.so.1.0.9 +usr/lib/libbrotlienc.so.1 +usr/lib/libbrotlienc.so.1.0.9 usr/lib/libbz2.so.1 usr/lib/libbz2.so.1.0.8 -usr/lib/libc_malloc_debug.so.0 usr/lib/libc.so.6 +usr/lib/libc_malloc_debug.so.0 usr/lib/libcap.so.2 usr/lib/libcap.so.2.48 usr/lib/libcom_err.so.2 @@ -1674,10 +625,10 @@ usr/lib/libfuse.so.2 usr/lib/libfuse.so.2.9.9 usr/lib/libgcc_s-11-20240719.so.1 usr/lib/libgcc_s.so.1 -usr/lib/libgdbm_compat.so.4 -usr/lib/libgdbm_compat.so.4.0.0 usr/lib/libgdbm.so.6 usr/lib/libgdbm.so.6.0.0 +usr/lib/libgdbm_compat.so.4 +usr/lib/libgdbm_compat.so.4.0.0 usr/lib/libgeocode-glib.so.0 usr/lib/libgeocode-glib.so.0.0.0 usr/lib/libgio-2.0.so.0 @@ -1700,6 +651,8 @@ usr/lib/libgudev-1.0.so.0 usr/lib/libgudev-1.0.so.0.3.0 usr/lib/libhistory.so.8 usr/lib/libhistory.so.8.1 +usr/lib/libidn2.so.0 +usr/lib/libidn2.so.0.3.7 usr/lib/libjson-glib-1.0.so.0 usr/lib/libjson-glib-1.0.so.0.600.6 usr/lib/libk5crypto.so.3 @@ -1745,22 +698,24 @@ usr/lib/libpcre.so.1 usr/lib/libpcre.so.1.2.12 usr/lib/libpcre16.so.0 usr/lib/libpcre16.so.0.2.12 -usr/lib/libpcre32.so.0 -usr/lib/libpcre32.so.0.0.12 -usr/lib/libpcreposix.so.0 -usr/lib/libpcreposix.so.0.0.7 -usr/lib/libpcre2-8.so.0 -usr/lib/libpcre2-8.so.0.11.0 usr/lib/libpcre2-16.so.0 usr/lib/libpcre2-16.so.0.11.0 usr/lib/libpcre2-32.so.0 usr/lib/libpcre2-32.so.0.11.0 +usr/lib/libpcre2-8.so.0 +usr/lib/libpcre2-8.so.0.11.0 usr/lib/libpcre2-posix.so.3 usr/lib/libpcre2-posix.so.3.0.2 +usr/lib/libpcre32.so.0 +usr/lib/libpcre32.so.0.0.12 +usr/lib/libpcreposix.so.0 +usr/lib/libpcreposix.so.0.0.7 usr/lib/libpopt.so.0 usr/lib/libpopt.so.0.0.1 usr/lib/libproxy.so.1 usr/lib/libproxy.so.1.0.0 +usr/lib/libpsl.so.5 +usr/lib/libpsl.so.5.3.3 usr/lib/libpsx.so.2 usr/lib/libpsx.so.2.48 usr/lib/libpthread.so.0 @@ -1768,7 +723,6 @@ usr/lib/libreadline.so.8 usr/lib/libreadline.so.8.1 usr/lib/libresolv.so.2 usr/lib/librt.so.1 -usr/lib/libSegFault.so usr/lib/libselinux.so.1 usr/lib/libsepol.so.2 usr/lib/libsigsegv.so.2 @@ -1777,6 +731,12 @@ usr/lib/libslang.so.2 usr/lib/libslang.so.2.3.2 usr/lib/libsmartcols.so.1 usr/lib/libsmartcols.so.1.1.0 +usr/lib/libsoup-2.4.so.1 +usr/lib/libsoup-2.4.so.1.11.0 +usr/lib/libsoup-gnome-2.4.so.1 +usr/lib/libsoup-gnome-2.4.so.1.11.0 +usr/lib/libsqlite3.so.0 +usr/lib/libsqlite3.so.0.8.6 usr/lib/libssl.so.3 usr/lib/libssl.so.3.2.2 usr/lib/libstdc++.so.6 @@ -1788,6 +748,8 @@ usr/lib/libtinfo.so.6 usr/lib/libtinfo.so.6.2 usr/lib/libulockmgr.so.1 usr/lib/libulockmgr.so.1.0.1 +usr/lib/libunistring.so.2 +usr/lib/libunistring.so.2.1.0 usr/lib/libutil.so.1 usr/lib/libuuid.so.1 usr/lib/libuuid.so.1.3.0 @@ -1796,7 +758,7 @@ usr/lib/libverto.so.1.0.0 usr/lib/libz.so.1 usr/lib/libz.so.1.2.11 usr/lib/libzstd.so.1 -usr/lib/libzstd.so.1.5.1 +usr/lib/libzstd.so.1.5.5 usr/lib/locale/C.utf8/LC_ADDRESS usr/lib/locale/C.utf8/LC_COLLATE usr/lib/locale/C.utf8/LC_CTYPE @@ -1857,14 +819,7 @@ usr/lib64/gconv/ASMO_449.so usr/lib64/gconv/BIG5.so usr/lib64/gconv/BIG5HKSCS.so usr/lib64/gconv/BRF.so -usr/lib64/gconv/CP737.so -usr/lib64/gconv/CP770.so -usr/lib64/gconv/CP771.so -usr/lib64/gconv/CP772.so -usr/lib64/gconv/CP773.so -usr/lib64/gconv/CP774.so -usr/lib64/gconv/CP775.so -usr/lib64/gconv/CP932.so +usr/lib64/gconv/CP10007.so usr/lib64/gconv/CP1125.so usr/lib64/gconv/CP1250.so usr/lib64/gconv/CP1251.so @@ -1875,20 +830,27 @@ usr/lib64/gconv/CP1255.so usr/lib64/gconv/CP1256.so usr/lib64/gconv/CP1257.so usr/lib64/gconv/CP1258.so -usr/lib64/gconv/CP10007.so +usr/lib64/gconv/CP737.so +usr/lib64/gconv/CP770.so +usr/lib64/gconv/CP771.so +usr/lib64/gconv/CP772.so +usr/lib64/gconv/CP773.so +usr/lib64/gconv/CP774.so +usr/lib64/gconv/CP775.so +usr/lib64/gconv/CP932.so usr/lib64/gconv/CSN_369103.so usr/lib64/gconv/CWI.so usr/lib64/gconv/DEC-MCS.so -usr/lib64/gconv/EBCDIC-AT-DE.so usr/lib64/gconv/EBCDIC-AT-DE-A.so +usr/lib64/gconv/EBCDIC-AT-DE.so usr/lib64/gconv/EBCDIC-CA-FR.so -usr/lib64/gconv/EBCDIC-DK-NO.so usr/lib64/gconv/EBCDIC-DK-NO-A.so -usr/lib64/gconv/EBCDIC-ES.so +usr/lib64/gconv/EBCDIC-DK-NO.so usr/lib64/gconv/EBCDIC-ES-A.so usr/lib64/gconv/EBCDIC-ES-S.so -usr/lib64/gconv/EBCDIC-FI-SE.so +usr/lib64/gconv/EBCDIC-ES.so usr/lib64/gconv/EBCDIC-FI-SE-A.so +usr/lib64/gconv/EBCDIC-FI-SE.so usr/lib64/gconv/EBCDIC-FR.so usr/lib64/gconv/EBCDIC-IS-FRISS.so usr/lib64/gconv/EBCDIC-IT.so @@ -1898,8 +860,8 @@ usr/lib64/gconv/EBCDIC-US.so usr/lib64/gconv/ECMA-CYRILLIC.so usr/lib64/gconv/EUC-CN.so usr/lib64/gconv/EUC-JISX0213.so -usr/lib64/gconv/EUC-JP.so usr/lib64/gconv/EUC-JP-MS.so +usr/lib64/gconv/EUC-JP.so usr/lib64/gconv/EUC-KR.so usr/lib64/gconv/EUC-TW.so usr/lib64/gconv/GB18030.so @@ -1909,9 +871,9 @@ usr/lib64/gconv/GBK.so usr/lib64/gconv/GEORGIAN-ACADEMY.so usr/lib64/gconv/GEORGIAN-PS.so usr/lib64/gconv/GOST_19768-74.so -usr/lib64/gconv/GREEK7.so -usr/lib64/gconv/GREEK7-OLD.so usr/lib64/gconv/GREEK-CCITT.so +usr/lib64/gconv/GREEK7-OLD.so +usr/lib64/gconv/GREEK7.so usr/lib64/gconv/HP-GREEK8.so usr/lib64/gconv/HP-ROMAN8.so usr/lib64/gconv/HP-ROMAN9.so @@ -1919,6 +881,53 @@ usr/lib64/gconv/HP-THAI8.so usr/lib64/gconv/HP-TURKISH8.so usr/lib64/gconv/IBM037.so usr/lib64/gconv/IBM038.so +usr/lib64/gconv/IBM1004.so +usr/lib64/gconv/IBM1008.so +usr/lib64/gconv/IBM1008_420.so +usr/lib64/gconv/IBM1025.so +usr/lib64/gconv/IBM1026.so +usr/lib64/gconv/IBM1046.so +usr/lib64/gconv/IBM1047.so +usr/lib64/gconv/IBM1097.so +usr/lib64/gconv/IBM1112.so +usr/lib64/gconv/IBM1122.so +usr/lib64/gconv/IBM1123.so +usr/lib64/gconv/IBM1124.so +usr/lib64/gconv/IBM1129.so +usr/lib64/gconv/IBM1130.so +usr/lib64/gconv/IBM1132.so +usr/lib64/gconv/IBM1133.so +usr/lib64/gconv/IBM1137.so +usr/lib64/gconv/IBM1140.so +usr/lib64/gconv/IBM1141.so +usr/lib64/gconv/IBM1142.so +usr/lib64/gconv/IBM1143.so +usr/lib64/gconv/IBM1144.so +usr/lib64/gconv/IBM1145.so +usr/lib64/gconv/IBM1146.so +usr/lib64/gconv/IBM1147.so +usr/lib64/gconv/IBM1148.so +usr/lib64/gconv/IBM1149.so +usr/lib64/gconv/IBM1153.so +usr/lib64/gconv/IBM1154.so +usr/lib64/gconv/IBM1155.so +usr/lib64/gconv/IBM1156.so +usr/lib64/gconv/IBM1157.so +usr/lib64/gconv/IBM1158.so +usr/lib64/gconv/IBM1160.so +usr/lib64/gconv/IBM1161.so +usr/lib64/gconv/IBM1162.so +usr/lib64/gconv/IBM1163.so +usr/lib64/gconv/IBM1164.so +usr/lib64/gconv/IBM1166.so +usr/lib64/gconv/IBM1167.so +usr/lib64/gconv/IBM12712.so +usr/lib64/gconv/IBM1364.so +usr/lib64/gconv/IBM1371.so +usr/lib64/gconv/IBM1388.so +usr/lib64/gconv/IBM1390.so +usr/lib64/gconv/IBM1399.so +usr/lib64/gconv/IBM16804.so usr/lib64/gconv/IBM256.so usr/lib64/gconv/IBM273.so usr/lib64/gconv/IBM274.so @@ -1935,7 +944,12 @@ usr/lib64/gconv/IBM420.so usr/lib64/gconv/IBM423.so usr/lib64/gconv/IBM424.so usr/lib64/gconv/IBM437.so +usr/lib64/gconv/IBM4517.so +usr/lib64/gconv/IBM4899.so +usr/lib64/gconv/IBM4909.so +usr/lib64/gconv/IBM4971.so usr/lib64/gconv/IBM500.so +usr/lib64/gconv/IBM5347.so usr/lib64/gconv/IBM803.so usr/lib64/gconv/IBM850.so usr/lib64/gconv/IBM851.so @@ -1963,8 +977,10 @@ usr/lib64/gconv/IBM891.so usr/lib64/gconv/IBM901.so usr/lib64/gconv/IBM902.so usr/lib64/gconv/IBM903.so +usr/lib64/gconv/IBM9030.so usr/lib64/gconv/IBM904.so usr/lib64/gconv/IBM905.so +usr/lib64/gconv/IBM9066.so usr/lib64/gconv/IBM918.so usr/lib64/gconv/IBM921.so usr/lib64/gconv/IBM922.so @@ -1975,68 +991,27 @@ usr/lib64/gconv/IBM935.so usr/lib64/gconv/IBM937.so usr/lib64/gconv/IBM939.so usr/lib64/gconv/IBM943.so -usr/lib64/gconv/IBM1004.so -usr/lib64/gconv/IBM1008.so -usr/lib64/gconv/IBM1008_420.so -usr/lib64/gconv/IBM1025.so -usr/lib64/gconv/IBM1026.so -usr/lib64/gconv/IBM1046.so -usr/lib64/gconv/IBM1047.so -usr/lib64/gconv/IBM1097.so -usr/lib64/gconv/IBM1112.so -usr/lib64/gconv/IBM1122.so -usr/lib64/gconv/IBM1123.so -usr/lib64/gconv/IBM1124.so -usr/lib64/gconv/IBM1129.so -usr/lib64/gconv/IBM1130.so -usr/lib64/gconv/IBM1132.so -usr/lib64/gconv/IBM1133.so -usr/lib64/gconv/IBM1137.so -usr/lib64/gconv/IBM1140.so -usr/lib64/gconv/IBM1141.so -usr/lib64/gconv/IBM1142.so -usr/lib64/gconv/IBM1143.so -usr/lib64/gconv/IBM1144.so -usr/lib64/gconv/IBM1145.so -usr/lib64/gconv/IBM1146.so -usr/lib64/gconv/IBM1147.so -usr/lib64/gconv/IBM1148.so -usr/lib64/gconv/IBM1149.so -usr/lib64/gconv/IBM1153.so -usr/lib64/gconv/IBM1154.so -usr/lib64/gconv/IBM1155.so -usr/lib64/gconv/IBM1156.so -usr/lib64/gconv/IBM1157.so -usr/lib64/gconv/IBM1158.so -usr/lib64/gconv/IBM1160.so -usr/lib64/gconv/IBM1161.so -usr/lib64/gconv/IBM1162.so -usr/lib64/gconv/IBM1163.so -usr/lib64/gconv/IBM1164.so -usr/lib64/gconv/IBM1166.so -usr/lib64/gconv/IBM1167.so -usr/lib64/gconv/IBM1364.so -usr/lib64/gconv/IBM1371.so -usr/lib64/gconv/IBM1388.so -usr/lib64/gconv/IBM1390.so -usr/lib64/gconv/IBM1399.so -usr/lib64/gconv/IBM4517.so -usr/lib64/gconv/IBM4899.so -usr/lib64/gconv/IBM4909.so -usr/lib64/gconv/IBM4971.so -usr/lib64/gconv/IBM5347.so -usr/lib64/gconv/IBM9030.so -usr/lib64/gconv/IBM9066.so usr/lib64/gconv/IBM9448.so -usr/lib64/gconv/IBM12712.so -usr/lib64/gconv/IBM16804.so usr/lib64/gconv/IEC_P27-1.so -usr/lib64/gconv/INIS.so usr/lib64/gconv/INIS-8.so usr/lib64/gconv/INIS-CYRILLIC.so +usr/lib64/gconv/INIS.so usr/lib64/gconv/ISIRI-3342.so +usr/lib64/gconv/ISO-2022-CN-EXT.so +usr/lib64/gconv/ISO-2022-CN.so +usr/lib64/gconv/ISO-2022-JP-3.so +usr/lib64/gconv/ISO-2022-JP.so +usr/lib64/gconv/ISO-2022-KR.so +usr/lib64/gconv/ISO-IR-197.so +usr/lib64/gconv/ISO-IR-209.so usr/lib64/gconv/ISO646.so usr/lib64/gconv/ISO8859-1.so +usr/lib64/gconv/ISO8859-10.so +usr/lib64/gconv/ISO8859-11.so +usr/lib64/gconv/ISO8859-13.so +usr/lib64/gconv/ISO8859-14.so +usr/lib64/gconv/ISO8859-15.so +usr/lib64/gconv/ISO8859-16.so usr/lib64/gconv/ISO8859-2.so usr/lib64/gconv/ISO8859-3.so usr/lib64/gconv/ISO8859-4.so @@ -2046,40 +1021,27 @@ usr/lib64/gconv/ISO8859-7.so usr/lib64/gconv/ISO8859-8.so usr/lib64/gconv/ISO8859-9.so usr/lib64/gconv/ISO8859-9E.so -usr/lib64/gconv/ISO8859-10.so -usr/lib64/gconv/ISO8859-11.so -usr/lib64/gconv/ISO8859-13.so -usr/lib64/gconv/ISO8859-14.so -usr/lib64/gconv/ISO8859-15.so -usr/lib64/gconv/ISO8859-16.so -usr/lib64/gconv/ISO-2022-CN.so -usr/lib64/gconv/ISO-2022-CN-EXT.so -usr/lib64/gconv/ISO-2022-JP.so -usr/lib64/gconv/ISO-2022-JP-3.so -usr/lib64/gconv/ISO-2022-KR.so -usr/lib64/gconv/ISO-IR-197.so -usr/lib64/gconv/ISO-IR-209.so +usr/lib64/gconv/ISO_10367-BOX.so +usr/lib64/gconv/ISO_11548-1.so usr/lib64/gconv/ISO_2033.so -usr/lib64/gconv/ISO_5427.so usr/lib64/gconv/ISO_5427-EXT.so +usr/lib64/gconv/ISO_5427.so usr/lib64/gconv/ISO_5428.so -usr/lib64/gconv/ISO_6937.so usr/lib64/gconv/ISO_6937-2.so -usr/lib64/gconv/ISO_10367-BOX.so -usr/lib64/gconv/ISO_11548-1.so +usr/lib64/gconv/ISO_6937.so usr/lib64/gconv/JOHAB.so +usr/lib64/gconv/KOI-8.so usr/lib64/gconv/KOI8-R.so usr/lib64/gconv/KOI8-RU.so usr/lib64/gconv/KOI8-T.so usr/lib64/gconv/KOI8-U.so -usr/lib64/gconv/KOI-8.so -usr/lib64/gconv/LATIN-GREEK.so usr/lib64/gconv/LATIN-GREEK-1.so -usr/lib64/gconv/MACINTOSH.so +usr/lib64/gconv/LATIN-GREEK.so usr/lib64/gconv/MAC-CENTRALEUROPE.so usr/lib64/gconv/MAC-IS.so usr/lib64/gconv/MAC-SAMI.so usr/lib64/gconv/MAC-UK.so +usr/lib64/gconv/MACINTOSH.so usr/lib64/gconv/MIK.so usr/lib64/gconv/NATS-DANO.so usr/lib64/gconv/NATS-SEFI.so @@ -2088,15 +1050,15 @@ usr/lib64/gconv/RK1048.so usr/lib64/gconv/SAMI-WS2.so usr/lib64/gconv/SHIFT_JISX0213.so usr/lib64/gconv/SJIS.so +usr/lib64/gconv/T.61.so usr/lib64/gconv/TCVN5712-1.so usr/lib64/gconv/TIS-620.so usr/lib64/gconv/TSCII.so -usr/lib64/gconv/T.61.so usr/lib64/gconv/UHC.so usr/lib64/gconv/UNICODE.so -usr/lib64/gconv/UTF-7.so usr/lib64/gconv/UTF-16.so usr/lib64/gconv/UTF-32.so +usr/lib64/gconv/UTF-7.so usr/lib64/gconv/VISCII.so usr/lib64/gconv/gconv-modules usr/lib64/gconv/gconv-modules.cache @@ -2108,12 +1070,13 @@ usr/lib64/gconv/libJIS.so usr/lib64/gconv/libJISX0213.so usr/lib64/gconv/libKSC.so usr/lib64/gio/modules/libgiognomeproxy.so -usr/lib64/gio/modules/libgiognutls.so usr/lib64/gio/modules/libgiolibproxy.so usr/lib64/girepository-1.0/GUdev-1.0.typelib usr/lib64/girepository-1.0/GeocodeGlib-1.0.typelib usr/lib64/girepository-1.0/Json-1.0.typelib @rmtry usr/lib64/gio/modules/giomodule.cache +usr/lib64/girepository-1.0/Soup-2.4.typelib +usr/lib64/girepository-1.0/SoupGNOME-2.4.typelib usr/lib64/krb5/plugins/preauth/spake.so usr/lib64/krb5/plugins/tls/k5tls.so usr/lib64/ld-linux-x86-64.so.2 @@ -2126,6 +1089,12 @@ usr/lib64/libattr.so.1 usr/lib64/libattr.so.1.1.2501 usr/lib64/libblkid.so.1 usr/lib64/libblkid.so.1.1.0 +usr/lib64/libbrotlicommon.so.1 +usr/lib64/libbrotlicommon.so.1.0.9 +usr/lib64/libbrotlidec.so.1 +usr/lib64/libbrotlidec.so.1.0.9 +usr/lib64/libbrotlienc.so.1 +usr/lib64/libbrotlienc.so.1.0.9 usr/lib64/libbz2.so.1 usr/lib64/libbz2.so.1.0.8 usr/lib64/libc.so.6 @@ -2189,6 +1158,8 @@ usr/lib64/libgudev-1.0.so.0 usr/lib64/libgudev-1.0.so.0.3.0 usr/lib64/libhistory.so.8 usr/lib64/libhistory.so.8.1 +usr/lib64/libidn2.so.0 +usr/lib64/libidn2.so.0.3.7 usr/lib64/libjson-glib-1.0.so.0 usr/lib64/libjson-glib-1.0.so.0.600.6 usr/lib64/libk5crypto.so.3 @@ -2235,22 +1206,24 @@ usr/lib64/libpcre.so.1 usr/lib64/libpcre.so.1.2.12 usr/lib64/libpcre16.so.0 usr/lib64/libpcre16.so.0.2.12 -usr/lib64/libpcre32.so.0 -usr/lib64/libpcre32.so.0.0.12 -usr/lib64/libpcreposix.so.0 -usr/lib64/libpcreposix.so.0.0.7 -usr/lib64/libpcre2-8.so.0 -usr/lib64/libpcre2-8.so.0.11.0 usr/lib64/libpcre2-16.so.0 usr/lib64/libpcre2-16.so.0.11.0 usr/lib64/libpcre2-32.so.0 usr/lib64/libpcre2-32.so.0.11.0 +usr/lib64/libpcre2-8.so.0 +usr/lib64/libpcre2-8.so.0.11.0 usr/lib64/libpcre2-posix.so.3 usr/lib64/libpcre2-posix.so.3.0.2 +usr/lib64/libpcre32.so.0 +usr/lib64/libpcre32.so.0.0.12 +usr/lib64/libpcreposix.so.0 +usr/lib64/libpcreposix.so.0.0.7 usr/lib64/libpopt.so.0 usr/lib64/libpopt.so.0.0.1 usr/lib64/libproxy.so.1 usr/lib64/libproxy.so.1.0.0 +usr/lib64/libpsl.so.5 +usr/lib64/libpsl.so.5.3.3 usr/lib64/libpsx.so.2 usr/lib64/libpsx.so.2.48 usr/lib64/libpthread.so.0 @@ -2266,6 +1239,12 @@ usr/lib64/libslang.so.2 usr/lib64/libslang.so.2.3.2 usr/lib64/libsmartcols.so.1 usr/lib64/libsmartcols.so.1.1.0 +usr/lib64/libsoup-2.4.so.1 +usr/lib64/libsoup-2.4.so.1.11.0 +usr/lib64/libsoup-gnome-2.4.so.1 +usr/lib64/libsoup-gnome-2.4.so.1.11.0 +usr/lib64/libsqlite3.so.0 +usr/lib64/libsqlite3.so.0.8.6 usr/lib64/libssl.so.3 usr/lib64/libssl.so.3.2.2 usr/lib64/libstdc++.so.6 @@ -2277,6 +1256,8 @@ usr/lib64/libtinfo.so.6 usr/lib64/libtinfo.so.6.2 usr/lib64/libulockmgr.so.1 usr/lib64/libulockmgr.so.1.0.1 +usr/lib64/libunistring.so.2 +usr/lib64/libunistring.so.2.1.0 usr/lib64/libutil.so.1 usr/lib64/libuuid.so.1 usr/lib64/libuuid.so.1.3.0 @@ -2285,7 +1266,7 @@ usr/lib64/libverto.so.1.0.0 usr/lib64/libz.so.1 usr/lib64/libz.so.1.2.11 usr/lib64/libzstd.so.1 -usr/lib64/libzstd.so.1.5.1 +usr/lib64/libzstd.so.1.5.5 usr/lib64/ossl-modules/fips.so usr/lib64/ossl-modules/legacy.so usr/lib64/security/pam_cap.so @@ -2553,11 +1534,20 @@ usr/share/dbus-1/services/org.gtk.GLib.PACRunner.service %%PORTDOCS%%usr/share/doc/libevdev/COPYING %%PORTDOCS%%usr/share/doc/libffi/README.md %%PORTDOCS%%usr/share/doc/libgudev/NEWS +%%PORTDOCS%%usr/share/doc/libidn2/AUTHORS +%%PORTDOCS%%usr/share/doc/libidn2/NEWS +%%PORTDOCS%%usr/share/doc/libidn2/README.md %%PORTDOCS%%usr/share/doc/libproxy/AUTHORS %%PORTDOCS%%usr/share/doc/libproxy/README %%PORTDOCS%%usr/share/doc/libsigsegv/AUTHORS %%PORTDOCS%%usr/share/doc/libsigsegv/NEWS %%PORTDOCS%%usr/share/doc/libsigsegv/README +%%PORTDOCS%%usr/share/doc/libsoup/AUTHORS +%%PORTDOCS%%usr/share/doc/libsoup/NEWS +%%PORTDOCS%%usr/share/doc/libsoup/README +%%PORTDOCS%%usr/share/doc/libunistring/AUTHORS +%%PORTDOCS%%usr/share/doc/libunistring/NEWS +%%PORTDOCS%%usr/share/doc/libunistring/README %%PORTDOCS%%usr/share/doc/libverto/AUTHORS %%PORTDOCS%%usr/share/doc/libverto/ChangeLog %%PORTDOCS%%usr/share/doc/libverto/NEWS @@ -2578,12 +1568,12 @@ usr/share/dbus-1/services/org.gtk.GLib.PACRunner.service %%PORTDOCS%%usr/share/doc/ncurses/NEWS.xz %%PORTDOCS%%usr/share/doc/ncurses/README %%PORTDOCS%%usr/share/doc/ncurses/TO-DO -%%PORTDOCS%%usr/share/doc/pcre/AUTHORS -%%PORTDOCS%%usr/share/doc/pcre/NEWS %%PORTDOCS%%usr/share/doc/pcre-utf16/AUTHORS %%PORTDOCS%%usr/share/doc/pcre-utf16/NEWS %%PORTDOCS%%usr/share/doc/pcre-utf32/AUTHORS %%PORTDOCS%%usr/share/doc/pcre-utf32/NEWS +%%PORTDOCS%%usr/share/doc/pcre/AUTHORS +%%PORTDOCS%%usr/share/doc/pcre/NEWS %%PORTDOCS%%usr/share/doc/popt/CHANGES %%PORTDOCS%%usr/share/doc/rocky-release/COMMUNITY-CHARTER %%PORTDOCS%%usr/share/doc/rocky-release/Contributors @@ -2597,6 +1587,7 @@ usr/share/dbus-1/services/org.gtk.GLib.PACRunner.service %%PORTDOCS%%usr/share/doc/setserial/rc.serial %%PORTDOCS%%usr/share/doc/setup/uidgid %%PORTDOCS%%usr/share/doc/slang/NEWS +%%PORTDOCS%%usr/share/doc/sqlite-libs/README.md %%PORTDOCS%%usr/share/doc/util-linux/AUTHORS %%PORTDOCS%%usr/share/doc/util-linux/NEWS %%PORTDOCS%%usr/share/doc/util-linux/README @@ -2676,6 +1667,7 @@ usr/share/licenses/keyutils/LICENCE.GPL usr/share/licenses/krb5-libs/LICENSE usr/share/licenses/less/COPYING usr/share/licenses/less/LICENSE +usr/share/licenses/libbrotli/LICENSE usr/share/licenses/libcap/License usr/share/licenses/libcom_err/NOTICE usr/share/licenses/libdatrie/COPYING @@ -2691,15 +1683,23 @@ usr/share/licenses/libgcc/COPYING.RUNTIME usr/share/licenses/libgcc/COPYING3 usr/share/licenses/libgcc/COPYING3.LIB usr/share/licenses/libgudev/COPYING +usr/share/licenses/libidn2/COPYING +usr/share/licenses/libidn2/COPYING.LESSERv3 +usr/share/licenses/libidn2/COPYING.unicode +usr/share/licenses/libidn2/COPYINGv2 usr/share/licenses/libmount/COPYING usr/share/licenses/libmount/COPYING.LGPL-2.1-or-later usr/share/licenses/libproxy/COPYING usr/share/licenses/libproxy/Copyright.txt +usr/share/licenses/libpsl/COPYING usr/share/licenses/libselinux/LICENSE usr/share/licenses/libsepol/LICENSE usr/share/licenses/libsigsegv/COPYING usr/share/licenses/libsmartcols/COPYING usr/share/licenses/libsmartcols/COPYING.LGPL-2.1-or-later +usr/share/licenses/libsoup/COPYING +usr/share/licenses/libunistring/COPYING +usr/share/licenses/libunistring/COPYING.LIB usr/share/licenses/libuuid/COPYING usr/share/licenses/libuuid/COPYING.BSD-3-Clause usr/share/licenses/libverto/COPYING @@ -2712,12 +1712,12 @@ usr/share/licenses/mpfr/COPYING usr/share/licenses/mpfr/COPYING.LESSER usr/share/licenses/ncurses-base/COPYING usr/share/licenses/openssl-libs/LICENSE.txt -usr/share/licenses/pcre/COPYING -usr/share/licenses/pcre/LICENCE usr/share/licenses/pcre-utf16/COPYING usr/share/licenses/pcre-utf16/LICENCE usr/share/licenses/pcre-utf32/COPYING usr/share/licenses/pcre-utf32/LICENCE +usr/share/licenses/pcre/COPYING +usr/share/licenses/pcre/LICENCE usr/share/licenses/popt/COPYING usr/share/licenses/readline/COPYING usr/share/licenses/readline/USAGE @@ -2741,11 +1741,13 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/am/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/an/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/an/LC_MESSAGES/glib20.mo +%%NLS%%usr/share/locale/an/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ar/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/ar/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/as/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/as/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/as/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/as/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ast/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ast/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/az/LC_MESSAGES/glib20.mo @@ -2755,6 +1757,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/be/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/be/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/be/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/be/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/be@latin/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/bg/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/bg/LC_MESSAGES/diffutils.mo @@ -2764,14 +1767,17 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/bg/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/bg/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/bg/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/bg/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/bg/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/bn/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/bn_IN/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/bn_IN/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/bn_IN/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/bn_IN/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/bs/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/bs/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/bs/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/bs/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ca/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/ca/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/ca/LC_MESSAGES/e2fsprogs.mo @@ -2781,11 +1787,13 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ca/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/ca/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/ca/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/ca/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ca/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/ca/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/ca@valencia/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/ca@valencia/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ca@valencia/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/ca@valencia/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/e2fsprogs.mo @@ -2795,6 +1803,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/cs/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/cs/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/cs/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/cs/LC_MESSAGES/util-linux.mo @@ -2808,6 +1818,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/da/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/da/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/da/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/da/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/da/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/da/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/da/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/da/LC_MESSAGES/util-linux.mo @@ -2820,6 +1832,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/de/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/de/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/de/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/de/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/de/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/de/LC_MESSAGES/mit-krb5.mo %%NLS%%usr/share/locale/de/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/de/LC_MESSAGES/sed.mo @@ -2833,6 +1847,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/el/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/el/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/el/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/el/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/el/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/en@boldquot/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/en@quot/LC_MESSAGES/bash.mo @@ -2843,6 +1858,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/en_GB/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/en_GB/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/en_GB/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/en_GB/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/en_US/LC_MESSAGES/mit-krb5.mo %%NLS%%usr/share/locale/eo/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/eo/LC_MESSAGES/diffutils.mo @@ -2853,6 +1869,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/eo/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/eo/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/eo/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/eo/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/eo/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/eo/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/eo/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/es/LC_MESSAGES/bash.mo @@ -2864,6 +1882,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/es/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/es/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/es/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/es/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/es/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/es/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/es/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/es/LC_MESSAGES/util-linux.mo @@ -2873,16 +1893,19 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/et/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/et/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/et/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/et/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/et/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/et/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/eu/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/eu/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/eu/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/eu/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/eu/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/eu/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/eu/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/fa/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/fa/LC_MESSAGES/glib20.mo +%%NLS%%usr/share/locale/fa/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/e2fsprogs.mo @@ -2891,6 +1914,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/fi/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/fi/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/fi/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/fi/LC_MESSAGES/util-linux.mo @@ -2903,12 +1928,16 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/fr/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/fr/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/fr/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/fr/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/fr/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/fr/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/fr/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/fr/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/fur/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/fur/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/fur/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/fur/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/fur/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ga/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/ga/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/ga/LC_MESSAGES/findutils.mo @@ -2918,6 +1947,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ga/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/gd/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/gd/LC_MESSAGES/glib20.mo +%%NLS%%usr/share/locale/gd/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/findutils.mo @@ -2926,20 +1956,24 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/gl/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/gl/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/gl/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/gu/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/gu/LC_MESSAGES/glib20.mo +%%NLS%%usr/share/locale/gu/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/he/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/he/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/he/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/he/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/he/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/he/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/he/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/hi/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/hi/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/hi/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/hi/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/hr/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/hr/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/hr/LC_MESSAGES/findutils.mo @@ -2948,6 +1982,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/hr/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/hr/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/hr/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/hr/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/hr/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/hr/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/hr/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/hu/LC_MESSAGES/bash.mo @@ -2959,6 +1995,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/hu/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/hu/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/hu/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/hu/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/hu/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/hu/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/hu/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/hu/LC_MESSAGES/util-linux.mo @@ -2973,6 +2011,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/id/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/id/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/id/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/id/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/id/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/id/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/id/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/id/LC_MESSAGES/util-linux.mo @@ -2987,6 +2027,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/it/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/it/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/it/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/it/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/it/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/it/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/it/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/it/LC_MESSAGES/util-linux.mo @@ -2998,6 +2040,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ja/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/ja/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/ja/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/ja/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/ja/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ja/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/ja/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/ja/LC_MESSAGES/util-linux.mo @@ -3008,6 +2052,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/km/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/kn/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/kn/LC_MESSAGES/glib20.mo +%%NLS%%usr/share/locale/kn/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ko/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/ko/LC_MESSAGES/findutils.mo %%NLS%%usr/share/locale/ko/LC_MESSAGES/glib-networking.mo @@ -3015,6 +2060,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ko/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/ko/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/ko/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/ko/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ko/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/ko/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/ku/LC_MESSAGES/glib20.mo @@ -3029,10 +2075,12 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/lt/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/lt/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/lt/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/lt/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/lv/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/lv/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/lv/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/lv/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/lv/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/lv/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/mai/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/mg/LC_MESSAGES/glib20.mo @@ -3040,15 +2088,18 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ml/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/ml/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ml/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/ml/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/mn/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/mr/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/mr/LC_MESSAGES/glib20.mo +%%NLS%%usr/share/locale/mr/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ms/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/ms/LC_MESSAGES/e2fsprogs.mo %%NLS%%usr/share/locale/ms/LC_MESSAGES/findutils.mo %%NLS%%usr/share/locale/ms/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/ms/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ms/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/ms/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/nb/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/nb/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/nb/LC_MESSAGES/findutils.mo @@ -3057,12 +2108,14 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/nb/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/nb/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/nb/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/nb/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/nb/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/nb/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/nds/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ne/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/ne/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ne/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/ne/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/e2fsprogs.mo @@ -3072,6 +2125,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/nl/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/nl/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/nl/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/nl/LC_MESSAGES/util-linux.mo @@ -3079,13 +2134,16 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/oc/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/oc/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/oc/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/oc/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/or/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/or/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/or/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/or/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/pa/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/pa/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/pa/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/pa/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/pa/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/e2fsprogs.mo @@ -3095,6 +2153,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/pl/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/pl/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/pl/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/pl/LC_MESSAGES/util-linux.mo @@ -3108,6 +2168,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/pt/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/pt/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/pt/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/pt/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/pt/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/pt/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/pt/LC_MESSAGES/util-linux.mo @@ -3119,6 +2180,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/pt_BR/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/pt_BR/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/pt_BR/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/pt_BR/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/pt_BR/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/pt_BR/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/pt_BR/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/ro/LC_MESSAGES/bash.mo @@ -3128,6 +2191,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ro/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ro/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/ro/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/ro/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/ro/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ro/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/ro/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/ru/LC_MESSAGES/bash.mo @@ -3138,6 +2203,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ru/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/ru/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/ru/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/ru/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/ru/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/ru/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/ru/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/ru/LC_MESSAGES/util-linux.mo @@ -3151,6 +2218,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/sk/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/sk/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/sk/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/sk/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/sk/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/sk/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/sl/LC_MESSAGES/bash.mo @@ -3160,6 +2228,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/sl/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/sl/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/sl/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/sl/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/sl/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/sl/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/sl/LC_MESSAGES/util-linux.mo @@ -3173,11 +2242,14 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/sr/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/sr/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/sr/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/sr/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/sr/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/sr/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/sr@ije/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/sr@latin/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/sr@latin/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/sr@latin/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/sr@latin/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/e2fsprogs.mo @@ -3187,20 +2259,26 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/sv/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/sv/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/sv/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/sv/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/ta/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/ta/LC_MESSAGES/glib20.mo +%%NLS%%usr/share/locale/ta/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/te/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/te/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/te/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/te/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/tg/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/tg/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/tg/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/tg/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/th/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/th/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/th/LC_MESSAGES/grep.mo +%%NLS%%usr/share/locale/th/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/th/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/tl/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/tr/LC_MESSAGES/bash.mo @@ -3212,6 +2290,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/tr/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/tr/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/tr/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/tr/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/tr/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/tr/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/tr/LC_MESSAGES/util-linux.mo @@ -3219,6 +2298,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/ug/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/ug/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/ug/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/ug/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/e2fsprogs.mo @@ -3228,9 +2308,12 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/uk/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/uk/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/uk/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/uk/LC_MESSAGES/util-linux.mo +%%NLS%%usr/share/locale/uz@cyrillic/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/e2fsprogs.mo @@ -3240,6 +2323,8 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/vi/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/vi/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/vi/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/vi/LC_MESSAGES/util-linux.mo @@ -3256,12 +2341,15 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/libidn2.mo +%%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/zh_CN/LC_MESSAGES/util-linux.mo %%NLS%%usr/share/locale/zh_HK/LC_MESSAGES/glib-networking.mo %%NLS%%usr/share/locale/zh_HK/LC_MESSAGES/glib20.mo %%NLS%%usr/share/locale/zh_HK/LC_MESSAGES/json-glib-1.0.mo +%%NLS%%usr/share/locale/zh_HK/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/bash.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/diffutils.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/findutils.mo @@ -3270,6 +2358,7 @@ usr/share/licenses/zlib/README %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/grep.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/json-glib-1.0.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/libc.mo +%%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/libsoup.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/popt.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/sed.mo %%NLS%%usr/share/locale/zh_TW/LC_MESSAGES/util-linux.mo @@ -3401,6 +2490,7 @@ usr/share/man/man1/sh.1.gz usr/share/man/man1/shift.1.gz usr/share/man/man1/shopt.1.gz usr/share/man/man1/source.1.gz +usr/share/man/man1/sqlite3.1.gz usr/share/man/man1/su.1.gz usr/share/man/man1/suspend.1.gz usr/share/man/man1/tabs.1.gz @@ -3722,7 +2812,6 @@ var/mail @dir etc/yum.repos.d @dir opt @dir srv -@dir usr/lib64/gio/modules @dir var/adm @dir var/cache/bpf @dir var/cache/ldconfig diff --git a/emulators/magia/Makefile b/emulators/magia/Makefile index 2727b44605e3..81588293a169 100644 --- a/emulators/magia/Makefile +++ b/emulators/magia/Makefile @@ -1,7 +1,7 @@ PORTNAME= magia DISTVERSIONPREFIX= v DISTVERSION= 0.2.0 -PORTREVISION= 25 +PORTREVISION= 27 CATEGORIES= emulators MAINTAINER= ports@FreeBSD.org diff --git a/emulators/mame/Makefile b/emulators/mame/Makefile index 9d48f5c4bc2d..793f30a06ba3 100644 --- a/emulators/mame/Makefile +++ b/emulators/mame/Makefile @@ -1,9 +1,12 @@ PORTNAME= mame -DISTVERSION= 0.274 +DISTVERSION= 0.277 PORTREVISION= 1 CATEGORIES= emulators games -MAINTAINER= agh@riseup.net +PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +PATCHFILES= b4e1f5f1b50fd3402232dd0385cac021ba488db6.patch:-p1 # Only link asmjit if native DRCs are built. + +MAINTAINER= ports@FreeBSD.org COMMENT= MAME: a multi-purpose emulation framework WWW= https://mamedev.org/ @@ -44,7 +47,8 @@ USE_XORG= x11 xext xi xinerama xrender MAKEFILE= makefile MAKE_ARGS= SILENT= \ verbose=yes -MAKE_ENV= NO_USE_PORTAUDIO=1 \ +MAKE_ENV= FORCE_DRC_C_BACKEND=1 \ + NO_USE_PORTAUDIO=1 \ NO_USE_PULSEAUDIO=1 \ NOWERROR=1 \ OVERRIDE_AR="llvm-ar${LLVM_VERSION}" \ diff --git a/emulators/mame/distinfo b/emulators/mame/distinfo index 800bd1db02f9..7a33b39a0b9d 100644 --- a/emulators/mame/distinfo +++ b/emulators/mame/distinfo @@ -1,3 +1,5 @@ -TIMESTAMP = 1739022645 -SHA256 (mamedev-mame-0.274-mame0274_GH0.tar.gz) = f8112eb0b175935cf6db93f708186dcaeec5a89400ecf3d5782fd2c0b94907c8 -SIZE (mamedev-mame-0.274-mame0274_GH0.tar.gz) = 209455618 +TIMESTAMP = 1748505208 +SHA256 (mamedev-mame-0.277-mame0277_GH0.tar.gz) = 60055b19fc96306927257c5ffc265ecebcbe5c944cf98113d4d78f6304556c67 +SIZE (mamedev-mame-0.277-mame0277_GH0.tar.gz) = 209399226 +SHA256 (b4e1f5f1b50fd3402232dd0385cac021ba488db6.patch) = 431ce0bf9dff15632f8ed176b6ea8245c74089439f1af766a26ea4a140db1f92 +SIZE (b4e1f5f1b50fd3402232dd0385cac021ba488db6.patch) = 2652 diff --git a/emulators/mame/files/mame.ini.in b/emulators/mame/files/mame.ini.in index 714531c5981f..ff9ced826e72 100644 --- a/emulators/mame/files/mame.ini.in +++ b/emulators/mame/files/mame.ini.in @@ -27,8 +27,8 @@ swpath ~/.mame/software;%%DATADIR%%/software/ cfg_directory ~/.mame/cfg nvram_directory ~/.mame/nvram input_directory ~/.mame/inp -state_directory ~/.mame/sta -snapshot_directory ~/.mame/snap +state_directory ~/.mame/state +snapshot_directory ~/.mame/snapshot diff_directory ~/.mame/diff comment_directory ~/.mame/comments share_directory ~/.mame/share @@ -240,6 +240,7 @@ joystickprovider auto # OSD DEBUGGING OPTIONS # debugger auto +debugger_host localhost debugger_port 23946 debugger_font auto debugger_font_size 0 @@ -349,7 +350,7 @@ networkprovider auto bgfx_path %%DATADIR%%/bgfx bgfx_backend auto bgfx_debug 0 -bgfx_screen_chains t +bgfx_screen_chains default bgfx_shadow_mask slot-mask.png bgfx_lut lut-default.png bgfx_avi_name auto @@ -381,7 +382,9 @@ keymap_file keymap.dat # # SDL JOYSTICK MAPPING # +enable_touch 0 sixaxis 0 +dual_lightgun 0 # # SDL LIGHTGUN MAPPING diff --git a/emulators/mame/files/plugin.ini.in b/emulators/mame/files/plugin.ini.in index 83b351fc8181..ebc16d5e426f 100644 --- a/emulators/mame/files/plugin.ini.in +++ b/emulators/mame/files/plugin.ini.in @@ -1,17 +1,17 @@ # # PLUGINS OPTIONS # -hiscore 0 +autofire 0 cheat 0 -timecode 0 -dummy 0 -timer 0 cheatfind 0 +console 0 data 1 -inputmacro 0 -portname 0 discord 0 -console 0 -autofire 0 -layout 1 +dummy 0 gdbstub 0 +hiscore 0 +inputmacro 0 +layout 1 +portname 0 +timecode 0 +timer 0 diff --git a/emulators/mame/pkg-plist b/emulators/mame/pkg-plist index 9eb86f30f866..7236f88f8a3e 100644 --- a/emulators/mame/pkg-plist +++ b/emulators/mame/pkg-plist @@ -833,8 +833,7 @@ share/man/man1/MAME.1.gz %%MAMEDATA%%%%DATADIR%%/hash/altos5.xml %%MAMEDATA%%%%DATADIR%%/hash/altos586.xml %%MAMEDATA%%%%DATADIR%%/hash/altos8600.xml -%%MAMEDATA%%%%DATADIR%%/hash/amiga_a1000.xml -%%MAMEDATA%%%%DATADIR%%/hash/amiga_a3000.xml +%%MAMEDATA%%%%DATADIR%%/hash/amiga_amix.xml %%MAMEDATA%%%%DATADIR%%/hash/amiga_apps.xml %%MAMEDATA%%%%DATADIR%%/hash/amiga_cd.xml %%MAMEDATA%%%%DATADIR%%/hash/amiga_demos.xml @@ -1268,6 +1267,7 @@ share/man/man1/MAME.1.gz %%MAMEDATA%%%%DATADIR%%/hash/pc88va.xml %%MAMEDATA%%%%DATADIR%%/hash/pc98.xml %%MAMEDATA%%%%DATADIR%%/hash/pc98_cd.xml +%%MAMEDATA%%%%DATADIR%%/hash/pc98_hdd.xml %%MAMEDATA%%%%DATADIR%%/hash/pcd_flop.xml %%MAMEDATA%%%%DATADIR%%/hash/pce.xml %%MAMEDATA%%%%DATADIR%%/hash/pce_tourvision.xml @@ -1288,6 +1288,7 @@ share/man/man1/MAME.1.gz %%MAMEDATA%%%%DATADIR%%/hash/pet_quik.xml %%MAMEDATA%%%%DATADIR%%/hash/pet_rom.xml %%MAMEDATA%%%%DATADIR%%/hash/phc25_cass.xml +%%MAMEDATA%%%%DATADIR%%/hash/photo_cd.xml %%MAMEDATA%%%%DATADIR%%/hash/pi_storyreader_cart.xml %%MAMEDATA%%%%DATADIR%%/hash/pi_storyreader_v2_cart.xml %%MAMEDATA%%%%DATADIR%%/hash/picno.xml diff --git a/emulators/mastergear/Makefile b/emulators/mastergear/Makefile index c13c6d8ace4c..4f6545beabde 100644 --- a/emulators/mastergear/Makefile +++ b/emulators/mastergear/Makefile @@ -1,26 +1,30 @@ PORTNAME= mastergear -PORTVERSION= 2.0 -PORTREVISION= 3 +DISTVERSION= 2.0 +PORTREVISION= 4 CATEGORIES= emulators MASTER_SITES= http://fms.komkon.org/MG/ DISTNAME= MG20-FreeBSD-80x86-bin -EXTRACT_SUFX= .tar.Z MAINTAINER= ports@FreeBSD.org COMMENT= SEGA Master System and Game Gear emulator for X WWW= https://fms.komkon.org/MG/ -LIB_DEPENDS= libc.so.5:misc/compat5x +# There is no mention of a license in the source code. +# License has to be acquired from the author. +LICENSE=NONE -NO_WRKSUBDIR= yes ONLY_FOR_ARCHS= i386 ONLY_FOR_ARCHS_REASON= is an i386 binary -USES= xorg +LIB_DEPENDS= libc.so.5:misc/compat5x + +USES= xorg tar:Z USE_XORG= x11 xext -NO_BUILD= yes STRIP= +NO_BUILD= yes + +NO_WRKSUBDIR= yes OPTIONS_DEFINE= DOCS diff --git a/emulators/mupen64plus-video-glide64mk2/Makefile b/emulators/mupen64plus-video-glide64mk2/Makefile index ed00356a50f6..f07402c75ce3 100644 --- a/emulators/mupen64plus-video-glide64mk2/Makefile +++ b/emulators/mupen64plus-video-glide64mk2/Makefile @@ -1,4 +1,4 @@ -PORTREVISION= 3 +PORTREVISION= 4 PKGNAMESUFFIX= -video-glide64mk2 COMMENT= Glide64mk2 video plugin for Mupen64Plus diff --git a/emulators/open-vm-kmod/Makefile b/emulators/open-vm-kmod/Makefile index 751955b440c3..a7c726caf9fe 100644 --- a/emulators/open-vm-kmod/Makefile +++ b/emulators/open-vm-kmod/Makefile @@ -1,5 +1,5 @@ PORTNAME= open-vm-kmod -PORTVERSION= 12.5.0 +PORTVERSION= 12.5.2 DISTVERSIONPREFIX= stable- PORTEPOCH= 2 CATEGORIES= emulators diff --git a/emulators/open-vm-kmod/distinfo b/emulators/open-vm-kmod/distinfo index 2f34cde2a8c0..884191452e52 100644 --- a/emulators/open-vm-kmod/distinfo +++ b/emulators/open-vm-kmod/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1733928741 -SHA256 (vmware-open-vm-tools-stable-12.5.0_GH0.tar.gz) = a52182c7e6b5df41bb317625e9d8592ecdb9db814d1c2c9b7cdb91a77f8c0640 -SIZE (vmware-open-vm-tools-stable-12.5.0_GH0.tar.gz) = 3001944 +TIMESTAMP = 1750427304 +SHA256 (vmware-open-vm-tools-stable-12.5.2_GH0.tar.gz) = 9fa2ebda1aaf53c163a978832775d845378d9ce59032c07b1c63b84ba091610f +SIZE (vmware-open-vm-tools-stable-12.5.2_GH0.tar.gz) = 3004283 diff --git a/emulators/open-vm-kmod/files/patch-vmmemctl_os.c b/emulators/open-vm-kmod/files/patch-vmmemctl_os.c index d096f92236c3..d083ec453d4f 100644 --- a/emulators/open-vm-kmod/files/patch-vmmemctl_os.c +++ b/emulators/open-vm-kmod/files/patch-vmmemctl_os.c @@ -1,6 +1,22 @@ ---- vmmemctl/os.c.orig 2024-10-10 15:05:07 UTC +--- vmmemctl/os.c.orig 2025-05-15 19:16:07 UTC +++ vmmemctl/os.c -@@ -103,7 +103,11 @@ MALLOC_DEFINE(M_VMMEMCTL, BALLOON_NAME, "vmmemctl meta +@@ -91,8 +91,13 @@ MALLOC_DEFINE(M_VMMEMCTL, BALLOON_NAME, "vmmemctl meta + /* + * FreeBSD specific MACROS + */ +-#define VM_PAGE_LOCK(page) vm_page_lock(page); +-#define VM_PAGE_UNLOCK(page) vm_page_unlock(page) ++#if __FreeBSD_version < 1500046 ++#define VM_PAGE_LOCK(page) vm_page_tryxbusy(page); ++#define VM_PAGE_UNLOCK(page) vm_page_xunbusy(page) ++#else ++#define VM_PAGE_LOCK(page) vm_page_tryxbusy(page); ++#define VM_PAGE_UNLOCK(page) vm_page_xunbusy(page) ++#endif + + #define VM_OBJ_LOCK(object) VM_OBJECT_WLOCK(object) + #define VM_OBJ_UNLOCK(object) VM_OBJECT_WUNLOCK(object); +@@ -103,7 +108,11 @@ MALLOC_DEFINE(M_VMMEMCTL, BALLOON_NAME, "vmmemctl meta #define KVA_FREE(offset, size) kva_free(offset, size) #define KMEM_ALLOC(size) kmem_malloc(size, M_WAITOK | M_ZERO) @@ -13,7 +29,7 @@ /* * Globals -@@ -404,7 +408,7 @@ os_pmap_free(os_pmap *p) // IN +@@ -404,7 +413,7 @@ os_pmap_free(os_pmap *p) // IN static void os_pmap_free(os_pmap *p) // IN { diff --git a/emulators/open-vm-tools/Makefile b/emulators/open-vm-tools/Makefile index b1ce7d5ca7eb..845b3ee995b3 100644 --- a/emulators/open-vm-tools/Makefile +++ b/emulators/open-vm-tools/Makefile @@ -1,6 +1,5 @@ PORTNAME= open-vm-tools -PORTVERSION= 12.5.0 -PORTREVISION= 1 +PORTVERSION= 12.5.2 DISTVERSIONPREFIX= stable- PORTEPOCH= 2 CATEGORIES= emulators diff --git a/emulators/open-vm-tools/distinfo b/emulators/open-vm-tools/distinfo index 6c88a1a8f846..38b3f66a1081 100644 --- a/emulators/open-vm-tools/distinfo +++ b/emulators/open-vm-tools/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1730460386 -SHA256 (vmware-open-vm-tools-stable-12.5.0_GH0.tar.gz) = a52182c7e6b5df41bb317625e9d8592ecdb9db814d1c2c9b7cdb91a77f8c0640 -SIZE (vmware-open-vm-tools-stable-12.5.0_GH0.tar.gz) = 3001944 +TIMESTAMP = 1750427284 +SHA256 (vmware-open-vm-tools-stable-12.5.2_GH0.tar.gz) = 9fa2ebda1aaf53c163a978832775d845378d9ce59032c07b1c63b84ba091610f +SIZE (vmware-open-vm-tools-stable-12.5.2_GH0.tar.gz) = 3004283 diff --git a/emulators/pcsx2/Makefile b/emulators/pcsx2/Makefile index ac607abce08e..886ef0e69fed 100644 --- a/emulators/pcsx2/Makefile +++ b/emulators/pcsx2/Makefile @@ -1,6 +1,5 @@ PORTNAME= pcsx2 -PORTVERSION= 2.3.9 -PORTREVISION= 2 +PORTVERSION= 2.3.212 DISTVERSIONPREFIX= v CATEGORIES= emulators @@ -42,7 +41,7 @@ USE_GITHUB= yes GH_PROJECT= pcsx2 USE_GL= egl -USE_SDL= sdl2 +USE_SDL= sdl3 USE_XORG= ice x11 xcb xext xpm xrandr xrender USE_QT= base tools ELF_FEATURES= +wxneeded:bin/pcsx2-qt @@ -58,17 +57,13 @@ EXTRA_PATCHES= ${PATCHDIR}/extra-patch-no-march-minimum-req .endif # See: cmake/BuildParameters.cmake -# XXX Vulkan support needs libshaderc_shared.so:graphics/shaderc but -# Pcsx2 embeds its own -patched/incompatible- version -# (see: .github/workflows/scripts/common/shaderc-changes.patch) so we just -# disable it for now. +# XXX Vulkan comes from 3rdparty/ CMAKE_ARGS+= \ -DCMAKE_REQUIRED_INCLUDES:STRING=${LOCALBASE}/include/ \ -DPCSX2_RESOURCES_PATH:STRING=${DATADIR}/resources \ -DUSE_VTUNE:BOOL=OFF \ -DWAYLAND_API=OFF \ - -DENABLE_TESTS:BOOL=OFF \ - -DUSE_VULKAN:BOOL=OFF + -DENABLE_TESTS:BOOL=OFF OPTIONS_DEFINE= DOCS PORTDOCS= Debugger.pdf GameIndex.pdf diff --git a/emulators/pcsx2/distinfo b/emulators/pcsx2/distinfo index 44d930ca0c86..7ad172abe331 100644 --- a/emulators/pcsx2/distinfo +++ b/emulators/pcsx2/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1731685315 -SHA256 (pcsx2-pcsx2-v2.3.9_GH0.tar.gz) = e5daaa396b02f0617c8f65eb12d7f2084ba60d995694759611769d293785ac08 -SIZE (pcsx2-pcsx2-v2.3.9_GH0.tar.gz) = 17112802 +TIMESTAMP = 1749583437 +SHA256 (pcsx2-pcsx2-v2.3.212_GH0.tar.gz) = 4f4de87d324501818af0805f54f3fafe3be036badcdec86b93ac7895a2155fdb +SIZE (pcsx2-pcsx2-v2.3.212_GH0.tar.gz) = 20115629 diff --git a/emulators/pcsx2/files/patch-pcsx2-qt-AutoUpdaterDialog.cpp b/emulators/pcsx2/files/patch-pcsx2-qt-AutoUpdaterDialog.cpp new file mode 100644 index 000000000000..65743dc02ce9 --- /dev/null +++ b/emulators/pcsx2/files/patch-pcsx2-qt-AutoUpdaterDialog.cpp @@ -0,0 +1,11 @@ +--- pcsx2-qt/AutoUpdaterDialog.cpp.orig 2025-06-11 12:23:15 UTC ++++ pcsx2-qt/AutoUpdaterDialog.cpp +@@ -53,6 +53,8 @@ static constexpr u32 HTTP_POLL_INTERVAL = 10; + #define UPDATE_PLATFORM_STR "Linux" + #elif defined(__APPLE__) + #define UPDATE_PLATFORM_STR "MacOS" ++#elif defined(__FreeBSD__) ++#define UPDATE_PLATFORM_STR "FreeBSD" + #endif + + #ifdef MULTI_ISA_SHARED_COMPILATION diff --git a/emulators/playonbsd/Makefile b/emulators/playonbsd/Makefile index 4bf26fe55126..4150d1300801 100644 --- a/emulators/playonbsd/Makefile +++ b/emulators/playonbsd/Makefile @@ -1,6 +1,6 @@ PORTNAME= playonbsd PORTVERSION= 4.2.10 -PORTREVISION= 15 +PORTREVISION= 16 CATEGORIES= emulators games MAINTAINER= Clockwork6400@protonmail.com diff --git a/emulators/ppsspp/Makefile b/emulators/ppsspp/Makefile index a7b6168210be..8ae5f69a4b14 100644 --- a/emulators/ppsspp/Makefile +++ b/emulators/ppsspp/Makefile @@ -1,48 +1,47 @@ PORTNAME= ppsspp DISTVERSIONPREFIX= v -DISTVERSION?= 1.18.1 -PORTREVISION?= 1 +DISTVERSION?= 1.19.2 CATEGORIES= emulators -# XXX Get from Debian once #697821 lands -MASTER_SITES= https://bazaar.launchpad.net/~sergio-br2/${PORTNAME}/debian-sdl/download/5/${PORTNAME}.1-20140802045408-dd26dik367ztj5xg-8/:manpage -DISTFILES= ${PORTNAME}.1:manpage -EXTRACT_ONLY= ${DISTFILES:N*\:manpage:C/:.*//} MAINTAINER= kreinholz@gmail.com COMMENT= PSP emulator in C++ with dynarec JIT for x86, ARM, MIPS WWW= https://www.ppsspp.org/ -LICENSE= GPLv2+ +LICENSE= GPLv2+ BSD3CLAUSE +LICENSE_COMB= multi +LICENSE_FILE= ${WRKSRC}/LICENSE.TXT # Bi-endian architectures default to big for some reason NOT_FOR_ARCHS= mips mips64 powerpc powerpc64 powerpcspe NOT_FOR_ARCHS_REASON= only little-endian is supported, see \ https://github.com/hrydgard/ppsspp/issues/8823 -BUILD_DEPENDS= /usr/local/ffmpeg3/lib/libavcodec.a:multimedia/ffmpeg3 +BUILD_DEPENDS= ${LOCALBASE}/ffmpeg3/lib/libavcodec.a:multimedia/ffmpeg3 LIB_DEPENDS= libzip.so:archivers/libzip \ libsnappy.so:archivers/snappy \ libzstd.so:archivers/zstd \ + libminiupnpc.so:net/miniupnpc \ libopenxr_loader.so:graphics/openxr RUN_DEPENDS= xdg-open:devel/xdg-utils -USES= cmake compiler:c++11-lib gl localbase:ldflags pkgconfig +USES= cmake compiler:c++11-lib gl localbase:ldflags pkgconfig \ + desktop-file-utils USE_GITHUB= yes GH_ACCOUNT= hrydgard -GH_TUPLE?= hrydgard:glslang:8.13.3743-948-gb34f619e:glslang/ext/glslang \ +GH_TUPLE?= hrydgard:glslang:8.13.3743-948-g50e0708:glslang/ext/glslang \ google:cpu_features:v0.8.0-27-gfd4ffc1:cpu_features/ext/cpu_features \ rtissera:libchdr:26d27ca:libchdr/ext/libchdr \ unknownbrackets:ppsspp-debugger:d358a87:debugger/assets/debugger \ KhronosGroup:SPIRV-Cross:sdk-1.3.239.0:SPIRV/ext/SPIRV-Cross \ Kingcom:armips:v0.11.0-195-ga8d71f0:armips/ext/armips \ Kingcom:filesystem:v1.3.2-12-g3f1c185:filesystem/ext/armips/ext/filesystem \ - RetroAchievements:rcheevos:v11.6.0-g32917bd:rcheevos/ext/rcheevos \ - Tencent:rapidjson:v1.1.0-415-g73063f50:rapidjson/ext/rapidjson \ - miniupnp:miniupnp:miniupnpd_2_3_7-g27d13ca:miniupnp/ext/miniupnp -EXCLUDE= libzip zlib + RetroAchievements:rcheevos:v11.6.0-gef0e22b:rcheevos/ext/rcheevos \ + Tencent:rapidjson:v1.1.0-415-g73063f5:rapidjson/ext/rapidjson \ + hrydgard:ppsspp-lua:7648485:lua/ext/lua +EXCLUDE= libpng17 libzip zlib USE_GL= glew opengl -CMAKE_ON= ${LIBZIP SNAPPY ZSTD:L:S/^/USE_SYSTEM_/} USE_VULKAN_DISPLAY_KHR +CMAKE_ON= ${LIBZIP MINIUPNPC SNAPPY ZSTD:L:S/^/USE_SYSTEM_/} USE_VULKAN_DISPLAY_KHR CMAKE_OFF= USE_DISCORD LDFLAGS+= -Wl,--as-needed # ICE/SM/X11/Xext, Qt5Network CONFLICTS_INSTALL= ${PORTNAME}-* @@ -86,13 +85,14 @@ post-patch: @${REINPLACE_CMD} -e 's/Linux/${OPSYS}/' ${WRKSRC}/assets/gamecontrollerdb.txt @${REINPLACE_CMD} -e 's,/usr/share,${PREFIX}/share,' ${WRKSRC}/UI/NativeApp.cpp @${REINPLACE_CMD} -e 's/"unknown"/"${DISTVERSIONFULL}"/' ${WRKSRC}/git-version.cmake + @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/cmake/Modules/FindFFmpeg.cmake do-install-LIBRETRO-on: ${MKDIR} ${STAGEDIR}${PREFIX}/${LIBRETRO_PLIST_FILES:H} ${INSTALL_LIB} ${BUILD_WRKSRC}/lib/${LIBRETRO_PLIST_FILES:T} \ ${STAGEDIR}${PREFIX}/${LIBRETRO_PLIST_FILES:H} .if ${OPTIONS_SLAVE} == LIBRETRO -. for d in applications icons man mime ${PORTNAME} +. for d in applications icons mime ${PORTNAME} ${RM} -r ${STAGEDIR}${PREFIX}/share/${d} . endfor .endif @@ -102,6 +102,5 @@ do-install-QT5-on do-install-SDL-on: ${ELFCTL} -e +wxneeded ${STAGEDIR}${PREFIX}/bin/* .endif ${MV} ${STAGEDIR}${PREFIX}/bin/${EXENAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME} - ${INSTALL_MAN} ${_DISTDIR}/${PORTNAME}.1 ${STAGEDIR}${PREFIX}/share/man/man1 .include <bsd.port.mk> diff --git a/emulators/ppsspp/distinfo b/emulators/ppsspp/distinfo index f08f66084632..5588a603ebe1 100644 --- a/emulators/ppsspp/distinfo +++ b/emulators/ppsspp/distinfo @@ -1,10 +1,8 @@ -TIMESTAMP = 1731811906 -SHA256 (ppsspp.1) = 64a7cca4c3a5fc6ad5b63399edef9056b0c85ea68fed00fb7e97f4b2724e503b -SIZE (ppsspp.1) = 1598 -SHA256 (hrydgard-ppsspp-v1.18.1_GH0.tar.gz) = cc9425202552cbce8bc7ee5b883670703761011ab5c987c426887f7c2ef2703f -SIZE (hrydgard-ppsspp-v1.18.1_GH0.tar.gz) = 37089272 -SHA256 (hrydgard-glslang-8.13.3743-948-gb34f619e_GH0.tar.gz) = 8f002c902a5bc5a9d3c7e58b82ba2a6845ee08a01b756eaf4afefff806d109c7 -SIZE (hrydgard-glslang-8.13.3743-948-gb34f619e_GH0.tar.gz) = 3689872 +TIMESTAMP = 1750002545 +SHA256 (hrydgard-ppsspp-v1.19.2_GH0.tar.gz) = 4b3abbdc2f76daad5d038c0676ab0ec91a4588a30a894e6604b76a061d683583 +SIZE (hrydgard-ppsspp-v1.19.2_GH0.tar.gz) = 38797975 +SHA256 (hrydgard-glslang-8.13.3743-948-g50e0708_GH0.tar.gz) = c5d7837395b5c076371d74d9d8adf0d0408c002f2e4fe08bc3eef1db6f608ceb +SIZE (hrydgard-glslang-8.13.3743-948-g50e0708_GH0.tar.gz) = 3689922 SHA256 (google-cpu_features-v0.8.0-27-gfd4ffc1_GH0.tar.gz) = 0bcb1a537b8fc184b9df9ddde9d15868efe7f651139ea84d3e20ac9900a43c60 SIZE (google-cpu_features-v0.8.0-27-gfd4ffc1_GH0.tar.gz) = 109044 SHA256 (rtissera-libchdr-26d27ca_GH0.tar.gz) = 49e028fadd0640926da158408c9eafb22fc89ccb0de69c67b167ef0a11f6a0c5 @@ -17,9 +15,9 @@ SHA256 (Kingcom-armips-v0.11.0-195-ga8d71f0_GH0.tar.gz) = 8a46d92b070de90cefcd89 SIZE (Kingcom-armips-v0.11.0-195-ga8d71f0_GH0.tar.gz) = 223306 SHA256 (Kingcom-filesystem-v1.3.2-12-g3f1c185_GH0.tar.gz) = 9fa5a690e341bea1935a7f6b256e1bbd864abee988f834f10307f646dc38e604 SIZE (Kingcom-filesystem-v1.3.2-12-g3f1c185_GH0.tar.gz) = 163401 -SHA256 (RetroAchievements-rcheevos-v11.6.0-g32917bd_GH0.tar.gz) = 0cf21acaa01f3fc55718e5fd04cfd55a03d3135ec52f928dcd5956a11e78d660 -SIZE (RetroAchievements-rcheevos-v11.6.0-g32917bd_GH0.tar.gz) = 673529 -SHA256 (Tencent-rapidjson-v1.1.0-415-g73063f50_GH0.tar.gz) = 45e801225dd7a8d09bde7e5a2dc52c18d630f07bbbec7587017ca19bac9446fe -SIZE (Tencent-rapidjson-v1.1.0-415-g73063f50_GH0.tar.gz) = 1054127 -SHA256 (miniupnp-miniupnp-miniupnpd_2_3_7-g27d13ca_GH0.tar.gz) = d44ea2ea688ff851e55d9408bc64b4c81363a9d6646246b9cbcd2c2c057ec8bc -SIZE (miniupnp-miniupnp-miniupnpd_2_3_7-g27d13ca_GH0.tar.gz) = 464237 +SHA256 (RetroAchievements-rcheevos-v11.6.0-gef0e22b_GH0.tar.gz) = 5d424b58ae280f56ee04a846d7f5e90e289f747e9ae4ac2d29e46761133d009e +SIZE (RetroAchievements-rcheevos-v11.6.0-gef0e22b_GH0.tar.gz) = 417751 +SHA256 (Tencent-rapidjson-v1.1.0-415-g73063f5_GH0.tar.gz) = bfc1c1d5fbd9dbc78600798d8a8bfcb93f9d308d55564e012b64e8ca272ecea4 +SIZE (Tencent-rapidjson-v1.1.0-415-g73063f5_GH0.tar.gz) = 1054127 +SHA256 (hrydgard-ppsspp-lua-7648485_GH0.tar.gz) = e7dba820ddd788976810b4f21d1c4781a617e66c7bd67ee71acedd5d60db608e +SIZE (hrydgard-ppsspp-lua-7648485_GH0.tar.gz) = 239547 diff --git a/emulators/ppsspp/files/patch-Common_GPU_Vulkan_VulkanContext.cpp b/emulators/ppsspp/files/patch-Common_GPU_Vulkan_VulkanContext.cpp new file mode 100644 index 000000000000..4ecc5e23175e --- /dev/null +++ b/emulators/ppsspp/files/patch-Common_GPU_Vulkan_VulkanContext.cpp @@ -0,0 +1,11 @@ +--- Common/GPU/Vulkan/VulkanContext.cpp.orig 2025-06-11 21:04:20 UTC ++++ Common/GPU/Vulkan/VulkanContext.cpp +@@ -119,7 +119,7 @@ VkResult VulkanContext::CreateInstance(const CreateInf + if (vkEnumerateInstanceVersion) { + vkEnumerateInstanceVersion(&vulkanInstanceApiVersion_); + vulkanInstanceApiVersion_ &= 0xFFFFF000; // Remove patch version. +- vulkanInstanceApiVersion_ = std::min(VK_API_VERSION_1_4, vulkanInstanceApiVersion_); ++ vulkanInstanceApiVersion_ = std::min(VK_API_VERSION_1_3, vulkanInstanceApiVersion_); + std::string versionString = FormatAPIVersion(vulkanInstanceApiVersion_); + INFO_LOG(Log::G3D, "Detected Vulkan API version: %s", versionString.c_str()); + } diff --git a/emulators/ppsspp/files/patch-cmake_Modules_FindFFmpeg.cmake b/emulators/ppsspp/files/patch-cmake_Modules_FindFFmpeg.cmake index 2cbf2cfee23d..69f59462eb5d 100644 --- a/emulators/ppsspp/files/patch-cmake_Modules_FindFFmpeg.cmake +++ b/emulators/ppsspp/files/patch-cmake_Modules_FindFFmpeg.cmake @@ -7,7 +7,7 @@ - if(DEFINED ENV{FFMPEG_DIR}) - set(FFMPEG_DIR $ENV{FFMPEG_DIR}) - endif() -+ set(FFMPEG_DIR /usr/local/ffmpeg3) ++ set(FFMPEG_DIR %%LOCALBASE%%/ffmpeg3) if(FFMPEG_DIR) list(APPEND INCLUDE_PATHS @@ -22,15 +22,15 @@ - /usr/include/lib${LIBNAME} - /usr/include/ffmpeg/lib${LIBNAME} + list(SET INCLUDE_PATHS -+ /usr/local/ffmpeg3/include/ffmpeg -+ /usr/local/ffmpeg3/include/lib${LIBNAME} ++ %%LOCALBASE%%/ffmpeg3/include/ffmpeg ++ %%LOCALBASE%%/ffmpeg3/include/lib${LIBNAME} ) - list(APPEND LIB_PATHS - /usr/local/lib - /usr/lib + list(SET LIB_PATHS -+ /usr/local/ffmpeg3/lib ++ %%LOCALBASE%%/ffmpeg3/lib ) endif() diff --git a/emulators/ppsspp/files/patch-no-egl b/emulators/ppsspp/files/patch-no-egl new file mode 100644 index 000000000000..9ddc70081066 --- /dev/null +++ b/emulators/ppsspp/files/patch-no-egl @@ -0,0 +1,27 @@ +EGL hangs on X11 and doesn't build without GLESv2. +https://github.com/hrydgard/ppsspp/issues/10626 + +--- CMakeLists.txt.orig 2025-05-30 21:23:20 UTC ++++ CMakeLists.txt +@@ -83,12 +83,6 @@ endif() + set(USE_SYSTEM_FFMPEG ON) + endif() + +-if(NOT ANDROID AND NOT IOS) +- if(ARM_DEVICE OR SIMULATOR) +- set(USING_EGL ON) +- endif() +-endif() +- + if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" AND NOT USE_LIBNX) + set(LINUX ON) + add_compile_definitions(__STDC_CONSTANT_MACROS) +@@ -1009,6 +1003,8 @@ if(USE_FFMPEG) + elseif(X86) + set(PLATFORM_ARCH "Windows/x86") + endif() ++ else() ++ set(PLATFORM_ARCH "FreeBSD/%%ARCH%%") + endif() + if(PLATFORM_ARCH) + set(FFMPEG_DIR "ffmpeg/${PLATFORM_ARCH}") diff --git a/emulators/ppsspp/files/patch-no-egl-plus-warnings-fix b/emulators/ppsspp/files/patch-no-egl-plus-warnings-fix deleted file mode 100644 index 14da15c4d6e8..000000000000 --- a/emulators/ppsspp/files/patch-no-egl-plus-warnings-fix +++ /dev/null @@ -1,33 +0,0 @@ -EGL hangs on X11 and doesn't build without GLESv2. -https://github.com/hrydgard/ppsspp/issues/10626 - ---- CMakeLists.txt.orig 2024-11-04 16:16:10 UTC -+++ CMakeLists.txt -@@ -79,12 +79,6 @@ endif() - set(USE_SYSTEM_FFMPEG ON) - endif() - --if(NOT ANDROID AND NOT IOS) -- if(ARM_DEVICE OR SIMULATOR) -- set(USING_EGL ON) -- endif() --endif() -- - if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" AND NOT USE_LIBNX) - set(LINUX ON) - add_definitions(-D__STDC_CONSTANT_MACROS) -@@ -383,8 +377,12 @@ if(NOT MSVC) - add_definitions(-DPNG_ARM_NEON_OPT=0) - - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror=return-type -Wno-unused-function -Wno-sign-compare -Wno-unused-but-set-variable -Wno-reorder -Wno-unknown-pragmas -Wno-unused-value -Wno-unused-variable") -- # This one is very useful but has many false positives. -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-class-memaccess") -+ if(NOT CLANG) -+ # This one is very useful but has many false positives. -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-class-memaccess") -+ else() -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations") -+ endif() - - if(ANDROID) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17") diff --git a/emulators/ppsspp/pkg-plist b/emulators/ppsspp/pkg-plist index 911494696f2a..a2dc9f0cfb3e 100644 --- a/emulators/ppsspp/pkg-plist +++ b/emulators/ppsspp/pkg-plist @@ -11,5 +11,4 @@ share/icons/hicolor/512x512/apps/ppsspp.png share/icons/hicolor/64x64/apps/ppsspp.png share/icons/hicolor/96x96/apps/ppsspp.png share/icons/hicolor/scalable/apps/ppsspp.svg -share/man/man1/ppsspp.1.gz share/mime/packages/ppsspp.xml diff --git a/emulators/qemu-devel/Makefile b/emulators/qemu-devel/Makefile index ca1aa00f307e..f23a958cd677 100644 --- a/emulators/qemu-devel/Makefile +++ b/emulators/qemu-devel/Makefile @@ -1,5 +1,5 @@ PORTNAME= qemu -DISTVERSION= 9.1.0.20250228 +DISTVERSION= 9.2.0.20250530 CATEGORIES= emulators PKGNAMESUFFIX= -devel DIST_SUBDIR= qemu/${PORTVERSION} @@ -23,11 +23,11 @@ USES= bison compiler:c11 cpe gmake gnome iconv:wchar_t localbase:ldflags \ ninja perl5 pkgconfig python:build shebangfix tar:xz xorg USE_GITLAB= yes GL_ACCOUNT= qemu-project -GL_TAGNAME= 6b7521818b26134726b3494cd06f04e30659ce2c +GL_TAGNAME= 3e82ddaa8db260a232dbbbf488d8ac7851d124c5 GL_TUPLE= qemu-project:keycodemapdb:f5772a62ec52591ff6870b7e8ef32482371f22c6:keycodemapdb/subprojects/keycodemapdb \ qemu-project:dtc:b6910bec11614980a21e46fbccc35934b671bd81:dtc/subprojects/dtc \ qemu-project:libvfio-user:0b28d205572c80b568a1003db2c8f37ca333e4d7:libvfio/subprojects/libvfio-user \ - qemu-project:meson:be6540e6fdcf1ee88939a74521caa3813b039199:meson/meson \ + qemu-project:meson:f3adf71b85960da3ff22914cd1a5ce885d3b6a67:meson/meson \ qemu-project:berkeley-softfloat-3:b64af41c3276f97f0e181920400ee056b9c88037:berkeleysoftfloat3/subprojects/berkeley-softfloat-3 \ qemu-project:berkeley-testfloat-3:e7af9751d9f9fd3b47911f51a5cfd08af256a9ab:berkeleytestfloat3/subprojects/berkeley-testfloat-3 USE_GNOME= cairo glib20 @@ -51,9 +51,10 @@ WITHOUT_CPU_CFLAGS=yes #to avoid problems with register allocation BINARY_ALIAS= python3=${PYTHON_VERSION} PORTDOCS= .buildinfo _static/* about/* dbus-dbusindex.html devel/* \ - docs genindex.html glossary.html index.html interop/* \ - objects.inv search.html searchindex.js specs/* system/* \ - tools/* user/* + docs genindex.html glossary.html index.html interop/* \ + objects.inv qapi-qga-index.html qapi-qmp-index.html \ + qapi-qsd-index.html search.html searchindex.js specs/* system/* \ + tools/* user/* OPTIONS_DEFINE= SAMBA X11 GTK3 OPENGL GNUTLS SASL JPEG PNG CURL VDE \ CDROM_DMA USBREDIR X86_TARGETS STATIC_LINK DOCS CAPSTONE diff --git a/emulators/qemu-devel/distinfo b/emulators/qemu-devel/distinfo index 3c3133309fcb..14ddbab33df2 100644 --- a/emulators/qemu-devel/distinfo +++ b/emulators/qemu-devel/distinfo @@ -1,15 +1,15 @@ -TIMESTAMP = 1746449997 -SHA256 (qemu/9.1.0.20250228/qemu-project-qemu-6b7521818b26134726b3494cd06f04e30659ce2c_GL0.tar.gz) = cdd568112f9ab1c28ee441de27c6eb9e665f16ff736163ccca6e65c7a76b91ed -SIZE (qemu/9.1.0.20250228/qemu-project-qemu-6b7521818b26134726b3494cd06f04e30659ce2c_GL0.tar.gz) = 39568586 -SHA256 (qemu/9.1.0.20250228/qemu-project-keycodemapdb-f5772a62ec52591ff6870b7e8ef32482371f22c6_GL0.tar.gz) = d014b53382dbb17b8196ad12f50de7f20d0ef1b9f7d54b0be51a6cbb14209195 -SIZE (qemu/9.1.0.20250228/qemu-project-keycodemapdb-f5772a62ec52591ff6870b7e8ef32482371f22c6_GL0.tar.gz) = 29580 -SHA256 (qemu/9.1.0.20250228/qemu-project-dtc-b6910bec11614980a21e46fbccc35934b671bd81_GL0.tar.gz) = e115f987eec23a1ba25150a46ced1675de3716072d3b4905afb3a9cda0f007c7 -SIZE (qemu/9.1.0.20250228/qemu-project-dtc-b6910bec11614980a21e46fbccc35934b671bd81_GL0.tar.gz) = 205556 -SHA256 (qemu/9.1.0.20250228/qemu-project-libvfio-user-0b28d205572c80b568a1003db2c8f37ca333e4d7_GL0.tar.gz) = d2f60cd4f86f345aab1332953eb736cce3518159e6e99bcc2d10467c06f717fe -SIZE (qemu/9.1.0.20250228/qemu-project-libvfio-user-0b28d205572c80b568a1003db2c8f37ca333e4d7_GL0.tar.gz) = 189943 -SHA256 (qemu/9.1.0.20250228/qemu-project-meson-be6540e6fdcf1ee88939a74521caa3813b039199_GL0.tar.gz) = c6f49660af00e0af025986e64ef6c87d3173b3d5f3d9cc66e72888a674de3c56 -SIZE (qemu/9.1.0.20250228/qemu-project-meson-be6540e6fdcf1ee88939a74521caa3813b039199_GL0.tar.gz) = 4875985 -SHA256 (qemu/9.1.0.20250228/qemu-project-berkeley-softfloat-3-b64af41c3276f97f0e181920400ee056b9c88037_GL0.tar.gz) = faae889814ea6a292f7ca03d9b36e6c7e95bab2a64777804883cc822b8d48757 -SIZE (qemu/9.1.0.20250228/qemu-project-berkeley-softfloat-3-b64af41c3276f97f0e181920400ee056b9c88037_GL0.tar.gz) = 148741 -SHA256 (qemu/9.1.0.20250228/qemu-project-berkeley-testfloat-3-e7af9751d9f9fd3b47911f51a5cfd08af256a9ab_GL0.tar.gz) = e7a09d51dc7e96cb8422c919c85fc3833d4f788567638c9162ef5cd7db59b1df -SIZE (qemu/9.1.0.20250228/qemu-project-berkeley-testfloat-3-e7af9751d9f9fd3b47911f51a5cfd08af256a9ab_GL0.tar.gz) = 139308 +TIMESTAMP = 1748977683 +SHA256 (qemu/9.2.0.20250530/qemu-project-qemu-3e82ddaa8db260a232dbbbf488d8ac7851d124c5_GL0.tar.gz) = 06463a3861b7a0dc1d219f408e8647e94117b28d43e967c58cdb0a099d57233d +SIZE (qemu/9.2.0.20250530/qemu-project-qemu-3e82ddaa8db260a232dbbbf488d8ac7851d124c5_GL0.tar.gz) = 39823482 +SHA256 (qemu/9.2.0.20250530/qemu-project-keycodemapdb-f5772a62ec52591ff6870b7e8ef32482371f22c6_GL0.tar.gz) = d014b53382dbb17b8196ad12f50de7f20d0ef1b9f7d54b0be51a6cbb14209195 +SIZE (qemu/9.2.0.20250530/qemu-project-keycodemapdb-f5772a62ec52591ff6870b7e8ef32482371f22c6_GL0.tar.gz) = 29580 +SHA256 (qemu/9.2.0.20250530/qemu-project-dtc-b6910bec11614980a21e46fbccc35934b671bd81_GL0.tar.gz) = e115f987eec23a1ba25150a46ced1675de3716072d3b4905afb3a9cda0f007c7 +SIZE (qemu/9.2.0.20250530/qemu-project-dtc-b6910bec11614980a21e46fbccc35934b671bd81_GL0.tar.gz) = 205556 +SHA256 (qemu/9.2.0.20250530/qemu-project-libvfio-user-0b28d205572c80b568a1003db2c8f37ca333e4d7_GL0.tar.gz) = d2f60cd4f86f345aab1332953eb736cce3518159e6e99bcc2d10467c06f717fe +SIZE (qemu/9.2.0.20250530/qemu-project-libvfio-user-0b28d205572c80b568a1003db2c8f37ca333e4d7_GL0.tar.gz) = 189943 +SHA256 (qemu/9.2.0.20250530/qemu-project-meson-f3adf71b85960da3ff22914cd1a5ce885d3b6a67_GL0.tar.gz) = 4397f6612c43c21f3db239c68138a51cbd2d3a20a2b905d0d85135159d70f605 +SIZE (qemu/9.2.0.20250530/qemu-project-meson-f3adf71b85960da3ff22914cd1a5ce885d3b6a67_GL0.tar.gz) = 4907863 +SHA256 (qemu/9.2.0.20250530/qemu-project-berkeley-softfloat-3-b64af41c3276f97f0e181920400ee056b9c88037_GL0.tar.gz) = faae889814ea6a292f7ca03d9b36e6c7e95bab2a64777804883cc822b8d48757 +SIZE (qemu/9.2.0.20250530/qemu-project-berkeley-softfloat-3-b64af41c3276f97f0e181920400ee056b9c88037_GL0.tar.gz) = 148741 +SHA256 (qemu/9.2.0.20250530/qemu-project-berkeley-testfloat-3-e7af9751d9f9fd3b47911f51a5cfd08af256a9ab_GL0.tar.gz) = e7a09d51dc7e96cb8422c919c85fc3833d4f788567638c9162ef5cd7db59b1df +SIZE (qemu/9.2.0.20250530/qemu-project-berkeley-testfloat-3-e7af9751d9f9fd3b47911f51a5cfd08af256a9ab_GL0.tar.gz) = 139308 diff --git a/emulators/qemu-devel/pkg-plist b/emulators/qemu-devel/pkg-plist index 5a657b24cbc2..77bcdb96f6c0 100644 --- a/emulators/qemu-devel/pkg-plist +++ b/emulators/qemu-devel/pkg-plist @@ -39,10 +39,10 @@ bin/qemu-system-i386 %%NO_X86_TARGETS%%bin/qemu-system-xtensa %%NO_X86_TARGETS%%bin/qemu-system-xtensaeb %%BSDUSER%%bin/qemu-x86_64 -include/qemu-plugin.h include/fdt.h include/libfdt.h include/libfdt_env.h +include/qemu-plugin.h lib/libfdt.a libdata/pkgconfig/libfdt.pc share/man/man1/qemu.1.gz @@ -58,10 +58,14 @@ share/man/man7/qemu-storage-daemon-qmp-ref.7.gz @sample etc/qemu-ifdown.sample %%DATADIR%%/QEMU,tcx.bin %%DATADIR%%/QEMU,cgthree.bin +%%DATADIR%%/ast27x0_bootrom.bin %%DATADIR%%/bios-256k.bin %%DATADIR%%/bios-microvm.bin %%DATADIR%%/bios.bin -%%DATADIR%%/canyonlands.dtb +%%DATADIR%%/dtb/bamboo.dtb +%%DATADIR%%/dtb/canyonlands.dtb +%%DATADIR%%/dtb/petalogix-ml605.dtb +%%DATADIR%%/dtb/petalogix-s3adsp1800.dtb %%DATADIR%%/edk2-aarch64-code.fd %%DATADIR%%/edk2-arm-code.fd %%DATADIR%%/edk2-arm-vars.fd @@ -83,14 +87,14 @@ share/man/man7/qemu-storage-daemon-qmp-ref.7.gz %%DATADIR%%/efi-rtl8139.rom %%DATADIR%%/efi-virtio.rom %%DATADIR%%/efi-vmxnet3.rom -%%DATADIR%%/firmware/50-edk2-i386-secure.json -%%DATADIR%%/firmware/50-edk2-x86_64-secure.json %%DATADIR%%/firmware/60-edk2-aarch64.json %%DATADIR%%/firmware/60-edk2-arm.json %%DATADIR%%/firmware/60-edk2-i386.json +%%DATADIR%%/firmware/50-edk2-i386-secure.json %%DATADIR%%/firmware/60-edk2-loongarch64.json %%DATADIR%%/firmware/60-edk2-riscv64.json %%DATADIR%%/firmware/60-edk2-x86_64.json +%%DATADIR%%/firmware/50-edk2-x86_64-secure.json %%DATADIR%%/hppa-firmware.img %%DATADIR%%/hppa-firmware64.img %%DATADIR%%/keymaps/ar @@ -139,7 +143,7 @@ share/man/man7/qemu-storage-daemon-qmp-ref.7.gz %%DATADIR%%/opensbi-riscv32-generic-fw_dynamic.bin %%DATADIR%%/opensbi-riscv64-generic-fw_dynamic.bin %%DATADIR%%/palcode-clipper -%%DATADIR%%/petalogix-ml605.dtb +%%DATADIR%%/pnv-pnor.bin %%DATADIR%%/pxe-e1000.rom %%DATADIR%%/pxe-eepro100.rom %%DATADIR%%/pxe-ne2k_pci.rom @@ -161,8 +165,6 @@ share/man/man7/qemu-storage-daemon-qmp-ref.7.gz %%DATADIR%%/vgabios-vmware.bin %%DATADIR%%/skiboot.lid %%DATADIR%%/trace-events-all -%%DATADIR%%/petalogix-s3adsp1800.dtb -%%DATADIR%%/bamboo.dtb %%DATADIR%%/kvmvapic.bin %%DATADIR%%/u-boot.e500 %%DATADIR%%/pvh.bin diff --git a/emulators/qemu/Makefile b/emulators/qemu/Makefile index 6dce4eb92909..df1fa1174335 100644 --- a/emulators/qemu/Makefile +++ b/emulators/qemu/Makefile @@ -1,6 +1,5 @@ PORTNAME= qemu -DISTVERSION= 10.0.0 -PORTREVISION= 1 +DISTVERSION= 10.0.2 CATEGORIES= emulators MASTER_SITES= https://download.qemu.org/ DIST_SUBDIR= qemu/${PORTVERSION} diff --git a/emulators/qemu/distinfo b/emulators/qemu/distinfo index 275a61eeb6ef..20b36677720e 100644 --- a/emulators/qemu/distinfo +++ b/emulators/qemu/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1746448259 -SHA256 (qemu/10.0.0/qemu-10.0.0.tar.xz) = 22c075601fdcf8c7b2671a839ebdcef1d4f2973eb6735254fd2e1bd0f30b3896 -SIZE (qemu/10.0.0/qemu-10.0.0.tar.xz) = 135618260 +TIMESTAMP = 1748524246 +SHA256 (qemu/10.0.2/qemu-10.0.2.tar.xz) = ef786f2398cb5184600f69aef4d5d691efd44576a3cff4126d38d4c6fec87759 +SIZE (qemu/10.0.2/qemu-10.0.2.tar.xz) = 135678180 diff --git a/emulators/qmc2/Makefile b/emulators/qmc2/Makefile index 4d29cf20049b..582b1fdbf9fd 100644 --- a/emulators/qmc2/Makefile +++ b/emulators/qmc2/Makefile @@ -5,7 +5,7 @@ PORTREVISION= 1 DISTVERSIONSUFFIX= -g112724d69 CATEGORIES= emulators games -MAINTAINER= agh@riseup.net +MAINTAINER= ports@FreeBSD.org COMMENT= Qt5 graphical interface for MAME WWW= https://github.com/qmc2/qmc2-mame-fe diff --git a/emulators/rpcs3/Makefile b/emulators/rpcs3/Makefile index bfed62024596..2a8781edac4a 100644 --- a/emulators/rpcs3/Makefile +++ b/emulators/rpcs3/Makefile @@ -1,7 +1,7 @@ PORTNAME= rpcs3 DISTVERSIONPREFIX= v -DISTVERSION= 0.0.36 # git rev-list --count HEAD -DISTVERSIONSUFFIX= -17723-g2f8ed1a6bd +DISTVERSION= 0.0.37 # git rev-list --count HEAD +DISTVERSIONSUFFIX= -17986-g68d2573344 CATEGORIES= emulators wayland MAINTAINER= jbeich@FreeBSD.org @@ -24,18 +24,18 @@ ONLY_FOR_ARCHS_REASON= requires int128 and SSE2 USE_GITHUB= yes GH_ACCOUNT= RPCS3 -GH_TUPLE= RPCS3:hidapi:hidapi-0.14.0-2-g8b43a97:hidapi/3rdparty/hidapi/hidapi \ - RPCS3:soundtouch:2.3.1-68-g394e1f5:soundtouch/3rdparty/SoundTouch/soundtouch \ +GH_TUPLE= RPCS3:hidapi:hidapi-0.14.0-53-gf424236:hidapi/3rdparty/hidapi/hidapi \ + RPCS3:soundtouch:2.3.1-78-g3982730:soundtouch/3rdparty/SoundTouch/soundtouch \ asmjit:asmjit:416f735:asmjit/3rdparty/asmjit/asmjit \ facebook:zstd:v1.5.7:zstd/3rdparty/zstd/zstd \ jbeder:yaml-cpp:0.8.0-11-g456c68f:yamlcpp/3rdparty/yaml-cpp/yaml-cpp \ - KhronosGroup:glslang:13.1.1:glslang/3rdparty/glslang/glslang \ + KhronosGroup:glslang:15.3.0:glslang/3rdparty/glslang/glslang \ kcat:openal-soft:1.23.1:openal_soft/3rdparty/OpenAL/openal-soft \ kinetiknz:cubeb:cubeb-0.2-1425-g88585b6:cubeb/3rdparty/cubeb/cubeb \ - Megamouse:VulkanMemoryAllocator:3706484:vkalloc/3rdparty/GPUOpen/VulkanMemoryAllocator \ - miniupnp:miniupnp:miniupnpd_2_3_6:miniupnp/3rdparty/miniupnp/miniupnp \ + Megamouse:VulkanMemoryAllocator:1d8f600:vkalloc/3rdparty/GPUOpen/VulkanMemoryAllocator \ + miniupnp:miniupnp:miniupnpd_2_3_9:miniupnp/3rdparty/miniupnp/miniupnp \ nothings:stb:013ac3b:stb/3rdparty/stblib/stb \ - wolfSSL:wolfssl:v5.7.6-stable:wolfssl/3rdparty/wolfssl/wolfssl \ + wolfSSL:wolfssl:v5.8.0-stable:wolfssl/3rdparty/wolfssl/wolfssl \ xioTechnologies:Fusion:v1.2.8:fusion/3rdparty/fusion/fusion USES= cmake gl iconv:wchar_t llvm:min=19,lib localbase:ldflags \ diff --git a/emulators/rpcs3/distinfo b/emulators/rpcs3/distinfo index 63825cfc9737..ea0e9ab6a9f2 100644 --- a/emulators/rpcs3/distinfo +++ b/emulators/rpcs3/distinfo @@ -1,30 +1,30 @@ -TIMESTAMP = 1743363932 -SHA256 (RPCS3-rpcs3-v0.0.36-17723-g2f8ed1a6bd_GH0.tar.gz) = a709ae993c6837a818b258a587ca4d5979eb205f77f52b8c95178115d6176462 -SIZE (RPCS3-rpcs3-v0.0.36-17723-g2f8ed1a6bd_GH0.tar.gz) = 6981719 -SHA256 (RPCS3-hidapi-hidapi-0.14.0-2-g8b43a97_GH0.tar.gz) = 109ba77362885d60e274930f637735ee75df2850fe99e3f1c3a5b9d1187f8cb6 -SIZE (RPCS3-hidapi-hidapi-0.14.0-2-g8b43a97_GH0.tar.gz) = 348879 -SHA256 (RPCS3-soundtouch-2.3.1-68-g394e1f5_GH0.tar.gz) = e24af82c51547341e2dfd43af03c1847abfd8d27334d667e6a51943f7f505cbe -SIZE (RPCS3-soundtouch-2.3.1-68-g394e1f5_GH0.tar.gz) = 606828 +TIMESTAMP = 1748728672 +SHA256 (RPCS3-rpcs3-v0.0.37-17986-g68d2573344_GH0.tar.gz) = de3235708b85cf9b03f3f8854bd5c81d4b8f88dff462b56978f18b00f20b824e +SIZE (RPCS3-rpcs3-v0.0.37-17986-g68d2573344_GH0.tar.gz) = 5861021 +SHA256 (RPCS3-hidapi-hidapi-0.14.0-53-gf424236_GH0.tar.gz) = 1494ab721a834346774c7821bb40ce9476cc7c1f2881820483afa76098df4e2b +SIZE (RPCS3-hidapi-hidapi-0.14.0-53-gf424236_GH0.tar.gz) = 364108 +SHA256 (RPCS3-soundtouch-2.3.1-78-g3982730_GH0.tar.gz) = 68119ffee94c7eb2e12357599d7a47ec5cb029a89243daafb9ffad3fdfb433e9 +SIZE (RPCS3-soundtouch-2.3.1-78-g3982730_GH0.tar.gz) = 607859 SHA256 (asmjit-asmjit-416f735_GH0.tar.gz) = 65ba9c3487da09af02db0c34405d1bdd3e49e134062930777f272007d97940fd SIZE (asmjit-asmjit-416f735_GH0.tar.gz) = 1151444 SHA256 (facebook-zstd-v1.5.7_GH0.tar.gz) = 37d7284556b20954e56e1ca85b80226768902e2edabd3b649e9e72c0c9012ee3 SIZE (facebook-zstd-v1.5.7_GH0.tar.gz) = 2451884 SHA256 (jbeder-yaml-cpp-0.8.0-11-g456c68f_GH0.tar.gz) = 3793d936474b1e6366f934f128f168dae711fd5e248dac048226c7879cefd6a3 SIZE (jbeder-yaml-cpp-0.8.0-11-g456c68f_GH0.tar.gz) = 1018173 -SHA256 (KhronosGroup-glslang-13.1.1_GH0.tar.gz) = 1c4d0a5a38c8aaf89a2d7e6093be734320599f5a6775b2726beeb05b0c054e66 -SIZE (KhronosGroup-glslang-13.1.1_GH0.tar.gz) = 3763210 +SHA256 (KhronosGroup-glslang-15.3.0_GH0.tar.gz) = c6c21fe1873c37e639a6a9ac72d857ab63a5be6893a589f34e09a6c757174201 +SIZE (KhronosGroup-glslang-15.3.0_GH0.tar.gz) = 4023163 SHA256 (kcat-openal-soft-1.23.1_GH0.tar.gz) = dfddf3a1f61059853c625b7bb03de8433b455f2f79f89548cbcbd5edca3d4a4a SIZE (kcat-openal-soft-1.23.1_GH0.tar.gz) = 840185 SHA256 (kinetiknz-cubeb-cubeb-0.2-1425-g88585b6_GH0.tar.gz) = d10bf2d54d7202efa39ac10bc580048666d6e7a5019a5d1f0f71e8b7bf01f25c SIZE (kinetiknz-cubeb-cubeb-0.2-1425-g88585b6_GH0.tar.gz) = 226777 -SHA256 (Megamouse-VulkanMemoryAllocator-3706484_GH0.tar.gz) = f8e30cd27a21dffd70387eb8058240933c40b6272ea84f89cf61c2f73c5537ec -SIZE (Megamouse-VulkanMemoryAllocator-3706484_GH0.tar.gz) = 1687892 -SHA256 (miniupnp-miniupnp-miniupnpd_2_3_6_GH0.tar.gz) = 6e5ee2239030486675f558cc840d154e5e2db9517efc96c5b0ab2b2c34c1a128 -SIZE (miniupnp-miniupnp-miniupnpd_2_3_6_GH0.tar.gz) = 462607 +SHA256 (Megamouse-VulkanMemoryAllocator-1d8f600_GH0.tar.gz) = 5aef11d98bae2ea911cda9fedcac6935d5bc5d0776cee581fc7b7204bd7b0d47 +SIZE (Megamouse-VulkanMemoryAllocator-1d8f600_GH0.tar.gz) = 962218 +SHA256 (miniupnp-miniupnp-miniupnpd_2_3_9_GH0.tar.gz) = ec7981351ad6a046eee0abf522ed1a45a3b0517e1da64e03826051f5f5354ea5 +SIZE (miniupnp-miniupnp-miniupnpd_2_3_9_GH0.tar.gz) = 540322 SHA256 (nothings-stb-013ac3b_GH0.tar.gz) = f2f5aeaa2504f8dc3ee7412cb480f9be218766c7a652ce3bcebbc25ec72d7e9c SIZE (nothings-stb-013ac3b_GH0.tar.gz) = 1510649 -SHA256 (wolfSSL-wolfssl-v5.7.6-stable_GH0.tar.gz) = 52b1e439e30d1ed8162a16308a8525a862183b67aa30373b11166ecbab000d63 -SIZE (wolfSSL-wolfssl-v5.7.6-stable_GH0.tar.gz) = 24573776 +SHA256 (wolfSSL-wolfssl-v5.8.0-stable_GH0.tar.gz) = f90f18c7f12913a0b351b1f4305e768697ea1380794df1f2984b9452ab0aeeaf +SIZE (wolfSSL-wolfssl-v5.8.0-stable_GH0.tar.gz) = 24936537 SHA256 (xioTechnologies-Fusion-v1.2.8_GH0.tar.gz) = ff9e4b8f09592226e310e8ac55073614743d04ace4e1ab66e96c3b517000600b SIZE (xioTechnologies-Fusion-v1.2.8_GH0.tar.gz) = 447874 SHA256 (thestk-rtmidi-6.0.0_GH0.tar.gz) = ef7bcda27fee6936b651c29ebe9544c74959d0b1583b716ce80a1c6fea7617f0 diff --git a/emulators/rpcs3/files/patch-rpcs3_rpcs3qt_game__list__frame.cpp b/emulators/rpcs3/files/patch-rpcs3_rpcs3qt_game__list__frame.cpp deleted file mode 100644 index af2bc4ddbf9c..000000000000 --- a/emulators/rpcs3/files/patch-rpcs3_rpcs3qt_game__list__frame.cpp +++ /dev/null @@ -1,24 +0,0 @@ -Fix build with Qt >= 6.9.0 - -Backported from: https://github.com/RPCS3/rpcs3/commit/600e4604169464c64cbf548e7629e483ad2aad1e - ---- rpcs3/rpcs3qt/game_list_frame.cpp.orig 2025-03-30 19:45:32 UTC -+++ rpcs3/rpcs3qt/game_list_frame.cpp -@@ -2363,7 +2363,7 @@ void game_list_frame::BatchActionBySerials(progress_di - - connect(future_watcher, &QFutureWatcher<void>::finished, this, [=, this]() - { -- pdlg->setLabelText(progressLabel.arg(*index).arg(serials_size)); -+ pdlg->setLabelText(progressLabel.arg(index->load()).arg(serials_size)); - pdlg->setCancelButtonText(tr("OK")); - QApplication::beep(); - -@@ -2396,7 +2396,7 @@ void game_list_frame::BatchActionBySerials(progress_di - return; - } - -- pdlg->setLabelText(progressLabel.arg(*index).arg(serials_size)); -+ pdlg->setLabelText(progressLabel.arg(index->load()).arg(serials_size)); - pdlg->setCancelButtonText(tr("OK")); - connect(pdlg, &progress_dialog::canceled, this, [pdlg](){ pdlg->deleteLater(); }); - QApplication::beep(); diff --git a/emulators/rpcs3/files/patch-rpcs3_rpcs3qt_ps__move__tracker__dialog.cpp b/emulators/rpcs3/files/patch-rpcs3_rpcs3qt_ps__move__tracker__dialog.cpp deleted file mode 100644 index ce6da7983d15..000000000000 --- a/emulators/rpcs3/files/patch-rpcs3_rpcs3qt_ps__move__tracker__dialog.cpp +++ /dev/null @@ -1,24 +0,0 @@ -Fix build with Qt >= 6.9.0 - -Backported from: https://github.com/RPCS3/rpcs3/commit/600e4604169464c64cbf548e7629e483ad2aad1e - ---- rpcs3/rpcs3qt/ps_move_tracker_dialog.cpp.orig 2025-03-30 19:45:32 UTC -+++ rpcs3/rpcs3qt/ps_move_tracker_dialog.cpp -@@ -362,7 +362,7 @@ void ps_move_tracker_dialog::update_min_radius(bool up - } - void ps_move_tracker_dialog::update_min_radius(bool update_slider) - { -- ui->minRadiusGb->setTitle(tr("Min Radius: %0 %").arg(g_cfg_move.min_radius)); -+ ui->minRadiusGb->setTitle(tr("Min Radius: %0 %").arg(g_cfg_move.min_radius.get())); - - if (update_slider) - { -@@ -372,7 +372,7 @@ void ps_move_tracker_dialog::update_max_radius(bool up - - void ps_move_tracker_dialog::update_max_radius(bool update_slider) - { -- ui->maxRadiusGb->setTitle(tr("Max Radius: %0 %").arg(g_cfg_move.max_radius)); -+ ui->maxRadiusGb->setTitle(tr("Max Radius: %0 %").arg(g_cfg_move.max_radius.get())); - - if (update_slider) - { diff --git a/emulators/rpcs3/files/patch-wolfssl b/emulators/rpcs3/files/patch-wolfssl deleted file mode 100644 index c736ccef7dc1..000000000000 --- a/emulators/rpcs3/files/patch-wolfssl +++ /dev/null @@ -1,16 +0,0 @@ -https://github.com/wolfSSL/wolfssl/commit/197a7e0ba386 - ---- 3rdparty/wolfssl/wolfssl/wolfcrypt/src/cpuid.c.orig 2024-12-31 17:58:22 UTC -+++ 3rdparty/wolfssl/wolfssl/wolfcrypt/src/cpuid.c -@@ -259,8 +259,10 @@ - - if (features & CPUID_AARCH64_FEAT_AES) - cpuid_flags |= CPUID_AES; -- if (features & CPUID_AARCH64_FEAT_PMULL) -+ if (features & CPUID_AARCH64_FEAT_AES_PMULL) { -+ cpuid_flags |= CPUID_AES; - cpuid_flags |= CPUID_PMULL; -+ } - if (features & CPUID_AARCH64_FEAT_SHA256) - cpuid_flags |= CPUID_SHA256; - if (features & CPUID_AARCH64_FEAT_SHA256_512) diff --git a/emulators/rpcs3/pkg-plist b/emulators/rpcs3/pkg-plist index 7013d57775ab..663b6c377e73 100644 --- a/emulators/rpcs3/pkg-plist +++ b/emulators/rpcs3/pkg-plist @@ -43,8 +43,6 @@ share/metainfo/rpcs3.metainfo.xml %%DATADIR%%/Icons/ui/square.png %%DATADIR%%/Icons/ui/start.png %%DATADIR%%/Icons/ui/triangle.png -%%DATADIR%%/git/README.md -%%DATADIR%%/git/commits.lst %%DATADIR%%/test/dump_stack.elf %%DATADIR%%/test/gs_gcm_basic_triangle.elf %%DATADIR%%/test/gs_gcm_cube.elf diff --git a/emulators/virtualbox-ose-70/Makefile b/emulators/virtualbox-ose-70/Makefile index c1823c5bd1a5..19516c211e1f 100644 --- a/emulators/virtualbox-ose-70/Makefile +++ b/emulators/virtualbox-ose-70/Makefile @@ -1,6 +1,6 @@ PORTNAME= virtualbox-ose DISTVERSION= 7.0.26 -PORTREVISION?= 0 +PORTREVISION?= 3 CATEGORIES= emulators MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \ LOCAL/vvd:docs @@ -28,7 +28,7 @@ LIB_DEPENDS= libpng.so:graphics/png \ libcurl.so:ftp/curl RUN_DEPENDS= ${LOCALBASE}/etc/rc.d/vboxnet:emulators/virtualbox-ose-kmod-70 -USES= compiler:c++14-lang cpe gnome iconv qt:5 pkgconfig ssl tar:bzip2 +USES= compiler:c++14-lang cpe gnome iconv pkgconfig qt:5 ssl tar:bzip2 CPE_VENDOR= oracle CPE_PRODUCT= vm_virtualbox USE_BINUTILS= yes @@ -43,7 +43,9 @@ CONFIGURE_ARGS+= --with-gcc="${CC}" --with-g++="${CXX}" CONFLICTS_INSTALL= virtualbox-ose-legacy \ virtualbox-ose-nox11-legacy \ virtualbox-ose \ - virtualbox-ose-nox11 + virtualbox-ose-nox11 \ + virtualbox-ose-71 \ + virtualbox-ose-nox11-71 PORTSCOUT= limit:^7\.0\. SUB_FILES= pkg-message @@ -75,8 +77,9 @@ PLIST_SUB= GUEST_VER=${DISTVERSION} \ SLAVE_PORT?= no -OPTIONS_DEFINE= AIO ALSA DBUS DEBUG DOCS GUESTADDITIONS NLS PULSEAUDIO \ - PYTHON QT5 R0LOGGING UDPTUNNEL VBOXIMG VDE VNC WEBSERVICE VPX X11 +OPTIONS_DEFINE= AIO ALSA DBUS DEBUG DOCS GUESTADDITIONS NLS OGG PULSEAUDIO \ + PYTHON QT5 R0LOGGING UDPTUNNEL VBOXIMG VDE VNC VORBIS VPX \ + WEBSERVICE X11 OPTIONS_DEFAULT= AIO DBUS QT5 UDPTUNNEL VNC WEBSERVICE X11 .if ${SLAVE_PORT} == no OPTIONS_DEFAULT+= PYTHON @@ -90,12 +93,14 @@ AIO_DESC= Enable Asyncronous IO support (check pkg-message) DEBUG_DESC= Debug symbols, additional logs and assertions GUESTADDITIONS_DESC= Build with Guest Additions NLS_DESC= Native language support (requires QT5) +OGG_DESC= Use libogg from audio/libogg instead of bundled one QT5_DESC= Build with QT5 frontend (requires X11) R0LOGGING_DESC= Enable R0 logging (requires DEBUG) UDPTUNNEL_DESC= Build with UDP tunnel support VBOXIMG_DESC= Build vboximg-mount (requires fuse-libs) VDE_DESC= Build with VDE support VNC_DESC= Build with VNC support +VORBIS_DESC= Use libvorbis from audio/libvorbis instead of bundled one VPX_DESC= Use libvpx for video recording WEBSERVICE_DESC= Build Webservice @@ -105,6 +110,8 @@ DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus DBUS_CONFIGURE_OFF= --disable-dbus DEBUG_CONFIGURE_ON= --build-debug NLS_IMPLIES= QT5 +OGG_LIB_DEPENDS= libogg.so:audio/libogg +OGG_CONFIGURE_ON= --enable-libogg PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_CONFIGURE_OFF= --disable-pulse PYTHON_USES= python @@ -125,6 +132,9 @@ VDE_RUN_DEPENDS= vde_switch:net/vde2 VDE_CONFIGURE_ON= --enable-vde VNC_LIB_DEPENDS= libvncserver.so:net/libvncserver VNC_CONFIGURE_ON= --enable-vnc +VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis \ + libvorbisenc.so:audio/libvorbis +VORBIS_CONFIGURE_ON= --enable-libvorbis VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx VPX_CONFIGURE_OFF= --disable-libvpx WEBSERVICE_BUILD_DEPENDS= soapcpp2:devel/gsoap diff --git a/emulators/virtualbox-ose-70/files/patch-configure b/emulators/virtualbox-ose-70/files/patch-configure index fe0f4247089b..992770166b0f 100644 --- a/emulators/virtualbox-ose-70/files/patch-configure +++ b/emulators/virtualbox-ose-70/files/patch-configure @@ -1,6 +1,6 @@ ---- configure.orig 2024-10-10 20:19:24.000000000 +0200 -+++ configure 2024-12-27 13:12:46.010746000 +0100 -@@ -154,10 +154,14 @@ +--- configure.orig 2025-04-11 11:59:42 UTC ++++ configure +@@ -154,10 +154,14 @@ if [ "$OS" = "freebsd" ]; then if [ "$OS" = "freebsd" ]; then INCCURL="-I/usr/local/include" LIBCURL="-L/usr/local/lib -lcurl" @@ -15,7 +15,7 @@ else INCCURL="" LIBCURL="-lcurl" -@@ -1207,6 +1211,9 @@ +@@ -1207,6 +1211,9 @@ extern "C" int main(int argc, char** argv) printf("found version %d.%d.%d", SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL); #if SDL_VERSION_ATLEAST(1,2,7) @@ -25,7 +25,7 @@ printf(", OK.\n"); return 0; #else -@@ -1291,7 +1298,7 @@ +@@ -1291,7 +1298,7 @@ EOF #endif } EOF @@ -34,7 +34,7 @@ test_execute fi } -@@ -1605,6 +1612,7 @@ +@@ -1605,6 +1612,7 @@ EOF FLGQT5=`pkg-config Qt5Core --cflags` # gcc 4.8 is able to compile with C++11 (see also VBOX_GCC_std in Config.kmk) [ $(($cc_maj * 100 + $cc_min)) -ge 408 ] && FLGQT5="$FLGQT5 -std=c++11" @@ -42,7 +42,28 @@ INCQT5=`strip_I "$FLGQT5"` LIBDIR5=`pkg-config Qt5Core --variable=libdir` LIBQT5=`pkg-config Qt5Core Qt5Gui --libs` -@@ -2180,8 +2188,8 @@ +@@ -1861,9 +1869,9 @@ check_libvorbis() + if which_wrapper pkg-config > /dev/null; then + libvorbis_ver=`pkg-config vorbis --modversion 2>> $LOG` + if [ $? -eq 0 ]; then +- FLGVRB=`pkg-config vorbis --cflags` ++ FLGVRB=`pkg-config vorbis vorbisenc --cflags` + INCVRB=`strip_I "$FLGVRB"` +- LIBVRB=`pkg-config vorbis --libs` ++ LIBVRB=`pkg-config vorbis vorbisenc --libs` + fi + cat > $ODIR.tmp_src.cc << EOF + #include <cstdio> +@@ -1913,7 +1921,7 @@ EOF + return 0; + } + EOF +- [ -n "$INCOGG" ] && I_INCVRB=`prefix_I "$INCOGG"` ++ [ -n "$INCOGG" ] && I_INCOGG=`prefix_I "$INCOGG"` + if test_compile "$LIBOGG $I_INCOGG" ogg ogg nofatal; then + if test_execute; then + cnf_append "SDK_VBoxLibOgg_INCS" "$INCOGG" +@@ -2180,8 +2188,8 @@ EOF echo "compiling the following source file:" >> $LOG cat $ODIR.tmp_src.cc >> $LOG echo "using the following command line:" >> $LOG @@ -53,7 +74,7 @@ if [ $? -eq 0 ]; then found=1 break -@@ -2297,7 +2305,7 @@ +@@ -2297,7 +2305,7 @@ check_gsoap() else cnf_append "VBOX_GSOAP_CXX_SOURCES" "" fi @@ -62,7 +83,7 @@ gsoap_version=`pkg-config gsoapssl++ --modversion` log_success "found version $gsoap_version" return -@@ -2661,7 +2669,7 @@ +@@ -2661,7 +2669,7 @@ for option in "$@"; do --with-openssl-dir=*) OPENSSLDIR=`echo $option | cut -d'=' -f2` INCCRYPTO="-I${OPENSSLDIR}/include" @@ -71,7 +92,7 @@ # On Darwin (at least for macports) static OpenSSL also needs zlib. [ "$OS" = "darwin" ] && LIBCRYPTO="$LIBCRYPTO ${OPENSSLDIR}/lib/libz.a" # On Linux static OpenSSL typically needs a few additional libraries. -@@ -3028,12 +3036,22 @@ +@@ -3028,12 +3036,22 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then [ $WITH_JAVA -eq 1 ] && check_java # PulseAudio @@ -100,7 +121,7 @@ fi fi -@@ -3049,14 +3067,6 @@ +@@ -3049,14 +3067,6 @@ if [ "$OS" = "linux" ]; then cnf_append "VBOX_WITHOUT_LINUX_TEST_BUILDS" "1" fi if [ $ONLY_ADDITIONS -eq 0 ]; then diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk index 4d327e1089b1..270472c045e3 100644 --- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk +++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk @@ -1,6 +1,6 @@ ---- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2018-11-29 19:03:21 UTC +--- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-05-11 03:54:13 UTC +++ src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk -@@ -0,0 +1,23 @@ +@@ -0,0 +1,28 @@ +# $Id: Makefile.kmk $ +## @file +# Sub-Makefile for the FreeBSD Shared folder mount utility. @@ -19,8 +19,13 @@ + +PROGRAMS += mount_vboxvfs +mount_vboxvfs_TEMPLATE = NewVBoxGuestR3Exe -+mount_vboxvfs_SOURCES = $(MOUNT)/getmntopts.c \ -+ mount_vboxvfs.c ++mount_vboxvfs_SOURCES = mount_vboxvfs.c ++ ++ifdef HAVE_MNTOPTS_IN_LIBUTIL ++mount_vboxvfs_LIBS = util ++else ++mount_vboxvfs_SOURCES += $(MOUNT)/getmntopts.c ++endif + +include $(FILE_KBUILD_SUB_FOOTER) + diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp new file mode 100644 index 000000000000..aa74b95e2303 --- /dev/null +++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp @@ -0,0 +1,20 @@ +--- src/VBox/Devices/Graphics/DevVGA-SVGA.cpp.orig 2025-04-11 12:09:20 UTC ++++ src/VBox/Devices/Graphics/DevVGA-SVGA.cpp +@@ -178,7 +178,7 @@ + # ifdef RT_OS_DARWIN + # include "DevVGA-SVGA3d-cocoa.h" + # endif +-# ifdef RT_OS_LINUX ++# if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + # ifdef IN_RING3 + # include "DevVGA-SVGA3d-glLdr.h" + # endif +@@ -7153,7 +7153,7 @@ static void vmsvgaR3PowerOnDevice(PPDMDEVINS pDevIns, + } + # endif + +-# if defined(VBOX_WITH_VMSVGA3D) && defined(RT_OS_LINUX) ++# if defined(VBOX_WITH_VMSVGA3D) && (defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)) + if (pThis->svga.f3DEnabled) + { + /* The FIFO thread may use X API for accelerated screen output. */ diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp new file mode 100644 index 000000000000..8592bccdc8fc --- /dev/null +++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp @@ -0,0 +1,11 @@ +--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp.orig 2025-04-11 12:09:20 UTC ++++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp +@@ -3111,7 +3111,7 @@ static DECLCALLBACK(int) vmsvga3dBackInit(PPDMDEVINS p + RT_NOREF(pDevIns, pThis); + + int rc; +-#ifdef RT_OS_LINUX /** @todo Remove, this is currently needed for loading the X11 library in order to call XInitThreads(). */ ++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) /** @todo Remove, this is currently needed for loading the X11 library in order to call XInitThreads(). */ + rc = glLdrInit(pDevIns); + if (RT_FAILURE(rc)) + { diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp index c9574654562d..caa97030f41c 100644 --- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp +++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp @@ -1,6 +1,6 @@ ---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp.orig 2021-01-07 15:39:16 UTC +--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp.orig 2025-04-11 12:09:20 UTC +++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp -@@ -186,7 +186,7 @@ int glLdrInit(PPDMDEVINS pDevIns) +@@ -196,7 +196,7 @@ int glLdrInit(PPDMDEVINS pDevIns) pfn_wglDeleteContext = 0; pfn_wglMakeCurrent = 0; pfn_wglShareLists = 0; @@ -9,7 +9,7 @@ pfn_XConfigureWindow = 0; pfn_XCloseDisplay = 0; pfn_XCreateColormap = 0; -@@ -296,7 +296,7 @@ int glLdrInit(PPDMDEVINS pDevIns) +@@ -306,7 +306,7 @@ int glLdrInit(PPDMDEVINS pDevIns) GLGETPROC_(wglDeleteContext, ""); GLGETPROC_(wglMakeCurrent, ""); GLGETPROC_(wglShareLists, ""); @@ -18,7 +18,7 @@ X11GETPROC_(XConfigureWindow); X11GETPROC_(XCloseDisplay); X11GETPROC_(XCreateColormap); -@@ -397,7 +397,7 @@ int glLdrInit(PPDMDEVINS pDevIns) +@@ -407,7 +407,7 @@ int glLdrInit(PPDMDEVINS pDevIns) GLGETPROC_(glVertexPointer, ""); GLGETPROC_(glViewport, ""); diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h index 3069950947cd..ea1c170e8f17 100644 --- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h +++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h @@ -1,6 +1,6 @@ ---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h.orig 2021-01-07 15:39:17 UTC +--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h.orig 2025-04-11 12:09:20 UTC +++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h -@@ -338,7 +338,7 @@ GLPFN BOOL (WINAPI *pfn_wglMakeCurrent)(HDC, HGLRC); +@@ -346,7 +346,7 @@ GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC); GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC); #define wglShareLists pfn_wglShareLists diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp index 96058e78ff1f..caf9d72e8e19 100644 --- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp +++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp @@ -1,6 +1,6 @@ ---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp.orig 2021-01-07 15:39:17 UTC +--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp.orig 2025-04-11 12:09:20 UTC +++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp -@@ -1189,7 +1189,7 @@ int vmsvga3dTerminate(PVGASTATECC pThisCC) +@@ -1198,7 +1198,7 @@ static DECLCALLBACK(int) vmsvga3dBackTerminate(PVGASTA RTSemEventDestroy(pState->WndRequestSem); #elif defined(RT_OS_DARWIN) @@ -9,7 +9,7 @@ /* signal to the thread that it is supposed to exit */ pState->bTerminate = true; /* wait for it to terminate */ -@@ -3194,7 +3194,7 @@ int vmsvga3dGenerateMipmaps(PVGASTATECC pThisCC, uint3 +@@ -3216,7 +3216,7 @@ static DECLCALLBACK(int) vmsvga3dBackGenerateMipmaps(P } @@ -18,7 +18,7 @@ /** * X11 event handling thread. * -@@ -3224,7 +3224,7 @@ DECLCALLBACK(int) vmsvga3dXEventThread(RTTHREAD hThrea +@@ -3246,7 +3246,7 @@ DECLCALLBACK(int) vmsvga3dXEventThread(RTTHREAD hThrea } return VINF_SUCCESS; } @@ -27,7 +27,25 @@ /** -@@ -4052,7 +4052,7 @@ static int vmsvga3dContextDestroyOgl(PVGASTATECC pThis +@@ -3484,7 +3484,7 @@ int vmsvga3dContextDefineOgl(PVGASTATECC pThisCC, uint + return VINF_SUCCESS; + } + +-#if defined(RT_OS_LINUX) ++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + /* + * HW accelerated graphics output. + */ +@@ -3976,7 +3976,7 @@ static DECLCALLBACK(int) vmsvga3dBackSurfaceBlitToScre + return VINF_SUCCESS; + } + +-#else /* !RT_OS_LINUX */ ++#else /* !RT_OS_FREEBSD && !RT_OS_LINUX */ + + static DECLCALLBACK(int) vmsvga3dBackDefineScreen(PVGASTATE pThis, PVGASTATECC pThisCC, VMSVGASCREENOBJECT *pScreen) + { +@@ -4096,7 +4096,7 @@ static int vmsvga3dContextDestroyOgl(PVGASTATECC pThis AssertRC(rc); #elif defined(RT_OS_DARWIN) vmsvga3dCocoaDestroyViewAndContext(pContext->cocoaView, pContext->cocoaContext); diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c b/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c index 205c897c818d..cbdcb490764f 100644 --- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c +++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c @@ -1,6 +1,6 @@ ---- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2025-04-11 05:12:39.000000000 -0700 -+++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c 2025-04-28 10:14:45.981609000 -0700 -@@ -139,8 +139,10 @@ +--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2025-04-11 12:12:39 UTC ++++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c +@@ -139,8 +139,10 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) { @@ -11,7 +11,7 @@ switch (pMemFreeBSD->Core.enmType) { -@@ -155,8 +157,6 @@ +@@ -155,8 +157,6 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) case RTR0MEMOBJTYPE_LOCK: { @@ -20,7 +20,7 @@ if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS) pMap = &((struct proc *)pMemFreeBSD->Core.u.Lock.R0Process)->p_vmspace->vm_map; -@@ -197,6 +197,7 @@ +@@ -197,6 +197,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) case RTR0MEMOBJTYPE_PHYS_NC: { VM_OBJECT_WLOCK(pMemFreeBSD->pObject); @@ -28,22 +28,22 @@ vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0); #if __FreeBSD_version < 1000000 vm_page_lock_queues(); -@@ -209,6 +210,14 @@ - } +@@ -210,6 +211,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) #if __FreeBSD_version < 1000000 vm_page_unlock_queues(); -+#endif + #endif +#else /* __FreeBSD_version >= 1500038 */ + struct pctrie_iter pages; + vm_page_t page; + -+ pctrie_iter_init(&pages, pMemFreeBSD->pObject); ++ vm_page_iter_init(&pages, pMemFreeBSD->pObject); + VM_RADIX_FORALL(page, &pages) -+ vm_page_unwire(page, PQ_INACTIVE); - #endif ++ (void)vm_page_unwire_noq(page); ++#endif VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); vm_object_deallocate(pMemFreeBSD->pObject); -@@ -220,6 +229,7 @@ + break; +@@ -220,6 +229,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) return VERR_INTERNAL_ERROR; } @@ -51,7 +51,7 @@ return VINF_SUCCESS; } -@@ -329,7 +339,8 @@ +@@ -329,7 +339,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE size_t cPages = atop(pMemFreeBSD->Core.cb); int rc; @@ -61,7 +61,7 @@ /* No additional object reference for auto-deallocation upon unmapping. */ #if __FreeBSD_version >= 1000055 -@@ -371,6 +382,7 @@ +@@ -371,6 +382,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag) { @@ -69,7 +69,7 @@ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PAGE, NULL, cb, pszTag); if (pMemFreeBSD) -@@ -380,8 +392,10 @@ +@@ -380,8 +392,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ *ppMem = &pMemFreeBSD->Core; else rtR0MemObjDelete(&pMemFreeBSD->Core); @@ -80,7 +80,7 @@ return VERR_NO_MEMORY; } -@@ -395,6 +409,7 @@ +@@ -395,6 +409,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag) { @@ -88,7 +88,7 @@ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_LOW, NULL, cb, pszTag); if (pMemFreeBSD) { -@@ -403,14 +418,17 @@ +@@ -403,14 +418,17 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI *ppMem = &pMemFreeBSD->Core; else rtR0MemObjDelete(&pMemFreeBSD->Core); @@ -106,7 +106,7 @@ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_CONT, NULL, cb, pszTag); if (pMemFreeBSD) -@@ -423,8 +441,10 @@ +@@ -423,8 +441,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ } else rtR0MemObjDelete(&pMemFreeBSD->Core); @@ -117,7 +117,7 @@ return VERR_NO_MEMORY; } -@@ -432,6 +452,7 @@ +@@ -432,6 +452,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJTYPE enmType, size_t cb, RTHCPHYS PhysHighest, size_t uAlignment, bool fContiguous, int rcNoMem, const char *pszTag) { @@ -125,7 +125,7 @@ /* create the object. */ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), enmType, NULL, cb, pszTag); if (pMemFreeBSD) -@@ -439,7 +460,8 @@ +@@ -439,7 +460,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB vm_paddr_t const VmPhysAddrHigh = PhysHighest != NIL_RTHCPHYS ? PhysHighest : ~(vm_paddr_t)0; u_long const cPages = atop(cb); @@ -135,19 +135,16 @@ int rc = rtR0MemObjFreeBSDPhysAllocHelper(pMemFreeBSD->pObject, cPages, VmPhysAddrHigh, uAlignment, fContiguous, true, rcNoMem); -@@ -449,7 +471,11 @@ +@@ -449,7 +471,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB { Assert(enmType == RTR0MEMOBJTYPE_PHYS); VM_OBJECT_WLOCK(pMemFreeBSD->pObject); -+#if __FreeBSD_version < 1500038 - pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_page_find_least(pMemFreeBSD->pObject, 0)); -+#else -+ pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_radix_lookup_ge(&(pMemFreeBSD->pObject->rtree), 0)); -+#endif +- pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_page_find_least(pMemFreeBSD->pObject, 0)); ++ pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_radix_lookup_ge(&pMemFreeBSD->pObject->rtree, 0)); VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); pMemFreeBSD->Core.u.Phys.fAllocated = true; } -@@ -462,8 +488,10 @@ +@@ -462,8 +484,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB vm_object_deallocate(pMemFreeBSD->pObject); rtR0MemObjDelete(&pMemFreeBSD->Core); } @@ -158,7 +155,7 @@ return VERR_NO_MEMORY; } -@@ -486,6 +514,7 @@ +@@ -486,6 +510,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ const char *pszTag) { AssertReturn(uCachePolicy == RTMEM_CACHE_POLICY_DONT_CARE, VERR_NOT_SUPPORTED); @@ -166,7 +163,7 @@ /* create the object. */ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PHYS, -@@ -497,8 +526,10 @@ +@@ -497,8 +522,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ pMemFreeBSD->Core.u.Phys.PhysBase = Phys; pMemFreeBSD->Core.u.Phys.uCachePolicy = uCachePolicy; *ppMem = &pMemFreeBSD->Core; @@ -177,7 +174,7 @@ return VERR_NO_MEMORY; } -@@ -510,6 +541,7 @@ +@@ -510,6 +537,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER vm_offset_t AddrStart, size_t cb, uint32_t fAccess, RTR0PROCESS R0Process, int fFlags, const char *pszTag) { @@ -185,7 +182,7 @@ int rc; NOREF(fAccess); -@@ -519,21 +551,28 @@ +@@ -519,21 +547,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER if (!pMemFreeBSD) return VERR_NO_MEMORY; @@ -222,7 +219,7 @@ return VERR_NO_MEMORY;/** @todo fix mach -> vbox error conversion for freebsd. */ } -@@ -573,6 +612,7 @@ +@@ -573,6 +608,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJINTERNAL ppMem, void *pvFixed, size_t cb, size_t uAlignment, RTR0PROCESS R0Process, vm_map_t pMap, const char *pszTag) { @@ -230,7 +227,7 @@ int rc; /* -@@ -631,11 +671,13 @@ +@@ -631,11 +667,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN pMemFreeBSD->Core.pv = (void *)MapAddress; pMemFreeBSD->Core.u.ResVirt.R0Process = R0Process; *ppMem = &pMemFreeBSD->Core; @@ -244,7 +241,7 @@ return rc; } -@@ -659,6 +701,8 @@ +@@ -659,6 +697,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, void *pvFixed, size_t uAlignment, unsigned fProt, size_t offSub, size_t cbSub, const char *pszTag) { @@ -253,7 +250,7 @@ // AssertMsgReturn(!offSub && !cbSub, ("%#x %#x\n", offSub, cbSub), VERR_NOT_SUPPORTED); AssertMsgReturn(pvFixed == (void *)-1, ("%p\n", pvFixed), VERR_NOT_SUPPORTED); -@@ -713,6 +757,7 @@ +@@ -713,6 +753,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ Assert((vm_offset_t)pMemFreeBSD->Core.pv == Addr); pMemFreeBSD->Core.u.Mapping.R0Process = NIL_RTR0PROCESS; *ppMem = &pMemFreeBSD->Core; @@ -261,7 +258,7 @@ return VINF_SUCCESS; } rc = vm_map_remove(kernel_map, Addr, Addr + cbSub); -@@ -721,6 +766,7 @@ +@@ -721,6 +762,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ else vm_object_deallocate(pMemToMapFreeBSD->pObject); @@ -269,7 +266,7 @@ return VERR_NO_MEMORY; } -@@ -728,6 +774,8 @@ +@@ -728,6 +770,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, RTR3PTR R3PtrFixed, size_t uAlignment, unsigned fProt, RTR0PROCESS R0Process, size_t offSub, size_t cbSub, const char *pszTag) { @@ -278,7 +275,7 @@ /* * Check for unsupported stuff. */ -@@ -785,44 +833,50 @@ +@@ -785,44 +829,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN if (rc == KERN_SUCCESS) { @@ -333,7 +330,7 @@ if ((fProt & RTMEM_PROT_NONE) == RTMEM_PROT_NONE) ProtectionFlags = VM_PROT_NONE; -@@ -833,7 +887,12 @@ +@@ -833,7 +883,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT if ((fProt & RTMEM_PROT_EXEC) == RTMEM_PROT_EXEC) ProtectionFlags |= VM_PROT_EXECUTE; @@ -346,7 +343,7 @@ if (krc == KERN_SUCCESS) return VINF_SUCCESS; -@@ -858,11 +917,19 @@ +@@ -858,11 +913,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P vm_offset_t pb = (vm_offset_t)pMemFreeBSD->Core.pv + ptoa(iPage); @@ -370,7 +367,7 @@ } case RTR0MEMOBJTYPE_MAPPING: -@@ -871,11 +938,15 @@ +@@ -871,11 +934,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P if (pMemFreeBSD->Core.u.Mapping.R0Process != NIL_RTR0PROCESS) { @@ -387,7 +384,7 @@ } return vtophys(pb); } -@@ -886,9 +957,11 @@ +@@ -886,9 +953,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P { RTHCPHYS addr; diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp b/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp new file mode 100644 index 000000000000..87ae993446a3 --- /dev/null +++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp @@ -0,0 +1,39 @@ +--- src/VBox/Runtime/r3/freebsd/systemmem-freebsd.cpp.orig 2025-04-14 17:59:18 UTC ++++ src/VBox/Runtime/r3/freebsd/systemmem-freebsd.cpp +@@ -75,7 +75,6 @@ RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb) + u_int cPagesMemFree = 0; + u_int cPagesMemInactive = 0; + u_int cPagesMemCached = 0; +- u_int cPagesMemUsed = 0; + int cbPage = 0; + size_t cbParameter; + int cProcessed = 0; +@@ -83,25 +82,23 @@ RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb) + cbParameter = sizeof(cPagesMemFree); + if (sysctlbyname("vm.stats.vm.v_free_count", &cPagesMemFree, &cbParameter, NULL, 0)) + rc = RTErrConvertFromErrno(errno); +- cbParameter = sizeof(cPagesMemUsed); +- if ( RT_SUCCESS(rc) +- && sysctlbyname("vm.stats.vm.v_active_count", &cPagesMemUsed, &cbParameter, NULL, 0)) +- rc = RTErrConvertFromErrno(errno); + cbParameter = sizeof(cPagesMemInactive); + if ( RT_SUCCESS(rc) + && sysctlbyname("vm.stats.vm.v_inactive_count", &cPagesMemInactive, &cbParameter, NULL, 0)) + rc = RTErrConvertFromErrno(errno); ++#if __FreeBSD_version < 1200016 + cbParameter = sizeof(cPagesMemCached); + if ( RT_SUCCESS(rc) + && sysctlbyname("vm.stats.vm.v_cache_count", &cPagesMemCached, &cbParameter, NULL, 0)) + rc = RTErrConvertFromErrno(errno); ++#endif + cbParameter = sizeof(cbPage); + if ( RT_SUCCESS(rc) + && sysctlbyname("hw.pagesize", &cbPage, &cbParameter, NULL, 0)) + rc = RTErrConvertFromErrno(errno); + + if (RT_SUCCESS(rc)) +- *pcb = (cPagesMemFree + cPagesMemInactive + cPagesMemCached ) * cbPage; ++ *pcb = ((uint64_t)cPagesMemFree + cPagesMemInactive + cPagesMemCached) * cbPage; + + return rc; + } diff --git a/emulators/virtualbox-ose-70/files/vboxinit.in b/emulators/virtualbox-ose-70/files/vboxinit.in index 13ec9614827d..9895da9e362e 100644 --- a/emulators/virtualbox-ose-70/files/vboxinit.in +++ b/emulators/virtualbox-ose-70/files/vboxinit.in @@ -37,7 +37,7 @@ restart_cmd="${name}_restart" vboxinit_start() { # Get a list of all machines with autorun enabled in phpvirtualbox - ${su_command} "${command} list vms | /usr/bin/tr -d '{}\"'" | while read VMNAME UUID; do + ${su_command} "${command} list vms | /usr/bin/tr -d '{}\"'" | /usr/bin/sort | while read VMNAME UUID; do STARTUP=$(${su_command} "${command} getextradata ${UUID} 'pvbx/startupMode'" | /usr/bin/cut -d' ' -f2) if [ "${STARTUP}" == "auto" ]; then echo "${name}: starting machine ${VMNAME} ..." @@ -50,7 +50,7 @@ vboxinit_start() vboxinit_stop() { # Get all running machines - ${su_command} "${command} list runningvms | /usr/bin/tr -d '{}\"'" | while read VMNAME UUID; do + ${su_command} "${command} list runningvms | /usr/bin/tr -d '{}\"'" | /usr/bin/sort -r | while read VMNAME UUID; do echo "${name}: stopping machine ${VMNAME} with action '${vboxinit_stop}' ..." ${su_command} "${command} controlvm ${UUID} ${vboxinit_stop}" sleep "${vboxinit_stop_delay}" @@ -75,7 +75,7 @@ load_rc_config $name : ${vboxinit_user="%%VBOXUSER%%"} : ${vboxinit_home=$(/usr/sbin/pw usershow -7 -n "${vboxinit_user}" | /usr/bin/cut -d: -f6)} : ${vboxinit_stop="savestate"} -: ${vboxinit_start_delay="0"} +: ${vboxinit_start_delay="1"} : ${vboxinit_stop_delay="0"} HOME=${vboxinit_home} USER=${vboxinit_user} diff --git a/emulators/virtualbox-ose-71/Makefile b/emulators/virtualbox-ose-71/Makefile new file mode 100644 index 000000000000..1941d1f63133 --- /dev/null +++ b/emulators/virtualbox-ose-71/Makefile @@ -0,0 +1,424 @@ +PORTNAME= virtualbox-ose +DISTVERSION= 7.1.10 +PORTREVISION?= 1 +CATEGORIES= emulators +MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \ + LOCAL/vvd:docs +PKGNAMESUFFIX?= -71 +DISTFILES= VirtualBox-${DISTVERSION}${EXTRACT_SUFX}:src \ + VirtualBox-docs-${DISTVERSION}${EXTRACT_SUFX}:docs +EXTRACT_ONLY= VirtualBox-${DISTVERSION}${EXTRACT_SUFX} \ + VirtualBox-docs-${DISTVERSION}${EXTRACT_SUFX} + +MAINTAINER= vbox@FreeBSD.org +COMMENT= General-purpose full virtualizer for x86 hardware +WWW= https://www.virtualbox.org/ + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/COPYING + +ONLY_FOR_ARCHS= amd64 + +BUILD_DEPENDS= gtar:archivers/gtar \ + kmk:devel/kBuild \ + yasm:devel/yasm \ + xsltproc:textproc/libxslt +LIB_DEPENDS= libpng.so:graphics/png \ + libcurl.so:ftp/curl +RUN_DEPENDS= ${LOCALBASE}/etc/rc.d/vboxnet:emulators/virtualbox-ose-kmod-71 + +USES= compiler:c++17-lang cpe gnome iconv pkgconfig qt:6 ssl tar:bzip2 +CPE_VENDOR= oracle +CPE_PRODUCT= vm_virtualbox +USE_BINUTILS= yes +USE_GNOME= libxml2 +USE_QT= tools:build +USE_RC_SUBR= vboxheadless vboxwatchdog + +HAS_CONFIGURE= yes +CONFIGURE_ARGS= --disable-java --passive-mesa --disable-docs +CONFIGURE_ARGS+= --with-gcc="${CC}" --with-g++="${CXX}" + +CONFLICTS_INSTALL= virtualbox-ose-legacy \ + virtualbox-ose-nox11-legacy \ + virtualbox-ose \ + virtualbox-ose-nox11 \ + virtualbox-ose-70 \ + virtualbox-ose-nox11-70 + +PORTSCOUT= limit:^7\.1\. +SUB_FILES= pkg-message +SUB_LIST= VBOXDIR=${VBOX_DIR} \ + VBOX_ETC=${VBOX_ETC} \ + VBOXGROUP=${VBOXGROUP} \ + VBOXUSER=${VBOXUSER} \ + VBOXWSUSER=${VBOXWSUSER} + +WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION} + +VBOXUSER?= vboxusers +VBOXWSUSER?= vboxusers +VBOXGROUP?= vboxusers +USERS= ${VBOXUSER} +GROUPS= ${VBOXGROUP} +VBOX_DIR= ${PREFIX}/${VBOX_DIR_REL} +VBOX_DIR_REL= lib/virtualbox +VBOX_ETC= ${PREFIX}/etc/vbox +VBOX_LINKS= VBoxVRDP +VBOX_PROGS= VBoxAutostart VBoxBalloonCtrl VBoxBugReport VBoxHeadless \ + VBoxManage +VBOX_UTILS= VBoxExtPackHelperApp VBoxNetAdpCtl VBoxNetDHCP VBoxNetNAT \ + VBoxSVC + +PLIST_SUB= GUEST_VER=${DISTVERSION} \ + PYTHON_VERU=${PYTHON_VER:S/./_/}${PYTHON_ABIVER} \ + VBOXGROUP=${VBOXGROUP} + +SLAVE_PORT?= no + +OPTIONS_DEFINE= AIO ALSA DBUS DEBUG DOCS GUESTADDITIONS NLS OGG PULSEAUDIO \ + PYTHON QT6 R0LOGGING UDPTUNNEL VBOXIMG VDE VNC VORBIS VPX \ + WEBSERVICE X11 +OPTIONS_DEFAULT= AIO DBUS QT6 UDPTUNNEL VNC WEBSERVICE X11 +.if ${SLAVE_PORT} == no +OPTIONS_DEFAULT+= PYTHON +.endif +# Since version 6.1.24 pulseaudio is broken at runtime, preventing +# virtual machines from starting if configured to use it. +OPTIONS_EXCLUDE+= PULSEAUDIO +OPTIONS_SUB= yes + +AIO_DESC= Enable Asyncronous IO support (check pkg-message) +DEBUG_DESC= Debug symbols, additional logs and assertions +GUESTADDITIONS_DESC= Build with Guest Additions +NLS_DESC= Native language support (requires QT6) +OGG_DESC= Use libogg from audio/libogg instead of bundled one +QT6_DESC= Build with QT6 frontend (requires X11) +R0LOGGING_DESC= Enable R0 logging (requires DEBUG) +UDPTUNNEL_DESC= Build with UDP tunnel support +VBOXIMG_DESC= Build vboximg-mount (requires fuse-libs) +VDE_DESC= Build with VDE support +VNC_DESC= Build with VNC support +VORBIS_DESC= Use libvorbis from audio/libvorbis instead of bundled one +VPX_DESC= Use libvpx for video recording +WEBSERVICE_DESC= Build Webservice + +ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib +ALSA_CONFIGURE_OFF= --disable-alsa +DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus +DBUS_CONFIGURE_OFF= --disable-dbus +DEBUG_CONFIGURE_ON= --build-debug +NLS_IMPLIES= QT6 +OGG_LIB_DEPENDS= libogg.so:audio/libogg +OGG_CONFIGURE_ON= --enable-libogg +PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio +PULSEAUDIO_CONFIGURE_OFF= --disable-pulse +PYTHON_USES= python +PYTHON_USES_OFF= python:build +PYTHON_USE= PYTHON=distutils,noegginfo,noflavors +PYTHON_CONFIGURE_OFF= --disable-python +PYTHON_VARS= pydistutils_pkgname=vboxapi pydistutils_pkgversion=1.0 +QT6_IMPLIES= X11 +QT6_USES= gl qmake:no_env qt:6 xorg +QT6_USE= QT=base,scxml,tools,translations \ + XORG=xcb GL=gl +QT6_CONFIGURE_OFF= --disable-qt +R0LOGGING_IMPLIES= DEBUG +UDPTUNNEL_CONFIGURE_OFF= --disable-udptunnel +VBOXIMG_LIB_DEPENDS= libfuse.so.2:filesystems/fusefs-libs +VDE_RUN_DEPENDS= vde_switch:net/vde2 +VDE_CONFIGURE_ON= --enable-vde +VNC_LIB_DEPENDS= libvncserver.so:net/libvncserver +VNC_CONFIGURE_ON= --enable-vnc +VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis \ + libvorbisenc.so:audio/libvorbis +VORBIS_CONFIGURE_ON= --enable-libvorbis +VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx +VPX_CONFIGURE_OFF= --disable-libvpx +WEBSERVICE_BUILD_DEPENDS= soapcpp2:devel/gsoap +X11_USES= sdl xorg +X11_USE= SDL=sdl XORG=x11,xcursor,xext,xinerama,xmu,xorgproto,xt +X11_CONFIGURE_OFF= --build-headless + +ENV= +.export ENV + +.include <bsd.port.options.mk> + +.if ${SLAVE_PORT} == no +CONFLICTS_INSTALL+= virtualbox-ose-nox11-71 +.else +CONFLICTS_INSTALL+= virtualbox-ose-71 +.endif + +.if ${PORT_OPTIONS:MDEBUG} +KMK_BUILDTYPE= debug +KMK_FLAGS+= BUILD_TYPE=debug +.else +KMK_BUILDTYPE= release +.endif + +.if ${PORT_OPTIONS:MGUESTADDITIONS} +GUESTADDITIONS= VBoxGuestAdditions_${DISTVERSION}.iso +DISTFILES+= ${GUESTADDITIONS}:src +LICENSE+= Additions +LICENSE_COMB= multi +LICENSE_NAME_Additions= Guest Additions +LICENSE_PERMS_Additions= auto-accept +LICENSE_DISTFILES_Additions= ${GUESTADDITIONS} +.endif + +.if ${PORT_OPTIONS:MQT6} +PLIST_SUB+= QT="" +VBOX_PROGS+= VirtualBox VirtualBoxVM +VBOX_WITH_QT= 1 +.else +PLIST_SUB+= QT="@comment " +.endif + +.if ${PORT_OPTIONS:MWEBSERVICE} +USE_RC_SUBR+= vboxinit vboxwebsrv +VBOX_LINKS+= vboxwebsrv +VBOX_UTILS+= vboxwebsrv webtest +.endif + +.if ${PORT_OPTIONS:MX11} +#VBOX_PROGS+= VBoxSDL +.endif + +.if ${PORT_OPTIONS:MPYTHON} || ${PORT_OPTIONS:MWEBSERVICE} +PLIST_SUB+= SDK="" +.else +PLIST_SUB+= SDK="@comment " +.endif + +.if ${PORT_OPTIONS:MVBOXIMG} +EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-vboximg-Config.kmk +VBOX_UTILS+= vboximg-mount +PLIST_SUB+= VBOXIMG="" +.else +PLIST_SUB+= VBOXIMG="@comment " +.endif + +KMK_ARCH= freebsd.${ARCH} +PLIST_SUB+= ARCH="${KMK_ARCH}" + +KMK_BUILDDIR= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE} +KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys VBOX_WITHOUT_DOCS=1 VBOX_GCC_std=-std=c++17 +KMK_FLAGS+= -j${MAKE_JOBS_NUMBER} + +.include <bsd.port.pre.mk> + +.if ${CHOSEN_COMPILER_TYPE} == clang +PATCH_DEPENDS+= ${LOCALBASE}/share/kBuild/tools/GXX3.kmk:devel/kBuild +.endif + +.if ${PYTHON_MAJOR_VER} >= 3 +PLIST_SUB+= PYTHON_PYCDIR=/__pycache__/ \ + PYTHON_PYCEXT=.cpython-${PYTHON_SUFFIX}.pyc +.else +PLIST_SUB+= PYTHON_PYCDIR=/ \ + PYTHON_PYCEXT=.pyc +.endif + +.if ${SSL_DEFAULT} != base +CONFIGURE_ARGS+= --with-openssl-dir="${OPENSSLBASE}" +.endif + +post-patch: + @${ECHO_CMD} 'VBOX_PATH_APP_PRIVATE_ARCH = ${VBOX_DIR}' > \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_DOCBOOK = ${DBKXSLDIR}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_DOCBOOK_DTD = ${DBKXMLDIR}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_SHARED_LIBS = ${VBOX_DIR}' >> \ + ${WRKSRC}/LocalConfig.kmk + # Please keep this even if using Clang to avoid repeated regressions. + # PR 245048 + @${ECHO_CMD} "VBOX_WITH_RUNPATH = ${_GCC_RUNTIME:D${_GCC_RUNTIME}\:}${VBOX_DIR}" >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_APP_PRIVATE = ${DATADIR}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_APP_DOCS = ${DOCSDIR}' >> ${WRKSRC}/LocalConfig.kmk +.if ${SSL_DEFAULT} != base + @${ECHO_CMD} 'VBOX_WITH_ALT_HASH_CODE = 1' >> ${WRKSRC}/LocalConfig.kmk +.endif + @${ECHO_CMD} 'VBOX_WITH_EXTPACK_VBOXDTRACE =' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_INSTALLER = 1' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_VBOXDRV =' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_TESTCASES =' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'SDK_VBOX_LIBPNG_INCS = ${PREFIX}/include/libpng' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'SDK_VBOX_LIBPNG_LIBS = png' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP = ${VBOX_WITH_QT}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP_GH = ${VBOX_WITH_QT}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_VALIDATIONKIT =' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_X11_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_BLD_PYTHON = ${LOCALBASE}/bin/${PYTHON_VERSION}' >> \ + ${WRKSRC}/LocalConfig.kmk +.if ${PORT_OPTIONS:MR0LOGGING} + @${ECHO_CMD} 'VBOX_WITH_R0_LOGGING = 1' >> ${WRKSRC}/LocalConfig.kmk +.endif +.if ${PORT_OPTIONS:MWEBSERVICE} + @${ECHO_CMD} 'VBOX_WITH_WEBSERVICES = 1' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_GSOAP_INSTALLED = 1' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_GSOAP = ${PREFIX}/lib/gsoap' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_GSOAP_BIN = ${PREFIX}/bin' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_GSOAP_IMPORT = ${PREFIX}/share/gsoap/import' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_GCC_PEDANTIC_CXX = -Wshadow $$(VBOX_GCC_WARN) -Wno-long-long' >> \ + ${WRKSRC}/LocalConfig.kmk +.endif +.if empty(PORT_OPTIONS:MX11) + @${ECHO} 'VBOX_WITH_VMSVGA3D =' >> ${WRKSRC}/LocalConfig.kmk +.endif +.if ${CHOSEN_COMPILER_TYPE} == clang + @${REINPLACE_CMD} -e 's| -finline-limit=8000||' \ + -e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk + @${REINPLACE_CMD} -e 's| -fpermissive||' ${WRKSRC}/Config.kmk \ + ${WRKSRC}/src/VBox/Main/webservice/Makefile.kmk + @${ECHO_CMD} 'TOOL_VBoxGccFreeBSD_LD = ${CXX}' >> ${WRKSRC}/LocalConfig.kmk + @${SED} -e 's|GXX3|VBoxGccFreeBSD|g' \ + ${LOCALBASE}/share/kBuild/tools/GXX3.kmk > \ + ${WRKSRC}/tools/kBuildTools/VBoxGccFreeBSD.kmk +.endif +.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1500013 + @${ECHO_CMD} 'VBoxSVC_LDFLAGS.freebsd = -lsys' >> ${WRKSRC}/LocalConfig.kmk +.endif + # Causes a "reinplace" QA warning with default LOCALBASE + @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ + ${WRKSRC}/Config.kmk ${WRKSRC}/configure \ + ${WRKSRC}/kBuild/header.kmk ${WRKSRC}/kBuild/units/qt4.kmk \ + ${WRKSRC}/kBuild/units/qt5.kmk ${WRKSRC}/kBuild/units/qt6.kmk ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \ + ${WRKSRC}/src/libs/xpcom18a4/python/gen_python_deps.py + @${REINPLACE_CMD} \ + -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ + -e 's|SUPPYTHONLIBS=.*|SUPPYTHONLIBS="${PYTHON_VERSION}${PYTHON_ABIVER}"|' \ + ${WRKSRC}/configure +.if empty(ICONV_LIB) + @${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk \ + ${WRKSRC}/src/VBox/Runtime/Makefile.kmk + @${ECHO_CMD} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk +.endif + @${REINPLACE_CMD} -e 's|%%VBOX_DIR%%|${VBOX_DIR}|g' \ + -e 's|%%VBOX_ETC%%|${VBOX_ETC}|g' \ + -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ + ${WRKSRC}/src/VBox/Installer/freebsd/VBox.sh + @${REINPLACE_CMD} -e 's|%%VBOX_ETC%%|${VBOX_ETC}|g' \ + ${WRKSRC}/src/VBox/HostDrivers/adpctl/VBoxNetAdpCtl.cpp + @${REINPLACE_CMD} \ + -e 's|^versions =.*|versions = ["${PYTHON_VER}${PYTHON_ABIVER}"]|' \ + ${WRKSRC}/src/libs/xpcom18a4/python/gen_python_deps.py + +post-patch-AIO-off: + @${REINPLACE_CMD} 's|r3/freebsd/fileaio-freebsd.cpp|r3/posix/fileaio-posix.cpp|' \ + ${WRKSRC}/src/VBox/Runtime/Makefile.kmk + +do-build: + cd ${WRKSRC} && ${SH} -c '. ${WRKSRC}/env.sh && \ + ${SETENV} ${MAKE_ENV} ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}' +.if ${PORT_OPTIONS:MPYTHON} + ${PYTHON_CMD} -mcompileall \ + ${KMK_BUILDDIR}/bin/sdk/bindings/xpcom/python/xpcom +.endif + +do-install: +.if ${PORT_OPTIONS:MPYTHON} || ${PORT_OPTIONS:MWEBSERVICE} + ${MKDIR} ${STAGEDIR}${DATADIR}/sdk +.endif + cd ${KMK_BUILDDIR}/bin/sdk/bindings/xpcom && \ + ${COPYTREE_SHARE} "idl samples" ${STAGEDIR}${DATADIR} + + ${MKDIR} ${STAGEDIR}${PREFIX}/include/virtualbox + cd ${KMK_BUILDDIR}/bin/sdk/bindings/xpcom/include && \ + ${COPYTREE_SHARE} "*" ${STAGEDIR}${PREFIX}/include/virtualbox + + ${MKDIR} ${STAGEDIR}${VBOX_DIR} + cd ${KMK_BUILDDIR}/bin && ${COPYTREE_SHARE} \ + "*.fd *.r0 *.so components" ${STAGEDIR}${VBOX_DIR} +.if ${PORT_OPTIONS:MPYTHON} || ${PORT_OPTIONS:MWEBSERVICE} + ${RLN} ${STAGEDIR}${DATADIR}/sdk ${STAGEDIR}${VBOX_DIR} +.endif + + ${INSTALL_SCRIPT} ${WRKSRC}/src/VBox/Installer/freebsd/VBox.sh \ + ${STAGEDIR}${VBOX_DIR} +.for f in ${VBOX_PROGS} ${VBOX_UTILS} + ${INSTALL_PROGRAM} ${KMK_BUILDDIR}/bin/${f} ${STAGEDIR}${VBOX_DIR} +.endfor +.for f in ${VBOX_PROGS} ${VBOX_LINKS} + ${LN} -fs ../${VBOX_DIR_REL}/VBox.sh ${STAGEDIR}${PREFIX}/bin/${f} +.endfor +.for f in ${VBOX_PROGS} + ${LN} -fs ../${VBOX_DIR_REL}/VBox.sh ${STAGEDIR}${PREFIX}/bin/${f:tl} +.endfor + +.if ${PORT_OPTIONS:MGUESTADDITIONS} + ${MKDIR} ${STAGEDIR}${VBOX_DIR}/additions + ${INSTALL_DATA} ${DISTDIR}/${GUESTADDITIONS} \ + ${STAGEDIR}${VBOX_DIR}/additions/ + ${RLN} ${STAGEDIR}${VBOX_DIR}/additions/${GUESTADDITIONS} \ + ${STAGEDIR}${VBOX_DIR}/additions/VBoxGuestAdditions.iso +.endif + +.if ${PORT_OPTIONS:MDOCS} + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKDIR}/VirtualBox-docs-${DISTVERSION}/UserManual.pdf \ + ${STAGEDIR}${DOCSDIR} +.endif + +.if ${PORT_OPTIONS:MNLS} + cd ${KMK_BUILDDIR}/obj/VirtualBox/qtnls && \ + ${COPYTREE_SHARE} "*.qm" ${STAGEDIR}${DATADIR}/nls +.endif + +.if ${PORT_OPTIONS:MPYTHON} + cd ${KMK_BUILDDIR}/bin/sdk/installer/python && \ + ${SETENV} VBOX_INSTALL_PATH="${VBOX_DIR}" \ + ${PYTHON_CMD} vboxapisetup.py install --root=${STAGEDIR} + + @${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/xpcom + cd ${KMK_BUILDDIR}/bin/sdk/bindings/xpcom/python/xpcom && \ + ${COPYTREE_SHARE} "*" ${STAGEDIR}${PYTHON_SITELIBDIR}/xpcom + @${MKDIR} ${STAGEDIR}${DATADIR}/sdk/bindings/xpcom/python + ${RLN} ${STAGEDIR}${PYTHON_SITELIBDIR}/xpcom \ + ${STAGEDIR}${DATADIR}/sdk/bindings/xpcom/python +.endif + +.if ${PORT_OPTIONS:MQT6} + ${INSTALL_DATA} \ + ${WRKSRC}/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_48px.png \ + ${STAGEDIR}${PREFIX}/share/pixmaps/VBox.png + ${INSTALL_DATA} \ + ${FILESDIR}/virtualbox.desktop \ + ${STAGEDIR}${PREFIX}/share/applications/virtualbox.desktop +.endif + +.if ${PORT_OPTIONS:MVNC} + ${MKDIR} ${STAGEDIR}${VBOX_DIR}/ExtensionPacks/VNC/${KMK_ARCH} + ${INSTALL_DATA} ${KMK_BUILDDIR}/bin/ExtensionPacks/VNC/ExtPack* \ + ${STAGEDIR}${VBOX_DIR}/ExtensionPacks/VNC/ + ${INSTALL_LIB} ${KMK_BUILDDIR}/bin/ExtensionPacks/VNC/${KMK_ARCH}/* \ + ${STAGEDIR}${VBOX_DIR}/ExtensionPacks/VNC/${KMK_ARCH}/ +.endif + +.if ${PORT_OPTIONS:MVBOXIMG} + ${LN} -fs ../${VBOX_DIR_REL}/vboximg-mount ${STAGEDIR}${PREFIX}/bin/ +.endif + +.if ${PORT_OPTIONS:MWEBSERVICE} + ${MKDIR} ${STAGEDIR}${DATADIR}/sdk/bindings/webservice + ${INSTALL_DATA} ${KMK_BUILDDIR}/obj/webservice/vboxweb.wsdl \ + ${STAGEDIR}${DATADIR}/sdk/bindings/webservice/ +.endif + +post-install: + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/virtualbox/*.so \ + ${STAGEDIR}${PREFIX}/lib/virtualbox/components/*.so + +.include <bsd.port.post.mk> diff --git a/emulators/virtualbox-ose-71/distinfo b/emulators/virtualbox-ose-71/distinfo new file mode 100644 index 000000000000..36ff7a2f5869 --- /dev/null +++ b/emulators/virtualbox-ose-71/distinfo @@ -0,0 +1,7 @@ +TIMESTAMP = 1749075437 +SHA256 (VirtualBox-7.1.10.tar.bz2) = 7d60010a4c9102613554b46f61d17b825c30ee59d8be071e52d8aac664ca9869 +SIZE (VirtualBox-7.1.10.tar.bz2) = 233395034 +SHA256 (VirtualBox-docs-7.1.10.tar.bz2) = 5ff2827643d1d01ad6e26eb86dd7a2e1c9ce13c7049ab360054bd689253fd14b +SIZE (VirtualBox-docs-7.1.10.tar.bz2) = 10113312 +SHA256 (VBoxGuestAdditions_7.1.10.iso) = 59c92f7f5fd7e081211e989f5117fc53ad8d8800ad74a01b21e97bb66fe62972 +SIZE (VBoxGuestAdditions_7.1.10.iso) = 61378560 diff --git a/emulators/virtualbox-ose-71/files/extrapatch-Config.kmk b/emulators/virtualbox-ose-71/files/extrapatch-Config.kmk new file mode 100644 index 000000000000..775508d23b1b --- /dev/null +++ b/emulators/virtualbox-ose-71/files/extrapatch-Config.kmk @@ -0,0 +1,11 @@ +--- Config.kmk.orig 2021-04-28 16:21:25 UTC ++++ Config.kmk +@@ -4931,7 +4931,7 @@ define TOOL_FREEBSDKMODLD_LINK_SYSMOD_CMDS + | xargs -J% objcopy % $(out) + + ## Strip debug info (comment out if debugging or something). +- objcopy --strip-debug $(out) ++# objcopy --strip-debug $(out) + endef + else # x86 + TOOL_FREEBSDKMODLD_LINK_SYSMOD_OUTPUT = $(outbase).kld diff --git a/emulators/virtualbox-ose-71/files/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile b/emulators/virtualbox-ose-71/files/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile new file mode 100644 index 000000000000..67361da543f7 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile @@ -0,0 +1,11 @@ +--- src/VBox/HostDrivers/Support/freebsd/Makefile.orig 2012-10-18 16:23:16.000000000 +0200 ++++ src/VBox/HostDrivers/Support/freebsd/Makefile 2012-10-20 08:13:07.301179212 +0200 +@@ -27,7 +27,7 @@ + + KMOD = vboxdrv + +-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DSUPDRV_WITH_RELEASE_LOGGER -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBOX_WITH_HARDENING -DVBOX_WITH_64_BITS_GUESTS ++CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DSUPDRV_WITH_RELEASE_LOGGER -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBOX_WITH_HARDENING -DVBOX_WITH_64_BITS_GUESTS -DDEBUG + + .if (${MACHINE_ARCH} == "i386") + CFLAGS += -DRT_ARCH_X86 diff --git a/emulators/virtualbox-ose-71/files/extrapatch-vboximg-Config.kmk b/emulators/virtualbox-ose-71/files/extrapatch-vboximg-Config.kmk new file mode 100644 index 000000000000..d84209faa8cd --- /dev/null +++ b/emulators/virtualbox-ose-71/files/extrapatch-vboximg-Config.kmk @@ -0,0 +1,11 @@ +--- Config.kmk.orig 2023-10-12 15:43:35.000000000 +0700 ++++ Config.kmk 2023-10-30 22:11:09.119922000 +0700 +@@ -869,7 +869,7 @@ + # windows versions (only define when buildling win.x86). + #VBOX_WITH_MORE_NT4_COMPAT_BINARIES = 1 + # Set this to enable building of the vboximg-mount FUSE mounting utility. +-if1of ($(KBUILD_TARGET), darwin linux) ++if1of ($(KBUILD_TARGET), darwin freebsd linux) + VBOX_WITH_VBOXIMGMOUNT = 1 + endif + # Set this to enable packaging the fuse related bits into our installer. diff --git a/emulators/virtualbox-ose-71/files/patch-Config.kmk b/emulators/virtualbox-ose-71/files/patch-Config.kmk new file mode 100644 index 000000000000..7aaf90147847 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-Config.kmk @@ -0,0 +1,402 @@ +--- Config.kmk.orig 2025-05-10 18:43:02 UTC ++++ Config.kmk +@@ -610,11 +610,11 @@ endif + # Enable OSS audio support. + VBOX_WITH_AUDIO_OSS = 1 + endif +-if1of ($(KBUILD_TARGET), linux) ++if1of ($(KBUILD_TARGET), freebsd linux) + # Enable ALSA audio support. + VBOX_WITH_AUDIO_ALSA = 1 + endif +-if1of ($(KBUILD_TARGET), linux) ++if1of ($(KBUILD_TARGET), freebsd linux) + # Enable PulseAudio audio support. + VBOX_WITH_AUDIO_PULSE = 1 + endif +@@ -627,11 +627,11 @@ VBOX_WITH_PCI_PASSTHROUGH = + # (disabled with 6.1, since it's not complete/useful enough) + VBOX_WITH_PCI_PASSTHROUGH = + # Enable statically linked dbus support. +-if1of ($(KBUILD_TARGET), linux solaris) ++if1of ($(KBUILD_TARGET), freebsd linux solaris) + VBOX_WITH_DBUS = 1 + endif + # Enable building PAM modules. +-if1of ($(KBUILD_TARGET), linux solaris) ++if1of ($(KBUILD_TARGET), freebsd linux solaris) + VBOX_WITH_PAM = 1 + endif + # Enable internal networking. +@@ -639,7 +639,7 @@ VBOX_WITH_VMSVGA = 1 + # Enable vmsvga (svga2) graphics device variant, 2D part + VBOX_WITH_VMSVGA = 1 + # Enable vmsvga (svga2) graphics device variant, 3D part +-if1of ($(KBUILD_TARGET), darwin linux win) ++if1of ($(KBUILD_TARGET), darwin freebsd linux win) + VBOX_WITH_VMSVGA3D = 1 + endif + # Enable vmsvga (svga2) graphics device variant, 3D part, VGPU10 DX commands +@@ -825,7 +825,7 @@ VBOX_WITH_VBOXMANAGE_NLS = 1 + #endif + # Set this to prefix all C symbols in XPCOM, to avoid dynamic linking problems + # caused by our XPCOM library polluting the symbol namespace for system libs. +-if1of ($(KBUILD_TARGET), linux solaris) ++if1of ($(KBUILD_TARGET), freebsd linux solaris) + VBOX_WITH_XPCOM_NAMESPACE_CLEANUP = 1 + endif + # The webservices api. +@@ -1357,10 +1357,6 @@ endif + endif + endif + +-ifeq ($(KBUILD_TARGET),freebsd) +- VBOX_WITH_DOCS = +-endif +- + ifeq ($(KBUILD_TARGET),haiku) + VBOX_WITH_VRDP_RDESKTOP = + # Permanent (no working SDL). +@@ -1545,7 +1541,7 @@ ifdef VBOX_OSE + # not yet + VBOX_WITH_PLUGIN_CRYPT = + VBOX_WITH_DRAG_AND_DROP_PROMISES = +- ifn1of ($(KBUILD_TARGET), linux) ++ ifn1of ($(KBUILD_TARGET), freebsd linux) + VBOX_WITH_DOCS = + VBOX_WITH_DOCS_PACKING = + endif +@@ -3680,19 +3676,7 @@ ifndef VBOX_GCC_std + # + ## @todo consider maxing this out. + ifndef VBOX_GCC_std +- if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.arm64) # Go straight for c++17 here. + VBOX_GCC_std := -std=c++17 +- # else if "$(VBOX_CLANG_VERSION_CXX)" vge 60000 # Most language features complete by v6. Lib stuff was less complete in v6, but hopefully acceptable for out purposes. +- #VBOX_GCC_std := -std=c++17 +- else if "$(VBOX_CLANG_VERSION_CXX)" vge 50000 # darwin Xcode 5 allegedly knows what C++11 is +- VBOX_GCC_std := -std=c++11 +- # else if "$(VBOX_GCC_VERSION_CXX)" vge 70000 # Language feature P0512R0 was v8, rest v7 or earlier. Most lib stuff present in 7, complete in v12. +- #VBOX_GCC_std := -std=gnu++17 +- else if "$(VBOX_GCC_VERSION_CXX)" vge 40800 +- VBOX_GCC_std := -std=c++11 +- else if "$(VBOX_GCC_VERSION_CXX)" vge 40600 +- VBOX_GCC_std := -std=c++0x +- endif + endif + ifndef VBOX_VCC_std + if $(VBOX_VCC_TOOL_STEM) >= VCC141 # since 2017 15.3 +@@ -5682,11 +5666,11 @@ ifeq ($(VBOX_LDR_FMT),elf) + # Solaris driver signing. + TEMPLATE_VBoxR0_POST_CMDS = $(VBOX_SIGN_DRIVER_CMDS) + else +- TEMPLATE_VBoxR0_LDFLAGS = -nostdlib -Bsymbolic -g ++ TEMPLATE_VBoxR0_LDFLAGS = -nostdlib -Bsymbolic -g -fuse-ld=bfd + ## @todo WTF doesn't the globals work? Debug info is supposed to be split everywhere. GRR + TEMPLATE_VBoxR0_LD_DEBUG = split + endif +- if "$(KBUILD_TARGET)" == "linux" && !defined(VBOX_WITH_KMOD_WRAPPED_R0_MODS) ++ if ( "$(KBUILD_TARGET)" == "linux" || "$(KBUILD_TARGET)" == "freebsd") && !defined(VBOX_WITH_KMOD_WRAPPED_R0_MODS) + VBOX_WITH_VBOXR0_AS_DLL = 1 + TEMPLATE_VBoxR0_DLLSUFF = .r0 + TEMPLATE_VBoxR0_CFLAGS += -fPIC +@@ -5697,7 +5681,7 @@ ifeq ($(VBOX_LDR_FMT),elf) + else + TEMPLATE_VBoxR0_CFLAGS.amd64 += -mcmodel=kernel + TEMPLATE_VBoxR0_CXXFLAGS.amd64 += -mcmodel=kernel +- endif ++endif + ifdef VBOX_WITH_KMOD_WRAPPED_R0_MODS # For BTF/pahold issue we use -g1 + TEMPLATE_VBoxR0_DEFS += VBOX_WITH_KMOD_WRAPPED_R0_MODS + TEMPLATE_VBoxR0_LDFLAGS.linux += $(PATH_ROOT)/src/VBox/HostDrivers/Support/linux/VBoxR0-wrapped.lds +@@ -6081,7 +6065,7 @@ ifeq ($(KBUILD_TARGET),freebsd) + # x86 FreeBSD (6.2 or something): + # cc -O2 -fno-strict-aliasing -pipe -Werror -D_KERNEL -DKLD_MODULE \ + # -nostdinc -I- -I. -I@ -I@/contrib/altq -I@/../include -I/usr/include \ +- # -finline-limit=8000 -fno-common -mno-align-long-strings -mpreferred-stack-boundary=2 \ ++ # -fno-common -mno-align-long-strings \ + # -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs \ + # -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions \ + # -std=c99 -c ../my.c +@@ -6092,7 +6076,7 @@ ifeq ($(KBUILD_TARGET),freebsd) + # + # AMD64 FreeBSD (7.1): + # cc -O2 -fno-strict-aliasing -pipe -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I. -I@ -I@/contrib/altq \ +- # -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common \ ++ # --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common \ + # -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx \ + # -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding \ + # -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign \ +@@ -6174,7 +6158,7 @@ ifeq ($(KBUILD_TARGET),freebsd) + | xargs -J% objcopy % $(outbase).kld + + # Link the final .ko (a shared object). +- ld $(flags) -Bshareable -o $(out) $(outbase).kld ++ ld $(flags) -Bshareable -znotext -o $(out) $(outbase).kld + endef + endif # x86 + +@@ -6209,7 +6193,7 @@ ifeq ($(KBUILD_TARGET),netbsd) + $(VBOX_GCC_fdiagnostics-show-option) \ + -Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \ + -Wimplicit-function-declaration -Werror-implicit-function-declaration \ +- -O2 -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \ ++ -O2 -ffreestanding -fno-strict-aliasing -fno-common \ + $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ + -nostdinc -std=c99 -msoft-float + TEMPLATE_VBoxR0Drv_CFLAGS.x86 = -m32 -mno-mmx -mno-sse -mno-avx \ +@@ -6220,7 +6204,7 @@ ifeq ($(KBUILD_TARGET),netbsd) + -fno-asynchronous-unwind-tables -mno-fp-ret-in-387 + TEMPLATE_VBoxR0Drv_CXXFLAGS = -fno-exceptions -fno-rtti \ + $(VBOX_GCC_WARN) -Wpointer-arith -Winline \ +- -O2 -fno-strict-aliasing -fno-common -finline-limit=8000 \ ++ -O2 -fno-strict-aliasing -fno-common \ + $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ + -nostdinc -msoft-float + TEMPLATE_VBoxR0Drv_CXXFLAGS.x86 = $(TEMPLATE_VBoxR0Drv_CFLAGS.x86) +@@ -6528,11 +6512,11 @@ else # the gcc guys + TEMPLATE_VBoxR3Exe_LIBS = pthread m rt dl + else ifeq ($(KBUILD_TARGET),os2) + TEMPLATE_VBoxR3Exe_TOOL = GXX3OMF +- TEMPLATE_VBoxR3Exe_LIBS = socket iconv ++ TEMPLATE_VBoxR3Exe_LIBS = socket + else ifeq ($(KBUILD_TARGET),darwin) + TEMPLATE_VBoxR3Exe_TOOL = $(VBOX_GCC_TOOL) + TEMPLATE_VBoxR3Exe_LIBS = +- TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG # Avoid 3rd party libiconv (from macports). ++ TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG # Avoid 3rd party lib (from macports). + TEMPLATE_VBoxR3Exe_SDKS.darwin = $(VBOX_DARWIN_DEF_SDK_SDKS) + TEMPLATE_VBoxR3Exe_DEFS.darwin = $(VBOX_DARWIN_DEF_SDK_DEFS) + TEMPLATE_VBoxR3Exe_CFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -fno-common +@@ -6549,17 +6533,26 @@ else # the gcc guys + else ifeq ($(KBUILD_TARGET),haiku) + TEMPLATE_VBoxR3Exe_TOOL = GXX3 + TEMPLATE_VBoxR3Exe_POST_CMDS = $(VBOX_HAIKU_XRES_SETVER_CMDS) +- TEMPLATE_VBoxR3Exe_LIBS = network iconv stdc++ supc++ ++ TEMPLATE_VBoxR3Exe_LIBS = network stdc++ supc++ + TEMPLATE_VBoxR3Exe_LIBPATH += \ + /boot/common/lib + # Haiku uses PIC by default... + TEMPLATE_VBoxR3Exe_CFLAGS += -fno-pic + TEMPLATE_VBoxR3Exe_CXXFLAGS += -fno-pic + TEMPLATE_VBoxR3Exe_LDFLAGS += -fno-pic +- else if1of ($(KBUILD_TARGET), freebsd openbsd) ++ else ifeq ($(KBUILD_TARGET), freebsd) + TEMPLATE_VBoxR3Exe_TOOL = GXX3 + TEMPLATE_VBoxR3Exe_LIBS = pthread ++ TEMPLATE_VBoxR3Exe_LDFLAGS = -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed) ++ TEMPLATE_VBoxR3Exe_LDFLAGS.freebsd.x86 = -Wl,-z,notext + TEMPLATE_VBoxR3Exe_INCS += \ ++ /usr/local/include ++ TEMPLATE_VBoxR3Exe_LIBPATH += \ ++ /usr/local/lib ++ else ifeq ($(KBUILD_TARGET), openbsd) ++ TEMPLATE_VBoxR3Exe_TOOL = GXX3 ++ TEMPLATE_VBoxR3Exe_LIBS = pthread ++ TEMPLATE_VBoxR3Exe_INCS += \ + /usr/include \ + /usr/X11R6/include \ + /usr/local/include +@@ -6578,7 +6571,7 @@ else # the gcc guys + /usr/X11R7/lib + else ifeq ($(KBUILD_TARGET),solaris) + TEMPLATE_VBoxR3Exe_TOOL = GXX3PLAIN +- TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG _REENTRANT # Avoid the GNU libiconv, for now at least. ++ TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG _REENTRANT # Avoid the GNU lib, for now at least. + if $(VBOX_GCC_VERSION_CC) < 30500 + TEMPLATE_VBoxR3Exe_CFLAGS += -std=gnu99 + endif +@@ -6594,6 +6587,7 @@ else # the gcc guys + TEMPLATE_VBoxR3Exe_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)' + endif + ifdef VBOX_WITH_ORIGIN ++ TEMPLATE_VBoxR3Exe_LDFLAGS.freebsd += $(VBOX_GCC_ORIGIN_OPT) + TEMPLATE_VBoxR3Exe_LDFLAGS.linux += $(VBOX_GCC_ORIGIN_OPT) + endif + endif +@@ -6808,7 +6802,7 @@ else + ifdef VBOX_WITH_NOCRT_STATIC + TEMPLATE_VBoxR3StaticBase_DEFS += RT_WITH_NOCRT_WRAPPERS + endif +- ifn1of ($(KBUILD_TARGET), darwin linux solaris) ++ ifn1of ($(KBUILD_TARGET), darwin freebsd linux solaris) + # The gcc guys sans darwin, linux and solaris (don't depend on statically compiled system libs there) + TEMPLATE_VBoxR3StaticBase_CFLAGS = $(TEMPLATE_VBoxR3Exe_CFLAGS) -static + TEMPLATE_VBoxR3StaticBase_CXXFLAGS = $(TEMPLATE_VBoxR3Exe_CXXFLAGS) -static +@@ -6876,7 +6870,7 @@ else + $(SDK_VBoxZlib_LIBS) \ + $(SDK_VBoxLibLzma_LIBS) + if1of ($(KBUILD_TARGET), darwin freebsd) +- TEMPLATE_VBoxR3Static_LIBS += iconv ++ TEMPLATE_VBoxR3Static_LIBS += + else ifeq ($(KBUILD_TARGET),solaris) + TEMPLATE_VBoxR3Static_LIBS += kstat + endif +@@ -7048,6 +7042,7 @@ else ifn1of ($(KBUILD_TARGET), os2) + else ifn1of ($(KBUILD_TARGET), os2) + ifneq ($(KBUILD_TYPE),asan) # Keep RPATH in asan builds so we can find libasan.so.X and libubsan.so.Y. + TEMPLATE_VBoxR3HardenedExe_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3Exe_LDFLAGS)) ++ TEMPLATE_VBoxR3HardenedExe_LDFLAGS.freebsd = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3Exe_LDFLAGS.freebsd)) + TEMPLATE_VBoxR3HardenedExe_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3Exe_LDFLAGS.linux)) + endif + endif +@@ -7079,6 +7074,7 @@ ifn1of ($(KBUILD_TARGET), win os2) + $(if-expr !defined(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT),-IntegrityCheck,) + ifn1of ($(KBUILD_TARGET), win os2) + TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3TstDll_LDFLAGS)) ++ TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS.freebsd = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3TstDll_LDFLAGS.freebsd)) + TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3TstDll_LDFLAGS.linux)) + endif + +@@ -7102,6 +7098,7 @@ ifndef VBOX_WITH_HARDENING + TEMPLATE_VBoxR3SetUidToRoot_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)' + endif + ifdef VBOX_WITH_ORIGIN ++ TEMPLATE_VBoxR3SetUidToRoot_LDFLAGS.freebsd += $(VBOX_GCC_ORIGIN_OPT) + TEMPLATE_VBoxR3SetUidToRoot_LDFLAGS.linux += $(VBOX_GCC_ORIGIN_OPT) + endif + endif +@@ -7454,7 +7451,7 @@ else # the GCC guys: + endif + TEMPLATE_VBoxMainExe_CXXFLAGS = -g $(VBOX_GCC_pipe) \ + $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_Wno-multistatement-macros) $(VBOX_GCC_Wno-class-memaccess) -Wshadow \ +- -fshort-wchar -fpermissive -fexceptions -frtti $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing \ ++ -fshort-wchar -fexceptions -frtti $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing \ + $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_std) $(VBOX_GCC_IPRT_FMT_CHECK) \ + $(VBOX_GCC_SANITIZER_FLAGS) + if !defined("VBOX_GCC_Wno-delete-non-virtual-dtor") && defined("VBOX_GCC_Wno-non-virtual-dtor") +@@ -7518,10 +7515,19 @@ else # the GCC guys: + else ifeq ($(KBUILD_TARGET),haiku) + TEMPLATE_VBoxMainExe_TOOL = GXX3 + TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME) network stdc++ supc++ +- else if1of ($(KBUILD_TARGET), freebsd openbsd) ++ else ifeq ($(KBUILD_TARGET), freebsd) + TEMPLATE_VBoxMainExe_TOOL = GXX3 + TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME) ++ TEMPLATE_VBoxMainExe_LDFLAGS = -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed) ++ TEMPLATE_VBoxMainExe_LDFLAGS.freebsd.x86 = -Wl,-z,notext + TEMPLATE_VBoxMainExe_INCS += \ ++ /usr/local/include ++ TEMPLATE_VBoxMainExe_LIBPATH += \ ++ /usr/local/lib ++ else ifeq ($(KBUILD_TARGET), openbsd) ++ TEMPLATE_VBoxMainExe_TOOL = GXX3 ++ TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME) ++ TEMPLATE_VBoxMainExe_INCS += \ + /usr/include \ + /usr/X11R6/include \ + /usr/local/include +@@ -7553,6 +7559,7 @@ else # the GCC guys: + TEMPLATE_VBoxMainExe_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)' + endif + ifdef VBOX_WITH_ORIGIN ++ TEMPLATE_VBoxMainExe_LDFLAGS.freebsd += $(VBOX_GCC_ORIGIN_OPT) + TEMPLATE_VBoxMainExe_LDFLAGS.linux += $(VBOX_GCC_ORIGIN_OPT) + endif + +@@ -8181,14 +8188,13 @@ ifdef VBOX_WITH_QTGUI + TEMPLATE_VBoxQtGuiExe_LIBPATH += \ + $(VBOX_LIBPATH_X11) + ifeq ($(KBUILD_TARGET),freebsd) ++ TEMPLATE_VBoxQtGuiExe_LDFLAGS += -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed) ++ TEMPLATE_VBoxQtGuiExe_LDFLAGS.freebsd.x86 = -Wl,-z,notext + TEMPLATE_VBoxQtGuiExe_INCS += \ +- /usr/include \ +- /usr/X11R6/include \ + /usr/local/include + TEMPLATE_VBoxQtGuiExe_LIBPATH += \ +- /usr/lib \ +- /usr/X11R6/lib \ + /usr/local/lib ++ TEMPLATE_VBoxQtGuiExe_LIBS += /usr/local/lib/qt6/libQt6PrintSupport.so + endif + ifeq ($(KBUILD_TARGET),solaris) + TEMPLATE_VBoxQtGuiExe_LDFLAGS.solaris = -Wl,-z,ignore # Same as VBOX_LD_as_needed. +@@ -8460,7 +8466,7 @@ else + TEMPLATE_VBoxBldProg_LIBS = pthread m rt dl + else ifeq ($(KBUILD_HOST),os2) + TEMPLATE_VBoxBldProg_TOOL = GXX3OMF +- TEMPLATE_VBoxBldProg_LIBS = socket iconv ++ TEMPLATE_VBoxBldProg_LIBS = socket + else ifeq ($(KBUILD_HOST),darwin) + TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL) + if "$(VBOX_DEF_MACOSX_VERSION_MIN)" == "10.7" || "$(VBOX_DARWIN_HOST_VERSION_MAJOR)" == "7" +@@ -8500,13 +8506,20 @@ else + TEMPLATE_VBoxBldProg_LIBS = + else ifeq ($(KBUILD_HOST),haiku) + TEMPLATE_VBoxBldProg_TOOL = GXX3 +- TEMPLATE_VBoxBldProg_LIBS = network iconv ++ TEMPLATE_VBoxBldProg_LIBS = network + TEMPLATE_VBoxBldProg_LIBPATH += \ + /boot/common/lib +- else if1of ($(KBUILD_HOST), freebsd openbsd) ++ else ifeq ($(KBUILD_HOST), freebsd) + TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL) + TEMPLATE_VBoxBldProg_LIBS = pthread + TEMPLATE_VBoxBldProg_INCS += \ ++ /usr/local/include ++ TEMPLATE_VBoxBldProg_LIBPATH += \ ++ /usr/local/lib ++ else ifeq ($(KBUILD_HOST), openbsd) ++ TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL) ++ TEMPLATE_VBoxBldProg_LIBS = pthread ++ TEMPLATE_VBoxBldProg_INCS += \ + /usr/include \ + /usr/X11R6/include \ + /usr/local/include +@@ -8553,11 +8566,11 @@ TEMPLATE_VBoxAdvBldProg_LIBS.darwin = \ + $(TEMPLATE_VBoxBldProg_LIBS) + TEMPLATE_VBoxAdvBldProg_LIBS.darwin = \ + $(TEMPLATE_VBoxAdvBldProg_LIBS) \ +- iconv \ ++ \ + $(TEMPLATE_VBoxBldProg_LIBS.darwin) + TEMPLATE_VBoxAdvBldProg_LIBS.freebsd = \ + $(TEMPLATE_VBoxAdvBldProg_LIBS) \ +- iconv \ ++ \ + rt \ + $(TEMPLATE_VBoxBldProg_LIBS.freebsd) + TEMPLATE_VBoxAdvBldProg_LIBS.linux = \ +@@ -8648,6 +8661,7 @@ else # the gcc guys + # Do not inherit sanitizer flags from VBoxR3Exe in guest executables. Deal with them separately. + TEMPLATE_VBoxGuestR3ExeBase_CXXFLAGS.debug = $(NO_SUCH_VARIABLE) + TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.debug = $(NO_SUCH_VARIABLE) ++ TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.freebsd = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LDFLAGS.freebsd)) + TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LDFLAGS.linux)) + TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.debug = $(NO_SUCH_VARIABLE) + TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LDFLAGS)) +@@ -8671,7 +8685,7 @@ else if1of ($(KBUILD_TARGET), darwin freebsd openbsd) + ifeq ($(KBUILD_TARGET),linux) # As few libs as possible on linux. + TEMPLATE_VBoxGuestR3ExeBase_LIBS = pthread rt m dl + else if1of ($(KBUILD_TARGET), darwin freebsd openbsd) +- TEMPLATE_VBoxGuestR3ExeBase_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LIBS) iconv ++ TEMPLATE_VBoxGuestR3ExeBase_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LIBS) + else ifeq ($(KBUILD_TARGET),solaris) + TEMPLATE_VBoxGuestR3ExeBase_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LIBS) nsl + endif +@@ -8684,6 +8698,7 @@ TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.linux = $(TEMP + $(VBOX_GCC_fno-stack-protector) + TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.linux = $(TEMPLATE_VBoxGuestR3ExeBase_CXXFLAGS.linux) + # The GNU_HASH ELF tag is not supported by older systems. ++TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.freebsd += $(VBOX_LD_hash_style_sysv) + TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.linux += $(VBOX_LD_hash_style_sysv) + + +@@ -8929,6 +8944,7 @@ TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TARGET + TEMPLATE_VBoxGuestR3XFree86Mod_CXXFLAGS.linux = $(VBOX_GCC_fno-stack-protector) # Remove symvers.h + TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE) + # The GNU_HASH ELF tag is not supported by older glibc dynamic linkers. ++TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.freebsd = $(subst -Wl$(COMMA),,$(VBOX_LD_hash_style_sysv)) + TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.linux = $(subst -Wl$(COMMA),,$(VBOX_LD_hash_style_sysv)) + TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TYPE) = $(NO_SUCH_VARIABLE) + TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS := -r +@@ -8970,7 +8986,7 @@ TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TARGET) = + TEMPLATE_VBoxGuestR3XOrgMod_LIBS = $(VBOX_LIB_VBGL_R3_XORG) + TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TYPE) = $(NO_SUCH_VARIABLE) + TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE) +-TEMPLATE_VBoxGuestR3XOrgMod_LIBS.freebsd += iconv ++TEMPLATE_VBoxGuestR3XOrgMod_LIBS.freebsd += + + + # diff --git a/emulators/virtualbox-ose-71/files/patch-configure b/emulators/virtualbox-ose-71/files/patch-configure new file mode 100644 index 000000000000..3645d1236ea8 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-configure @@ -0,0 +1,138 @@ +--- configure.orig 2025-04-14 17:41:37 UTC ++++ configure +@@ -158,10 +158,14 @@ if [ "$OS" = "freebsd" ]; then + if [ "$OS" = "freebsd" ]; then + INCCURL="-I/usr/local/include" + LIBCURL="-L/usr/local/lib -lcurl" ++ INCALSA="-I/usr/local/include" ++ LIBALSA="-L/usr/local/lib" + INCPULSE="-I/usr/local/include" + LIBPULSE="-L/usr/local/lib" + INCPNG="-I/usr/local/include" + LIBPNG="-L/usr/local/lib -lpng" ++ INCVNCSERVER="-I/usr/local/include" ++ LIBVNCSERVER="-L/usr/local/lib" + else + INCCURL="" + LIBCURL="-lcurl" +@@ -1211,6 +1215,9 @@ extern "C" int main(int argc, char** argv) + printf("found version %d.%d.%d", + SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL); + #if SDL_VERSION_ATLEAST(1,2,7) ++#if !defined(SDL_VIDEO_DRIVER_X11) ++#error SDL must be compiled with X11 support ++#endif + printf(", OK.\n"); + return 0; + #else +@@ -1295,7 +1302,7 @@ EOF + #endif + } + EOF +- if test_compile "-lasound" asound asound; then ++ if test_compile "$INCALSA $LIBALSA -lasound" asound asound; then + test_execute + fi + } +@@ -1599,6 +1606,7 @@ EOF + SDKQT6=$PATH_SDK_QT6 + fi + FLGQT6="-framework QtCore -std=c++17 -Wl,-rpath,`L_to_PATH "$LIBQT6"`" ++ FLGQT6="$FLGQT6 -std=c++11" + else + log_failure "Qt6 framework not found (can be disabled using --disable-qt)" + fail +@@ -1875,9 +1883,9 @@ check_libvorbis() + if which_wrapper pkg-config > /dev/null; then + libvorbis_ver=`pkg-config vorbis --modversion 2>> $LOG` + if [ $? -eq 0 ]; then +- FLGVRB=`pkg-config vorbis --cflags` ++ FLGVRB=`pkg-config vorbis vorbisenc --cflags` + INCVRB=`strip_I "$FLGVRB"` +- LIBVRB=`pkg-config vorbis --libs` ++ LIBVRB=`pkg-config vorbis vorbisenc --libs` + fi + cat > $ODIR.tmp_src.cc << EOF + #include <cstdio> +@@ -1927,7 +1935,7 @@ EOF + return 0; + } + EOF +- [ -n "$INCOGG" ] && I_INCVRB=`prefix_I "$INCOGG"` ++ [ -n "$INCOGG" ] && I_INCOGG=`prefix_I "$INCOGG"` + if test_compile "$LIBOGG $I_INCOGG" ogg ogg nofatal; then + if test_execute; then + cnf_append "SDK_VBoxLibOgg_INCS" "$INCOGG" +@@ -2194,8 +2202,8 @@ EOF + echo "compiling the following source file:" >> $LOG + cat $ODIR.tmp_src.cc >> $LOG + echo "using the following command line:" >> $LOG +- echo "$CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so" >> $LOG +- $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so >> $LOG 2>&1 ++ echo "$CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so -pthread" >> $LOG ++ $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so -pthread >> $LOG 2>&1 + if [ $? -eq 0 ]; then + found=1 + break +@@ -2311,7 +2319,7 @@ check_gsoap() + else + cnf_append "VBOX_GSOAP_CXX_SOURCES" "" + fi +- cnf_append "VBOX_GSOAP_CXX_LIBS" "`strip_l "$GSOAP_CXX_LIBS"`" ++ cnf_append "VBOX_GSOAP_CXX_LIBS" "`strip_l "$GSOAP_CXX_LIBS"` z" + gsoap_version=`pkg-config gsoapssl++ --modversion` + log_success "found version $gsoap_version" + return +@@ -2687,7 +2695,7 @@ for option in "$@"; do + --with-openssl-dir=*) + OPENSSLDIR=`echo $option | cut -d'=' -f2` + INCCRYPTO="-I${OPENSSLDIR}/include" +- LIBCRYPTO="${OPENSSLDIR}/lib/libssl.a ${OPENSSLDIR}/lib/libcrypto.a" ++ LIBCRYPTO="-L${OPENSSLDIR}/lib -lssl -lcrypto" + # On Darwin (at least for macports) static OpenSSL also needs zlib. + [ "$OS" = "darwin" ] && LIBCRYPTO="$LIBCRYPTO ${OPENSSLDIR}/lib/libz.a" + # On Linux static OpenSSL typically needs a few additional libraries. +@@ -3054,12 +3062,22 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then + [ $WITH_JAVA -eq 1 ] && check_java + + # PulseAudio +- if [ $WITH_PULSE -eq 1 ]; then +- check_pulse +- elif [ $WITH_PULSE -eq 0 ]; then # Force disabling PulseAudio. +- cnf_append "VBOX_WITH_AUDIO_PULSE" "" +- elif [ $WITH_PULSE -eq 2 ]; then # --enable-pulse was passed, force PulseAudio. +- cnf_append "VBOX_WITH_AUDIO_PULSE" "1" ++ if [ "$OS" = "linux" -o "$OS" = "freebsd" -o "$OS" = "netbsd" ]; then ++ if [ $WITH_ALSA -eq 1 ]; then ++ check_alsa ++ else ++ cnf_append "VBOX_WITH_AUDIO_ALSA" "" ++ fi ++ if [ $WITH_PULSE -eq 1 ]; then ++ check_pulse ++ elif [ $WITH_PULSE -eq 0 ]; then # Force disabling PulseAudio. ++ cnf_append "VBOX_WITH_AUDIO_PULSE" "" ++ elif [ $WITH_PULSE -eq 2 ]; then # --enable-pulse was passed, force PulseAudio. ++ cnf_append "VBOX_WITH_AUDIO_PULSE" "1" ++ fi ++ if [ $WITH_DBUS -eq 0 ]; then ++ cnf_append "VBOX_WITH_DBUS" "" ++ fi + fi + fi + +@@ -3075,14 +3093,6 @@ if [ "$OS" = "linux" ]; then + cnf_append "VBOX_WITHOUT_LINUX_TEST_BUILDS" "1" + fi + if [ $ONLY_ADDITIONS -eq 0 ]; then +- if [ $WITH_ALSA -eq 1 ]; then +- check_alsa +- else +- cnf_append "VBOX_WITH_AUDIO_ALSA" "" +- fi +- if [ $WITH_DBUS -eq 0 ]; then +- cnf_append "VBOX_WITH_DBUS" "" +- fi + if [ $WITH_DEVMAPPER -eq 1 ]; then + check_libdevmapper + else diff --git a/emulators/virtualbox-ose-71/files/patch-doc_manual_en__US_dita_UserManual.ditamap b/emulators/virtualbox-ose-71/files/patch-doc_manual_en__US_dita_UserManual.ditamap new file mode 100644 index 000000000000..93550ddbf766 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-doc_manual_en__US_dita_UserManual.ditamap @@ -0,0 +1,11 @@ +--- doc/manual/en_US/dita/UserManual.ditamap.orig 2025-04-14 17:41:38 UTC ++++ doc/manual/en_US/dita/UserManual.ditamap +@@ -613,7 +613,7 @@ + <topicref href="topics/security-model.dita"/> + <topicref href="topics/secure-config-vms.dita"> + <topicref href="topics/security-networking.dita"/> +- <topicref href="topics/security-of-remote-vms.dita"/> ++<!-- <topicref href="topics/security-of-remote-vms.dita"/> --> + <topicref href="topics/security-vrdp-auth.dita"/> + <topicref href="topics/security_clipboard.dita"/> + <topicref href="topics/security-shared-folders.dita"/> diff --git a/emulators/virtualbox-ose-71/files/patch-include-iprt-x86.h b/emulators/virtualbox-ose-71/files/patch-include-iprt-x86.h new file mode 100644 index 000000000000..ca73a306df88 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-include-iprt-x86.h @@ -0,0 +1,19 @@ +--- include/iprt/x86.h.orig 2021-04-20 04:22:23 UTC ++++ include/iprt/x86.h +@@ -38,6 +38,16 @@ + # pragma D depends_on library vbox-types.d + #endif + ++/* Workaround for FreeBSD machine/specialreg.h defining MSRs */ ++#ifdef RT_OS_FREEBSD ++# undef MSR_P5_MC_ADDR ++# undef MSR_P5_MC_TYPE ++# undef MSR_IA32_PLATFORM_ID ++# undef MSR_BBL_CR_CTL3 ++# undef MSR_IA32_MISC_ENABLE ++# undef MSR_IA32_FEATURE_CONTROL ++#endif ++ + /** Workaround for Solaris sys/regset.h defining CS, DS and sys/controlregs.h + * defining MSR_IA32_FLUSH_CMD */ + #ifdef RT_OS_SOLARIS diff --git a/emulators/virtualbox-ose-71/files/patch-include_VBox_com_array.h b/emulators/virtualbox-ose-71/files/patch-include_VBox_com_array.h new file mode 100644 index 000000000000..9d65058e6b50 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-include_VBox_com_array.h @@ -0,0 +1,36 @@ +--- include/VBox/com/array.h.orig 2021-01-07 15:31:25 UTC ++++ include/VBox/com/array.h +@@ -171,7 +171,7 @@ + + #include "VBox/com/defs.h" + +-#if RT_GNUC_PREREQ(4, 6) || (defined(_MSC_VER) && (_MSC_VER >= 1600)) ++#if RT_GNUC_PREREQ(4, 6) || (defined(_MSC_VER) && (_MSC_VER >= 1600)) || defined(_LIBCPP_VERSION) + /** @def VBOX_WITH_TYPE_TRAITS + * Type traits are a C++ 11 feature, so not available everywhere (yet). + * Only GCC 4.6 or newer and MSVC++ 16.0 (Visual Studio 2010) or newer. +@@ -960,12 +960,12 @@ class SafeArray : public Traits (public) + { + /** @todo r=klaus should do this as a AssertCompile, but cannot find a way which works. */ + Assert(sizeof(T) <= sizeof(Zeroes)); +- AssertReturn(m.arr != NULL, *(T *)&Zeroes[0]); +- AssertReturn(aIdx < size(), *(T *)&Zeroes[0]); ++ AssertReturn(m.arr != NULL, *((T *)1)); ++ AssertReturn(aIdx < size(), *((T *)1)); + #ifdef VBOX_WITH_XPCOM + return m.arr[aIdx]; + #else +- AssertReturn(m.raw != NULL, *(T *)&Zeroes[0]); ++ AssertReturn(m.raw != NULL, *((T *)1)); + return m.raw[aIdx]; + #endif + } +@@ -980,7 +980,7 @@ class SafeArray : public Traits (public) + #ifdef VBOX_WITH_XPCOM + return m.arr[aIdx]; + #else +- AssertReturn(m.raw != NULL, *(const T *)&Zeroes[0]); ++ AssertReturn(m.raw != NULL, *((T *)1)); + return m.raw[aIdx]; + #endif + } diff --git a/emulators/virtualbox-ose-71/files/patch-include_VBox_sup.h b/emulators/virtualbox-ose-71/files/patch-include_VBox_sup.h new file mode 100644 index 000000000000..9cf3fabe63f1 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-include_VBox_sup.h @@ -0,0 +1,11 @@ +--- include/VBox/sup.h.orig 2024-12-27 04:08:45.986426000 +0100 ++++ include/VBox/sup.h 2024-12-27 04:09:08.925387000 +0100 +@@ -2248,7 +2248,7 @@ + + SUPR0DECL(void) SUPR0BadContext(PSUPDRVSESSION pSession, const char *pszFile, uint32_t uLine, const char *pszExpr); + +-#if defined(RT_OS_LINUX) || defined(RT_OS_SOLARIS) || defined(RT_OS_FREEBSD) ++#if defined(RT_OS_LINUX) || defined(RT_OS_SOLARIS) + /** + * Translates a physical address to a virtual mapping (valid up to end of page). + * @returns VBox status code. diff --git a/emulators/virtualbox-ose-71/files/patch-include_iprt_string.h b/emulators/virtualbox-ose-71/files/patch-include_iprt_string.h new file mode 100644 index 000000000000..95119057d1ca --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-include_iprt_string.h @@ -0,0 +1,14 @@ +--- include/iprt/string.h.orig 2021-01-07 15:31:33 UTC ++++ include/iprt/string.h +@@ -46,6 +46,11 @@ + #elif defined(RT_OS_FREEBSD) && defined(_KERNEL) + RT_C_DECLS_BEGIN + # include <sys/libkern.h> ++ /* ++ * Kludge for the FreeBSD kernel: ++ * sys/libkern.h includes sys/param.h via sys/systm.h since r335879. ++ */ ++# undef PVM + RT_C_DECLS_END + + #elif defined(RT_OS_NETBSD) && defined(_KERNEL) diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c new file mode 100644 index 000000000000..e790f372f95f --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c @@ -0,0 +1,284 @@ +--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2022-10-06 19:03:06.000000000 +0200 ++++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c 2024-12-26 15:28:38.066230000 +0100 +@@ -55,6 +55,7 @@ + #include <sys/uio.h> + #include <sys/bus.h> + #include <sys/poll.h> ++#include <sys/proc.h> + #include <sys/selinfo.h> + #include <sys/queue.h> + #include <sys/lock.h> +@@ -71,6 +72,7 @@ + #include <VBox/version.h> + #include <VBox/log.h> + #include <iprt/assert.h> ++#include <iprt/err.h> + #include <iprt/initterm.h> + #include <iprt/process.h> + #include <iprt/string.h> +@@ -112,8 +114,6 @@ + struct resource *pIrqRes; + /** Pointer to the IRQ handler. */ + void *pfnIrqHandler; +- /** VMMDev version */ +- uint32_t u32Version; + }; + + +@@ -123,8 +123,7 @@ + /* + * Character device file handlers. + */ +-static d_fdopen_t vgdrvFreeBSDOpen; +-static d_close_t vgdrvFreeBSDClose; ++static d_open_t vgdrvFreeBSDOpen; + static d_ioctl_t vgdrvFreeBSDIOCtl; + static int vgdrvFreeBSDIOCtlSlow(PVBOXGUESTSESSION pSession, u_long ulCmd, caddr_t pvData, struct thread *pTd); + static d_write_t vgdrvFreeBSDWrite; +@@ -155,8 +154,7 @@ + { + .d_version = D_VERSION, + .d_flags = D_TRACKCLOSE | D_NEEDMINOR, +- .d_fdopen = vgdrvFreeBSDOpen, +- .d_close = vgdrvFreeBSDClose, ++ .d_open = vgdrvFreeBSDOpen, + .d_ioctl = vgdrvFreeBSDIOCtl, + .d_read = vgdrvFreeBSDRead, + .d_write = vgdrvFreeBSDWrite, +@@ -164,81 +162,28 @@ + .d_name = "vboxguest" + }; + ++/** Device structure. */ ++static struct cdev *g_pDev; ++ + /** Device extention & session data association structure. */ + static VBOXGUESTDEVEXT g_DevExt; + +-/** List of cloned device. Managed by the kernel. */ +-static struct clonedevs *g_pvgdrvFreeBSDClones; +-/** The dev_clone event handler tag. */ +-static eventhandler_tag g_vgdrvFreeBSDEHTag; + /** Reference counter */ + static volatile uint32_t cUsers; + /** selinfo structure used for polling. */ + static struct selinfo g_SelInfo; + +-/** +- * DEVFS event handler. +- */ +-static void vgdrvFreeBSDClone(void *pvArg, struct ucred *pCred, char *pszName, int cchName, struct cdev **ppDev) ++static void vgdrvFreeBSDDtr(void *pSession) + { +- int iUnit; +- int rc; +- +- Log(("vgdrvFreeBSDClone: pszName=%s ppDev=%p\n", pszName, ppDev)); +- +- /* +- * One device node per user, si_drv1 points to the session. +- * /dev/vboxguest<N> where N = {0...255}. +- */ +- if (!ppDev) +- return; +- if (strcmp(pszName, "vboxguest") == 0) +- iUnit = -1; +- else if (dev_stdclone(pszName, NULL, "vboxguest", &iUnit) != 1) +- return; +- if (iUnit >= 256) +- { +- Log(("vgdrvFreeBSDClone: iUnit=%d >= 256 - rejected\n", iUnit)); +- return; +- } +- +- Log(("vgdrvFreeBSDClone: pszName=%s iUnit=%d\n", pszName, iUnit)); +- +- rc = clone_create(&g_pvgdrvFreeBSDClones, &g_vgdrvFreeBSDChrDevSW, &iUnit, ppDev, 0); +- Log(("vgdrvFreeBSDClone: clone_create -> %d; iUnit=%d\n", rc, iUnit)); +- if (rc) +- { +- *ppDev = make_dev(&g_vgdrvFreeBSDChrDevSW, +- iUnit, +- UID_ROOT, +- GID_WHEEL, +- 0664, +- "vboxguest%d", iUnit); +- if (*ppDev) +- { +- dev_ref(*ppDev); +- (*ppDev)->si_flags |= SI_CHEAPCLONE; +- Log(("vgdrvFreeBSDClone: Created *ppDev=%p iUnit=%d si_drv1=%p si_drv2=%p\n", +- *ppDev, iUnit, (*ppDev)->si_drv1, (*ppDev)->si_drv2)); +- (*ppDev)->si_drv1 = (*ppDev)->si_drv2 = NULL; +- } +- else +- Log(("vgdrvFreeBSDClone: make_dev iUnit=%d failed\n", iUnit)); +- } +- else +- Log(("vgdrvFreeBSDClone: Existing *ppDev=%p iUnit=%d si_drv1=%p si_drv2=%p\n", +- *ppDev, iUnit, (*ppDev)->si_drv1, (*ppDev)->si_drv2)); ++ VGDrvCommonCloseSession(&g_DevExt, pSession); ++ ASMAtomicDecU32(&cUsers); + } + + /** + * File open handler + * + */ +-#if __FreeBSD_version >= 700000 +-static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOpen, struct thread *pTd, struct file *pFd) +-#else +-static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOpen, struct thread *pTd) +-#endif ++static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOpen, int DevType, struct thread *pTd) + { + int rc; + PVBOXGUESTSESSION pSession; +@@ -250,12 +195,6 @@ + LogFlow(("vgdrvFreeBSDOpen:\n")); + + /* +- * Try grab it (we don't grab the giant, remember). +- */ +- if (!ASMAtomicCmpXchgPtr(&pDev->si_drv1, (void *)0x42, NULL)) +- return EBUSY; +- +- /* + * Create a new session. + */ + fRequestor = VMMDEV_REQUESTOR_USERMODE | VMMDEV_REQUESTOR_TRUST_NOT_GIVEN; +@@ -272,47 +211,20 @@ + rc = VGDrvCommonCreateUserSession(&g_DevExt, fRequestor, &pSession); + if (RT_SUCCESS(rc)) + { +- if (ASMAtomicCmpXchgPtr(&pDev->si_drv1, pSession, (void *)0x42)) +- { +- Log(("vgdrvFreeBSDOpen: success - g_DevExt=%p pSession=%p rc=%d pid=%d\n", &g_DevExt, pSession, rc, (int)RTProcSelf())); ++ Log(("vgdrvFreeBSDOpen: success - g_DevExt=%p pSession=%p rc=%d pid=%d\n", &g_DevExt, pSession, rc, (int)RTProcSelf())); ++ rc = devfs_set_cdevpriv(pSession, vgdrvFreeBSDDtr); ++ if (rc) ++ VGDrvCommonCloseSession(&g_DevExt, pSession); ++ else + ASMAtomicIncU32(&cUsers); +- return 0; +- } +- +- VGDrvCommonCloseSession(&g_DevExt, pSession); ++ return rc; + } + + LogRel(("vgdrvFreeBSDOpen: failed. rc=%d\n", rc)); + return RTErrConvertToErrno(rc); + } + +-/** +- * File close handler +- * +- */ +-static int vgdrvFreeBSDClose(struct cdev *pDev, int fFile, int DevType, struct thread *pTd) +-{ +- PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1; +- Log(("vgdrvFreeBSDClose: fFile=%#x pSession=%p\n", fFile, pSession)); + +- /* +- * Close the session if it's still hanging on to the device... +- */ +- if (RT_VALID_PTR(pSession)) +- { +- VGDrvCommonCloseSession(&g_DevExt, pSession); +- if (!ASMAtomicCmpXchgPtr(&pDev->si_drv1, NULL, pSession)) +- Log(("vgdrvFreeBSDClose: si_drv1=%p expected %p!\n", pDev->si_drv1, pSession)); +- ASMAtomicDecU32(&cUsers); +- /* Don't use destroy_dev here because it may sleep resulting in a hanging user process. */ +- destroy_dev_sched(pDev); +- } +- else +- Log(("vgdrvFreeBSDClose: si_drv1=%p!\n", pSession)); +- return 0; +-} +- +- + /** + * I/O control request. + * +@@ -326,8 +238,12 @@ + static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long ulCmd, caddr_t pvData, int fFile, struct thread *pTd) + { + PVBOXGUESTSESSION pSession; +- devfs_get_cdevpriv((void **)&pSession); ++ int rc; + ++ rc = devfs_get_cdevpriv((void **)&pSession); ++ if (rc) ++ return rc; ++ + /* + * Deal with the fast ioctl path first. + */ +@@ -526,8 +442,10 @@ + + LogFlow(("vgdrvFreeBSDPoll: fEvents=%d\n", fEvents)); + +- PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1; +- if (RT_UNLIKELY(!RT_VALID_PTR(pSession))) { ++ ++ rc = devfs_get_cdevpriv((void **)&pSession); ++ if (rc) ++ { + Log(("vgdrvFreeBSDPoll: no state data for %s\n", devtoname(pDev))); + return (fEvents & (POLLHUP|POLLIN|POLLRDNORM|POLLOUT|POLLWRNORM)); + } +@@ -568,11 +486,8 @@ + /* + * Reverse what we did in vgdrvFreeBSDAttach. + */ +- if (g_vgdrvFreeBSDEHTag != NULL) +- EVENTHANDLER_DEREGISTER(dev_clone, g_vgdrvFreeBSDEHTag); ++ destroy_dev(g_pDev); + +- clone_cleanup(&g_pvgdrvFreeBSDClones); +- + vgdrvFreeBSDRemoveIRQ(pDevice, pState); + + if (pState->pVMMDevMemRes) +@@ -737,18 +652,21 @@ + VGDrvCommonProcessOptionsFromHost(&g_DevExt); + + /* +- * Configure device cloning. ++ * Configure device. + */ +- clone_setup(&g_pvgdrvFreeBSDClones); +- g_vgdrvFreeBSDEHTag = EVENTHANDLER_REGISTER(dev_clone, vgdrvFreeBSDClone, 0, 1000); +- if (g_vgdrvFreeBSDEHTag) ++ g_pDev = make_dev(&g_vgdrvFreeBSDChrDevSW, ++ 0, ++ UID_ROOT, ++ GID_WHEEL, ++ 0664, ++ "vboxguest"); ++ if (g_pDev) + { + printf(DEVICE_NAME ": loaded successfully\n"); + return 0; + } + +- printf(DEVICE_NAME ": EVENTHANDLER_REGISTER(dev_clone,,,) failed\n"); +- clone_cleanup(&g_pvgdrvFreeBSDClones); ++ printf(DEVICE_NAME ": make_dev failed\n"); + vgdrvFreeBSDRemoveIRQ(pDevice, pState); + } + else +@@ -792,8 +710,12 @@ + sizeof(struct VBoxGuestDeviceState), + }; + ++#if __FreeBSD_version >= 1400058 ++DRIVER_MODULE(vboxguest, pci, vgdrvFreeBSDDriver, 0, 0); ++#else + static devclass_t vgdrvFreeBSDClass; + + DRIVER_MODULE(vboxguest, pci, vgdrvFreeBSDDriver, vgdrvFreeBSDClass, 0, 0); ++#endif + MODULE_VERSION(vboxguest, 1); + diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile new file mode 100644 index 000000000000..476346a59b13 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile @@ -0,0 +1,27 @@ +--- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2019-04-16 10:09:09 UTC ++++ src/VBox/Additions/common/VBoxGuest/freebsd/Makefile +@@ -25,7 +25,7 @@ + # + KMOD = vboxguest + +-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS ++CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_GUEST -DIN_GUEST_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS + + .if (${MACHINE_ARCH} == "i386") + CFLAGS += -DRT_ARCH_X86 +@@ -80,6 +80,7 @@ SRCS += \ + handletable.c \ + handletablectx.c \ + once.c \ ++ term.c \ + thread.c + + .PATH: ${.CURDIR}/common/string +@@ -147,6 +148,7 @@ SRCS += \ + + .PATH: ${.CURDIR}/r0drv + SRCS += \ ++ alloc-ef-r0drv.c \ + alloc-r0drv.c \ + initterm-r0drv.c \ + memobj-r0drv.c \ diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-files_vboxguest b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-files_vboxguest new file mode 100644 index 000000000000..faecf870532b --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-files_vboxguest @@ -0,0 +1,34 @@ +--- src/VBox/Additions/common/VBoxGuest/freebsd/files_vboxguest.orig 2019-01-25 18:12:28 UTC ++++ src/VBox/Additions/common/VBoxGuest/freebsd/files_vboxguest +@@ -63,6 +63,7 @@ FILES_VBOXGUEST_NOBIN=" \ + ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ + ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ + ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ ++ ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ + ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ + ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \ + ${PATH_ROOT}/include/iprt/crc.h=>include/iprt/crc.h \ +@@ -111,6 +112,7 @@ FILES_VBOXGUEST_NOBIN=" \ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletable.h=>common/misc/handletable.h \ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletablectx.cpp=>common/misc/handletablectx.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/once.cpp=>common/misc/once.c \ ++ ${PATH_ROOT}/src/VBox/Runtime/common/misc/term.cpp=>common/misc/term.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/thread.cpp=>common/misc/thread.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg1Weak.cpp=>common/misc/RTAssertMsg1Weak.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg2.cpp=>common/misc/RTAssertMsg2.c \ +@@ -181,6 +183,7 @@ FILES_VBOXGUEST_NOBIN=" \ + ${PATH_ROOT}/src/VBox/Runtime/generic/errvars-generic.cpp=>generic/errvars-generic.c \ + ${PATH_ROOT}/src/VBox/Runtime/generic/timer-generic.cpp=>generic/timer-generic.c \ + ${PATH_ROOT}/src/VBox/Runtime/generic/mppresent-generic.cpp=>generic/mppresent-generic.c \ ++ ${PATH_ROOT}/src/VBox/Runtime/r0drv/alloc-ef-r0drv.cpp=>r0drv/alloc-ef-r0drv.c \ + ${PATH_ROOT}/src/VBox/Runtime/r0drv/alloc-r0drv.cpp=>r0drv/alloc-r0drv.c \ + ${PATH_ROOT}/src/VBox/Runtime/r0drv/alloc-r0drv.h=>r0drv/alloc-r0drv.h \ + ${PATH_ROOT}/src/VBox/Runtime/r0drv/initterm-r0drv.cpp=>r0drv/initterm-r0drv.c \ +@@ -207,6 +210,7 @@ FILES_VBOXGUEST_NOBIN=" \ + ${PATH_ROOT}/src/VBox/Runtime/r0drv/freebsd/sleepqueue-r0drv-freebsd.h=>r0drv/freebsd/sleepqueue-r0drv-freebsd.h \ + ${PATH_ROOT}/src/VBox/Runtime/r0drv/generic/semspinmutex-r0drv-generic.c=>r0drv/generic/semspinmutex-r0drv-generic.c \ + ${PATH_ROOT}/src/VBox/Runtime/r0drv/generic/mpnotification-r0drv-generic.cpp=>r0drv/generic/mpnotification-r0drv-generic.c \ ++ ${PATH_ROOT}/src/VBox/Runtime/r0drv/generic/threadctxhooks-r0drv-generic.cpp=>r0drv/generic/threadctxhooks-r0drv-generic.c \ + ${PATH_ROOT}/src/VBox/Runtime/r0drv/generic/RTMpIsCpuWorkPending-r0drv-generic.cpp=>r0drv/generic/RTMpIsCpuWorkPending-r0drv-generic.c \ + ${PATH_ROOT}/src/VBox/Runtime/r0drv/memobj-r0drv.cpp=>r0drv/memobj-r0drv.c \ + ${PATH_ROOT}/src/VBox/Runtime/VBox/log-vbox.cpp=>VBox/log-vbox.c \ diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient new file mode 100644 index 000000000000..56225943a922 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient @@ -0,0 +1,25 @@ +--- src/VBox/Additions/x11/Installer/98vboxadd-xclient.orig 2025-01-21 19:49:30.000000000 +0700 ++++ src/VBox/Additions/x11/Installer/98vboxadd-xclient 2025-01-23 00:43:43.597269000 +0700 +@@ -42,15 +42,15 @@ + # not use "exit" here as this script is "source"d, not executed. + + # Check wheather X11 or Wayland version of VBoxClient should be started. +- vbox_wl_check=$(/usr/bin/vboxwl --check 2> /dev/null) ++ vbox_wl_check=$(/usr/local/bin/vboxwl --check 2> /dev/null) + if test "$vbox_wl_check" = "WL"; then +- /usr/bin/VBoxClient --wayland ++ /usr/local/bin/VBoxClient --wayland + else +- /usr/bin/VBoxClient --clipboard +- /usr/bin/VBoxClient --seamless +- /usr/bin/VBoxClient --draganddrop ++ /usr/local/bin/VBoxClient --clipboard ++ /usr/local/bin/VBoxClient --seamless ++ /usr/local/bin/VBoxClient --draganddrop + fi + +- /usr/bin/VBoxClient --checkhostversion +- /usr/bin/VBoxClient --vmsvga-session # In case VMSVGA emulation is enabled ++ /usr/local/bin/VBoxClient --checkhostversion ++ /usr/local/bin/VBoxClient --vmsvga-session # In case VMSVGA emulation is enabled + fi diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-vboxclient.desktop b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-vboxclient.desktop new file mode 100644 index 000000000000..a76eb7616038 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-vboxclient.desktop @@ -0,0 +1,10 @@ +--- src/VBox/Additions/x11/Installer/vboxclient.desktop.orig 2020-05-13 19:37:09 UTC ++++ src/VBox/Additions/x11/Installer/vboxclient.desktop +@@ -8,6 +8,6 @@ Comment[C]=VirtualBox User Session Services + Comment=VirtualBox User Session Services + Comment[it]=Servizi di sessione utente di VirtualBox + Comment[pl]=Usługi sesji użytkownika VirtualBox +-Exec=/usr/bin/VBoxClient-all ++Exec=/usr/local/bin/VBoxClient-all + X-GNOME-Autostart-enabled=true + X-KDE-autostart-after=panel diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-DrvNATlibslirp.cpp b/emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-DrvNATlibslirp.cpp new file mode 100644 index 000000000000..11ee43504054 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-DrvNATlibslirp.cpp @@ -0,0 +1,10 @@ +--- src/VBox/Devices/Network/DrvNATlibslirp.cpp.orig 2025-01-25 00:56:57.537046000 +0700 ++++ src/VBox/Devices/Network/DrvNATlibslirp.cpp 2025-01-25 00:58:05.112538000 +0700 +@@ -57,6 +57,7 @@ + + #ifdef RT_OS_FREEBSD + # include <netinet/in.h> ++# include <sys/socket.h> + #endif + + #include <iprt/asm.h> diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-slirp-bsd-sys-mbuf.h b/emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-slirp-bsd-sys-mbuf.h new file mode 100644 index 000000000000..b6ed2d2915db --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-slirp-bsd-sys-mbuf.h @@ -0,0 +1,12 @@ +--- src/VBox/Devices/Network/slirp/bsd/sys/mbuf.h.orig 2020-05-13 19:42:23 UTC ++++ src/VBox/Devices/Network/slirp/bsd/sys/mbuf.h +@@ -245,6 +245,9 @@ struct mbuf { + #define M_FRAG 0x00000800 /* packet is a fragment of a larger packet */ + #define M_FIRSTFRAG 0x00001000 /* packet is first fragment */ + #define M_LASTFRAG 0x00002000 /* packet is last fragment */ ++#ifdef M_SKIP_FIREWALL ++#undef M_SKIP_FIREWALL ++#endif + #define M_SKIP_FIREWALL 0x00004000 /* skip firewall processing */ + #define M_FREELIST 0x00008000 /* mbuf is on the free list */ + #define M_VLANTAG 0x00010000 /* ether_vtag is valid */ diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-HostDrivers-VBoxNetAdp-Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src-VBox-HostDrivers-VBoxNetAdp-Makefile.kmk new file mode 100644 index 000000000000..5b96ab56a61b --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-HostDrivers-VBoxNetAdp-Makefile.kmk @@ -0,0 +1,20 @@ +--- src/VBox/HostDrivers/VBoxNetAdp/Makefile.kmk.orig 2019-05-13 13:33:07 UTC ++++ src/VBox/HostDrivers/VBoxNetAdp/Makefile.kmk +@@ -206,10 +206,14 @@ $$(VBoxNetAdp-src_0_OUTDIR)/Makefile: \ + $$(if $$(eq $$(VBoxNetAdp/freebsd/Makefile_VBOX_HARDENED),$$(VBOX_WITH_HARDENING)),,FORCE) \ + | $$(dir $$@) + $(QUIET)$(RM) -f -- $@ +- ifndef VBOX_WITH_HARDENING +- $(QUIET)$(SED) -e "s;VBOX_WITH_HARDENING;;g" --output $@ $< +- else + $(QUIET)$(CP) -f $< $@ ++ ifndef VBOX_WITH_HARDENING ++ $(QUIET)$(SED) -e "s;-DVBOX_WITH_HARDENING;;g" --output $@.tmp $@ ++ $(QUIET)$(MV) -f $@.tmp $@ ++ endif ++ ifndef VBOX_WITH_NETFLT_VIMAGE ++ $(QUIET)$(SED) -e "s;-DVIMAGE;;g" --output $@.tmp $@ ++ $(QUIET)$(MV) -f $@.tmp $@ + endif + + endif # freebsd diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-HostDrivers-VBoxNetFlt-freebsd-files_vboxnetflt b/emulators/virtualbox-ose-71/files/patch-src-VBox-HostDrivers-VBoxNetFlt-freebsd-files_vboxnetflt new file mode 100644 index 000000000000..dc4e779fb6b0 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-HostDrivers-VBoxNetFlt-freebsd-files_vboxnetflt @@ -0,0 +1,10 @@ +--- src/VBox/HostDrivers/VBoxNetFlt/freebsd/files_vboxnetflt.orig 2022-10-06 19:11:15.000000000 +0200 ++++ src/VBox/HostDrivers/VBoxNetFlt/freebsd/files_vboxnetflt 2024-12-26 15:41:50.870345000 +0100 +@@ -72,6 +72,7 @@ + ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ + ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ + ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \ ++ ${PATH_ROOT}/include/iprt/x86.h=>include/iprt/x86.h \ + ${PATH_ROOT}/include/iprt/x86-helpers.h=>include/iprt/x86-helpers.h \ + ${PATH_ROOT}/include/iprt/nocrt/limits.h=>include/iprt/nocrt/limits.h \ + ${PATH_ROOT}/include/VBox/cdefs.h=>include/VBox/cdefs.h \ diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Installer-Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src-VBox-Installer-Makefile.kmk new file mode 100644 index 000000000000..45546433c627 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Installer-Makefile.kmk @@ -0,0 +1,14 @@ +--- src/VBox/Installer/Makefile.kmk.orig 2020-05-13 19:44:01 UTC ++++ src/VBox/Installer/Makefile.kmk +@@ -41,9 +41,11 @@ ifndef VBOX_ONLY_SDK + if "$(KBUILD_TARGET)" == "win" && "$(KBUILD_HOST)" == "win" + include $(PATH_SUB_CURRENT)/win/Makefile.kmk + endif ++if 0 + if "$(KBUILD_TARGET)" == "freebsd" && "$(KBUILD_HOST)" == "freebsd" + include $(PATH_SUB_CURRENT)/freebsd/Makefile.kmk + endif ++endif + endif + + include $(PATH_SUB_CURRENT)/common/Makefile.kmk diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Installer-freebsd-VBox.sh b/emulators/virtualbox-ose-71/files/patch-src-VBox-Installer-freebsd-VBox.sh new file mode 100644 index 000000000000..b4c177a54d1c --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Installer-freebsd-VBox.sh @@ -0,0 +1,77 @@ +--- src/VBox/Installer/freebsd/VBox.sh.orig 2016-08-27 05:10:34 UTC ++++ src/VBox/Installer/freebsd/VBox.sh +@@ -0,0 +1,74 @@ ++#!/bin/sh ++# ++# Oracle VM VirtualBox startup script, FreeBSD hosts. ++# ++# Copyright (C) 2006-2012 Oracle Corporation ++# ++# This file is part of VirtualBox Open Source Edition (OSE), as ++# available from http://www.virtualbox.org. This file is free software; ++# you can redistribute it and/or modify it under the terms of the GNU ++# General Public License (GPL) as published by the Free Software ++# Foundation, in version 2 as it comes in the "COPYING" file of the ++# VirtualBox OSE distribution. VirtualBox OSE is distributed in the ++# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. ++# ++ ++PATH="/sbin:/bin:/usr/sbin:/usr/bin:%%LOCALBASE%%/sbin:%%LOCALBASE%%/bin" ++CONFIG="%%VBOX_ETC%%/vbox.cfg" ++ ++test -r "${CONFIG}" && ++ . "${CONFIG}" ++test -z "${INSTALL_DIR}" && ++ if test -d %%VBOX_DIR%% && ++ test -f %%VBOX_DIR%%/VBoxRT.so; then ++ INSTALL_DIR=%%VBOX_DIR%% ++ else ++ >&2 echo "Could not find VirtualBox installation. Please reinstall." ++ exit 1 ++ fi ++ ++if [ -d /etc/vbox ]; then ++ >&2 cat <<-EOH ++ WARNING: Directory /etc/vbox found, but ignored. VirtualBox ++ configuration files are stored in %%VBOX_ETC%%/. ++ EOH ++fi ++ ++# workaround for the KDE dialog problem ++KDE_FORK_SLAVES=1; export KDE_FORK_SLAVES ++ ++APP=`basename $0` ++case "$APP" in ++ VirtualBox|virtualbox) ++ exec "$INSTALL_DIR/VirtualBox" "$@" ++ ;; ++ VirtualBoxVM|virtualboxvm) ++ exec "$INSTALL_DIR/VirtualBoxVM" "$@" ++ ;; ++ VBoxManage|vboxmanage) ++ exec "$INSTALL_DIR/VBoxManage" "$@" ++ ;; ++ VBoxSDL|vboxsdl) ++ exec "$INSTALL_DIR/VBoxSDL" "$@" ++ ;; ++ VBoxVRDP|VBoxHeadless|vboxheadless) ++ exec "$INSTALL_DIR/VBoxHeadless" "$@" ++ ;; ++ VBoxAutostart|vboxautostart) ++ exec "$INSTALL_DIR/VBoxAutostart" "$@" ++ ;; ++ VBoxBalloonCtrl|vboxballoonctrl) ++ exec "$INSTALL_DIR/VBoxBalloonCtrl" "$@" ++ ;; ++ VBoxBugReport|vboxbugreport) ++ exec "$INSTALL_DIR/VBoxBugReport" "$@" ++ ;; ++ vboxwebsrv) ++ exec "$INSTALL_DIR/vboxwebsrv" "$@" ++ ;; ++ *) ++ >&2 echo "Unknown application - $APP" ++ exit 1 ++ ;; ++esac ++exit 0 diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Main-src-server-VirtualBoxImpl.cpp b/emulators/virtualbox-ose-71/files/patch-src-VBox-Main-src-server-VirtualBoxImpl.cpp new file mode 100644 index 000000000000..4cd8b7492ed9 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Main-src-server-VirtualBoxImpl.cpp @@ -0,0 +1,11 @@ +--- src/VBox/Main/src-server/VirtualBoxImpl.cpp.orig 2021-01-07 15:41:43 UTC ++++ src/VBox/Main/src-server/VirtualBoxImpl.cpp +@@ -2663,7 +2663,7 @@ int VirtualBox::i_encryptSettingBytes(const uint8_t *a + if (aCiphertextSize < 32) + return VERR_INVALID_PARAMETER; + +- AssertCompile(sizeof(m->SettingsCipherKey) >= 32); ++ // AssertCompile(sizeof(m->SettingsCipherKey) >= 32); + + /* store the first 8 bytes of the cipherkey for verification */ + for (i = 0, j = 0; i < 8; i++, j++) diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Runtime-Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src-VBox-Runtime-Makefile.kmk new file mode 100644 index 000000000000..f13be222ea9a --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Runtime-Makefile.kmk @@ -0,0 +1,14 @@ +--- src/VBox/Runtime/Makefile.kmk.orig 2021-01-07 15:41:50 UTC ++++ src/VBox/Runtime/Makefile.kmk +@@ -177,6 +177,11 @@ $(IPRT_OUT_DIR)/oiddb.h.ts +| $(IPRT_OUT_DIR)/oiddb.h: + + + # ++# Set the defines that utf8-posix.cpp needs. It's used by several targets. ++# ++r3/posix/utf8-posix.cpp_DEFS.freebsd = $(VBOX_ICONV_DEFS) ++ ++# + # Unicode Specification reader used to regenerate unidata-*.cpp. + # + uniread_TEMPLATE = VBoxBldProg diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Runtime-r0drv-freebsd-sleepqueue-r0drv-freebsd.h b/emulators/virtualbox-ose-71/files/patch-src-VBox-Runtime-r0drv-freebsd-sleepqueue-r0drv-freebsd.h new file mode 100644 index 000000000000..c18492ebdf9b --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Runtime-r0drv-freebsd-sleepqueue-r0drv-freebsd.h @@ -0,0 +1,39 @@ +Without the first part of this patch, any waits for periods shorter than a +single tick return immediately leading to a lot of unnecessary spinning. For +example, I observe that my guest's idle loop does a lot of sleeps with periods +slightly shorter than 1 ms (1/hz), e.g. 900us. All that waiting turns into pure +spinning and VirtualBox eats 100% of a core. + +The clamping improves the situation significantly. Also, it (approximately) +follows what tvtohz does. The rest of the patch just chases an upstream +KPI change. + +Submitted by: Andriy Gapon <avg@FreeBSD.org> +--- src/VBox/Runtime/r0drv/freebsd/sleepqueue-r0drv-freebsd.h.orig 2024-07-29 13:10:32 UTC ++++ src/VBox/Runtime/r0drv/freebsd/sleepqueue-r0drv-freebsd.h +@@ -84,6 +84,8 @@ DECLINLINE(uint32_t) rtR0SemBsdWaitUpdateTimeout(PRTR0 + uint64_t cTicks = ASMMultU64ByU32DivByU32(uTimeout, hz, UINT32_C(1000000000)); + if (cTicks >= INT_MAX) + return RTSEMWAIT_FLAGS_INDEFINITE; ++ else if (cTicks == 0 && uTimeout > 0) ++ pWait->iTimeout = 1; + else + pWait->iTimeout = (int)cTicks; + #endif +@@ -300,10 +302,16 @@ DECLINLINE(void) rtR0SemBsdSignal(void *pvWaitChan) + DECLINLINE(void) rtR0SemBsdSignal(void *pvWaitChan) + { + sleepq_lock(pvWaitChan); ++#if __FreeBSD_version < 1500022 + int fWakeupSwapProc = sleepq_signal(pvWaitChan, SLEEPQ_CONDVAR, 0, 0); ++#else ++ sleepq_signal(pvWaitChan, SLEEPQ_CONDVAR, 0, 0); ++#endif + sleepq_release(pvWaitChan); ++#if __FreeBSD_version < 1500022 + if (fWakeupSwapProc) + kick_proc0(); ++#endif + } + + /** diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp new file mode 100644 index 000000000000..70b459e94da7 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp @@ -0,0 +1,71 @@ +--- src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp.orig 2021-01-07 15:34:20 UTC ++++ src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp +@@ -67,8 +67,8 @@ + # include <net/if.h> + # include <pwd.h> /* getpwuid */ + # include <unistd.h> +-# if !defined(RT_OS_OS2) && !defined(RT_OS_FREEBSD) && !defined(RT_OS_HAIKU) +-# include <utmpx.h> /** @todo FreeBSD 9 should have this. */ ++# if !defined(RT_OS_OS2) && !defined(RT_OS_HAIKU) ++# include <utmpx.h> + # endif + # ifdef RT_OS_OS2 + # include <net/if_dl.h> +@@ -528,7 +528,7 @@ static void vgsvcVMInfoWriteFixedProperties(void) + } + + +-#if defined(VBOX_WITH_DBUS) && defined(RT_OS_LINUX) /* Not yet for Solaris/FreeBSB. */ ++#if defined(VBOX_WITH_DBUS) && (defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)) /* Not yet for Solaris. */ + /* + * Simple wrapper to work around compiler-specific va_list madness. + */ +@@ -555,12 +555,6 @@ static int vgsvcVMInfoWriteUsers(void) + #ifdef RT_OS_WINDOWS + rc = VGSvcVMInfoWinWriteUsers(&g_VMInfoPropCache, &pszUserList, &cUsersInList); + +-#elif defined(RT_OS_FREEBSD) +- /** @todo FreeBSD: Port logged on user info retrieval. +- * However, FreeBSD 9 supports utmpx, so we could use the code +- * block below (?). */ +- rc = VERR_NOT_IMPLEMENTED; +- + #elif defined(RT_OS_HAIKU) + /** @todo Haiku: Port logged on user info retrieval. */ + rc = VERR_NOT_IMPLEMENTED; +@@ -586,7 +580,7 @@ static int vgsvcVMInfoWriteUsers(void) + while ( (ut_user = getutxent()) + && RT_SUCCESS(rc)) + { +-# ifdef RT_OS_DARWIN /* No ut_user->ut_session on Darwin */ ++# if defined(RT_OS_DARWIN) || defined(RT_OS_FREEBSD) /* No ut_user->ut_session on Darwin/FreeBSD */ + VGSvcVerbose(4, "Found entry '%s' (type: %d, PID: %RU32)\n", ut_user->ut_user, ut_user->ut_type, ut_user->ut_pid); + # else + VGSvcVerbose(4, "Found entry '%s' (type: %d, PID: %RU32, session: %RU32)\n", +@@ -621,7 +615,7 @@ static int vgsvcVMInfoWriteUsers(void) + } + + # ifdef VBOX_WITH_DBUS +-# if defined(RT_OS_LINUX) /* Not yet for Solaris/FreeBSB. */ ++# if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD) /* Not yet for Solaris. */ + DBusError dbErr; + DBusConnection *pConnection = NULL; + int rc2 = RTDBusLoadLib(); +@@ -830,7 +824,7 @@ static int vgsvcVMInfoWriteUsers(void) + if ( fHaveLibDbus + && dbus_error_is_set(&dbErr)) + dbus_error_free(&dbErr); +-# endif /* RT_OS_LINUX */ ++# endif /* RT_OS_LINUX || RT_OS_FREEBSD */ + # endif /* VBOX_WITH_DBUS */ + + /** @todo Fedora/others: Handle systemd-loginctl. */ +@@ -867,7 +861,7 @@ static int vgsvcVMInfoWriteUsers(void) + RTMemFree(papszUsers); + + endutxent(); /* Close utmpx file. */ +-#endif /* !RT_OS_WINDOWS && !RT_OS_FREEBSD && !RT_OS_HAIKU && !RT_OS_OS2 */ ++#endif /* !RT_OS_WINDOWS && !RT_OS_HAIKU && !RT_OS_OS2 */ + + Assert(RT_FAILURE(rc) || cUsersInList == 0 || (pszUserList && *pszUserList)); + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_pam_pam__vbox.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_pam_pam__vbox.cpp new file mode 100644 index 000000000000..bd667880358f --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_pam_pam__vbox.cpp @@ -0,0 +1,20 @@ +--- src/VBox/Additions/common/pam/pam_vbox.cpp.orig 2021-01-07 15:34:21 UTC ++++ src/VBox/Additions/common/pam/pam_vbox.cpp +@@ -104,7 +104,7 @@ static void pam_vbox_writesyslog(char *pszBuf) + openlog("pam_vbox", LOG_PID, LOG_AUTHPRIV); + syslog(LOG_ERR, "%s", pszBuf); + closelog(); +-#elif defined(RT_OS_SOLARIS) ++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_SOLARIS) + syslog(LOG_ERR, "pam_vbox: %s\n", pszBuf); + #endif + } +@@ -183,7 +183,7 @@ static int vbox_set_msg(pam_handle_t *hPAM, int iStyle + + pam_message msg; + msg.msg_style = iStyle; +-#ifdef RT_OS_SOLARIS ++#if defined(RT_OS_FREEBSD) || defined(RT_OS_SOLARIS) + msg.msg = (char*)pszText; + #else + msg.msg = pszText; diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_Makefile b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_Makefile new file mode 100644 index 000000000000..c38d8013a6d6 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_Makefile @@ -0,0 +1,38 @@ +--- src/VBox/Additions/freebsd/Makefile.orig 2020-05-13 19:37:06 UTC ++++ src/VBox/Additions/freebsd/Makefile +@@ -30,6 +30,14 @@ all: + cp vboxvfs/vboxvfs.ko .; \ + fi; \ + fi ++ @echo ++ @if [ -d mount_vboxvfs ]; then \ ++ echo "=== Building mount_vboxvfs binary ==="; \ ++ $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C mount_vboxvfs clean obj depend all; \ ++ if [ -f mount_vboxvfs ]; then \ ++ cp mount_vboxvfs/mount_vboxvfs .; \ ++ fi; \ ++ fi + + + install: +@@ -37,13 +45,19 @@ install: + @if [ -d vboxvfs ]; then \ + $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxvfs install; \ + fi ++ @if [ -d mount_vboxvfs ]; then \ ++ $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C mount_vboxvfs install; \ ++ fi + + clean: + @$(MAKE) -C vboxguest clean + @if [ -d vboxvfs ]; then \ + $(MAKE) -C vboxvfs clean; \ + fi +- rm -f vboxguest.*o vboxvfs.*o ++ @if [ -d mount_vboxvfs ]; then \ ++ $(MAKE) -C mount_vboxvfs clean; \ ++ fi ++ rm -f vboxguest.*o vboxvfs.*o mount_vboxvfs + + load: + @/sbin/kldunload vboxvfs || true diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_Makefile.kmk new file mode 100644 index 000000000000..f9d19d679e4a --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_Makefile.kmk @@ -0,0 +1,31 @@ +--- src/VBox/Additions/freebsd/Makefile.kmk.orig 2021-01-07 15:34:22 UTC ++++ src/VBox/Additions/freebsd/Makefile.kmk +@@ -23,8 +23,9 @@ $(error "The FreeBSD guest additions installer can onl + endif + + # Include sub-makefiles. +-#include $(PATH_SUB_CURRENT)/vboxvfs/Makefile.kmk +-include $(PATH_SUB_CURRENT)/drm/Makefile.kmk ++include $(PATH_SUB_CURRENT)/vboxvfs/Makefile.kmk ++#include $(PATH_SUB_CURRENT)/drm/Makefile.kmk ++include $(PATH_SUB_CURRENT)/mount_vboxvfs/Makefile.kmk + + # + # Globals +@@ -66,11 +67,14 @@ VBOX_FBSD_ADD_STRIP_BIN = \ + vboxvideo_drv_14.so \ + vboxvideo_drv_15.so \ + vboxvideo_drv_16.so \ +- vboxvideo_drv_17.so ++ vboxvideo_drv_17.so \ ++ $(if $(VBOX_WITH_PAM),pam_vbox.so,) \ ++ VBoxOGL.so \ ++ mount_vboxvfs + + VBOX_FBSD_ADD_MODULES = \ + vboxguest \ +- vboxvideo_drm ++ vboxvfs + + # + # All the bin files that go into the archives. diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_drm_vboxvideo__drm.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_drm_vboxvideo__drm.c new file mode 100644 index 000000000000..d4e5f3fc5a33 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_drm_vboxvideo__drm.c @@ -0,0 +1,17 @@ +--- src/VBox/Additions/freebsd/drm/vboxvideo_drm.c.orig 2022-07-26 18:05:21 UTC ++++ src/VBox/Additions/freebsd/drm/vboxvideo_drm.c +@@ -154,10 +154,14 @@ static driver_t vboxvideo_driver = { + sizeof(struct drm_device) + }; + ++#if __FreeBSD_version >= 1400058 ++DRIVER_MODULE(vboxvideo, vgapci, vboxvideo_driver, 0, 0); ++#else + extern devclass_t drm_devclass; + #if __FreeBSD_version >= 700010 + DRIVER_MODULE(vboxvideo, vgapci, vboxvideo_driver, drm_devclass, 0, 0); + #else + DRIVER_MODULE(vboxvideo, pci, vboxvideo_driver, drm_devclass, 0, 0); ++#endif + #endif + MODULE_DEPEND(vboxvideo, drm, 1, 1, 1); diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk new file mode 100644 index 000000000000..270472c045e3 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk @@ -0,0 +1,31 @@ +--- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-05-11 03:54:13 UTC ++++ src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk +@@ -0,0 +1,28 @@ ++# $Id: Makefile.kmk $ ++## @file ++# Sub-Makefile for the FreeBSD Shared folder mount utility. ++# ++ ++SUB_DEPTH = ../../../../.. ++include $(KBUILD_PATH)/subheader.kmk ++ ++ifneq ($(KBUILD_HOST),freebsd) ++$(error "The FreeBSD guest additions can only be built on FreeBSD!") ++endif ++ ++MOUNT= $(VBOX_FREEBSD_SRC)/../sbin/mount ++ ++CFLAGS+=-I$(MOUNT) ++ ++PROGRAMS += mount_vboxvfs ++mount_vboxvfs_TEMPLATE = NewVBoxGuestR3Exe ++mount_vboxvfs_SOURCES = mount_vboxvfs.c ++ ++ifdef HAVE_MNTOPTS_IN_LIBUTIL ++mount_vboxvfs_LIBS = util ++else ++mount_vboxvfs_SOURCES += $(MOUNT)/getmntopts.c ++endif ++ ++include $(FILE_KBUILD_SUB_FOOTER) ++ diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_mount__vboxvfs.8 b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_mount__vboxvfs.8 new file mode 100644 index 000000000000..88460e155de3 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_mount__vboxvfs.8 @@ -0,0 +1,56 @@ +--- src/VBox/Additions/freebsd/mount_vboxvfs/mount_vboxvfs.8.orig 1970-01-01 01:00:00.000000000 +0100 ++++ src/VBox/Additions/freebsd/mount_vboxvfs/mount_vboxvfs.8 2017-07-12 19:24:26.106029000 +0200 +@@ -0,0 +1,53 @@ ++.\" ++.\" Copyright (c) 1992, 1993, 1994 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.Dd August 5, 2013 ++.Dt MOUNT_VBOXFS 8 ++.Os ++.Sh NAME ++.Nm mount_vboxfs ++.Nd "Mount the VirtualBox shared folder NAME from the host system to MOUNTPOINT" ++.Sh SYNOPSIS ++.Nm ++.Op Fl o Ar options ++.Ar NAME ++.Ar MOUNTPOINT ++.Sh DESCRIPTION ++The ++.Nm ++Mount the VirtualBox shared folder NAME from the host system to MOUNTPOINT ++.Pp ++The options are as follows: ++.Bl -tag -width indent ++.Fl w ++mount the shared folder writably (the default) ++.Fl r ++mount the shared folder read-only ++.Fl o ++OPTION[,OPTION...] use the mount options specified ++.El diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_mount__vboxvfs.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_mount__vboxvfs.c new file mode 100644 index 000000000000..7dd7e6271e03 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_mount__vboxvfs.c @@ -0,0 +1,171 @@ +--- src/VBox/Additions/freebsd/mount_vboxvfs/mount_vboxvfs.c.orig 1970-01-01 01:00:00.000000000 +0100 ++++ src/VBox/Additions/freebsd/mount_vboxvfs/mount_vboxvfs.c 2017-07-12 19:24:26.106029000 +0200 +@@ -0,0 +1,168 @@ ++/* ++* Copyright (c) 1992, 1993, 1994 ++* The Regents of the University of California. All rights reserved. ++* ++* Redistribution and use in source and binary forms, with or without ++* modification, are permitted provided that the following conditions ++* are met: ++* 1. Redistributions of source code must retain the above copyright ++* notice, this list of conditions and the following disclaimer. ++* 2. Redistributions in binary form must reproduce the above copyright ++* notice, this list of conditions and the following disclaimer in the ++* documentation and/or other materials provided with the distribution. ++* 4. Neither the name of the University nor the names of its contributors ++* may be used to endorse or promote products derived from this software ++* without specific prior written permission. ++* ++* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++* SUCH DAMAGE. ++*/ ++ ++#include <sys/cdio.h> ++#include <sys/stat.h> ++#include <sys/file.h> ++#include <sys/iconv.h> ++#include <sys/param.h> ++#include <sys/linker.h> ++#include <sys/module.h> ++#include <sys/mount.h> ++#include <sys/uio.h> ++ ++#include <err.h> ++#include <errno.h> ++#include <stdlib.h> ++#include <stdio.h> ++#include <string.h> ++#include <sysexits.h> ++#include <unistd.h> ++ ++#include "mntopts.h" ++ ++#define MAX_HOST_NAME 256 ++static char mount_point[MAXPATHLEN + 1]; ++static char vboxfs_vfsname[] = "vboxvfs"; ++static struct mntopt mopts[] = { ++ MOPT_STDOPTS, ++ MOPT_END ++}; ++ ++static void usage(void) __dead2; ++ ++static void ++usage(void) ++{ ++ fprintf(stderr, ++ "Usage: [OPTIONS] NAME MOUNTPOINT\n" ++ "Mount the VirtualBox shared folder NAME to MOUNTPOINT.\n" ++ "\nOptions:\n" ++ " -w mount the shared folder writable \n" ++ " -r mount the shared folder read-only (the default)\n"); ++ exit(1); ++} ++ ++int ++main(int argc, char *argv[]) ++{ ++ struct iovec *iov; ++ struct stat st; ++ char *host_name; ++ char errmsg[255]; ++ uid_t uid; ++ gid_t gid; ++ mode_t dir_mode, file_mode; ++ int iovlen; ++ int ronly = 0; ++ int error, ch; ++ int mntflags = 0; ++ ++ iov = NULL; ++ iovlen = 0; ++ errmsg[0] = '\0'; ++ uid = (uid_t)-1; ++ gid = (gid_t)-1; ++ file_mode = 0; ++ dir_mode = 0; ++ ++ while ((ch = getopt(argc, argv, "rwo:h")) != -1) ++ switch(ch) { ++ default: ++ fprintf(stderr, "unknown option `%c:%#x'\n", ch, ch); ++ return (1); ++ ++ case '?': ++ case 'h': ++ usage(); ++ case 'r': ++ ronly = 1; ++ break; ++ case 'w': ++ ronly = 0; ++ break; ++ case 'o': ++ getmntopts(optarg, mopts, &mntflags, 0); ++ break; ++ } ++ ++ if (argc - optind < 2) ++ usage(); ++ ++ host_name = argv[optind]; ++ realpath(argv[optind+1], mount_point); ++ ++ if (stat(mount_point, &st) == -1) ++ err(EX_OSERR, "could not find mount point %s", mount_point); ++ ++ if (!S_ISDIR(st.st_mode)) { ++ errno = ENOTDIR; ++ err(EX_OSERR, "can't mount on %s", mount_point); ++ } ++ ++ if (strlen(host_name) > MAX_HOST_NAME - 1) ++ err(EX_OSERR, "host name is too big %s", host_name); ++ ++ if (ronly == 0) ++ mntflags |= MNT_ASYNC; ++ if (uid == (uid_t)-1) ++ uid = st.st_uid; ++ if (gid == (gid_t)-1) ++ gid = st.st_gid; ++ if (file_mode == 0) ++ file_mode = st.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO); ++ if (dir_mode == 0) { ++ dir_mode = file_mode; ++ if (dir_mode & S_IRUSR) ++ dir_mode |= S_IXUSR; ++ if (dir_mode & S_IRGRP) ++ dir_mode |= S_IXGRP; ++ if (dir_mode & S_IROTH) ++ dir_mode |= S_IXOTH; ++ } ++ ++ build_iovec(&iov, &iovlen, "fstype", vboxfs_vfsname, (size_t)-1); ++ build_iovec(&iov, &iovlen, "fspath", mount_point, (size_t)-1); ++ build_iovec(&iov, &iovlen, "from", host_name, (size_t)-1); ++ build_iovec_argf(&iov, &iovlen, "uid", "%d", uid); ++ build_iovec_argf(&iov, &iovlen, "gid", "%d", gid); ++ build_iovec_argf(&iov, &iovlen, "file_mode", "%o", file_mode); ++ build_iovec_argf(&iov, &iovlen, "dir_mode", "%o", dir_mode); ++ build_iovec(&iov, &iovlen, "errmsg", errmsg, sizeof(errmsg)); ++ ++ error = nmount(iov, iovlen, mntflags); ++ if (error == -1) { ++ if (errmsg[0] != '\0') ++ err(1, "%s: error: %s", mount_point, errmsg); ++ else ++ err(1, "%s: error %d", mount_point, error); ++ } ++ ++ return (0); ++} diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_bcmp.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_bcmp.c new file mode 100644 index 000000000000..fb4d7fac8c06 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_bcmp.c @@ -0,0 +1,12 @@ +--- src/VBox/Additions/freebsd/vboxvfs/bcmp.c.orig 2021-02-21 19:09:22 UTC ++++ src/VBox/Additions/freebsd/vboxvfs/bcmp.c +@@ -0,0 +1,9 @@ ++#include <sys/types.h> ++ ++int bcmp(const void *b1, const void *b2, size_t len); ++ ++int ++bcmp(const void *b1, const void *b2, size_t len) ++{ ++ return __builtin_memcmp((b1), (b2), (len)); ++} diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs.h b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs.h new file mode 100644 index 000000000000..858e894c7b6b --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs.h @@ -0,0 +1,428 @@ +--- src/VBox/Additions/freebsd/vboxvfs/vboxvfs.h.orig 2021-01-07 15:34:22 UTC ++++ src/VBox/Additions/freebsd/vboxvfs/vboxvfs.h +@@ -1,8 +1,3 @@ +-/* $Id: vboxvfs.h $ */ +-/** @file +- * Description. +- */ +- + /* + * Copyright (C) 2010-2020 Oracle Corporation + * +@@ -24,72 +19,378 @@ + #define VBOXVFS_VFSNAME "vboxvfs" + #define VBOXVFS_VERSION 1 + +-#define MAX_HOST_NAME 256 +-#define MAX_NLS_NAME 32 ++#define MAX_HOST_NAME 256 ++#define MAX_NLS_NAME 32 ++//#define MODEMASK 07777 /* mode bits plus permission bits */ ++/** Helper macros */ ++#define VFSTOVBOXFS(mp) ((struct vboxfs_mnt *)((mp)->mnt_data)) ++#define VP_TO_VBOXFS_NODE(vp) ((struct vboxfs_node *)(vp)->v_data) ++#define VBOXTOV(np) ((struct vnode *)(np)->n_vnode) + +-struct vboxvfs_mount_info { +- char name[MAX_HOST_NAME]; +- char nls_name[MAX_NLS_NAME]; +- int uid; +- int gid; +- int ttl; +-}; ++#define ROOTDIR_INO 1 ++#define THEFILE_INO 2 ++#define THEFILE_NAME "thefile" + ++#define VBOXFS_NODE_LOCK(node) mtx_lock(&(node)->sf_interlock) ++#define VBOXFS_NODE_UNLOCK(node) mtx_unlock(&(node)->sf_interlock) ++#define VBOXFS_NODE_MTX(node) (&(node)->sf_interlock) ++#define VBOXFS_NODE_ASSERT_LOCKED(node) mtx_assert(VBOXFS_NODE_MTX(node), \ ++ MA_OWNED) ++ ++#ifdef INVARIANTS ++#define VBOXFS_ASSERT_LOCKED(node) do { \ ++ MPASS(node != NULL); \ ++ MPASS(node->sf_vnode != NULL); \ ++ if (!VOP_ISLOCKED(node->sf_vnode) && \ ++ !mtx_owned(VBOXFS_NODE_MTX(node))) \ ++ panic("vboxfs: node is not locked: %p", node); \ ++ } while (0) ++#define VBOXFS_ASSERT_ELOCKED(node) do { \ ++ MPASS((node) != NULL); \ ++ MPASS((node)->sf_vnode != NULL); \ ++ mtx_assert(VBOXFS_NODE_MTX(node), MA_OWNED); \ ++ ASSERT_VOP_LOCKED((node)->sf_vnode, "vboxfs"); \ ++ } while (0) ++#else ++#define VBOXFS_ASSERT_LOCKED(node) (void)0 ++#define VBOXFS_ASSERT_ELOCKED(node) (void)0 ++#endif ++ ++#define VBOXFS_VNODE_ALLOCATING 1 ++#define VBOXFS_VNODE_WANT 2 ++#define VBOXFS_VNODE_DOOMED 4 ++#define VBOXFS_VNODE_WRECLAIM 8 ++ ++MALLOC_DECLARE(M_VBOXVFS); ++ + #ifdef _KERNEL ++#ifndef FREEBSD_STYLE ++#include "../../../../../include/iprt/nocrt/limits.h" ++#include "../../../../../include/iprt/alloc.h" ++#include "../../../../../include/iprt/asm.h" ++#include "../../../../../include/iprt/asm-amd64-x86.h" ++#include "../../../../../include/iprt/asm-math.h" ++#include "../../../../../include/iprt/assert.h" ++#include "../../../../../include/iprt/cdefs.h" ++#include "../../../../../include/iprt/err.h" ++#include "../../../../../include/iprt/fs.h" ++#include "../../../../../include/iprt/log.h" ++#include "../../../../../include/iprt/mem.h" ++#include "../../../../../include/iprt/param.h" ++#include "../../../../../include/iprt/path.h" ++#include "../../../../../include/iprt/semaphore.h" ++#include "../../../../../include/iprt/stdarg.h" ++#include "../../../../../include/iprt/stdint.h" ++#include "../../../../../include/iprt/string.h" ++#include "../../../../../include/iprt/time.h" ++#include "../../../../../include/iprt/types.h" ++#include "../../../../../include/iprt/uni.h" + +-#include <VBox/VBoxGuestLibSharedFolders.h> ++#else ++ ++#include "iprt/nocrt/limits.h" ++#include "iprt/alloc.h" ++#include "iprt/asm.h" ++#include "iprt/asm-amd64-x86.h" ++#include "iprt/asm-math.h" ++#include "iprt/assert.h" ++#include "iprt/cdefs.h" ++#include "iprt/err.h" ++#include "iprt/fs.h" ++#include "iprt/log.h" ++#include "iprt/mem.h" ++#include "iprt/param.h" ++#include "iprt/path.h" ++#include "iprt/semaphore.h" ++#include "iprt/stdarg.h" ++#include "iprt/stdint.h" ++#include "iprt/string.h" ++#include "iprt/time.h" ++#include "iprt/types.h" ++#include "iprt/uni.h" ++ ++#include "common/VBoxGuestLib/SysHlp.h" ++ ++#endif /* !FREEBSD_STYLE */ ++ + #include <sys/mount.h> + #include <sys/vnode.h> ++#include <sys/_timespec.h> + +-struct vboxvfsmount { +- uid_t uid; +- gid_t gid; +- mode_t file_mode; +- mode_t dir_mode; +- struct mount *mp; +- struct ucred *owner; +- u_int flags; +- long nextino; +- int caseopt; +- int didrele; ++#include <VBox/VBoxGuestLibSharedFolders.h> ++ ++#if __FreeBSD_version >= 1400093 ++typedef __enum_uint8(vtype) enum_vtype_t; ++#else ++typedef enum vtype enum_vtype_t; ++#endif ++ ++#define VBOXVFS_DEBUG(lvl, ...) do { \ ++ if (vboxvfs_debug >= (lvl)) { \ ++ printf("VBOXVFS[%u]: ", lvl); \ ++ printf(__VA_ARGS__); \ ++ printf("\n"); \ ++ } \ ++} while (0) ++ ++/* ++ * representation of an active mount point ++ */ ++struct sfp_mount { ++ VBGLSFMAP map; + }; + +-/* structs - stolen from the linux shared module code */ ++/* ++ * Mount / Unmount a shared folder. ++ * ++ * sfprov_mount() takes as input the connection pointer and the name of ++ * the shared folder. On success, it returns zero and supplies an ++ * sfp_mount_t handle. On failure it returns any relevant errno value. ++ * ++ * sfprov_unmount() unmounts the mounted file system. It returns 0 on ++ * success and any relevant errno on failure. ++ */ ++typedef struct sfp_mount sfp_mount_t; ++ ++struct sfp_file { ++ SHFLHANDLE handle; ++ VBGLSFMAP map; /* need this again for the close operation */ ++}; ++ ++typedef struct sfp_file sfp_file_t; ++ ++/* ++ * File operations: open/close/read/write/etc. ++ * ++ * open/create can return any relevant errno, however ENOENT ++ * generally means that the host file didn't exist. ++ */ ++typedef struct sffs_stat { ++ mode_t sf_mode; ++ off_t sf_size; ++ off_t sf_alloc; ++ struct timespec sf_atime; ++ struct timespec sf_mtime; ++ struct timespec sf_ctime; ++} sffs_stat_t; ++ ++/* ++ * Read directory entries. ++ */ ++/* ++ * a singly linked list of buffers, each containing an array of stat's+dirent's. ++ * sf_len is length of the sf_entries array, in bytes. ++ */ ++typedef struct sffs_dirents { ++ struct sffs_dirents *sf_next; ++ long long sf_len; ++ struct sffs_dirent { ++ sffs_stat_t sf_stat; ++ struct dirent sf_entry; /* this is variable length */ ++ off_t sf_off; ++ } sf_entries[1]; ++} sffs_dirents_t; ++ ++/* ++ * Shared Folders filesystem per-mount data structure. ++ */ ++struct vboxfs_mnt { ++ struct mount *sf_vfsp; /* filesystem's vfs struct */ ++ sfp_mount_t *sf_handle; /* guest-host communication handle */ ++ uid_t sf_uid; /* owner of all shared folders */ ++ gid_t sf_gid; /* group of all shared folders */ ++ mode_t sf_dmode; /* mode of all directories */ ++ mode_t sf_fmode; /* mode of all files */ ++ mode_t sf_dmask; /* mask of all directories */ ++ mode_t sf_fmask; /* mask of all files */ ++ int sf_stat_ttl; /* ttl for stat caches (in ms) */ ++ int sf_fsync; /* whether to honor fsync or not */ ++ uint64_t sf_ino; /* per FS ino generator */ ++ uma_zone_t sf_node_pool; ++ struct vboxfs_node *sf_root; ++}; ++ ++/* ++ * vboxfs_node is the file system dependent vnode data for vboxfs. ++ * vboxfs_node's also track all files ever accessed, both open and closed. ++ * It duplicates some of the information in vnode, since it holds ++ * information for files that may have been completely closed. ++ * ++ */ ++struct vboxfs_node { ++ struct vboxfs_mnt *vboxfsmp; /* containing mounted file system */ ++ char *sf_path; /* full pathname to file or dir */ ++ uint64_t sf_ino; /* assigned unique ID number */ ++ struct vnode *sf_vnode; /* vnode if active */ ++ sfp_file_t *sf_file; /* non NULL if open */ ++ struct vboxfs_node *sf_parent; /* parent sfnode of this one */ ++ uint32_t sf_opencnt; /* sf_file reference counter */ ++ uint16_t sf_children; /* number of children sfnodes */ ++ uint8_t sf_type; /* VDIR or VREG */ ++ uint8_t sf_vpstate; /* XXX: ADD COMMENT */ ++ uint8_t sf_is_stale; /* this is stale and should be purged */ ++ sffs_stat_t sf_stat; /* cached file attrs for this node */ ++ uint64_t sf_stat_time; /* last-modified time of sf_stat */ ++ sffs_dirents_t *sf_dir_list; /* list of entries for this directory */ ++ ++ /* interlock to protect sf_vpstate, sf_file and sf_opencnt */ ++ struct mtx sf_interlock; ++}; ++ ++struct vboxfs_mount_info { ++ char name[MAX_HOST_NAME]; /* share name */ ++ char nls_name[MAX_NLS_NAME];/* name of an I/O charset */ ++ int uid; /* user ID for all entries, default 0=root */ ++ int gid; /* group ID for all entries, default 0=root */ ++ int ttl; /* time to live */ ++ int dmode; /* mode for directories if != 0xffffffff */ ++ int fmode; /* mode for regular files if != 0xffffffff */ ++ int dmask; /* umask applied to directories */ ++ int fmask; /* umask applied to regular files */ ++}; ++ + struct sf_glob_info { +- VBGLSFMAP map; +-/* struct nls_table *nls;*/ +- int ttl; +- int uid; +- int gid; +- struct vnode *vnode_root; ++ VBGLSFMAP map; ++/* struct nls_table *nls;*/ ++ int ttl; ++ int uid; ++ int gid; ++ struct vnode *vnode_root; + }; + ++/** Per-file system mount instance data. */ ++typedef struct vboxfs_globinfo ++{ ++ VBGLSFMAP Map; ++ int Ttl; ++ int Uid; ++ int Gid; ++ struct mount *pVFS; ++ struct vboxfs_node *pVNodeRoot; ++} vboxfs_globinfo_t; ++ + struct sf_inode_info { +- SHFLSTRING *path; +- int force_restat; ++ SHFLSTRING *path; ++ int force_restat; + }; + + #if 0 + struct sf_dir_info { +- struct list_head info_list; ++ struct list_head info_list; + }; + #endif + + struct sf_dir_buf { +- size_t nb_entries; +- size_t free_bytes; +- size_t used_bytes; +- void *buf; ++ size_t nb_entries; ++ size_t free_bytes; ++ size_t used_bytes; ++ void *buf; + #if 0 +- struct list_head head; ++ struct list_head head; + #endif + }; + + struct sf_reg_info { +- SHFLHANDLE handle; ++ SHFLHANDLE handle; + }; + ++int vboxfs_alloc_vp(struct mount *, struct vboxfs_node *, int, ++ struct vnode **); ++void vboxfs_free_vp(struct vnode *); ++ ++int vboxfs_alloc_node(struct mount *, struct vboxfs_mnt *, const char*, ++ enum_vtype_t, uid_t, gid_t, mode_t, struct vboxfs_node *, ++ struct vboxfs_node **); ++void vboxfs_free_node(struct vboxfs_mnt *, struct vboxfs_node *); ++ ++/* ++ * These are the provider interfaces used by sffs to access the underlying ++ * shared file system. ++ */ ++#define SFPROV_VERSION 1 ++ ++/* ++ * Initialization and termination. ++ * sfprov_connect() is called once before any other interfaces and returns ++ * a handle used in further calls. The argument should be SFPROV_VERSION ++ * from above. On failure it returns a NULL pointer. ++ * ++ * sfprov_disconnect() must only be called after all sf file systems have been ++ * unmounted. ++ */ ++typedef struct sfp_connection sfp_connection_t; ++ ++extern sfp_connection_t *sfprov_connect(int); ++extern void sfprov_disconnect(void); ++ ++extern int sfprov_mount(char *, sfp_mount_t **); ++extern int sfprov_unmount(sfp_mount_t *); ++ ++/* ++ * query information about a mounted file system ++ */ ++typedef struct sffs_fsinfo { ++ uint64_t blksize; ++ uint64_t blksused; ++ uint64_t blksavail; ++ uint32_t maxnamesize; ++ uint32_t readonly; ++ uint32_t serial; ++} sffs_fsinfo_t; ++ ++extern int sfprov_get_fsinfo(sfp_mount_t *, sffs_fsinfo_t *); ++ ++extern int sfprov_create(sfp_mount_t *, char *path, mode_t mode, ++ sffs_stat_t *stat); ++extern int sfprov_open(sfp_mount_t *, char *path, sfp_file_t **fp); ++extern int sfprov_close(sfp_file_t *fp); ++extern int sfprov_read(sfp_file_t *, char * buffer, uint64_t offset, ++ uint32_t *numbytes, int buflocked); ++extern int sfprov_write(sfp_file_t *, char * buffer, uint64_t offset, ++ uint32_t *numbytes, int buflocked); ++extern int sfprov_fsync(sfp_file_t *fp); ++ ++ ++/* ++ * get/set information about a file (or directory) using pathname ++ */ ++extern int sfprov_get_mode(sfp_mount_t *, char *, mode_t *); ++extern int sfprov_get_size(sfp_mount_t *, char *, uint64_t *); ++extern int sfprov_get_atime(sfp_mount_t *, char *, struct timespec *); ++extern int sfprov_get_mtime(sfp_mount_t *, char *, struct timespec *); ++extern int sfprov_get_ctime(sfp_mount_t *, char *, struct timespec *); ++extern int sfprov_get_attr(sfp_mount_t *, char *, sffs_stat_t *); ++extern int sfprov_set_attr(sfp_mount_t *, char *, mode_t, ++ struct timespec, struct timespec, struct timespec); ++extern int sfprov_set_size(sfp_mount_t *, char *, uint64_t); ++ ++ ++/* ++ * File/Directory operations ++ */ ++extern int sfprov_trunc(sfp_mount_t *, char *); ++extern int sfprov_remove(sfp_mount_t *, char *path, u_int is_link); ++extern int sfprov_mkdir(sfp_mount_t *, char *path, mode_t mode, ++ sffs_stat_t *stat); ++extern int sfprov_rmdir(sfp_mount_t *, char *path); ++extern int sfprov_rename(sfp_mount_t *, char *from, char *to, u_int is_dir); ++ ++ ++/* ++ * Symbolic link operations ++ */ ++extern int sfprov_set_show_symlinks(void); ++extern int sfprov_readlink(sfp_mount_t *, char *path, char *target, ++ size_t tgt_size); ++extern int sfprov_symlink(sfp_mount_t *, char *linkname, char *target, ++ sffs_stat_t *stat); ++ ++#define SFFS_DIRENTS_SIZE 8192 ++#define SFFS_DIRENTS_OFF (offsetof(sffs_dirents_t, sf_entries[0])) ++ ++extern int sfprov_readdir(sfp_mount_t *mnt, char *path, ++ sffs_dirents_t **dirents); ++ + #endif /* KERNEL */ + + #endif /* !GA_INCLUDED_SRC_freebsd_vboxvfs_vboxvfs_h */ +- diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__prov.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__prov.c new file mode 100644 index 000000000000..e606c4f1de6f --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__prov.c @@ -0,0 +1,1015 @@ +--- src/VBox/Additions/freebsd/vboxvfs/vboxvfs_prov.c.orig 2024-08-15 13:18:37.777504000 +0900 ++++ src/VBox/Additions/freebsd/vboxvfs/vboxvfs_prov.c 2024-08-15 13:18:37.777446000 +0900 +@@ -0,0 +1,1012 @@ ++/* ++ * Copyright (C) 2008-2016 Oracle Corporation ++ * ++ * This file is part of VirtualBox Open Source Edition (OSE), as ++ * available from http://www.virtualbox.org. This file is free software; ++ * you can redistribute it and/or modify it under the terms of the GNU ++ * General Public License (GPL) as published by the Free Software ++ * Foundation, in version 2 as it comes in the "COPYING" file of the ++ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the ++ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. ++ * ++ * The contents of this file may alternatively be used under the terms ++ * of the Common Development and Distribution License Version 1.0 ++ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the ++ * VirtualBox OSE distribution, in which case the provisions of the ++ * CDDL are applicable instead of those of the GPL. ++ * ++ * You may elect to license modified versions of this file under the ++ * terms and conditions of either the GPL or the CDDL or both. ++ */ ++ ++/* ++ * Provider interfaces for shared folder file system. ++ */ ++ ++#include <sys/types.h> ++#include <sys/stat.h> ++#include <sys/param.h> ++#include <sys/systm.h> ++#include <sys/kernel.h> ++#include <sys/malloc.h> ++#include <sys/mount.h> ++#include <sys/vnode.h> ++#include <sys/dirent.h> ++#include <sys/proc.h> ++#include <vm/vm.h> ++#include <vm/pmap.h> ++#include <vm/vm_kern.h> ++#include <vm/vm_map.h> ++#include <vm/vm_object.h> ++#include <vm/vm_extern.h> ++#include <vm/uma.h> ++#include "vboxvfs.h" ++ ++#define DIRENT_RECLEN(namelen) \ ++ ((offsetof(struct dirent, d_name[0]) + 1 + (namelen) + 7) & ~ 7) ++#define DIRENT_NAMELEN(reclen) \ ++ ((reclen) - (offsetof(struct dirent, d_name[0]))) ++ ++static VBGLSFCLIENT vbox_client; ++ ++extern u_int vboxvfs_debug; ++ ++static int ++sfprov_vbox2errno(int rc) ++{ ++ if (rc == VERR_ACCESS_DENIED) ++ return (EACCES); ++ if (rc == VERR_INVALID_NAME) ++ return (ENOENT); ++ return (RTErrConvertToErrno(rc)); ++} ++ ++/* ++ * utility to create strings ++ */ ++static SHFLSTRING * ++sfprov_string(char *path, int *sz) ++{ ++ SHFLSTRING *str; ++ int len = strlen(path); ++ ++ *sz = len + 1 + sizeof (*str) - sizeof (str->String); ++ str = malloc(*sz, M_VBOXVFS, M_WAITOK | M_ZERO); ++ str->u16Size = len + 1; ++ str->u16Length = len; ++ strcpy(str->String.utf8, path); ++ return (str); ++} ++ ++sfp_connection_t * ++sfprov_connect(int version) ++{ ++ /* only one version for now, so must match */ ++ int error = -1; ++ ++ if (version != SFPROV_VERSION) { ++ printf("%s: version mismatch (%d, expected %d)\n", __func__, ++ version, SFPROV_VERSION); ++ return (NULL); ++ } ++ ++ if (RT_FAILURE(VbglR0SfInit())) ++ return (NULL); ++ ++ if (RT_FAILURE(VbglR0SfConnect(&vbox_client))) { ++ VbglR0SfTerm(); ++ return (NULL); ++ } ++ ++ if (RT_FAILURE(VbglR0SfSetUtf8(&vbox_client))) { ++ VbglR0SfDisconnect(&vbox_client); ++ VbglR0SfTerm(); ++ return (NULL); ++ } ++ return ((sfp_connection_t *)&vbox_client); ++} ++ ++void ++sfprov_disconnect() ++{ ++ VbglR0SfDisconnect(&vbox_client); ++ VbglR0SfTerm(); ++} ++ ++int ++sfprov_mount(char *path, sfp_mount_t **mnt) ++{ ++ sfp_mount_t *m; ++ SHFLSTRING *str; ++ int size; ++ int rc; ++ ++ VBOXVFS_DEBUG(1, "%s: Enter", __FUNCTION__); ++ VBOXVFS_DEBUG(1, "%s: path: [%s]", __FUNCTION__, path); ++ ++ m = malloc(sizeof (*m), M_VBOXVFS, M_WAITOK | M_ZERO); ++ str = sfprov_string(path, &size); ++ ++ int error; ++ rc = VbglR0SfMapFolder(&vbox_client, str, &m->map); ++ if (RT_FAILURE(rc)) { ++ free(m, M_VBOXVFS); ++ *mnt = NULL; ++ error = sfprov_vbox2errno(rc); ++ } else { ++ *mnt = m; ++ error = 0; ++ } ++ free(str, M_VBOXVFS); ++ printf("%s(%s): error=%d rc=%d\n", __func__, path, error, rc); ++ return (error); ++} ++ ++int ++sfprov_unmount(sfp_mount_t *mnt) ++{ ++ int rc; ++ ++ rc = VbglR0SfUnmapFolder(&vbox_client, &mnt->map); ++ if (RT_FAILURE(rc)) { ++ printf("sfprov_unmount: VbglR0SfUnmapFolder() failed rc=%d\n", rc); ++ rc = sfprov_vbox2errno(rc); ++ } else { ++ rc = 0; ++ } ++ ++ free(mnt, M_VBOXVFS); ++ return (rc); ++} ++ ++/* ++ * query information about a mounted file system ++ */ ++int ++sfprov_get_fsinfo(sfp_mount_t *mnt, sffs_fsinfo_t *fsinfo) ++{ ++ int rc; ++ SHFLVOLINFO info; ++ uint32_t bytes = sizeof(SHFLVOLINFO); ++ size_t bytesused; ++ ++ rc = VbglR0SfFsInfo(&vbox_client, &mnt->map, 0, ++ (SHFL_INFO_GET | SHFL_INFO_VOLUME), &bytes, (SHFLDIRINFO *)&info); ++ if (RT_FAILURE(rc)) ++ return (sfprov_vbox2errno(rc)); ++ ++ fsinfo->blksize = info.ulBytesPerAllocationUnit; ++ bytesused = ++ info.ullTotalAllocationBytes - info.ullAvailableAllocationBytes; ++ fsinfo->blksused = bytesused / info.ulBytesPerAllocationUnit; ++ fsinfo->blksavail = info.ullAvailableAllocationBytes / ++ info.ulBytesPerAllocationUnit; ++ fsinfo->maxnamesize = info.fsProperties.cbMaxComponent; ++ fsinfo->readonly = info.fsProperties.fReadOnly; ++ fsinfo->serial = info.ulSerial; ++ return (0); ++} ++ ++/* ++ * file/directory information conversions. ++ */ ++static void ++sfprov_fmode_from_mode(RTFMODE *fMode, mode_t mode) ++{ ++ RTFMODE m = 0; ++ ++#define mode_set(r) ((mode & (S_##r)) ? RTFS_UNIX_##r : 0) ++ m = mode_set (ISUID); ++ m |= mode_set (ISGID); ++ m |= (mode & S_ISVTX) ? RTFS_UNIX_ISTXT : 0; ++ m |= mode_set (IRUSR); ++ m |= mode_set (IWUSR); ++ m |= mode_set (IXUSR); ++ m |= mode_set (IRGRP); ++ m |= mode_set (IWGRP); ++ m |= mode_set (IXGRP); ++ m |= mode_set (IROTH); ++ m |= mode_set (IWOTH); ++ m |= mode_set (IXOTH); ++ ++ if (S_ISDIR(mode)) ++ m |= RTFS_TYPE_DIRECTORY; ++ else if (S_ISREG(mode)) ++ m |= RTFS_TYPE_FILE; ++ else if (S_ISFIFO(mode)) ++ m |= RTFS_TYPE_FIFO; ++ else if (S_ISCHR(mode)) ++ m |= RTFS_TYPE_DEV_CHAR; ++ else if (S_ISBLK(mode)) ++ m |= RTFS_TYPE_DEV_BLOCK; ++ else if (S_ISLNK(mode)) ++ m |= RTFS_TYPE_SYMLINK; ++ else if (S_ISSOCK(mode)) ++ m |= RTFS_TYPE_SOCKET; ++ else ++ m |= RTFS_TYPE_FILE; ++ ++ *fMode = m; ++} ++ ++static void ++sfprov_mode_from_fmode(mode_t *mode, RTFMODE fMode) ++{ ++ mode_t m = 0; ++ ++ if (RTFS_IS_DIRECTORY(fMode)) ++ m |= S_IFDIR; ++ else if (RTFS_IS_FILE(fMode)) ++ m |= S_IFREG; ++ else if (RTFS_IS_FIFO(fMode)) ++ m |= S_IFIFO; ++ else if (RTFS_IS_DEV_CHAR(fMode)) ++ m |= S_IFCHR; ++ else if (RTFS_IS_DEV_BLOCK(fMode)) ++ m |= S_IFBLK; ++ else if (RTFS_IS_SYMLINK(fMode)) ++ m |= S_IFLNK; ++ else if (RTFS_IS_SOCKET(fMode)) ++ m |= S_IFSOCK; ++ ++ if (fMode & RTFS_UNIX_IRUSR) ++ m |= S_IRUSR; ++ if (fMode & RTFS_UNIX_IWUSR) ++ m |= S_IWUSR; ++ if (fMode & RTFS_UNIX_IXUSR) ++ m |= S_IXUSR; ++ if (fMode & RTFS_UNIX_IRGRP) ++ m |= S_IRGRP; ++ if (fMode & RTFS_UNIX_IWGRP) ++ m |= S_IWGRP; ++ if (fMode & RTFS_UNIX_IXGRP) ++ m |= S_IXGRP; ++ if (fMode & RTFS_UNIX_IROTH) ++ m |= S_IROTH; ++ if (fMode & RTFS_UNIX_IWOTH) ++ m |= S_IWOTH; ++ if (fMode & RTFS_UNIX_IXOTH) ++ m |= S_IXOTH; ++ if (fMode & RTFS_UNIX_ISUID) ++ m |= S_ISUID; ++ if (fMode & RTFS_UNIX_ISGID) ++ m |= S_ISGID; ++ if (fMode & RTFS_UNIX_ISTXT) ++ m |= S_ISVTX; ++ *mode = m; ++} ++ ++static void ++sfprov_ftime_from_timespec(struct timespec *time, RTTIMESPEC *ts) ++{ ++ uint64_t nanosec = RTTimeSpecGetNano(ts); ++ time->tv_sec = nanosec / UINT64_C(1000000000); ++ time->tv_nsec = nanosec % UINT64_C(1000000000); ++} ++ ++static void ++sfprov_stat_from_info(sffs_stat_t *stat, SHFLFSOBJINFO *info) ++{ ++ sfprov_mode_from_fmode(&stat->sf_mode, info->Attr.fMode); ++ stat->sf_size = info->cbObject; ++ stat->sf_alloc = info->cbAllocated; ++ sfprov_ftime_from_timespec(&stat->sf_atime, &info->AccessTime); ++ sfprov_ftime_from_timespec(&stat->sf_mtime, &info->ModificationTime); ++ sfprov_ftime_from_timespec(&stat->sf_ctime, &info->ChangeTime); ++} ++ ++/* ++ * File operations: open/close/read/write/etc. ++ * ++ * open/create can return any relevant errno, however ENOENT ++ * generally means that the host file didn't exist. ++ */ ++int ++sfprov_create( ++ sfp_mount_t *mnt, ++ char *path, ++ mode_t mode, ++ sffs_stat_t *stat) ++{ ++ int rc; ++ SHFLCREATEPARMS parms; ++ SHFLSTRING *str; ++ int size; ++ sfp_file_t *newfp; ++ ++ str = sfprov_string(path, &size); ++ parms.Handle = SHFL_HANDLE_NIL; ++ parms.Info.cbObject = 0; ++ sfprov_fmode_from_mode(&parms.Info.Attr.fMode, mode); ++ parms.CreateFlags = SHFL_CF_ACT_CREATE_IF_NEW | ++ SHFL_CF_ACT_REPLACE_IF_EXISTS | SHFL_CF_ACCESS_READWRITE; ++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms); ++ free(str, M_VBOXVFS); ++ ++ if (RT_FAILURE(rc)) ++ return (sfprov_vbox2errno(rc)); ++ if (parms.Handle == SHFL_HANDLE_NIL) { ++ if (parms.Result == SHFL_FILE_EXISTS) ++ return (EEXIST); ++ return (ENOENT); ++ } ++ (void)VbglR0SfClose(&vbox_client, &mnt->map, parms.Handle); ++ sfprov_stat_from_info(stat, &parms.Info); ++ return (0); ++} ++ ++int ++sfprov_open(sfp_mount_t *mnt, char *path, sfp_file_t **fp) ++{ ++ int rc; ++ SHFLCREATEPARMS parms; ++ SHFLSTRING *str; ++ int size; ++ sfp_file_t *newfp; ++ ++ /* ++ * First we attempt to open it read/write. If that fails we ++ * try read only. ++ */ ++ bzero(&parms, sizeof(parms)); ++ str = sfprov_string(path, &size); ++ parms.Handle = SHFL_HANDLE_NIL; ++ parms.Info.cbObject = 0; ++ parms.CreateFlags = SHFL_CF_ACT_FAIL_IF_NEW | SHFL_CF_ACCESS_READWRITE; ++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms); ++ if (RT_FAILURE(rc) && rc != VERR_ACCESS_DENIED) { ++ free(str, M_VBOXVFS); ++ return (sfprov_vbox2errno(rc)); ++ } ++ if (parms.Handle == SHFL_HANDLE_NIL) { ++ if (parms.Result == SHFL_PATH_NOT_FOUND || ++ parms.Result == SHFL_FILE_NOT_FOUND) { ++ free(str, M_VBOXVFS); ++ return (ENOENT); ++ } ++ parms.CreateFlags = ++ SHFL_CF_ACT_FAIL_IF_NEW | SHFL_CF_ACCESS_READ; ++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms); ++ if (RT_FAILURE(rc)) { ++ free(str, M_VBOXVFS); ++ return (sfprov_vbox2errno(rc)); ++ } ++ if (parms.Handle == SHFL_HANDLE_NIL) { ++ free(str, M_VBOXVFS); ++ return (ENOENT); ++ } ++ } ++ else ++ free(str, M_VBOXVFS); ++ newfp = malloc(sizeof(sfp_file_t), M_VBOXVFS, M_WAITOK | M_ZERO); ++ newfp->handle = parms.Handle; ++ newfp->map = mnt->map; ++ *fp = newfp; ++ return (0); ++} ++ ++int ++sfprov_trunc(sfp_mount_t *mnt, char *path) ++{ ++ int rc; ++ SHFLCREATEPARMS parms; ++ SHFLSTRING *str; ++ int size; ++ ++ /* ++ * open it read/write. ++ */ ++ str = sfprov_string(path, &size); ++ parms.Handle = 0; ++ parms.Info.cbObject = 0; ++ parms.CreateFlags = SHFL_CF_ACT_FAIL_IF_NEW | SHFL_CF_ACCESS_READWRITE | ++ SHFL_CF_ACT_OVERWRITE_IF_EXISTS; ++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms); ++ free(str, M_VBOXVFS); ++ ++ if (RT_FAILURE(rc)) { ++ return (sfprov_vbox2errno(rc)); ++ } ++ (void)VbglR0SfClose(&vbox_client, &mnt->map, parms.Handle); ++ return (0); ++} ++ ++int ++sfprov_close(sfp_file_t *fp) ++{ ++ int rc; ++ ++ rc = VbglR0SfClose(&vbox_client, &fp->map, fp->handle); ++ free(fp, M_VBOXVFS); ++ return (0); ++} ++ ++int ++sfprov_read(sfp_file_t *fp, char *buffer, uint64_t offset, uint32_t *numbytes, ++ int buflocked) ++{ ++ int rc; ++ ++ rc = VbglR0SfRead(&vbox_client, &fp->map, fp->handle, offset, ++ numbytes, (uint8_t *)buffer, buflocked); ++ if (RT_FAILURE(rc)) ++ return (sfprov_vbox2errno(rc)); ++ return (0); ++} ++ ++int ++sfprov_write(sfp_file_t *fp, char *buffer, uint64_t offset, uint32_t *numbytes, ++ int buflocked) ++{ ++ int rc; ++ ++ rc = VbglR0SfWrite(&vbox_client, &fp->map, fp->handle, offset, ++ numbytes, (uint8_t *)buffer, buflocked); ++ if (RT_FAILURE(rc)) ++ return (sfprov_vbox2errno(rc)); ++ return (0); ++} ++ ++int ++sfprov_fsync(sfp_file_t *fp) ++{ ++ int rc; ++ ++ rc = VbglR0SfFlush(&vbox_client, &fp->map, fp->handle); ++ if (RT_FAILURE(rc)) ++ return (sfprov_vbox2errno(rc)); ++ return (0); ++} ++ ++ ++static int ++sfprov_getinfo(sfp_mount_t *mnt, char *path, PSHFLFSOBJINFO info) ++{ ++ int rc; ++ SHFLCREATEPARMS parms; ++ SHFLSTRING *str; ++ int size; ++ ++ str = sfprov_string(path, &size); ++ parms.Handle = 0; ++ parms.Info.cbObject = 0; ++ parms.CreateFlags = SHFL_CF_LOOKUP | SHFL_CF_ACT_FAIL_IF_NEW; ++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms); ++ free(str, M_VBOXVFS); ++ ++ if (RT_FAILURE(rc)) ++ return (sfprov_vbox2errno(rc)); ++ if (parms.Result != SHFL_FILE_EXISTS) ++ return (ENOENT); ++ *info = parms.Info; ++ return (0); ++} ++ ++/* ++ * get information about a file (or directory) ++ */ ++int ++sfprov_get_mode(sfp_mount_t *mnt, char *path, mode_t *mode) ++{ ++ int rc; ++ SHFLFSOBJINFO info; ++ ++ rc = sfprov_getinfo(mnt, path, &info); ++ if (rc) ++ return (rc); ++ sfprov_mode_from_fmode(mode, info.Attr.fMode); ++ return (0); ++} ++ ++int ++sfprov_get_size(sfp_mount_t *mnt, char *path, uint64_t *size) ++{ ++ int rc; ++ SHFLFSOBJINFO info; ++ ++ rc = sfprov_getinfo(mnt, path, &info); ++ if (rc) ++ return (rc); ++ *size = info.cbObject; ++ return (0); ++} ++ ++ ++int ++sfprov_get_atime(sfp_mount_t *mnt, char *path, struct timespec *time) ++{ ++ int rc; ++ SHFLFSOBJINFO info; ++ ++ rc = sfprov_getinfo(mnt, path, &info); ++ if (rc) ++ return (rc); ++ sfprov_ftime_from_timespec(time, &info.AccessTime); ++ return (0); ++} ++ ++int ++sfprov_get_mtime(sfp_mount_t *mnt, char *path, struct timespec *time) ++{ ++ int rc; ++ SHFLFSOBJINFO info; ++ ++ rc = sfprov_getinfo(mnt, path, &info); ++ if (rc) ++ return (rc); ++ sfprov_ftime_from_timespec(time, &info.ModificationTime); ++ return (0); ++} ++ ++int ++sfprov_get_ctime(sfp_mount_t *mnt, char *path, struct timespec *time) ++{ ++ int rc; ++ SHFLFSOBJINFO info; ++ ++ rc = sfprov_getinfo(mnt, path, &info); ++ if (rc) ++ return (rc); ++ sfprov_ftime_from_timespec(time, &info.ChangeTime); ++ return (0); ++} ++ ++int ++sfprov_get_attr(sfp_mount_t *mnt, char *path, sffs_stat_t *attr) ++{ ++ int rc; ++ SHFLFSOBJINFO info; ++ ++ rc = sfprov_getinfo(mnt, path, &info); ++ if (rc) ++ return (rc); ++ sfprov_stat_from_info(attr, &info); ++ return (0); ++} ++ ++static void ++sfprov_timespec_from_ftime(RTTIMESPEC *ts, struct timespec time) ++{ ++ uint64_t nanosec = UINT64_C(1000000000) * time.tv_sec + time.tv_nsec; ++ RTTimeSpecSetNano(ts, nanosec); ++} ++ ++int ++sfprov_set_attr( ++ sfp_mount_t *mnt, ++ char *path, ++ mode_t mode, ++ struct timespec atime, ++ struct timespec mtime, ++ struct timespec ctime) ++{ ++ int rc, err; ++ SHFLCREATEPARMS parms; ++ SHFLSTRING *str; ++ SHFLFSOBJINFO info; ++ uint32_t bytes; ++ int str_size; ++ ++ str = sfprov_string(path, &str_size); ++ parms.Handle = 0; ++ parms.Info.cbObject = 0; ++ parms.CreateFlags = SHFL_CF_ACT_OPEN_IF_EXISTS ++ | SHFL_CF_ACT_FAIL_IF_NEW ++ | SHFL_CF_ACCESS_ATTR_WRITE; ++ ++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms); ++ ++ if (RT_FAILURE(rc)) { ++ printf("sfprov_set_attr: VbglR0SfCreate(%s) failed rc=%d\n", ++ path, rc); ++ err = sfprov_vbox2errno(rc); ++ goto fail2; ++ } ++ if (parms.Result != SHFL_FILE_EXISTS) { ++ err = ENOENT; ++ goto fail1; ++ } ++ ++ RT_ZERO(info); ++#if 0 ++ if (mask & AT_MODE) ++ sfprov_fmode_from_mode(&info.Attr.fMode, mode); ++ if (mask & AT_ATIME) ++ sfprov_timespec_from_ftime(&info.AccessTime, atime); ++ if (mask & AT_MTIME) ++ sfprov_timespec_from_ftime(&info.ModificationTime, mtime); ++ if (mask & AT_CTIME) ++ sfprov_timespec_from_ftime(&info.ChangeTime, ctime); ++#endif ++ bytes = sizeof(info); ++ rc = VbglR0SfFsInfo(&vbox_client, &mnt->map, parms.Handle, ++ (SHFL_INFO_SET | SHFL_INFO_FILE), &bytes, (SHFLDIRINFO *)&info); ++ if (RT_FAILURE(rc)) { ++ if (rc != VERR_ACCESS_DENIED && rc != VERR_WRITE_PROTECT) ++ { ++ printf("sfprov_set_attr: VbglR0SfFsInfo(%s, FILE) failed rc=%d\n", ++ path, rc); ++ } ++ err = sfprov_vbox2errno(rc); ++ goto fail1; ++ } ++ ++ err = 0; ++ ++fail1: ++ rc = VbglR0SfClose(&vbox_client, &mnt->map, parms.Handle); ++ if (RT_FAILURE(rc)) { ++ printf("sfprov_set_attr: VbglR0SfClose(%s) failed rc=%d\n", ++ path, rc); ++ } ++fail2: ++ free(str, M_VBOXVFS); ++ return err; ++} ++ ++int ++sfprov_set_size(sfp_mount_t *mnt, char *path, uint64_t size) ++{ ++ int rc, err; ++ SHFLCREATEPARMS parms; ++ SHFLSTRING *str; ++ SHFLFSOBJINFO info; ++ uint32_t bytes; ++ int str_size; ++ ++ str = sfprov_string(path, &str_size); ++ parms.Handle = 0; ++ parms.Info.cbObject = 0; ++ parms.CreateFlags = SHFL_CF_ACT_OPEN_IF_EXISTS ++ | SHFL_CF_ACT_FAIL_IF_NEW ++ | SHFL_CF_ACCESS_WRITE; ++ ++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms); ++ ++ if (RT_FAILURE(rc)) { ++ printf("sfprov_set_size: VbglR0SfCreate(%s) failed rc=%d\n", ++ path, rc); ++ err = sfprov_vbox2errno(rc); ++ goto fail2; ++ } ++ if (parms.Result != SHFL_FILE_EXISTS) { ++ err = ENOENT; ++ goto fail1; ++ } ++ ++ RT_ZERO(info); ++ info.cbObject = size; ++ bytes = sizeof(info); ++ rc = VbglR0SfFsInfo(&vbox_client, &mnt->map, parms.Handle, ++ (SHFL_INFO_SET | SHFL_INFO_SIZE), &bytes, (SHFLDIRINFO *)&info); ++ if (RT_FAILURE(rc)) { ++ printf("sfprov_set_size: VbglR0SfFsInfo(%s, SIZE) failed rc=%d\n", ++ path, rc); ++ err = sfprov_vbox2errno(rc); ++ goto fail1; ++ } ++ ++ err = 0; ++ ++fail1: ++ rc = VbglR0SfClose(&vbox_client, &mnt->map, parms.Handle); ++ if (RT_FAILURE(rc)) { ++ printf("sfprov_set_size: VbglR0SfClose(%s) failed rc=%d\n", ++ path, rc); ++ } ++fail2: ++ free(str, M_VBOXVFS); ++ return err; ++} ++ ++/* ++ * Directory operations ++ */ ++int ++sfprov_mkdir( ++ sfp_mount_t *mnt, ++ char *path, ++ mode_t mode, ++ sffs_stat_t *stat) ++{ ++ int rc; ++ SHFLCREATEPARMS parms; ++ SHFLSTRING *str; ++ int size; ++ ++ str = sfprov_string(path, &size); ++ parms.Handle = SHFL_HANDLE_NIL; ++ parms.Info.cbObject = 0; ++ sfprov_fmode_from_mode(&parms.Info.Attr.fMode, mode); ++ parms.CreateFlags = SHFL_CF_DIRECTORY | SHFL_CF_ACT_CREATE_IF_NEW | ++ SHFL_CF_ACT_FAIL_IF_EXISTS | SHFL_CF_ACCESS_READ; ++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms); ++ free(str, M_VBOXVFS); ++ ++ if (RT_FAILURE(rc)) ++ return (sfprov_vbox2errno(rc)); ++ if (parms.Handle == SHFL_HANDLE_NIL) { ++ if (parms.Result == SHFL_FILE_EXISTS) ++ return (EEXIST); ++ return (ENOENT); ++ } ++ (void)VbglR0SfClose(&vbox_client, &mnt->map, parms.Handle); ++ sfprov_stat_from_info(stat, &parms.Info); ++ return (0); ++} ++ ++int ++sfprov_set_show_symlinks(void) ++{ ++ int rc; ++ ++ rc = VbglR0SfSetSymlinks(&vbox_client); ++ if (RT_FAILURE(rc)) ++ return (sfprov_vbox2errno(rc)); ++ ++ return (0); ++} ++ ++int ++sfprov_remove(sfp_mount_t *mnt, char *path, u_int is_link) ++{ ++ int rc; ++ SHFLSTRING *str; ++ int size; ++ ++ str = sfprov_string(path, &size); ++ rc = VbglR0SfRemove(&vbox_client, &mnt->map, str, ++ SHFL_REMOVE_FILE | (is_link ? SHFL_REMOVE_SYMLINK : 0)); ++ free(str, M_VBOXVFS); ++ if (RT_FAILURE(rc)) ++ return (sfprov_vbox2errno(rc)); ++ return (0); ++} ++ ++int ++sfprov_readlink( ++ sfp_mount_t *mnt, ++ char *path, ++ char *target, ++ size_t tgt_size) ++{ ++ int rc; ++ SHFLSTRING *str; ++ int size; ++ ++ str = sfprov_string(path, &size); ++ ++ rc = VbglR0SfReadLink(&vbox_client, &mnt->map, str, (uint32_t) tgt_size, ++ target); ++ if (RT_FAILURE(rc)) ++ rc = sfprov_vbox2errno(rc); ++ ++ free(str, M_VBOXVFS); ++ return (rc); ++} ++ ++int ++sfprov_symlink( ++ sfp_mount_t *mnt, ++ char *linkname, ++ char *target, ++ sffs_stat_t *stat) ++{ ++ int rc; ++ SHFLSTRING *lnk, *tgt; ++ int lnk_size, tgt_size; ++ SHFLFSOBJINFO info; ++ ++ lnk = sfprov_string(linkname, &lnk_size); ++ tgt = sfprov_string(target, &tgt_size); ++ ++ rc = VbglR0SfSymlink(&vbox_client, &mnt->map, lnk, tgt, &info); ++ if (RT_FAILURE(rc)) { ++ rc = sfprov_vbox2errno(rc); ++ goto done; ++ } ++ ++ if (stat != NULL) ++ sfprov_stat_from_info(stat, &info); ++ ++done: ++ free(lnk, M_VBOXVFS); ++ free(tgt, M_VBOXVFS); ++ ++ return (rc); ++} ++ ++int ++sfprov_rmdir(sfp_mount_t *mnt, char *path) ++{ ++ int rc; ++ SHFLSTRING *str; ++ int size; ++ ++ str = sfprov_string(path, &size); ++ rc = VbglR0SfRemove(&vbox_client, &mnt->map, str, SHFL_REMOVE_DIR); ++ free(str, M_VBOXVFS); ++ if (RT_FAILURE(rc)) ++ return (sfprov_vbox2errno(rc)); ++ return (0); ++} ++ ++int ++sfprov_rename(sfp_mount_t *mnt, char *from, char *to, u_int is_dir) ++{ ++ int rc; ++ SHFLSTRING *old, *new; ++ int old_size, new_size; ++ ++ old = sfprov_string(from, &old_size); ++ new = sfprov_string(to, &new_size); ++ rc = VbglR0SfRename(&vbox_client, &mnt->map, old, new, ++ (is_dir ? SHFL_RENAME_DIR : SHFL_RENAME_FILE) | ++ SHFL_RENAME_REPLACE_IF_EXISTS); ++ free(old, M_VBOXVFS); ++ free(new, M_VBOXVFS); ++ if (RT_FAILURE(rc)) ++ return (sfprov_vbox2errno(rc)); ++ return (0); ++} ++ ++/* ++ * Read all filenames in a directory. ++ * ++ * - success - all entries read and returned ++ * - ENOENT - Couldn't open the directory for reading ++ * - EINVAL - Internal error of some kind ++ * ++ * On successful return, *dirents points to a list of sffs_dirents_t; ++ * for each dirent, all fields except the d_ino will be set appropriately. ++ * The caller is responsible for freeing the dirents buffer. ++ */ ++int ++sfprov_readdir( ++ sfp_mount_t *mnt, ++ char *path, ++ sffs_dirents_t **dirents) ++{ ++ int error; ++ char *cp; ++ int len; ++ SHFLSTRING *mask_str = NULL; /* must be path with "/" appended */ ++ int mask_size; ++ sfp_file_t *fp; ++ uint32_t infobuff_alloc = 16384; ++ SHFLDIRINFO *infobuff = NULL, *info; ++ uint32_t numbytes; ++ uint32_t nents; ++ uint32_t size; ++ off_t offset; ++ sffs_dirents_t *cur_buf; ++ struct sffs_dirent *dirent; ++ unsigned short reclen; ++ unsigned short entlen; ++ ++ *dirents = NULL; ++ ++ error = sfprov_open(mnt, path, &fp); ++ if (error != 0) ++ return (ENOENT); ++ ++ /* ++ * Allocate the first dirents buffers. ++ */ ++ *dirents = malloc(SFFS_DIRENTS_SIZE, M_VBOXVFS, M_WAITOK | M_ZERO); ++ if (*dirents == NULL) { ++ error = (ENOSPC); ++ goto done; ++ } ++ cur_buf = *dirents; ++ cur_buf->sf_next = NULL; ++ cur_buf->sf_len = 0; ++ ++ /* ++ * Create mask that VBox expects. This needs to be the directory path, ++ * plus a "*" wildcard to get all files. ++ */ ++ len = strlen(path) + 3; ++ cp = malloc(len, M_VBOXVFS, M_WAITOK | M_ZERO); ++ if (cp == NULL) { ++ error = (ENOSPC); ++ goto done; ++ } ++ strcpy(cp, path); ++ strcat(cp, "/*"); ++ mask_str = sfprov_string(cp, &mask_size); ++ free(cp, M_VBOXVFS); ++ ++ /* ++ * Now loop using VbglR0SfDirInfo ++ */ ++ infobuff = malloc(infobuff_alloc, M_VBOXVFS, M_WAITOK | M_ZERO); ++ if (infobuff == NULL) { ++ error = (ENOSPC); ++ goto done; ++ } ++ ++ offset = 0; ++ for (;;) { ++ numbytes = infobuff_alloc; ++ error = VbglR0SfDirInfo(&vbox_client, &fp->map, fp->handle, ++ mask_str, 0, 0, &numbytes, infobuff, &nents); ++ ++ switch (error) { ++ case VINF_SUCCESS: ++ /* fallthrough */ ++ case VERR_NO_MORE_FILES: ++ break; ++ case VERR_NO_TRANSLATION: ++ /* XXX ??? */ ++ break; ++ default: ++ error = sfprov_vbox2errno(error); ++ goto done; ++ } ++ ++ /* ++ * Create the dirent_t's and save the stats for each name ++ */ ++ for (info = infobuff; (char *) info < (char *) infobuff + numbytes; nents--) { ++ size_t buflen; ++ ++ /* expand buffers if we need more space */ ++ reclen = DIRENT_RECLEN(strlen(info->name.String.utf8)); ++ entlen = sizeof(struct sffs_dirent) + reclen; ++ buflen = SFFS_DIRENTS_OFF + cur_buf->sf_len + entlen; ++ if (buflen > SFFS_DIRENTS_SIZE) { ++ cur_buf->sf_next = malloc(SFFS_DIRENTS_SIZE, ++ M_VBOXVFS, M_WAITOK | M_ZERO); ++ if (cur_buf->sf_next == NULL) { ++ error = ENOSPC; ++ goto done; ++ } ++ cur_buf = cur_buf->sf_next; ++ cur_buf->sf_next = NULL; ++ cur_buf->sf_len = 0; ++ } ++ ++ /* create the dirent with the name, offset, and len */ ++ dirent = (struct sffs_dirent *) ++ (((char *) &cur_buf->sf_entries[0]) + cur_buf->sf_len); ++ strncpy(&dirent->sf_entry.d_name[0], ++ info->name.String.utf8, DIRENT_NAMELEN(reclen)); ++ dirent->sf_entry.d_reclen = reclen; ++ dirent->sf_entry.d_namlen = strlen(info->name.String.utf8); ++ dirent->sf_entry.d_name[dirent->sf_entry.d_namlen] = 0; ++ offset += entlen; ++ dirent->sf_off = offset; ++ ++ /* save the stats */ ++ sfprov_stat_from_info(&dirent->sf_stat, &info->Info); ++ ++ /* next info */ ++ cur_buf->sf_len += entlen; ++ size = offsetof (SHFLDIRINFO, name.String) + info->name.u16Size; ++ info = (SHFLDIRINFO *) ((uintptr_t) info + size); ++ } ++ KASSERT(nents == 0, ("nents != 0")); ++ KASSERT((char *) info == (char *) infobuff + numbytes, "(char *) info != (char *) infobuff + numbytes"); ++ ++ if (error == VERR_NO_MORE_FILES) ++ break; ++ } ++ error = 0; ++ ++done: ++ if (error != 0) { ++ while (*dirents) { ++ cur_buf = (*dirents)->sf_next; ++ free(*dirents, M_VBOXVFS); ++ *dirents = cur_buf; ++ } ++ } ++ if (infobuff != NULL) ++ free(infobuff, M_VBOXVFS); ++ if (mask_str != NULL) ++ free(mask_str, M_VBOXVFS); ++ sfprov_close(fp); ++ ++ return (error); ++} diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vfsops.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vfsops.c new file mode 100644 index 000000000000..8fa76bdf2b8a --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vfsops.c @@ -0,0 +1,645 @@ +--- src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vfsops.c.orig 2021-04-28 16:24:46 UTC ++++ src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vfsops.c +@@ -1,8 +1,3 @@ +-/* $Id: vboxvfs_vfsops.c $ */ +-/** @file +- * Description. +- */ +- + /* + * Copyright (C) 2008-2020 Oracle Corporation + * +@@ -14,245 +9,478 @@ + * VirtualBox OSE distribution. VirtualBox OSE is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. + */ +- +-#include "vboxvfs.h" ++#include <sys/types.h> + #include <sys/param.h> + #include <sys/systm.h> + #include <sys/proc.h> + #include <sys/bio.h> + #include <sys/buf.h> ++#include <sys/conf.h> ++#include <sys/dirent.h> + #include <sys/kernel.h> + #include <sys/sysctl.h> + #include <sys/vnode.h> + #include <sys/mount.h> ++#include <sys/namei.h> ++#include <sys/fcntl.h> ++#include <sys/priv.h> + #include <sys/stat.h> + #include <sys/malloc.h> + #include <sys/module.h> ++#include <sys/sbuf.h> + +-#include <iprt/mem.h> ++#include <geom/geom.h> ++#include <geom/geom_vfs.h> +- ++#include <vm/uma.h> ++#include "vboxvfs.h" ++ + #define VFSMP2SFGLOBINFO(mp) ((struct sf_glob_info *)mp->mnt_data) + +-static int vboxvfs_version = VBOXVFS_VERSION; ++#ifdef MALLOC_DECLARE ++MALLOC_DEFINE(M_VBOXVFS, "vboxvfs", "VBOX VFS"); ++#endif + +-SYSCTL_NODE(_vfs, OID_AUTO, vboxvfs, CTLFLAG_RW, 0, "VirtualBox shared filesystem"); +-SYSCTL_INT(_vfs_vboxvfs, OID_AUTO, version, CTLFLAG_RD, &vboxvfs_version, 0, ""); ++static sfp_connection_t *sfprov = NULL; + +-/* global connection to the host service. */ +-static VBGLSFCLIENT g_vboxSFClient; ++static int vboxfs_version = VBOXVFS_VERSION; ++u_int vboxvfs_debug = 1; + +-static vfs_init_t vboxvfs_init; +-static vfs_uninit_t vboxvfs_uninit; +-static vfs_cmount_t vboxvfs_cmount; +-static vfs_mount_t vboxvfs_mount; +-static vfs_root_t vboxvfs_root; +-static vfs_quotactl_t vboxvfs_quotactl; +-static vfs_statfs_t vboxvfs_statfs; +-static vfs_unmount_t vboxvfs_unmount; ++SYSCTL_NODE(_vfs, OID_AUTO, vboxfs, CTLFLAG_RW, 0, "VirtualBox shared filesystem"); ++SYSCTL_INT(_vfs_vboxfs, OID_AUTO, version, CTLFLAG_RD, &vboxfs_version, 0, ""); ++SYSCTL_UINT(_vfs_vboxfs, OID_AUTO, debug, CTLFLAG_RW, &vboxvfs_debug, 0, "Debug level"); + +-static struct vfsops vboxvfs_vfsops = { +- .vfs_init = vboxvfs_init, +- .vfs_cmount = vboxvfs_cmount, +- .vfs_mount = vboxvfs_mount, +- .vfs_quotactl = vboxvfs_quotactl, +- .vfs_root = vboxvfs_root, +- .vfs_statfs = vboxvfs_statfs, +- .vfs_sync = vfs_stdsync, +- .vfs_uninit = vboxvfs_uninit, +- .vfs_unmount = vboxvfs_unmount, ++static vfs_init_t vboxfs_init; ++static vfs_uninit_t vboxfs_uninit; ++static vfs_cmount_t vboxfs_cmount; ++static vfs_mount_t vboxfs_mount; ++static vfs_root_t vboxfs_root; ++static vfs_quotactl_t vboxfs_quotactl; ++static vfs_statfs_t vboxfs_statfs; ++static vfs_unmount_t vboxfs_unmount; ++ ++static struct vfsops vboxfs_vfsops = { ++ .vfs_init = vboxfs_init, ++ .vfs_cmount = vboxfs_cmount, ++ .vfs_mount = vboxfs_mount, ++ .vfs_quotactl = vboxfs_quotactl, ++ .vfs_root = vboxfs_root, ++ .vfs_statfs = vboxfs_statfs, ++ .vfs_sync = vfs_stdsync, ++ .vfs_uninit = vboxfs_uninit, ++ .vfs_unmount = vboxfs_unmount + }; + + +-VFS_SET(vboxvfs_vfsops, vboxvfs, VFCF_NETWORK); ++VFS_SET(vboxfs_vfsops, vboxvfs, VFCF_NETWORK); + MODULE_DEPEND(vboxvfs, vboxguest, 1, 1, 1); + +-static int vboxvfs_cmount(struct mntarg *ma, void * data, int flags, struct thread *td) ++/* ++ * Allocates a new node of type 'type' inside the 'tmp' mount point, with ++ * its owner set to 'uid', its group to 'gid' and its mode set to 'mode', ++ * using the credentials of the process 'p'. ++ * ++ * If the node type is set to 'VDIR', then the parent parameter must point ++ * to the parent directory of the node being created. It may only be NULL ++ * while allocating the root node. ++ * ++ * If the node type is set to 'VBLK' or 'VCHR', then the rdev parameter ++ * specifies the device the node represents. ++ * ++ * If the node type is set to 'VLNK', then the parameter target specifies ++ * the file name of the target file for the symbolic link that is being ++ * created. ++ * ++ * Note that new nodes are retrieved from the available list if it has ++ * items or, if it is empty, from the node pool as long as there is enough ++ * space to create them. ++ * ++ * Returns zero on success or an appropriate error code on failure. ++ */ ++int ++vboxfs_alloc_node(struct mount *mp, struct vboxfs_mnt *vsfmp, const char *fullpath, ++ enum_vtype_t type, uid_t uid, gid_t gid, mode_t mode, struct vboxfs_node *parent, ++ struct vboxfs_node **node) + { +- struct vboxvfs_mount_info args; +- int rc = 0; ++ struct vboxfs_node *nnode; + +- printf("%s: Enter\n", __FUNCTION__); ++ if ((mp->mnt_kern_flag & MNTK_UNMOUNT) != 0) { ++ /* ++ * When a new tmpfs node is created for fully ++ * constructed mount point, there must be a parent ++ * node, which vnode is locked exclusively. As ++ * consequence, if the unmount is executing in ++ * parallel, vflush() cannot reclaim the parent vnode. ++ * Due to this, the check for MNTK_UNMOUNT flag is not ++ * racy: if we did not see MNTK_UNMOUNT flag, then tmp ++ * cannot be destroyed until node construction is ++ * finished and the parent vnode unlocked. ++ * ++ * Tmpfs does not need to instantiate new nodes during ++ * unmount. ++ */ ++ return (EBUSY); ++ } + +- rc = copyin(data, &args, sizeof(struct vboxvfs_mount_info)); +- if (rc) +- return rc; ++ nnode = (struct vboxfs_node *)uma_zalloc_arg( ++ vsfmp->sf_node_pool, vsfmp, M_WAITOK); + +- ma = mount_argf(ma, "uid", "%d", args.uid); +- ma = mount_argf(ma, "gid", "%d", args.gid); +- ma = mount_arg(ma, "from", args.name, -1); ++ /* Generic initialization. */ ++ nnode->sf_type = type; ++ nnode->sf_ino = vsfmp->sf_ino++; ++ nnode->sf_path = strdup(fullpath, M_VBOXVFS); ++ nnode->sf_parent = parent; ++ nnode->vboxfsmp = vsfmp; + +- rc = kernel_mount(ma, flags); ++ /* Type-specific initialization. */ ++ switch (nnode->sf_type) { ++ case VBLK: ++ case VCHR: ++ case VDIR: ++ case VFIFO: ++ case VSOCK: ++ case VLNK: ++ case VREG: ++ break; + +- printf("%s: Leave rc=%d\n", __FUNCTION__, rc); ++ default: ++ panic("vboxfs_alloc_node: type %p %d", nnode, (int)nnode->sf_type); ++ } + +- return rc; ++ *node = nnode; ++ return 0; + } + +-static const char *vboxvfs_opts[] = { +- "uid", "gid", "from", "fstype", "fspath", "errmsg", NULL +-}; +- +-static int vboxvfs_mount(struct mount *mp, struct thread *td) ++void ++vboxfs_free_node(struct vboxfs_mnt *vboxfs, struct vboxfs_node *node) + { +- int rc; +- char *pszShare; +- int cbShare, cbOption; +- int uid = 0, gid = 0; +- struct sf_glob_info *pShFlGlobalInfo; +- SHFLSTRING *pShFlShareName = NULL; +- int cbShFlShareName; + +- printf("%s: Enter\n", __FUNCTION__); ++#ifdef INVARIANTS ++ TMPFS_NODE_LOCK(node); ++ MPASS(node->sf_vnode == NULL); ++ MPASS((node->sf_vpstate & TMPFS_VNODE_ALLOCATING) == 0); ++ TMPFS_NODE_UNLOCK(node); ++#endif ++ if (node->sf_path) ++ free(node->sf_path, M_VBOXVFS); + +- if (mp->mnt_flag & (MNT_UPDATE | MNT_ROOTFS)) +- return EOPNOTSUPP; ++ uma_zfree(vboxfs->sf_node_pool, node); ++} + +- if (vfs_filteropt(mp->mnt_optnew, vboxvfs_opts)) +- { +- vfs_mount_error(mp, "%s", "Invalid option"); +- return EINVAL; +- } ++static int ++vboxfs_cmount(struct mntarg *ma, void *data, uint64_t flags) ++{ ++ struct vboxfs_mount_info args; ++ int error = 0; + +- rc = vfs_getopt(mp->mnt_optnew, "from", (void **)&pszShare, &cbShare); +- if (rc || pszShare[cbShare-1] != '\0' || cbShare > 0xfffe) +- return EINVAL; ++ if (data == NULL) ++ return (EINVAL); ++ error = copyin(data, &args, sizeof(struct vboxfs_mount_info)); ++ if (error) ++ return (error); + +- rc = vfs_getopt(mp->mnt_optnew, "gid", (void **)&gid, &cbOption); +- if ((rc != ENOENT) && (rc || cbOption != sizeof(gid))) +- return EINVAL; ++ ma = mount_argf(ma, "uid", "%d", args.uid); ++ ma = mount_argf(ma, "gid", "%d", args.gid); ++ ma = mount_argf(ma, "file_mode", "%d", args.fmode); ++ ma = mount_argf(ma, "dir_mode", "%d", args.dmode); ++ ma = mount_arg(ma, "from", args.name, -1); + +- rc = vfs_getopt(mp->mnt_optnew, "uid", (void **)&uid, &cbOption); +- if ((rc != ENOENT) && (rc || cbOption != sizeof(uid))) +- return EINVAL; ++ return (kernel_mount(ma, flags)); ++} + +- pShFlGlobalInfo = RTMemAllocZ(sizeof(struct sf_glob_info)); +- if (!pShFlGlobalInfo) +- return ENOMEM; ++static const char *vboxfs_opts[] = { ++ "fstype", ++ "fspath", ++ "from", ++ "uid", ++ "gid", ++ "file_mode", ++ "dir_mode", ++ "errmsg", ++ NULL ++}; + +- cbShFlShareName = offsetof (SHFLSTRING, String.utf8) + cbShare + 1; +- pShFlShareName = RTMemAllocZ(cbShFlShareName); +- if (!pShFlShareName) +- return VERR_NO_MEMORY; ++#define VBOX_INTOPT(optname, val, base) do { \ ++ char *ep, *optarg = NULL; \ ++ if (vfs_getopt(opts, optname, (void **)&optarg, NULL) == 0) { \ ++ if (optarg != NULL && *optarg == '\0') \ ++ optarg = NULL; \ ++ if (optarg != NULL) \ ++ val = strtoul(optarg, &ep, base); \ ++ if (optarg == NULL || *ep != '\0') { \ ++ struct sbuf *sb = sbuf_new_auto(); \ ++ sbuf_printf(sb, "Invalid %s: \"%s\"", optname, \ ++ optarg); \ ++ sbuf_finish(sb); \ ++ vfs_mount_error(mp, sbuf_data(sb)); \ ++ sbuf_delete(sb); \ ++ return (EINVAL); \ ++ } \ ++ } \ ++} while (0) + +- pShFlShareName->u16Length = cbShare; +- pShFlShareName->u16Size = cbShare + 1; +- memcpy (pShFlShareName->String.utf8, pszShare, cbShare + 1); ++static int ++vboxfs_node_ctor(void *mem, int size, void *arg, int flags) ++{ ++ struct vboxfs_node *node = (struct vboxfs_node *)mem; + +- rc = VbglR0SfMapFolder (&g_vboxSFClient, pShFlShareName, &pShFlGlobalInfo->map); +- RTMemFree(pShFlShareName); ++ node->sf_vnode = NULL; ++ node->sf_vpstate = 0; + +- if (RT_FAILURE (rc)) +- { +- RTMemFree(pShFlGlobalInfo); +- printf("VbglR0SfMapFolder failed rc=%d\n", rc); +- return EPROTO; +- } ++ return (0); ++} + +- pShFlGlobalInfo->uid = uid; +- pShFlGlobalInfo->gid = gid; ++static void ++vboxfs_node_dtor(void *mem, int size, void *arg) ++{ ++ struct vboxfs_node *node = (struct vboxfs_node *)mem; ++ node->sf_type = VNON; ++} + +- mp->mnt_data = pShFlGlobalInfo; ++static int ++vboxfs_node_init(void *mem, int size, int flags) ++{ ++ struct vboxfs_node *node = (struct vboxfs_node *)mem; ++ node->sf_ino = 0; + +- /** @todo root vnode. */ ++ mtx_init(&node->sf_interlock, "tmpfs node interlock", NULL, MTX_DEF); + +- vfs_getnewfsid(mp); +- vfs_mountedfrom(mp, pszShare); ++ return (0); ++} + +- printf("%s: Leave rc=0\n", __FUNCTION__); ++static void ++vboxfs_node_fini(void *mem, int size) ++{ ++ struct vboxfs_node *node = (struct vboxfs_node *)mem; + +- return 0; ++ mtx_destroy(&node->sf_interlock); + } + +-static int vboxvfs_unmount(struct mount *mp, int mntflags, struct thread *td) ++static int ++vboxfs_mount(struct mount *mp) + { +- struct sf_glob_info *pShFlGlobalInfo = VFSMP2SFGLOBINFO(mp); +- int rc; +- int flags = 0; ++ struct vboxfs_mnt *vboxfsmp = NULL; ++ struct vfsoptlist *opts = mp->mnt_optnew; ++ sfp_mount_t *handle = NULL; ++ int readonly = 0; ++ sffs_fsinfo_t fsinfo; ++ int error, share_len; ++ char *share_name; ++ mode_t file_mode = 0, dir_mode = 0; ++ uid_t uid = 0; ++ gid_t gid = 0; ++ struct vboxfs_node *root; + +- rc = VbglR0SfUnmapFolder(&g_vboxSFClient, &pShFlGlobalInfo->map); +- if (RT_FAILURE(rc)) +- printf("Failed to unmap shared folder\n"); ++ if (mp->mnt_flag & (MNT_UPDATE | MNT_ROOTFS)) ++ return (EOPNOTSUPP); + +- if (mntflags & MNT_FORCE) +- flags |= FORCECLOSE; ++ if (vfs_filteropt(opts, vboxfs_opts)) { ++ vfs_mount_error(mp, "%s", "Invalid option"); ++ return (EINVAL); ++ } + +- /* There is 1 extra root vnode reference (vnode_root). */ +- rc = vflush(mp, 1, flags, td); +- if (rc) +- return rc; ++ VBOX_INTOPT("uid", uid, 10); ++ VBOX_INTOPT("gid", gid, 10); ++ VBOX_INTOPT("file_mode", file_mode, 8); ++ VBOX_INTOPT("dir_mode", dir_mode, 8); ++ VBOX_INTOPT("ro", readonly, 10); + ++ error = vfs_getopt(opts, "from", (void **)&share_name, &share_len); ++ if (error != 0 || share_len == 0) { ++ vfs_mount_error(mp, "Invalid from"); ++ return (EINVAL); ++ } + +- RTMemFree(pShFlGlobalInfo); +- mp->mnt_data = NULL; ++ vboxfsmp = malloc(sizeof(struct vboxfs_mnt), M_VBOXVFS, M_WAITOK | M_ZERO); ++ vboxfsmp->sf_uid = uid; ++ vboxfsmp->sf_gid = gid; ++ vboxfsmp->sf_fmode = file_mode & (S_IRWXU | S_IRWXG | S_IRWXO); ++ vboxfsmp->sf_dmode = dir_mode & (S_IRWXU | S_IRWXG | S_IRWXO); ++ vboxfsmp->sf_ino = 3; ++ vboxfsmp->sf_stat_ttl = 200; + +- return 0; ++ /* Invoke Hypervisor mount interface before proceeding */ ++ error = sfprov_mount(share_name, &handle); ++ if (error) ++ return (error); ++ ++ /* Determine whether the filesystem must be read-only. */ ++ error = sfprov_get_fsinfo(handle, &fsinfo); ++ if (error != 0) { ++ sfprov_unmount(handle); ++ return (error); ++ } ++ if (readonly == 0) ++ readonly = (fsinfo.readonly != 0); ++ ++ vboxfsmp->sf_handle = handle; ++ vboxfsmp->sf_vfsp = mp; ++ ++ vboxfsmp->sf_node_pool = uma_zcreate("VBOXFS node", ++ sizeof(struct vboxfs_node), ++ vboxfs_node_ctor, vboxfs_node_dtor, ++ vboxfs_node_init, vboxfs_node_fini, ++ UMA_ALIGN_PTR, 0); ++ ++ /* Allocate the root node. */ ++ error = vboxfs_alloc_node(mp, vboxfsmp, "", VDIR, 0, ++ 0, 0755, NULL, &root); ++ ++ if (error != 0 || root == NULL) { ++ uma_zdestroy(vboxfsmp->sf_node_pool); ++ free(vboxfsmp, M_VBOXVFS); ++ return error; ++ } ++ ++ root->sf_parent = root; ++ vboxfsmp->sf_root = root; ++ ++ MNT_ILOCK(mp); ++ mp->mnt_data = vboxfsmp; ++ mp->mnt_stat.f_fsid.val[0] = fsinfo.serial; ++ mp->mnt_stat.f_fsid.val[1] = 0; ++ mp->mnt_flag |= MNT_LOCAL; ++ if (readonly != 0) ++ mp->mnt_flag |= MNT_RDONLY; ++ ++ mp->mnt_kern_flag |= MNTK_LOOKUP_SHARED | MNTK_EXTENDED_SHARED; ++ MNT_IUNLOCK(mp); ++ vfs_mountedfrom(mp, share_name); ++ ++ return (0); + } + +-static int vboxvfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td) ++/* ++ * Unmount a shared folder. ++ * ++ * vboxfs_unmount umounts the mounted file system. It return 0 ++ * on sucess and any relevant errno on failure. ++ */ ++static int ++vboxfs_unmount(struct mount *mp, int mntflags) + { +- int rc = 0; +- struct sf_glob_info *pShFlGlobalInfo = VFSMP2SFGLOBINFO(mp); +- struct vnode *vp; ++ struct vboxfs_mnt *vboxfsmp; ++ struct thread *td; ++ int error; ++ int flags; + +- printf("%s: Enter\n", __FUNCTION__); ++ vboxfsmp = VFSTOVBOXFS(mp); ++ td = curthread; ++ flags = 0; ++ if (mntflags & MNT_FORCE) ++ flags |= FORCECLOSE; + +- vp = pShFlGlobalInfo->vnode_root; +- VREF(vp); ++ error = vflush(mp, 0, flags, td); ++ if (error) ++ return (error); + +- vn_lock(vp, flags | LK_RETRY, td); +- *vpp = vp; ++ /* Invoke Hypervisor unmount interface before proceeding */ ++ error = sfprov_unmount(vboxfsmp->sf_handle); ++ if (error != 0) { ++ /* TBD anything here? */ ++ } + +- printf("%s: Leave\n", __FUNCTION__); ++ uma_zdestroy(vboxfsmp->sf_node_pool); + +- return rc; ++ free(vboxfsmp, M_VBOXVFS); ++ MNT_ILOCK(mp); ++ mp->mnt_data = NULL; ++ mp->mnt_flag &= ~MNT_LOCAL; ++ MNT_IUNLOCK(mp); ++ ++ return (0); + } + +-static int vboxvfs_quotactl(struct mount *mp, int cmd, uid_t uid, void *arg, struct thread *td) ++static int ++vboxfs_root(struct mount *mp, int flags, struct vnode **vpp) + { +- return EOPNOTSUPP; ++ int error; ++ error = vboxfs_alloc_vp(mp, VFSTOVBOXFS(mp)->sf_root, flags, vpp); ++ ++ if (!error) ++ (*vpp)->v_vflag |= VV_ROOT; ++ ++ return error; + } + +-int vboxvfs_init(struct vfsconf *vfsp) ++/* ++ * Do operation associated with quotas, not supported ++ */ ++static int ++vboxfs_quotactl(struct mount *mp, int cmd, uid_t uid, void *arg ++#if __FreeBSD_version >= 1400018 ++ , bool *mp_busy ++#endif ++ ) + { +- int rc; ++ return (EOPNOTSUPP); ++} + +- /* Initialize the R0 guest library. */ +- rc = VbglR0SfInit(); +- if (RT_FAILURE(rc)) +- return ENXIO; ++/* ++ * Initialize the filesystem globals. ++ */ ++static int ++vboxfs_init(struct vfsconf *vfsp) ++{ ++ int error; + +- /* Connect to the host service. */ +- rc = VbglR0SfConnect(&g_vboxSFClient); +- if (RT_FAILURE(rc)) +- { +- printf("Failed to get connection to host! rc=%d\n", rc); +- VbglR0SfTerm(); +- return ENXIO; +- } ++ DROP_GIANT(); + +- rc = VbglR0SfSetUtf8(&g_vboxSFClient); +- if (RT_FAILURE (rc)) +- { +- printf("VbglR0SfSetUtf8 failed, rc=%d\n", rc); +- VbglR0SfDisconnect(&g_vboxSFClient); +- VbglR0SfTerm(); +- return EPROTO; +- } ++ sfprov = sfprov_connect(SFPROV_VERSION); ++ if (sfprov == NULL) { ++ printf("%s: couldn't connect to sf provider", __func__); ++ return (ENODEV); ++ } + +- printf("Successfully loaded shared folder module\n"); ++ error = sfprov_set_show_symlinks(); ++ if (error != 0) ++ printf("%s: host unable to show symlinks, error=%d\n", ++ __func__, error); + +- return 0; ++ PICKUP_GIANT(); ++ return (0); + } + +-int vboxvfs_uninit(struct vfsconf *vfsp) ++/* ++ * Undo the work of vboxfs_init(). ++ */ ++static int ++vboxfs_uninit(struct vfsconf *vfsp) + { +- VbglR0SfDisconnect(&g_vboxSFClient); +- VbglR0SfTerm(); + +- return 0; ++ DROP_GIANT(); ++ sfprov_disconnect(); ++ PICKUP_GIANT(); ++ return (0); + } + +-int vboxvfs_statfs(struct mount *mp, struct statfs *sbp, struct thread *td) ++/* ++ * Get filesystem statistics. ++ */ ++static int ++vboxfs_statfs(struct mount *mp, struct statfs *sbp) + { +- return 0; ++ struct vboxfs_mnt *vboxfsmp; ++ sffs_fsinfo_t fsinfo; ++ int error; ++ ++ vboxfsmp = VFSTOVBOXFS(mp); ++ ++ error = sfprov_get_fsinfo(vboxfsmp->sf_handle, &fsinfo); ++ if (error != 0) ++ return (error); ++ ++ sbp->f_iosize = fsinfo.blksize; ++ sbp->f_bsize = fsinfo.blksize; ++ ++ sbp->f_bfree = fsinfo.blksavail; ++ sbp->f_bavail = fsinfo.blksavail; ++ sbp->f_files = fsinfo.blksavail / 4; /* some kind of reasonable value */ ++ sbp->f_ffree = fsinfo.blksavail / 4; ++ ++ sbp->f_blocks = fsinfo.blksused + sbp->f_bavail; ++ sbp->f_fsid.val[0] = mp->mnt_stat.f_fsid.val[0]; ++ sbp->f_fsid.val[1] = mp->mnt_stat.f_fsid.val[1]; ++ sbp->f_namemax = fsinfo.maxnamesize; ++ ++ return (0); + } diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c new file mode 100644 index 000000000000..edd43c7c03c7 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c @@ -0,0 +1,1543 @@ +--- src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vnops.c.orig 2023-07-12 15:59:35 UTC ++++ src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vnops.c +@@ -14,228 +14,1416 @@ + * VirtualBox OSE distribution. VirtualBox OSE is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. + */ +- +-#include "vboxvfs.h" + #include <sys/param.h> + #include <sys/systm.h> + #include <sys/namei.h> + #include <sys/kernel.h> +-#include <sys/proc.h> ++#include <sys/types.h> ++#include <sys/malloc.h> ++#include <sys/stat.h> + #include <sys/bio.h> ++#include <sys/conf.h> + #include <sys/buf.h> +-#include <sys/fcntl.h> ++#include <sys/iconv.h> + #include <sys/mount.h> +-#include <sys/unistd.h> + #include <sys/vnode.h> +-#include <sys/limits.h> +-#include <sys/lockf.h> +-#include <sys/stat.h> ++#include <sys/dirent.h> ++#include <sys/queue.h> ++#include <sys/unistd.h> ++#include <sys/endian.h> + +-#include <vm/vm.h> +-#include <vm/vm_extern.h> ++#include <vm/uma.h> + ++#include "vboxvfs.h" ++ ++#if __FreeBSD_version < 1300063 ++#define VN_IS_DOOMED(vp) (((vp)->v_iflag & VI_DOOMED) != 0) ++#endif ++ + /* + * Prototypes for VBOXVFS vnode operations + */ +-static vop_create_t vboxvfs_create; +-static vop_mknod_t vboxvfs_mknod; +-static vop_open_t vboxvfs_open; +-static vop_close_t vboxvfs_close; +-static vop_access_t vboxvfs_access; +-static vop_getattr_t vboxvfs_getattr; +-static vop_setattr_t vboxvfs_setattr; +-static vop_read_t vboxvfs_read; +-static vop_write_t vboxvfs_write; +-static vop_fsync_t vboxvfs_fsync; +-static vop_remove_t vboxvfs_remove; +-static vop_link_t vboxvfs_link; +-static vop_lookup_t vboxvfs_lookup; +-static vop_rename_t vboxvfs_rename; +-static vop_mkdir_t vboxvfs_mkdir; +-static vop_rmdir_t vboxvfs_rmdir; +-static vop_symlink_t vboxvfs_symlink; +-static vop_readdir_t vboxvfs_readdir; +-static vop_strategy_t vboxvfs_strategy; +-static vop_print_t vboxvfs_print; +-static vop_pathconf_t vboxvfs_pathconf; +-static vop_advlock_t vboxvfs_advlock; +-static vop_getextattr_t vboxvfs_getextattr; +-static vop_ioctl_t vboxvfs_ioctl; +-static vop_getpages_t vboxvfs_getpages; +-static vop_inactive_t vboxvfs_inactive; +-static vop_putpages_t vboxvfs_putpages; +-static vop_reclaim_t vboxvfs_reclaim; ++static vop_create_t vboxfs_create; ++static vop_open_t vboxfs_open; ++static vop_close_t vboxfs_close; ++static vop_access_t vboxfs_access; ++static vop_getattr_t vboxfs_getattr; ++static vop_setattr_t vboxfs_setattr; ++static vop_read_t vboxfs_read; ++static vop_readlink_t vboxfs_readlink; ++static vop_write_t vboxfs_write; ++static vop_fsync_t vboxfs_fsync; ++static vop_remove_t vboxfs_remove; ++static vop_link_t vboxfs_link; ++static vop_lookup_t vboxfs_lookup; ++static vop_cachedlookup_t vboxfs_cachedlookup; ++static vop_rename_t vboxfs_rename; ++static vop_mkdir_t vboxfs_mkdir; ++static vop_rmdir_t vboxfs_rmdir; ++static vop_symlink_t vboxfs_symlink; ++static vop_readdir_t vboxfs_readdir; ++static vop_print_t vboxfs_print; ++static vop_pathconf_t vboxfs_pathconf; ++static vop_advlock_t vboxfs_advlock; ++static vop_ioctl_t vboxfs_ioctl; ++static vop_inactive_t vboxfs_inactive; ++static vop_reclaim_t vboxfs_reclaim; ++static vop_vptofh_t vboxfs_vptofh; + +-struct vop_vector vboxvfs_vnodeops = { +- .vop_default = &default_vnodeops, ++struct vop_vector vboxfs_vnodeops = { ++ .vop_default = &default_vnodeops, + +- .vop_access = vboxvfs_access, +- .vop_advlock = vboxvfs_advlock, +- .vop_close = vboxvfs_close, +- .vop_create = vboxvfs_create, +- .vop_fsync = vboxvfs_fsync, +- .vop_getattr = vboxvfs_getattr, +- .vop_getextattr = vboxvfs_getextattr, +- .vop_getpages = vboxvfs_getpages, +- .vop_inactive = vboxvfs_inactive, +- .vop_ioctl = vboxvfs_ioctl, +- .vop_link = vboxvfs_link, +- .vop_lookup = vboxvfs_lookup, +- .vop_mkdir = vboxvfs_mkdir, +- .vop_mknod = vboxvfs_mknod, +- .vop_open = vboxvfs_open, +- .vop_pathconf = vboxvfs_pathconf, +- .vop_print = vboxvfs_print, +- .vop_putpages = vboxvfs_putpages, +- .vop_read = vboxvfs_read, +- .vop_readdir = vboxvfs_readdir, +- .vop_reclaim = vboxvfs_reclaim, +- .vop_remove = vboxvfs_remove, +- .vop_rename = vboxvfs_rename, +- .vop_rmdir = vboxvfs_rmdir, +- .vop_setattr = vboxvfs_setattr, +- .vop_strategy = vboxvfs_strategy, +- .vop_symlink = vboxvfs_symlink, +- .vop_write = vboxvfs_write, ++ .vop_access = vboxfs_access, ++ .vop_advlock = VOP_EOPNOTSUPP, ++ .vop_close = vboxfs_close, ++ .vop_create = vboxfs_create, ++ .vop_fsync = vboxfs_fsync, ++ .vop_getattr = vboxfs_getattr, ++ .vop_getextattr = VOP_EOPNOTSUPP, ++ .vop_inactive = vboxfs_inactive, ++ .vop_ioctl = vboxfs_ioctl, ++ .vop_link = vboxfs_link, ++ .vop_lookup = vboxfs_lookup, ++ .vop_cachedlookup = vboxfs_cachedlookup, ++ .vop_mkdir = vboxfs_mkdir, ++ .vop_mknod = VOP_EOPNOTSUPP, ++ .vop_open = vboxfs_open, ++ .vop_pathconf = vboxfs_pathconf, ++ .vop_print = vboxfs_print, ++ .vop_read = vboxfs_read, ++ .vop_readdir = vboxfs_readdir, ++ .vop_readlink = vboxfs_readlink, ++ .vop_reclaim = vboxfs_reclaim, ++ .vop_remove = vboxfs_remove, ++ .vop_rename = vboxfs_rename, ++ .vop_rmdir = vboxfs_rmdir, ++ .vop_setattr = vboxfs_setattr, ++ .vop_vptofh = vboxfs_vptofh, ++ .vop_symlink = vboxfs_symlink, ++ .vop_write = vboxfs_write, ++ .vop_bmap = VOP_EOPNOTSUPP + }; ++#if __FreeBSD_version > 1300068 ++VFS_VOP_VECTOR_REGISTER(vboxfs_vnodeops); ++#endif + +-static int vboxvfs_access(struct vop_access_args *ap) ++static uint64_t ++vsfnode_cur_time_usec(void) + { +- return 0; ++ struct timeval now; ++ ++ getmicrotime(&now); ++ ++ return (now.tv_sec*1000 + now.tv_usec); + } + +-static int vboxvfs_open(struct vop_open_args *ap) ++static int ++vsfnode_stat_cached(struct vboxfs_node *np) + { +- return 0; ++ return (vsfnode_cur_time_usec() - np->sf_stat_time) < ++ np->vboxfsmp->sf_stat_ttl * 1000UL; + } + +-static int vboxvfs_close(struct vop_close_args *ap) ++static int ++vsfnode_update_stat_cache(struct vboxfs_node *np) + { +- return 0; ++ int error; ++ ++ error = sfprov_get_attr(np->vboxfsmp->sf_handle, np->sf_path, ++ &np->sf_stat); ++#if 0 ++ if (error == ENOENT) ++ sfnode_make_stale(node); ++#endif ++ if (error == 0) ++ np->sf_stat_time = vsfnode_cur_time_usec(); ++ ++ return (error); + } + +-static int vboxvfs_getattr(struct vop_getattr_args *ap) ++/* ++ * Need to clear v_object for insmntque failure. ++ */ ++static void ++vboxfs_insmntque_dtr(struct vnode *vp, void *dtr_arg) + { +- return 0; ++ ++ // XXX: vboxfs_destroy_vobject(vp, vp->v_object); ++ vp->v_object = NULL; ++ vp->v_data = NULL; ++ vp->v_op = &dead_vnodeops; ++ vgone(vp); ++ vput(vp); + } + +-static int vboxvfs_setattr(struct vop_setattr_args *ap) ++/* ++ * Allocates a new vnode for the node node or returns a new reference to ++ * an existing one if the node had already a vnode referencing it. The ++ * resulting locked vnode is returned in *vpp. ++ * ++ * Returns zero on success or an appropriate error code on failure. ++ */ ++int ++vboxfs_alloc_vp(struct mount *mp, struct vboxfs_node *node, int lkflag, ++ struct vnode **vpp) + { +- return 0; ++ struct vnode *vp; ++ int error; ++ ++ error = 0; ++loop: ++ VBOXFS_NODE_LOCK(node); ++loop1: ++ if ((vp = node->sf_vnode) != NULL) { ++ MPASS((node->sf_vpstate & VBOXFS_VNODE_DOOMED) == 0); ++ VI_LOCK(vp); ++ if ((node->sf_type == VDIR && node->sf_parent == NULL) || ++ (VN_IS_DOOMED(vp) && ++ (lkflag & LK_NOWAIT) != 0)) { ++ VI_UNLOCK(vp); ++ VBOXFS_NODE_UNLOCK(node); ++ error = ENOENT; ++ vp = NULL; ++ goto out; ++ } ++ if (VN_IS_DOOMED(vp)) { ++ VI_UNLOCK(vp); ++ node->sf_vpstate |= VBOXFS_VNODE_WRECLAIM; ++ while ((node->sf_vpstate & VBOXFS_VNODE_WRECLAIM) != 0) { ++ msleep(&node->sf_vnode, VBOXFS_NODE_MTX(node), ++ 0, "vsfE", 0); ++ } ++ goto loop1; ++ } ++ VBOXFS_NODE_UNLOCK(node); ++#if __FreeBSD_version < 1300109 ++ error = vget(vp, lkflag | LK_INTERLOCK, curthread); ++#else ++ error = vget(vp, lkflag | LK_INTERLOCK); ++#endif ++ if (error == ENOENT) ++ goto loop; ++ if (error != 0) { ++ vp = NULL; ++ goto out; ++ } ++ ++ /* ++ * Make sure the vnode is still there after ++ * getting the interlock to avoid racing a free. ++ */ ++ if (node->sf_vnode == NULL || node->sf_vnode != vp) { ++ vput(vp); ++ goto loop; ++ } ++ ++ goto out; ++ } ++ ++ if ((node->sf_vpstate & VBOXFS_VNODE_DOOMED) || ++ (node->sf_type == VDIR && node->sf_parent == NULL)) { ++ VBOXFS_NODE_UNLOCK(node); ++ error = ENOENT; ++ vp = NULL; ++ goto out; ++ } ++ ++ /* ++ * otherwise lock the vp list while we call getnewvnode ++ * since that can block. ++ */ ++ if (node->sf_vpstate & VBOXFS_VNODE_ALLOCATING) { ++ node->sf_vpstate |= VBOXFS_VNODE_WANT; ++ error = msleep((caddr_t) &node->sf_vpstate, ++ VBOXFS_NODE_MTX(node), PDROP | PCATCH, ++ "vboxfs_alloc_vp", 0); ++ if (error) ++ return error; ++ ++ goto loop; ++ } else ++ node->sf_vpstate |= VBOXFS_VNODE_ALLOCATING; ++ ++ VBOXFS_NODE_UNLOCK(node); ++ ++ /* Get a new vnode and associate it with our node. */ ++ error = getnewvnode("vboxfs", mp, &vboxfs_vnodeops, &vp); ++ if (error != 0) ++ goto unlock; ++ MPASS(vp != NULL); ++ ++ /* lkflag is ignored, the lock is exclusive */ ++ (void) vn_lock(vp, lkflag | LK_RETRY); ++ ++ vp->v_data = node; ++ vp->v_type = node->sf_type; ++ ++ /* Type-specific initialization. */ ++ switch (node->sf_type) { ++ case VBLK: ++ /* FALLTHROUGH */ ++ case VCHR: ++ /* FALLTHROUGH */ ++ case VLNK: ++ /* FALLTHROUGH */ ++ case VSOCK: ++ /* FALLTHROUGH */ ++ case VFIFO: ++ /* FALLTHROUGH */ ++ case VREG: ++ break; ++ case VDIR: ++ MPASS(node->sf_parent != NULL); ++ if (node->sf_parent == node) ++ vp->v_vflag |= VV_ROOT; ++ break; ++ ++ default: ++ panic("vboxfs_alloc_vp: type %p %d", node, (int)node->sf_type); ++ } ++ ++ if (vp->v_type != VFIFO) ++ VN_LOCK_ASHARE(vp); ++ ++#if __FreeBSD_version < 1400051 ++ error = insmntque1(vp, mp, vboxfs_insmntque_dtr, NULL); ++#else ++ error = insmntque(vp, mp); ++#endif ++ if (error) { ++#if __FreeBSD_version >= 1400051 ++ vboxfs_insmntque_dtr(vp, NULL); ++#endif ++ vp = NULL; ++ } ++ ++unlock: ++ VBOXFS_NODE_LOCK(node); ++ ++ MPASS(node->sf_vpstate & VBOXFS_VNODE_ALLOCATING); ++ node->sf_vpstate &= ~VBOXFS_VNODE_ALLOCATING; ++ node->sf_vnode = vp; ++ ++ if (node->sf_vpstate & VBOXFS_VNODE_WANT) { ++ node->sf_vpstate &= ~VBOXFS_VNODE_WANT; ++ VBOXFS_NODE_UNLOCK(node); ++ wakeup((caddr_t) &node->sf_vpstate); ++ } else ++ VBOXFS_NODE_UNLOCK(node); ++ ++out: ++ *vpp = vp; ++ ++#ifdef INVARIANTS ++ if (error == 0) { ++ MPASS(*vpp != NULL && VOP_ISLOCKED(*vpp)); ++ VBOXFS_NODE_LOCK(node); ++ MPASS(*vpp == node->sf_vnode); ++ VBOXFS_NODE_UNLOCK(node); ++ } ++#endif ++ ++ return error; + } + +-static int vboxvfs_read(struct vop_read_args *ap) ++/* ++ * Destroys the association between the vnode vp and the node it ++ * references. ++ */ ++void ++vboxfs_free_vp(struct vnode *vp) + { +- return 0; ++ struct vboxfs_node *node; ++ ++ node = VP_TO_VBOXFS_NODE(vp); ++ ++ VBOXFS_NODE_ASSERT_LOCKED(node); ++ node->sf_vnode = NULL; ++ if ((node->sf_vpstate & VBOXFS_VNODE_WRECLAIM) != 0) ++ wakeup(&node->sf_vnode); ++ node->sf_vpstate &= ~VBOXFS_VNODE_WRECLAIM; ++ vp->v_data = NULL; + } + +-static int vboxvfs_write(struct vop_write_args *ap) ++/* ++ * Allocate new vboxfs_node and vnode for given file ++ */ ++static int ++vboxfs_alloc_file(struct vboxfs_mnt *vboxfsmp, const char *fullpath, ++ enum_vtype_t type, mode_t mode, struct vboxfs_node *parent, ++ int lkflag, struct vnode **vpp) + { +- return 0; ++ int error; ++ struct vboxfs_node *unode; ++ ++ error = vboxfs_alloc_node(vboxfsmp->sf_vfsp, vboxfsmp, fullpath, type, ++ vboxfsmp->sf_uid, vboxfsmp->sf_gid, mode, parent, &unode); ++ ++ if (error) ++ goto out; ++ ++ error = vboxfs_alloc_vp(vboxfsmp->sf_vfsp, unode, lkflag, vpp); ++ if (error) ++ vboxfs_free_node(vboxfsmp, unode); ++ ++out: ++ return (error); + } + +-static int vboxvfs_create(struct vop_create_args *ap) ++static int ++vboxfs_vn_get_ino_alloc(struct mount *mp, void *arg, int lkflags, ++ struct vnode **rvp) + { +- return 0; ++ ++ return (vboxfs_alloc_vp(mp, arg, lkflags, rvp)); + } + +-static int vboxvfs_remove(struct vop_remove_args *ap) ++/* ++ * Construct a new pathname given an sfnode plus an optional tail ++ * component of length len ++ * This handles ".." and "." ++ */ ++static char * ++sfnode_construct_path(struct vboxfs_node *node, char *tail, int len) + { +- return 0; ++ char *p; ++ size_t dstsz; ++ ++ if (len <= 2 && tail[0] == '.' && (len == 1 || tail[1] == '.')) ++ panic("construct path for %s", tail); ++ dstsz = strlen(node->sf_path) + 1 + len + 1; ++ p = malloc(dstsz, M_VBOXVFS, M_WAITOK); ++ strcpy(p, node->sf_path); ++ strcat(p, "/"); ++ strlcat(p, tail, dstsz); ++ return (p); + } + +-static int vboxvfs_rename(struct vop_rename_args *ap) ++static int ++vboxfs_access(struct vop_access_args *ap) + { +- return 0; ++ struct vnode *vp = ap->a_vp; ++ accmode_t accmode = ap->a_accmode; ++ struct vboxfs_node *node; ++ int error; ++ mode_t m; ++ ++ MPASS(VOP_ISLOCKED(vp)); ++ ++ node = VP_TO_VBOXFS_NODE(vp); ++ ++ if ((accmode & VWRITE) && (vp->v_mount->mnt_flag & MNT_RDONLY)) { ++ switch (vp->v_type) { ++ case VDIR: ++ case VLNK: ++ case VREG: ++ return (EROFS); ++ /* NOT REACHED */ ++ default: ++ break; ++ } ++ } ++ ++ if (vsfnode_stat_cached(node)) ++ error = 0; ++ else ++ error = vsfnode_update_stat_cache(node); ++ m = (error == 0) ? node->sf_stat.sf_mode : 0; ++ ++#if __FreeBSD_version < 1300105 ++ return (vaccess(vp->v_type, m, node->vboxfsmp->sf_uid, ++ node->vboxfsmp->sf_gid, accmode, ap->a_cred, NULL)); ++#else ++ return (vaccess(vp->v_type, m, node->vboxfsmp->sf_uid, ++ node->vboxfsmp->sf_gid, accmode, ap->a_cred)); ++#endif + } + +-static int vboxvfs_link(struct vop_link_args *ap) ++/* ++ * Clears the (cached) directory listing for the node. ++ */ ++static void ++vfsnode_clear_dir_list(struct vboxfs_node *np) + { +- return EOPNOTSUPP; ++ while (np->sf_dir_list != NULL) { ++ sffs_dirents_t *next = np->sf_dir_list->sf_next; ++ free(np->sf_dir_list, M_VBOXVFS); ++ np->sf_dir_list = next; ++ } + } + +-static int vboxvfs_symlink(struct vop_symlink_args *ap) ++static int ++vboxfs_get_sfp_file(struct vboxfs_node *np) + { +- return EOPNOTSUPP; ++ sfp_file_t *fp; ++ int error; ++ ++ fp = NULL; ++ VBOXFS_NODE_LOCK(np); ++ for (;;) { ++ if (np->sf_file != NULL) { ++ if (fp != NULL) ++ (void) sfprov_close(fp); ++ np->sf_opencnt++; ++ fp = np->sf_file; ++ break; ++ } else if (fp != NULL) { ++ np->sf_file = fp; ++ KASSERT(np->sf_opencnt == 0, ++ ("np %p opencnt (%d) must be zero.", ++ np, np->sf_opencnt)); ++ np->sf_opencnt = 1; ++ break; ++ } ++ VBOXFS_NODE_UNLOCK(np); ++ error = sfprov_open(np->vboxfsmp->sf_handle, np->sf_path, &fp); ++ if (error != 0) ++ return (error); ++ VBOXFS_NODE_LOCK(np); ++ } ++ VBOXFS_NODE_UNLOCK(np); ++ ++ return (0); + } + +-static int vboxvfs_mknod(struct vop_mknod_args *ap) ++static void ++vboxfs_put_sfp_file(struct vboxfs_node *np) + { +- return EOPNOTSUPP; ++ VBOXFS_NODE_LOCK(np); ++ np->sf_opencnt--; ++ if (np->sf_opencnt == 0) { ++ (void) sfprov_close(np->sf_file); ++ np->sf_file = NULL; ++ } ++ VBOXFS_NODE_UNLOCK(np); + } + +-static int vboxvfs_mkdir(struct vop_mkdir_args *ap) ++static int ++vboxfs_open(struct vop_open_args *ap) + { +- return 0; ++ struct vboxfs_node *np; ++ int error; ++ ++ MPASS(VOP_ISLOCKED(vp)); ++ ++ np = VP_TO_VBOXFS_NODE(ap->a_vp); ++ error = vboxfs_get_sfp_file(np); ++ if (error != 0) ++ goto out; ++ ++ vnode_create_vobject(ap->a_vp, 0, ap->a_td); ++out: ++ MPASS(VOP_ISLOCKED(vp)); ++ ++ return (error); + } + +-static int vboxvfs_rmdir(struct vop_rmdir_args *ap) ++static void ++vfsnode_invalidate_stat_cache(struct vboxfs_node *np) + { +- return 0; ++ np->sf_stat_time = 0; + } + +-static int vboxvfs_readdir(struct vop_readdir_args *ap) ++static int ++vboxfs_close(struct vop_close_args *ap) + { +- return 0; ++ struct vnode *vp = ap->a_vp; ++ struct vboxfs_node *np; ++ ++ np = VP_TO_VBOXFS_NODE(vp); ++ ++ /* ++ * Free the directory entries for the node. We do this on this call ++ * here because the directory node may not become inactive for a long ++ * time after the readdir is over. Case in point, if somebody cd's into ++ * the directory then it won't become inactive until they cd away again. ++ * In such a case we would end up with the directory listing not getting ++ * updated (i.e. the result of 'ls' always being the same) until they ++ * change the working directory. ++ */ ++ vfsnode_clear_dir_list(np); ++ ++ vfsnode_invalidate_stat_cache(np); ++ ++ vboxfs_put_sfp_file(np); ++ ++ return (0); + } + +-static int vboxvfs_fsync(struct vop_fsync_args *ap) ++static int ++vboxfs_getattr(struct vop_getattr_args *ap) + { +- return 0; ++ struct vnode *vp = ap->a_vp; ++ struct vattr *vap = ap->a_vap; ++ struct vboxfs_node *np = VP_TO_VBOXFS_NODE(vp); ++ struct vboxfs_mnt *mp = np->vboxfsmp; ++ mode_t mode; ++ int error = 0; ++ ++ mode = 0; ++ vap->va_type = vp->v_type; ++ ++ vap->va_nlink = 1; /* number of references to file */ ++ vap->va_uid = mp->sf_uid; /* owner user id */ ++ vap->va_gid = mp->sf_gid; /* owner group id */ ++ vap->va_rdev = NODEV; /* device the special file represents */ ++ vap->va_gen = VNOVAL; /* generation number of file */ ++ vap->va_flags = 0; /* flags defined for file */ ++ vap->va_filerev = 0; /* file modification number */ ++ vap->va_vaflags = 0; /* operations flags */ ++ vap->va_fileid = np->sf_ino; /* file id */ ++ vap->va_fsid = vp->v_mount->mnt_stat.f_fsid.val[0]; ++ if (vap->va_fileid == 0) ++ vap->va_fileid = 2; ++ ++ vap->va_atime.tv_sec = VNOVAL; ++ vap->va_atime.tv_nsec = VNOVAL; ++ vap->va_mtime.tv_sec = VNOVAL; ++ vap->va_mtime.tv_nsec = VNOVAL; ++ vap->va_ctime.tv_sec = VNOVAL; ++ vap->va_ctime.tv_nsec = VNOVAL; ++ ++ if (!vsfnode_stat_cached(np)) { ++ error = vsfnode_update_stat_cache(np); ++ if (error != 0) ++ goto done; ++ } ++ ++ vap->va_atime = np->sf_stat.sf_atime; ++ vap->va_mtime = np->sf_stat.sf_mtime; ++ vap->va_ctime = np->sf_stat.sf_ctime; ++ ++ mode = np->sf_stat.sf_mode; ++ ++ vap->va_mode = mode; ++ if (S_ISDIR(mode)) { ++ vap->va_type = VDIR; /* vnode type (for create) */ ++ vap->va_mode = mp->sf_dmode != 0 ? (mp->sf_dmode & 0777) : vap->va_mode; ++ vap->va_mode &= ~mp->sf_dmask; ++ vap->va_mode |= S_IFDIR; ++ } else if (S_ISREG(mode)) { ++ vap->va_type = VREG; ++ vap->va_mode = mp->sf_fmode != 0 ? (mp->sf_fmode & 0777) : vap->va_mode; ++ vap->va_mode &= ~mp->sf_fmask; ++ vap->va_mode |= S_IFREG; ++ } else if (S_ISFIFO(mode)) ++ vap->va_type = VFIFO; ++ else if (S_ISCHR(mode)) ++ vap->va_type = VCHR; ++ else if (S_ISBLK(mode)) ++ vap->va_type = VBLK; ++ else if (S_ISLNK(mode)) { ++ vap->va_type = VLNK; ++ vap->va_mode = mp->sf_fmode != 0 ? (mp->sf_fmode & 0777) : vap->va_mode; ++ vap->va_mode &= ~mp->sf_fmask; ++ vap->va_mode |= S_IFLNK; ++ } else if (S_ISSOCK(mode)) ++ vap->va_type = VSOCK; ++ ++ vap->va_size = np->sf_stat.sf_size; ++ vap->va_blocksize = 512; ++ /* bytes of disk space held by file */ ++ vap->va_bytes = (np->sf_stat.sf_alloc + 511) / 512; ++ ++done: ++ return (error); + } + +-static int vboxvfs_print (struct vop_print_args *ap) ++static int ++vboxfs_setattr(struct vop_setattr_args *ap) + { +- return 0; ++ struct vnode *vp = ap->a_vp; ++ struct vattr *vap = ap->a_vap; ++ struct vboxfs_node *np = VP_TO_VBOXFS_NODE(vp); ++ int error; ++ mode_t mode; ++ ++ mode = vap->va_mode; ++ if (vp->v_type == VREG) ++ mode |= S_IFREG; ++ else if (vp->v_type == VDIR) ++ mode |= S_IFDIR; ++ else if (vp->v_type == VBLK) ++ mode |= S_IFBLK; ++ else if (vp->v_type == VCHR) ++ mode |= S_IFCHR; ++ else if (vp->v_type == VLNK) ++ mode |= S_IFLNK; ++ else if (vp->v_type == VFIFO) ++ mode |= S_IFIFO; ++ else if (vp->v_type == VSOCK) ++ mode |= S_IFSOCK; ++ ++ vfsnode_invalidate_stat_cache(np); ++ ++ error = sfprov_set_attr(np->vboxfsmp->sf_handle, np->sf_path, ++ mode, vap->va_atime, vap->va_mtime, vap->va_ctime); ++#if 0 ++ if (error == ENOENT) ++ sfnode_make_stale(np); ++#endif ++ if (vap->va_size != (u_quad_t)VNOVAL) { ++ switch (vp->v_type) { ++ case VDIR: ++ return (EISDIR); ++ case VLNK: ++ /* FALLTHROUGH */ ++ case VREG: ++ error = sfprov_set_size(np->vboxfsmp->sf_handle, np->sf_path, vap->va_size); ++ break; ++ case VCHR: ++ /* FALLTHROUGH */ ++ case VBLK: ++ /* FALLTHROUGH */ ++ case VSOCK: ++ /* FALLTHROUGH */ ++ case VFIFO: ++ /* FALLTHROUGH */ ++ case VNON: ++ /* FALLTHROUGH */ ++ case VBAD: ++ /* FALLTHROUGH */ ++ case VMARKER: ++ return (0); ++ } ++ } ++ ++ return (error); + } + +-static int vboxvfs_pathconf (struct vop_pathconf_args *ap) ++#define blkoff(vboxfsmp, loc) ((loc) & (vboxfsmp)->bmask) ++ ++static int ++vboxfs_read(struct vop_read_args *ap) + { +- return 0; ++ struct vnode *vp = ap->a_vp; ++ struct uio *uio = ap->a_uio; ++ struct vboxfs_node *np = VP_TO_VBOXFS_NODE(vp); ++ int error = 0; ++ uint32_t bytes; ++ uint32_t done; ++ unsigned long offset; ++ ssize_t total; ++ void *tmpbuf; ++ ++ if (vp->v_type == VDIR) ++ return (EISDIR); ++ ++ if (vp->v_type != VREG) ++ return (EINVAL); ++ ++ if (uio->uio_offset < 0) ++ return (EINVAL); ++ ++ total = uio->uio_resid; ++ if (total == 0) ++ return (0); ++ ++ /* ++ * XXXGONZO: this is just to get things working ++ * should be optimized ++ */ ++ tmpbuf = contigmalloc(PAGE_SIZE, M_DEVBUF, M_WAITOK, 0, ~0, PAGE_SIZE, 0); ++ if (tmpbuf == 0) ++ return (ENOMEM); ++ ++ /* ++ * XXX VOP_READ() is called without VOP_OPEN() on exec case. ++ * We need to ensure the file is opened here. ++ */ ++ error = vboxfs_get_sfp_file(np); ++ if (error != 0) /* Maybe removed on the host. */ ++ return (EIO); ++ do { ++ offset = uio->uio_offset; ++ done = bytes = min(PAGE_SIZE, uio->uio_resid); ++ error = sfprov_read(np->sf_file, tmpbuf, ++ offset, &done, 0); ++ if (error == 0 && done > 0) ++ error = uiomove(tmpbuf, done, uio); ++ } while (error == 0 && uio->uio_resid > 0 && done > 0); ++ vboxfs_put_sfp_file(np); ++ ++ contigfree(tmpbuf, PAGE_SIZE, M_DEVBUF); ++ ++ /* a partial read is never an error */ ++ if (total != uio->uio_resid) ++ error = 0; ++ ++ return (error); + } + +-static int vboxvfs_strategy (struct vop_strategy_args *ap) ++static int ++vboxfs_write(struct vop_write_args *ap) + { +- return 0; ++ struct vnode *vp = ap->a_vp; ++ struct uio *uio = ap->a_uio; ++ struct vboxfs_node *np = VP_TO_VBOXFS_NODE(vp); ++ int error = 0; ++ uint32_t bytes; ++ uint32_t done; ++ unsigned long offset; ++ ssize_t total; ++ void *tmpbuf; ++ ++ if (vp->v_type == VDIR) ++ return (EISDIR); ++ ++ if (vp->v_type != VREG) ++ return (EINVAL); ++ ++ if (uio->uio_offset < 0) ++ return (EINVAL); ++ ++ total = uio->uio_resid; ++ if (total == 0) ++ return (0); ++ ++ /* ++ * XXXGONZO: this is just to get things working ++ * should be optimized ++ */ ++ tmpbuf = contigmalloc(PAGE_SIZE, M_DEVBUF, M_WAITOK, 0, ~0, PAGE_SIZE, 0); ++ if (tmpbuf == 0) ++ return (ENOMEM); ++ ++ do { ++ offset = uio->uio_offset; ++ bytes = min(PAGE_SIZE, uio->uio_resid); ++ error = uiomove(tmpbuf, bytes, uio); ++ if (error != 0) ++ break; ++ done = bytes; ++ error = sfprov_write(np->sf_file, tmpbuf, ++ offset, &done, 0); ++ if (error != 0) ++ break; ++ total -= done; ++ if (done != bytes) ++ uio->uio_resid += bytes - done; ++ } while (error == 0 && uio->uio_resid > 0 && done > 0); ++ ++ contigfree(tmpbuf, PAGE_SIZE, M_DEVBUF); ++ ++ /* a partial write is never an error */ ++ if (total != uio->uio_resid) ++ error = 0; ++ ++ return (error); + } + +-static int vboxvfs_ioctl(struct vop_ioctl_args *ap) ++static int ++vboxfs_create(struct vop_create_args *ap) + { +- return ENOTTY; ++ struct vnode *dvp = ap->a_dvp; ++ struct vnode **vpp = ap->a_vpp; ++ struct componentname *cnp = ap->a_cnp; ++ struct vattr *vap = ap->a_vap; ++ sffs_stat_t stat; ++ char *fullpath = NULL; ++ struct vboxfs_node *dir = VP_TO_VBOXFS_NODE(dvp); ++ int error; ++ struct vboxfs_mnt *vboxfsmp = dir->vboxfsmp; ++ ++ MPASS(vap->va_type == VREG); ++ ++ fullpath = sfnode_construct_path(dir, cnp->cn_nameptr, cnp->cn_namelen); ++ error = sfprov_create(dir->vboxfsmp->sf_handle, fullpath, vap->va_mode, ++ &stat); ++ ++ if (error) ++ goto out; ++ ++ error = vboxfs_alloc_file(vboxfsmp, fullpath, VREG, vap->va_mode, dir, cnp->cn_lkflags, vpp); ++ ++out: ++ if (fullpath) ++ free(fullpath, M_VBOXVFS); ++ ++ if (error == 0) { ++ vfsnode_clear_dir_list(dir); ++ if ((cnp->cn_flags & MAKEENTRY) != 0) ++ cache_enter(dvp, *vpp, cnp); ++ } ++ ++ return (error); + } + +-static int vboxvfs_getextattr(struct vop_getextattr_args *ap) ++static int ++vboxfs_remove(struct vop_remove_args *ap) + { +- return 0; ++ struct vnode *dvp = ap->a_dvp; ++ struct vnode *vp = ap->a_vp; ++ struct vboxfs_node *np, *dir; ++ ++ int error; ++ ++ MPASS(VOP_ISLOCKED(dvp)); ++ MPASS(VOP_ISLOCKED(vp)); ++ ++ error = 0; ++ ++ np = VP_TO_VBOXFS_NODE(vp); ++ dir = VP_TO_VBOXFS_NODE(vp); ++ ++ error = sfprov_remove(np->vboxfsmp->sf_handle, np->sf_path, ++ np->sf_type == VLNK); ++ ++#if 0 ++ if (error == ENOENT || error == 0) ++ sfnode_make_stale(np); ++#endif ++ ++ if (error == 0) ++ vfsnode_clear_dir_list(dir); ++ ++out: ++ return (error); + } + +-static int vboxvfs_advlock(struct vop_advlock_args *ap) ++static int ++vboxfs_rename(struct vop_rename_args *ap) + { +- return 0; ++ struct vnode *fvp; ++ struct vnode *fdvp; ++ struct vnode *tvp; ++ struct vnode *tdvp; ++ struct componentname *fcnp; ++ struct componentname *tcnp; ++ struct vboxfs_node *np; ++ int ret; ++ ++ fvp = ap->a_fvp; ++ fdvp = ap->a_fdvp; ++ tvp = ap->a_tvp; ++ tdvp = ap->a_tdvp; ++ fcnp = ap->a_fcnp; ++ tcnp = ap->a_tcnp; ++ ++ /* Check for cross-device rename */ ++ if ((fvp->v_mount != tdvp->v_mount) || ++ (tvp && (fvp->v_mount != tvp->v_mount))) { ++ ret = EXDEV; ++ goto out; ++ } ++ np = VP_TO_VBOXFS_NODE(fvp); ++ if (np == NULL) ++ return (0); ++ ret = sfprov_rename(np->vboxfsmp->sf_handle, ++ fcnp->cn_nameptr, tcnp->cn_nameptr, fvp->v_type == VDIR); ++out: ++ if (tdvp == tvp) ++ vrele(tdvp); ++ else ++ vput(tdvp); ++ if (tvp) ++ vput(tvp); ++ vrele(fdvp); ++ vrele(fvp); ++ return (ret); + } + +-static int vboxvfs_lookup(struct vop_lookup_args *ap) ++static int ++vboxfs_link(struct vop_link_args *ap) + { +- return 0; ++ return (EOPNOTSUPP); + } + +-static int vboxvfs_inactive(struct vop_inactive_args *ap) ++static int ++vboxfs_symlink(struct vop_symlink_args *ap) + { +- return 0; ++ struct vnode *dvp = ap->a_dvp; ++ struct vnode **vpp = ap->a_vpp; ++ struct componentname *cnp = ap->a_cnp; ++ struct vattr *vap = ap->a_vap; ++ sffs_stat_t stat; ++ char *fullpath = NULL; ++ struct vboxfs_node *dir = VP_TO_VBOXFS_NODE(dvp); ++ int error; ++ struct vboxfs_mnt *vboxfsmp = dir->vboxfsmp; ++ ++ MPASS(vap->va_type == VLNK); ++ ++ fullpath = sfnode_construct_path(dir, cnp->cn_nameptr, cnp->cn_namelen); ++ error = sfprov_symlink(dir->vboxfsmp->sf_handle, fullpath, ap->a_target, &stat); ++ ++ if (error) ++ goto out; ++ ++ error = vboxfs_alloc_file(vboxfsmp, fullpath, VLNK, vap->va_mode, dir, cnp->cn_lkflags, vpp); ++ ++out: ++ if (fullpath) ++ free(fullpath, M_VBOXVFS); ++ ++ if (error == 0) ++ vfsnode_clear_dir_list(dir); ++ ++ return (error); + } + +-static int vboxvfs_reclaim(struct vop_reclaim_args *ap) ++static int ++vboxfs_mkdir(struct vop_mkdir_args *ap) + { +- return 0; ++ struct vnode *dvp = ap->a_dvp; ++ struct vnode **vpp = ap->a_vpp; ++ struct componentname *cnp = ap->a_cnp; ++ struct vattr *vap = ap->a_vap; ++ sffs_stat_t stat; ++ char *fullpath = NULL; ++ struct vboxfs_node *dir = VP_TO_VBOXFS_NODE(dvp); ++ int error; ++ struct vboxfs_mnt *vboxfsmp = dir->vboxfsmp; ++ ++ MPASS(vap->va_type == VDIR); ++ ++ fullpath = sfnode_construct_path(dir, cnp->cn_nameptr, cnp->cn_namelen); ++ error = sfprov_mkdir(dir->vboxfsmp->sf_handle, fullpath, vap->va_mode, ++ &stat); ++ ++ if (error) ++ goto out; ++ ++ error = vboxfs_alloc_file(vboxfsmp, fullpath, VDIR, vap->va_mode, dir, cnp->cn_lkflags, vpp); ++ ++out: ++ if (fullpath) ++ free(fullpath, M_VBOXVFS); ++ ++ if (error == 0) ++ vfsnode_clear_dir_list(dir); ++ ++ return (error); + } + +-static int vboxvfs_getpages(struct vop_getpages_args *ap) ++static int ++vboxfs_rmdir(struct vop_rmdir_args *ap) + { +- return 0; ++ struct vnode *dvp = ap->a_dvp; ++ struct vnode *vp = ap->a_vp; ++ struct vboxfs_node *np, *dir; ++ ++ int error; ++ ++ MPASS(VOP_ISLOCKED(dvp)); ++ MPASS(VOP_ISLOCKED(vp)); ++ ++ error = 0; ++ ++ np = VP_TO_VBOXFS_NODE(vp); ++ dir = VP_TO_VBOXFS_NODE(vp); ++ ++ error = sfprov_rmdir(np->vboxfsmp->sf_handle, np->sf_path); ++ ++#if 0 ++ if (error == ENOENT || error == 0) ++ sfnode_make_stale(np); ++#endif ++ ++ if (error == 0) ++ vfsnode_clear_dir_list(dir); ++ ++out: ++ return (error); + } + +-static int vboxvfs_putpages(struct vop_putpages_args *ap) ++static int ++vboxfs_readdir(struct vop_readdir_args *ap) + { +- return 0; ++ int *eofp = ap->a_eofflag; ++ struct vnode *vp = ap->a_vp; ++ struct uio *uio = ap->a_uio; ++ struct vboxfs_node *dir = VP_TO_VBOXFS_NODE(vp); ++ struct vboxfs_node *node = NULL; ++ struct sffs_dirent *dirent = NULL; ++ sffs_dirents_t *cur_buf; ++ off_t offset = 0; ++ off_t orig_off = uio->uio_offset; ++ int error = 0; ++ int dummy_eof; ++ ++ if (vp->v_type != VDIR) ++ return (ENOTDIR); ++ ++ if (eofp == NULL) ++ eofp = &dummy_eof; ++ *eofp = 0; ++ ++ /* ++ * Get the directory entry names from the host. This gets all ++ * entries. These are stored in a linked list of sffs_dirents_t ++ * buffers, each of which contains a list of dirent64_t's. ++ */ ++ if (dir->sf_dir_list == NULL) { ++ error = sfprov_readdir(dir->vboxfsmp->sf_handle, dir->sf_path, ++ &dir->sf_dir_list); ++ if (error != 0) ++ goto done; ++ } ++ ++ /* ++ * Validate and skip to the desired offset. ++ */ ++ cur_buf = dir->sf_dir_list; ++ offset = 0; ++ ++ while (cur_buf != NULL && offset + cur_buf->sf_len <= uio->uio_offset) { ++ offset += cur_buf->sf_len; ++ cur_buf = cur_buf->sf_next; ++ } ++ ++ if (cur_buf == NULL && offset != uio->uio_offset) { ++ error = EINVAL; ++ goto done; ++ } ++ ++ if (cur_buf != NULL && offset != uio->uio_offset) { ++ off_t off = offset; ++ int step; ++ dirent = &cur_buf->sf_entries[0]; ++ ++ while (off < uio->uio_offset) { ++ if (dirent->sf_off == uio->uio_offset) ++ break; ++ step = sizeof(struct sffs_dirent) + dirent->sf_entry.d_reclen; ++ dirent = (struct sffs_dirent *) (((char *) dirent) + step); ++ off += step; ++ } ++ ++ if (off >= uio->uio_offset) { ++ error = EINVAL; ++ goto done; ++ } ++ } ++ ++ offset = uio->uio_offset - offset; ++ ++ /* ++ * Lookup each of the names, so that we have ino's, and copy to ++ * result buffer. ++ */ ++ while (cur_buf != NULL) { ++ if (offset >= cur_buf->sf_len) { ++ cur_buf = cur_buf->sf_next; ++ offset = 0; ++ continue; ++ } ++ ++ dirent = (struct sffs_dirent *) ++ (((char *) &cur_buf->sf_entries[0]) + offset); ++ if (dirent->sf_entry.d_reclen > uio->uio_resid) ++ break; ++ ++ if (strcmp(dirent->sf_entry.d_name, ".") == 0) { ++ node = dir; ++ } else if (strcmp(dirent->sf_entry.d_name, "..") == 0) { ++ node = dir->sf_parent; ++ if (node == NULL) ++ node = dir; ++ } else { ++#if 0 ++ node = vsfnode_lookup(dir, dirent->sf_entry.d_name, VNON, ++ 0, &dirent->sf_stat, vsfnode_cur_time_usec(), NULL); ++ if (node == NULL) ++ panic("sffs_readdir() lookup failed"); ++#endif ++ } ++ ++ if (node) ++ dirent->sf_entry.d_fileno = node->sf_ino; ++ else ++ dirent->sf_entry.d_fileno = 0xdeadbeef; ++ ++ error = uiomove(&dirent->sf_entry, dirent->sf_entry.d_reclen, uio); ++ if (error != 0) ++ break; ++ ++ uio->uio_offset = dirent->sf_off; ++ offset += sizeof(struct sffs_dirent) + dirent->sf_entry.d_reclen; ++ } ++ ++ if (error == 0 && cur_buf == NULL) ++ *eofp = 1; ++done: ++ if (error != 0) ++ uio->uio_offset = orig_off; ++ return (error); + } + ++static int ++vboxfs_readlink(struct vop_readlink_args *v) ++{ ++ struct vnode *vp = v->a_vp; ++ struct uio *uio = v->a_uio; ++ ++ int error; ++ struct vboxfs_node *np; ++ void *tmpbuf; ++ ++ MPASS(uio->uio_offset == 0); ++ MPASS(vp->v_type == VLNK); ++ ++ np = VP_TO_VBOXFS_NODE(vp); ++ ++ tmpbuf = contigmalloc(MAXPATHLEN, M_DEVBUF, M_WAITOK, 0, ~0, 1, 0); ++ if (tmpbuf == NULL) ++ return (ENOMEM); ++ ++ error = sfprov_readlink(np->vboxfsmp->sf_handle, np->sf_path, tmpbuf, ++ MAXPATHLEN); ++ if (error) ++ goto done; ++ ++ error = uiomove(tmpbuf, strlen(tmpbuf), uio); ++ ++done: ++ if (tmpbuf) ++ contigfree(tmpbuf, MAXPATHLEN, M_DEVBUF); ++ return (error); ++} ++ ++static int ++vboxfs_fsync(struct vop_fsync_args *ap) ++{ ++ struct vnode *vp; ++ struct vboxfs_node *np; ++ int ret; ++ ++ vp = ap->a_vp; ++ np = VP_TO_VBOXFS_NODE(vp); ++ if (np == NULL) ++ return (0); ++ ret = sfprov_fsync(np->sf_file); ++ return (ret); ++} ++ ++static int ++vboxfs_print(struct vop_print_args *ap) ++{ ++ struct vnode *vp = ap->a_vp; ++ struct vboxfs_node *np; ++ ++ np = VP_TO_VBOXFS_NODE(vp); ++ ++ if (np == NULL) { ++ printf("No vboxfs_node data\n"); ++ return (0); ++ } ++ ++ printf("\tpath = %s, parent = %p", np->sf_path, ++ np->sf_parent ? np->sf_parent : NULL); ++ printf("\n"); ++ return (0); ++} ++ ++static int ++vboxfs_pathconf(struct vop_pathconf_args *ap) ++{ ++ register_t *retval = ap->a_retval; ++ int error = 0; ++ ++ switch (ap->a_name) { ++ case _PC_LINK_MAX: ++ *retval = 65535; ++ break; ++ case _PC_NAME_MAX: ++ *retval = NAME_MAX; ++ break; ++ case _PC_PATH_MAX: ++ *retval = PATH_MAX; ++ break; ++ default: ++ error = EINVAL; ++ break; ++ } ++ return (error); ++} ++ ++/* ++ * File specific ioctls. ++ */ ++static int ++vboxfs_ioctl(struct vop_ioctl_args *ap) ++{ ++ return (ENOTTY); ++} ++ ++/* ++ * Lookup an entry in a directory and create a new vnode if found. ++ */ ++static int ++vboxfs_lookup1(struct vnode *dvp, struct vnode **vpp, ++ struct componentname *cnp) ++{ ++ char *nameptr = cnp->cn_nameptr; /* the name of the file or directory */ ++ struct vnode *tdp = NULL; ++ struct vboxfs_node *node = VP_TO_VBOXFS_NODE(dvp); ++ struct vboxfs_mnt *vboxfsmp = node->vboxfsmp; ++ u_long nameiop = cnp->cn_nameiop; ++ u_long flags = cnp->cn_flags; ++ sffs_stat_t stat; ++ //long namelen; ++ ino_t id = 0; ++ int ltype, type, error = 0; ++ int lkflags = cnp->cn_lkflags; ++ char *fullpath = NULL; ++ ++ *vpp = NULLVP; ++ error = ENOENT; ++ if (cnp->cn_flags & ISDOTDOT) { ++ error = vn_vget_ino_gen(dvp, vboxfs_vn_get_ino_alloc, ++ node->sf_parent, cnp->cn_lkflags, vpp); ++ error = ENOENT; ++ if (error != 0) ++ goto out; ++ ++ } else if (cnp->cn_namelen == 1 && cnp->cn_nameptr[0] == '.') { ++ VREF(dvp); ++ *vpp = dvp; ++ error = 0; ++ } else { ++ mode_t m; ++ type = VNON; ++ fullpath = sfnode_construct_path(node, cnp->cn_nameptr, cnp->cn_namelen); ++ error = sfprov_get_attr(node->vboxfsmp->sf_handle, ++ fullpath, &stat); ++ // stat_time = vsfnode_cur_time_usec(); ++ ++ m = stat.sf_mode; ++ if (error != 0) { ++ /* The entry was not found in the directory. ++ * This is OK if we are creating or renaming an ++ * entry and are working on the last component of ++ * the path name. */ ++ if ((cnp->cn_flags & ISLASTCN) && ++ (cnp->cn_nameiop == CREATE || \ ++ cnp->cn_nameiop == RENAME || ++ (cnp->cn_nameiop == DELETE && ++ cnp->cn_flags & DOWHITEOUT && ++ cnp->cn_flags & ISWHITEOUT))) { ++ error = VOP_ACCESS(dvp, VWRITE, cnp->cn_cred, ++#if __FreeBSD_version < 1400037 ++ cnp->cn_thread); ++#else ++ curthread); ++#endif ++ if (error != 0) ++ goto out; ++ ++#if __FreeBSD_version < 1400068 ++ /* Keep the component name in the buffer for ++ * future uses. */ ++ cnp->cn_flags |= SAVENAME; ++#endif ++ ++ error = EJUSTRETURN; ++ } else ++ error = ENOENT; ++ } ++ else { ++ if (S_ISDIR(m)) ++ type = VDIR; ++ else if (S_ISREG(m)) ++ type = VREG; ++ else if (S_ISLNK(m)) ++ type = VLNK; ++ error = vboxfs_alloc_file(vboxfsmp, fullpath, type, 0755, node, cnp->cn_lkflags, vpp); ++ } ++ } ++ ++ if ((cnp->cn_flags & MAKEENTRY) != 0) ++ cache_enter(dvp, *vpp, cnp); ++out: ++ if (fullpath) ++ free(fullpath, M_VBOXVFS); ++ ++ return (error); ++} ++ ++static int ++vboxfs_cachedlookup(struct vop_cachedlookup_args *ap) ++{ ++ return (vboxfs_lookup1(ap->a_dvp, ap->a_vpp, ap->a_cnp)); ++} ++ ++static int ++vboxfs_lookup(struct vop_lookup_args *ap) ++{ ++ struct vnode *dvp = ap->a_dvp; ++ struct componentname *cnp = ap->a_cnp; ++ struct vboxfs_node *np = VP_TO_VBOXFS_NODE(dvp); ++ struct timespec mtime; ++ int flags = cnp->cn_flags; ++ int error; ++ ++ if (dvp->v_type != VDIR) ++ return (ENOTDIR); ++ ++ if ((flags & ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && ++ (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) ++ return (EROFS); ++ ++ error = vn_dir_check_exec(dvp, cnp); ++ if (error != 0) ++ return (error); ++ ++ /* Check if the directory is unmodified on the host. */ ++ mtime = np->sf_stat.sf_mtime; ++ error = vsfnode_update_stat_cache(np); ++ if (error == 0) { ++ if (mtime.tv_sec == np->sf_stat.sf_mtime.tv_sec && ++ mtime.tv_nsec == np->sf_stat.sf_mtime.tv_nsec) ++ return (vfs_cache_lookup(ap)); ++ } ++ ++ cache_purge(dvp); ++ ++ return (vboxfs_lookup1(ap->a_dvp, ap->a_vpp, ap->a_cnp)); ++} ++ ++static int ++vboxfs_inactive(struct vop_inactive_args *ap) ++{ ++ return (0); ++} ++ ++static int ++vboxfs_reclaim(struct vop_reclaim_args *ap) ++{ ++ struct vnode *vp; ++ struct vboxfs_node *node; ++ struct vboxfs_mnt *vboxfsmp; ++ ++ vp = ap->a_vp; ++ node = VP_TO_VBOXFS_NODE(vp); ++ vboxfsmp = node->vboxfsmp; ++ ++ vnode_destroy_vobject(vp); ++ vp->v_object = NULL; ++ cache_purge(vp); ++ ++ VBOXFS_NODE_LOCK(node); ++ VBOXFS_ASSERT_ELOCKED(node); ++ vboxfs_free_vp(vp); ++ ++ /* If the node referenced by this vnode was deleted by the user, ++ * we must free its associated data structures (now that the vnode ++ * is being reclaimed). */ ++ if ((node->sf_vpstate & VBOXFS_VNODE_ALLOCATING) == 0) { ++ node->sf_vpstate = VBOXFS_VNODE_DOOMED; ++ VBOXFS_NODE_UNLOCK(node); ++ vboxfs_free_node(vboxfsmp, node); ++ } else ++ VBOXFS_NODE_UNLOCK(node); ++ ++ MPASS(vp->v_data == NULL); ++ ++ return (0); ++} ++ ++static int ++vboxfs_vptofh(struct vop_vptofh_args *ap) ++{ ++ ++ return (EOPNOTSUPP); ++} diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk new file mode 100644 index 000000000000..afb19c804d7a --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk @@ -0,0 +1,29 @@ +--- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2019-01-25 18:24:30 UTC ++++ src/VBox/Additions/x11/vboxmouse/Makefile.kmk +@@ -227,10 +227,22 @@ endif # neq ($(KBUILD_TARGET),linux) + + + ifdef VBOX_USE_SYSTEM_XORG_HEADERS +- # As vboxmouse_drv is not needed at all for X.Org Server 1.7 and later do not +- # build it in this case. +- DLLS := $(filter-out vboxmouse_drv_%,$(DLLS)) +- SYSMODS := $(filter-out vboxmouse_drv%,$(SYSMODS)) ++ ifeq ($(KBUILD_TARGET),freebsd) ++ DLLS += vboxmouse_drv_system ++ vboxmouse_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD ++ vboxmouse_drv_system_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC ++ vboxmouse_drv_system_INCS := \ ++ /usr/local/include/pixman-1 \ ++ /usr/local/include/xorg \ ++ $(PATH_SUB_CURRENT) ++ vboxmouse_drv_system_SOURCES = \ ++ vboxmouse.c ++ else ++ # As vboxmouse_drv is not needed at all for X.Org Server 1.7 and later do not ++ # build it in this case. ++ DLLS := $(filter-out vboxmouse_drv_%,$(DLLS)) ++ SYSMODS := $(filter-out vboxmouse_drv%,$(SYSMODS)) ++ endif + endif + + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp new file mode 100644 index 000000000000..5ce43e5ce2d0 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp @@ -0,0 +1,20 @@ +--- src/VBox/Devices/Graphics/DevVGA-SVGA.cpp.orig 2025-04-14 17:55:41 UTC ++++ src/VBox/Devices/Graphics/DevVGA-SVGA.cpp +@@ -178,7 +178,7 @@ + # ifdef RT_OS_DARWIN + # include "DevVGA-SVGA3d-cocoa.h" + # endif +-# ifdef RT_OS_LINUX ++# if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + # ifdef IN_RING3 + # include "DevVGA-SVGA3d-glLdr.h" + # endif +@@ -7685,7 +7685,7 @@ static void vmsvgaR3PowerOnDevice(PPDMDEVINS pDevIns, + } + # endif + +-# if defined(VBOX_WITH_VMSVGA3D) && defined(RT_OS_LINUX) ++# if defined(VBOX_WITH_VMSVGA3D) && (defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)) + if (pThis->svga.f3DEnabled) + { + /* The FIFO thread may use X API for accelerated screen output. */ diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp new file mode 100644 index 000000000000..3a0a22e2ef76 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp @@ -0,0 +1,11 @@ +--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp.orig 2025-05-12 17:49:35 UTC ++++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp +@@ -3363,7 +3363,7 @@ static DECLCALLBACK(int) vmsvga3dBackInit(PPDMDEVINS p + RT_NOREF(pDevIns, pThis); + + int rc; +-#ifdef RT_OS_LINUX /** @todo Remove, this is currently needed for loading the X11 library in order to call XInitThreads(). */ ++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) /** @todo Remove, this is currently needed for loading the X11 library in order to call XInitThreads(). */ + rc = glLdrInit(pDevIns); + if (RT_FAILURE(rc)) + { diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp new file mode 100644 index 000000000000..e9ae5d0b71f9 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp @@ -0,0 +1,29 @@ +--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp.orig 2025-04-14 17:55:41 UTC ++++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp +@@ -196,7 +196,7 @@ int glLdrInit(PPDMDEVINS pDevIns) + pfn_wglDeleteContext = 0; + pfn_wglMakeCurrent = 0; + pfn_wglShareLists = 0; +-#elif defined(RT_OS_LINUX) ++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + pfn_XConfigureWindow = 0; + pfn_XCloseDisplay = 0; + pfn_XCreateColormap = 0; +@@ -306,7 +306,7 @@ int glLdrInit(PPDMDEVINS pDevIns) + GLGETPROC_(wglDeleteContext, ""); + GLGETPROC_(wglMakeCurrent, ""); + GLGETPROC_(wglShareLists, ""); +-#elif defined(RT_OS_LINUX) ++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + X11GETPROC_(XConfigureWindow); + X11GETPROC_(XCloseDisplay); + X11GETPROC_(XCreateColormap); +@@ -407,7 +407,7 @@ int glLdrInit(PPDMDEVINS pDevIns) + GLGETPROC_(glVertexPointer, ""); + GLGETPROC_(glViewport, ""); + +-#ifdef RT_OS_LINUX ++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + XInitThreads(); + #endif + return VINF_SUCCESS; diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h new file mode 100644 index 000000000000..52d86f546033 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h @@ -0,0 +1,11 @@ +--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h.orig 2025-04-14 17:55:41 UTC ++++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h +@@ -346,7 +346,7 @@ GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC); + GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC); + #define wglShareLists pfn_wglShareLists + +-#elif defined(RT_OS_LINUX) ++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + /* + * GLX + */ diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp new file mode 100644 index 000000000000..74106db011ff --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp @@ -0,0 +1,56 @@ +--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp.orig 2025-04-14 17:55:42 UTC ++++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp +@@ -1198,7 +1198,7 @@ static DECLCALLBACK(int) vmsvga3dBackTerminate(PVGASTA + RTSemEventDestroy(pState->WndRequestSem); + #elif defined(RT_OS_DARWIN) + +-#elif defined(RT_OS_LINUX) ++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + /* signal to the thread that it is supposed to exit */ + pState->bTerminate = true; + /* wait for it to terminate */ +@@ -3216,7 +3216,7 @@ static DECLCALLBACK(int) vmsvga3dBackGenerateMipmaps(P + } + + +-#ifdef RT_OS_LINUX ++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + /** + * X11 event handling thread. + * +@@ -3246,7 +3246,7 @@ static DECLCALLBACK(int) vmsvga3dXEventThread(RTTHREAD + } + return VINF_SUCCESS; + } +-#endif // RT_OS_LINUX ++#endif // RT_OS_FREEBSD || RT_OS_LINUX + + + /** +@@ -3484,7 +3484,7 @@ int vmsvga3dContextDefineOgl(PVGASTATECC pThisCC, uint + return VINF_SUCCESS; + } + +-#if defined(RT_OS_LINUX) ++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + /* + * HW accelerated graphics output. + */ +@@ -3976,7 +3976,7 @@ static DECLCALLBACK(int) vmsvga3dBackSurfaceBlitToScre + return VINF_SUCCESS; + } + +-#else /* !RT_OS_LINUX */ ++#else /* !RT_OS_FREEBSD && !RT_OS_LINUX */ + + static DECLCALLBACK(int) vmsvga3dBackDefineScreen(PVGASTATE pThis, PVGASTATECC pThisCC, VMSVGASCREENOBJECT *pScreen) + { +@@ -4096,7 +4096,7 @@ static int vmsvga3dContextDestroyOgl(PVGASTATECC pThis + AssertRC(rc); + #elif defined(RT_OS_DARWIN) + vmsvga3dCocoaDestroyViewAndContext(pContext->cocoaView, pContext->cocoaContext); +-#elif defined(RT_OS_LINUX) ++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + glXMakeCurrent(pState->display, None, NULL); + glXDestroyContext(pState->display, pContext->glxContext); + XDestroyWindow(pState->display, pContext->window); diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Makefile.kmk new file mode 100644 index 000000000000..021d004d5a00 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Makefile.kmk @@ -0,0 +1,44 @@ +--- src/VBox/Devices/Makefile.kmk.orig 2024-10-10 20:29:17.000000000 +0200 ++++ src/VBox/Devices/Makefile.kmk 2024-12-27 13:26:17.132294000 +0100 +@@ -132,6 +132,7 @@ + VBoxDDU_LDFLAGS.darwin += -framework IOKit + endif + ++ VBoxDDU_LDFLAGS.freebsd = $(VBOX_GCC_NO_UNDEFINED) + VBoxDDU_LDFLAGS.linux = $(VBOX_GCC_NO_UNDEFINED) + $(call VBOX_SET_VER_INFO_DLL,VBoxDDU,VirtualBox VMM Devices and Drivers Utilities) + +@@ -286,6 +287,7 @@ + -framework SystemConfiguration \ + -framework AVFoundation \ + -framework Foundation ++ VBoxDD_LDFLAGS.freebsd = $(VBOX_GCC_NO_UNDEFINED) + VBoxDD_LDFLAGS.linux = $(VBOX_GCC_NO_UNDEFINED) + + # --- Tracing bits. --- +@@ -331,7 +333,7 @@ + Graphics/DevVGA-SVGA-cmd.cpp + endif + ifdef VBOX_WITH_VMSVGA3D +- if1of ($(KBUILD_TARGET), linux win) ++ if1of ($(KBUILD_TARGET), linux win freebsd) + # Dynamically load 3D library (opengl32, libGL). + # This is a temporary solution. In future the 3D backend will be in a separate library. + VBOX_WITH_VMSVGA3D_DYNAMIC_LOAD = 1 +@@ -390,6 +392,7 @@ + Graphics/DevVGA-SVGA3d-glLdr.cpp + else + VBoxDD_LIBS.linux += X11 GL ++ VBoxDD_LIBS.freebsd += X11 GL + VBoxDD_LIBS.win += $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/Opengl32.lib + endif + VBoxDD_LDFLAGS.darwin += -framework OpenGL +@@ -1701,6 +1704,8 @@ + VBoxSVGA3D_INCS = $(VBOX_GRAPHICS_INCS) + VBoxSVGA3D_INCS.win := \ + Graphics/shaderlib/libWineStub/include ++ VBoxSVGA3D_INCS.freebsd := \ ++ Graphics/shaderlib/wine/include + VBoxSVGA3D_INCS.linux := \ + Graphics/shaderlib/wine/include + VBoxSVGA3D_INCS.darwin := \ diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_PC_ipxe_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_PC_ipxe_Makefile.kmk new file mode 100644 index 000000000000..d59d98da3b83 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_PC_ipxe_Makefile.kmk @@ -0,0 +1,29 @@ +--- src/VBox/Devices/PC/ipxe/Makefile.kmk.orig 2025-01-21 19:56:40.000000000 +0700 ++++ src/VBox/Devices/PC/ipxe/Makefile.kmk 2025-01-23 00:47:50.818978000 +0700 +@@ -45,7 +45,7 @@ + iPxeBiosBin_CLEAN = \ + $(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c \ + +-if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.amd64 darwin.arm64 linux.arm64 os2.x86 solaris.amd64 win.amd64 win.arm64) ++if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.amd64 darwin.arm64 linux.arm64 os2.x86 solaris.amd64 win.amd64 win.arm64 linux.amd64 freebsd.amd64) + $$(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c: $(PATH_SUB_CURRENT)/iPxeBiosBin.rom $(VBOX_BIN2C) | $$(dir $$@) + $(call MSG_TOOL,bin2c,iPxeBiosBin,$<,$@) + $(QUIET)$(VBOX_BIN2C) -min 32 -max 56 -mask 0x1ff -export NetBiosBinary $< $@ +@@ -131,7 +131,7 @@ + -falign-loops=1 \ + -Os \ + -falign-functions=1 \ +- -mpreferred-stack-boundary=2 \ ++ -mstack-alignment=2 \ + -mregparm=3 \ + -mrtd \ + -freg-struct-return \ +@@ -154,7 +154,7 @@ + -falign-jumps=1 \ + -falign-loops=1 \ + -falign-functions=1 \ +- -mpreferred-stack-boundary=2 \ ++ -mstack-alignment=2 \ + -mregparm=3 \ + -mrtd \ + -freg-struct-return \ diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_USB_USBProxyDevice-freebsd.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_USB_USBProxyDevice-freebsd.cpp new file mode 100644 index 000000000000..045e328d5c48 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_USB_USBProxyDevice-freebsd.cpp @@ -0,0 +1,11 @@ +--- src/VBox/Devices/USB/freebsd/USBProxyDevice-freebsd.cpp.orig 2024-01-11 12:23:15 UTC ++++ src/VBox/Devices/USB/freebsd/USBProxyDevice-freebsd.cpp +@@ -57,7 +57,7 @@ + #include "../USBProxyDevice.h" + + /** Maximum endpoints supported. */ +-#define USBFBSD_MAXENDPOINTS 127 ++#define USBFBSD_MAXENDPOINTS 126 + #define USBFBSD_MAXFRAMES 56 + + /** This really needs to be defined in vusb.h! */ diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_ExtPacks_VNC_VBoxVNC.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_ExtPacks_VNC_VBoxVNC.cpp new file mode 100644 index 000000000000..f364e261f40b --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_ExtPacks_VNC_VBoxVNC.cpp @@ -0,0 +1,58 @@ +--- src/VBox/ExtPacks/VNC/VBoxVNC.cpp.orig 2024-01-11 12:24:04 UTC ++++ src/VBox/ExtPacks/VNC/VBoxVNC.cpp +@@ -45,7 +45,7 @@ + + #ifdef LIBVNCSERVER_IPv6 + // enable manually! +-// #define VBOX_USE_IPV6 ++#define VBOX_USE_IPV6 + #endif + + +@@ -421,7 +421,7 @@ DECLCALLBACK(int) VNCServerImpl::VRDEEnableConnections + + // get address + char *pszTCPAddress = (char *)RTMemTmpAllocZ(VNC_ADDRESS_OPTION_MAX); +- rc = instance->mCallbacks->VRDECallbackProperty(instance->mCallback, ++ int rc = instance->mCallbacks->VRDECallbackProperty(instance->mCallback, + VRDE_QP_NETWORK_ADDRESS, + pszTCPAddress, + VNC_ADDRESS_OPTION_MAX, +@@ -582,19 +582,35 @@ DECLCALLBACK(int) VNCServerImpl::VRDEEnableConnections + pszServerAddress6 = szIPv6ListenAll; + } + +- if (pszVNCPort4 && uServerPort4 == 0) ++ if (strlen(pszVNCPort4) > 0 && uServerPort4 == 0) + { + rc = RTStrToUInt32Ex(pszVNCPort4, NULL, 10, &uServerPort4); + if (!RT_SUCCESS(rc) || uServerPort4 > 65535) + uServerPort4 = 0; + } + +- if (pszVNCPort6 && uServerPort6 == 0) ++ if (strlen(pszVNCPort6) > 0 && uServerPort6 == 0) + { + rc = RTStrToUInt32Ex(pszVNCPort6, NULL, 10, &uServerPort6); + if (!RT_SUCCESS(rc) || uServerPort6 > 65535) + uServerPort6 = 0; + } ++ ++/* Backward compatibility with set port in "TCP/Ports" only { */ ++ if (uServerPort4 == 0 && strlen(pszTCPPort) > 0) ++ { ++ rc = RTStrToUInt32Ex(pszTCPPort, NULL, 10, &uServerPort4); ++ if (!RT_SUCCESS(rc) || uServerPort4 > 65535) ++ uServerPort4 = 0; ++ } ++ ++ if (uServerPort6 == 0 && strlen(pszTCPPort) > 0) ++ { ++ rc = RTStrToUInt32Ex(pszTCPPort, NULL, 10, &uServerPort6); ++ if (!RT_SUCCESS(rc) || uServerPort6 > 65535) ++ uServerPort6 = 0; ++ } ++/* } */ + + if (uServerPort4 == 0 || uServerPort6 == 0) + vncServer->autoPort = 1; diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Frontends_VBoxHeadless_VBoxHeadless.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Frontends_VBoxHeadless_VBoxHeadless.cpp new file mode 100644 index 000000000000..ca03e57922b4 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Frontends_VBoxHeadless_VBoxHeadless.cpp @@ -0,0 +1,11 @@ +--- src/VBox/Frontends/VBoxHeadless/VBoxHeadless.cpp.orig 2024-12-26 22:32:13.106542000 +0100 ++++ src/VBox/Frontends/VBoxHeadless/VBoxHeadless.cpp 2024-12-26 22:32:32.805126000 +0100 +@@ -61,7 +61,7 @@ + # include <iprt/process.h> + #endif + +-#if defined(RT_OS_LINUX) || defined(RT_OS_DARWIN) || defined(RT_OS_SOLARIS) ++#if defined(RT_OS_LINUX) || defined(RT_OS_DARWIN) || defined(RT_OS_SOLARIS) || defined(RT_OS_FREEBSD) + # include <cerrno> + #endif + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Frontends_VBoxManage_VBoxManageModifyVM.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Frontends_VBoxManage_VBoxManageModifyVM.cpp new file mode 100644 index 000000000000..fc1639b58302 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Frontends_VBoxManage_VBoxManageModifyVM.cpp @@ -0,0 +1,29 @@ +--- src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp.orig 2022-10-06 19:10:28.000000000 +0200 ++++ src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp 2024-12-26 16:08:30.624183000 +0100 +@@ -170,7 +170,7 @@ + MODIFYVM_UARTMODE, + MODIFYVM_UARTTYPE, + MODIFYVM_UART, +-#if defined(RT_OS_LINUX) || defined(RT_OS_WINDOWS) ++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) || defined(RT_OS_WINDOWS) + MODIFYVM_LPTMODE, + MODIFYVM_LPT, + #endif +@@ -382,7 +382,7 @@ + OPT2("--uart-mode", "--uartmode", MODIFYVM_UARTMODE, RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX), + OPT2("--uart-type", "--uarttype", MODIFYVM_UARTTYPE, RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX), + OPT1("--uart", MODIFYVM_UART, RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX), +-#if defined(RT_OS_LINUX) || defined(RT_OS_WINDOWS) ++#if defined(RT_OS_LINUX) || defined(RT_OS_WINDOWS) || defined(RT_OS_FREEBSD) + OPT2("--lpt-mode", "--lptmode", MODIFYVM_LPTMODE, RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX), + OPT1("--lpt", MODIFYVM_LPT, RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX), + #endif +@@ -2496,7 +2496,7 @@ + break; + } + +-#if defined(RT_OS_LINUX) || defined(RT_OS_WINDOWS) ++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) || defined(RT_OS_WINDOWS) + case MODIFYVM_LPTMODE: + { + ComPtr<IParallelPort> lpt; diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_SUPDrv.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_SUPDrv.cpp new file mode 100644 index 000000000000..4139a88a9929 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_SUPDrv.cpp @@ -0,0 +1,13 @@ +--- src/VBox/HostDrivers/Support/SUPDrv.cpp.orig 2024-12-27 08:34:02.157677000 +0100 ++++ src/VBox/HostDrivers/Support/SUPDrv.cpp 2024-12-27 08:34:25.419134000 +0100 +@@ -317,8 +317,8 @@ + SUPEXP_STK_BACK( 2, SUPR0PageFree), + SUPEXP_STK_BACK( 6, SUPR0PageMapKernel), + SUPEXP_STK_BACK( 6, SUPR0PageProtect), +-#if defined(RT_OS_LINUX) || defined(RT_OS_SOLARIS) || defined(RT_OS_FREEBSD) +- SUPEXP_STK_OKAY( 2, SUPR0HCPhysToVirt), /* only-linux, only-solaris, only-freebsd */ ++#if defined(RT_OS_LINUX) || defined(RT_OS_SOLARIS) ++ SUPEXP_STK_OKAY( 2, SUPR0HCPhysToVirt), /* only-linux, only-solaris */ + #endif + SUPEXP_STK_BACK( 2, SUPR0PrintfV), + SUPEXP_STK_BACK( 1, SUPR0GetSessionGVM), diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_SUPDrvInternal.h b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_SUPDrvInternal.h new file mode 100644 index 000000000000..7376ad6fbddd --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_SUPDrvInternal.h @@ -0,0 +1,11 @@ +--- src/VBox/HostDrivers/Support/SUPDrvInternal.h.orig 2021-01-07 15:41:25 UTC ++++ src/VBox/HostDrivers/Support/SUPDrvInternal.h +@@ -217,7 +217,7 @@ + # define SUPDRV_WITHOUT_MSR_PROBER + #endif + +-#if 1 ++#if 0 + /** @def SUPDRV_USE_TSC_DELTA_THREAD + * Use a dedicated kernel thread to service TSC-delta measurement requests. + * @todo Test on servers with many CPUs and sockets. */ diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_Makefile b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_Makefile new file mode 100644 index 000000000000..a3b6a032b529 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_Makefile @@ -0,0 +1,30 @@ +--- src/VBox/HostDrivers/Support/freebsd/Makefile.orig 2025-01-21 19:58:52.000000000 +0700 ++++ src/VBox/HostDrivers/Support/freebsd/Makefile 2025-03-22 22:28:21.276497000 +0700 +@@ -93,6 +93,7 @@ + assert.c \ + handletable.c \ + handletablectx.c \ ++ handletablesimple.c \ + once.c \ + term.c \ + thread.c +@@ -117,7 +118,8 @@ + strprintf2-ellipsis.c \ + strtonum.c \ + memchr.c \ +- stringalloc.c ++ stringalloc.c \ ++ utf-8.c + + .PATH: ${.CURDIR}/common/rand + SRCS += \ +@@ -163,7 +165,8 @@ + rtStrFormatKernelAddress-generic.c \ + errvars-generic.c \ + mppresent-generic.c \ +- timer-generic.c ++ timer-generic.c \ ++ system-page-size-generic.c + + .PATH: ${.CURDIR}/r0drv + SRCS += \ diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPDrv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPDrv-freebsd.c new file mode 100644 index 000000000000..7faa07739f14 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPDrv-freebsd.c @@ -0,0 +1,234 @@ +--- src/VBox/HostDrivers/Support/freebsd/SUPDrv-freebsd.c.orig 2025-01-21 14:06:14 UTC ++++ src/VBox/HostDrivers/Support/freebsd/SUPDrv-freebsd.c +@@ -44,9 +44,13 @@ + #include <sys/fcntl.h> + #include <sys/conf.h> + #include <sys/uio.h> ++#include <vm/vm.h> + #include <vm/pmap.h> /* for pmap_map() */ ++#include <sys/mutex.h> ++#include <sys/smp.h> /* mp_maxcpus */ + + #include "../SUPDrvInternal.h" ++#include "freebsd/the-freebsd-kernel.h" + #include <VBox/version.h> + #include <iprt/initterm.h> + #include <iprt/string.h> +@@ -58,7 +62,15 @@ + #include <iprt/alloc.h> + #include <iprt/err.h> + #include <iprt/asm.h> ++#include <iprt/x86.h> + ++ ++#ifdef VBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV ++# include <machine/cpufunc.h> ++# include <machine/md_var.h> ++# include <machine/specialreg.h> ++#endif ++ + #ifdef VBOX_WITH_HARDENING + # define VBOXDRV_PERM 0600 + #else +@@ -77,7 +89,9 @@ static d_ioctl_t VBoxDrvFreeBSDIOCtl; + static d_open_t VBoxDrvFreeBSDOpenSys; + static void vboxdrvFreeBSDDtr(void *pvData); + static d_ioctl_t VBoxDrvFreeBSDIOCtl; ++static d_ioctl_t VBoxDrvFreeBSDIOCtlSMAP; + static int VBoxDrvFreeBSDIOCtlSlow(PSUPDRVSESSION pSession, u_long ulCmd, caddr_t pvData, struct thread *pTd); ++static bool VBoxDrvFreeBSDCpuHasSMAP(void); + + + /********************************************************************************************************************************* +@@ -94,7 +108,8 @@ static moduledata_t g_VBoxDrvFreeBSDModule = + }; + + /** Declare the module as a pseudo device. */ +-DECLARE_MODULE(vboxdrv, g_VBoxDrvFreeBSDModule, SI_SUB_PSEUDO, SI_ORDER_ANY); ++#define KERNEL_RELBRANCHEND (roundup(__FreeBSD_version, 500) - 1) ++DECLARE_MODULE_WITH_MAXVER(vboxdrv, g_VBoxDrvFreeBSDModule, SI_SUB_PSEUDO, SI_ORDER_ANY, KERNEL_RELBRANCHEND); + MODULE_VERSION(vboxdrv, 1); + + /** +@@ -141,6 +156,13 @@ static int VBoxDrvFreeBSDModuleEvent(struct module *pM + static int VBoxDrvFreeBSDModuleEvent(struct module *pMod, int enmEventType, void *pvArg) + { + int rc; ++ ++ /* Refuse to load if mp_maxcpus is wrong */ ++ if (MAXCPU != mp_maxcpus) { ++ printf("vboxdrv: MAXCPU != mp_maxcpus (%d != %d)\n", MAXCPU, mp_maxcpus); ++ return EINVAL; ++ } ++ + switch (enmEventType) + { + case MOD_LOAD: +@@ -183,6 +205,13 @@ static int VBoxDrvFreeBSDLoad(void) + rc = supdrvInitDevExt(&g_VBoxDrvFreeBSDDevExt, sizeof(SUPDRVSESSION)); + if (RT_SUCCESS(rc)) + { ++ if (VBoxDrvFreeBSDCpuHasSMAP()) ++ { ++ LogRel(("disabling SMAP for VBoxDrvFreeBSDIOCtl\n")); ++ g_VBoxDrvFreeBSDChrDevSwSys.d_ioctl = VBoxDrvFreeBSDIOCtlSMAP; ++ g_VBoxDrvFreeBSDChrDevSwUsr.d_ioctl = VBoxDrvFreeBSDIOCtlSMAP; ++ } ++ + /* + * Configure character devices. Add symbolic links for compatibility. + */ +@@ -322,7 +351,45 @@ static int VBoxDrvFreeBSDIOCtl(struct cdev *pDev, u_lo + return VBoxDrvFreeBSDIOCtlSlow(pSession, ulCmd, pvData, pTd); + } + ++/** ++ * Alternative Device I/O Control entry point on hosts with SMAP support. ++ * ++ * @returns depends... ++ * @param pDev The device. ++ * @param ulCmd The command. ++ * @param pvData Pointer to the data. ++ * @param fFile The file descriptor flags. ++ * @param pTd The calling thread. ++ */ ++static int VBoxDrvFreeBSDIOCtlSMAP(struct cdev *pDev, u_long ulCmd, caddr_t pvData, int fFile, struct thread *pTd) ++{ ++ /* ++ * Allow VBox R0 code to touch R3 memory. Setting the AC bit disables the ++ * SMAP check. ++ */ ++ RTCCUINTREG fSavedEfl = ASMAddFlags(X86_EFL_AC); + ++ int rc = VBoxDrvFreeBSDIOCtl(pDev, ulCmd, pvData, fFile, pTd); ++ ++#ifdef VBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV ++ /* ++ * Before we restore AC and the rest of EFLAGS, check if the IOCtl handler code ++ * accidentially modified it or some other important flag. ++ */ ++ if (RT_UNLIKELY( (ASMGetFlags() & (X86_EFL_AC | X86_EFL_IF | X86_EFL_DF | X86_EFL_IOPL)) ++ != ((fSavedEfl & (X86_EFL_AC | X86_EFL_IF | X86_EFL_DF | X86_EFL_IOPL)) | X86_EFL_AC) )) ++ { ++ char szTmp[48]; ++ RTStrPrintf(szTmp, sizeof(szTmp), "ulCmd=%#x: %#x->%#x!", ulCmd, (uint32_t)fSavedEfl, (uint32_t)ASMGetFlags()); ++ supdrvBadContext(&g_VBoxDrvFreeBSDDevExt, "SUPDrv-freebsd.c", __LINE__, szTmp); ++ } ++#endif ++ ++ ASMSetFlags(fSavedEfl); ++ return rc; ++} ++ ++ + /** + * Deal with the 'slow' I/O control requests. + * +@@ -372,11 +439,10 @@ static int VBoxDrvFreeBSDIOCtlSlow(PSUPDRVSESSION pSes + */ + SUPREQHDR Hdr; + pvUser = *(void **)pvData; +- int rc = copyin(pvUser, &Hdr, sizeof(Hdr)); +- if (RT_UNLIKELY(rc)) ++ if (RT_FAILURE(RTR0MemUserCopyFrom(&Hdr, (uintptr_t)pvUser, sizeof(Hdr)))) + { +- OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: copyin(%p,Hdr,) -> %#x; ulCmd=%#lx\n", pvUser, rc, ulCmd)); +- return rc; ++ OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: copyin(%p,Hdr,); ulCmd=%#lx\n", pvUser, ulCmd)); ++ return EFAULT; + } + if (RT_UNLIKELY((Hdr.fFlags & SUPREQHDR_FLAGS_MAGIC_MASK) != SUPREQHDR_FLAGS_MAGIC)) + { +@@ -401,13 +467,12 @@ static int VBoxDrvFreeBSDIOCtlSlow(PSUPDRVSESSION pSes + OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: failed to allocate buffer of %d bytes; ulCmd=%#lx\n", cbReq, ulCmd)); + return ENOMEM; + } +- rc = copyin(pvUser, pHdr, Hdr.cbIn); +- if (RT_UNLIKELY(rc)) ++ if (RT_FAILURE(RTR0MemUserCopyFrom(pHdr, (uintptr_t)pvUser, Hdr.cbIn))) + { +- OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: copyin(%p,%p,%#x) -> %#x; ulCmd=%#lx\n", +- pvUser, pHdr, Hdr.cbIn, rc, ulCmd)); ++ OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: copyin(%p,%p,%#x); ulCmd=%#lx\n", ++ pvUser, pHdr, Hdr.cbIn, ulCmd)); + RTMemTmpFree(pHdr); +- return rc; ++ return EFAULT; + } + if (Hdr.cbIn < cbReq) + RT_BZERO((uint8_t *)pHdr + Hdr.cbIn, cbReq - Hdr.cbIn); +@@ -435,9 +500,8 @@ static int VBoxDrvFreeBSDIOCtlSlow(PSUPDRVSESSION pSes + OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: too much output! %#x > %#x; uCmd=%#lx!\n", cbOut, cbReq, ulCmd)); + cbOut = cbReq; + } +- rc = copyout(pHdr, pvUser, cbOut); +- if (RT_UNLIKELY(rc)) +- OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: copyout(%p,%p,%#x) -> %d; uCmd=%#lx!\n", pHdr, pvUser, cbOut, rc, ulCmd)); ++ if (RT_FAILURE(RTR0MemUserCopyTo((uintptr_t)pvUser, pHdr, cbOut))) ++ OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: copyout(%p,%p,%#x); uCmd=%#lx!\n", pHdr, pvUser, cbOut, ulCmd)); + + Log(("VBoxDrvFreeBSDIOCtlSlow: returns %d / %d ulCmd=%lx\n", 0, pHdr->rc, ulCmd)); + +@@ -540,8 +604,7 @@ bool VBOXCALL supdrvOSAreCpusOfflinedOnSuspend(void) + + bool VBOXCALL supdrvOSAreCpusOfflinedOnSuspend(void) + { +- /** @todo verify this. */ +- return false; ++ return true; + } + + +@@ -637,31 +700,44 @@ int VBOXCALL supdrvOSMsrProberModify(RTCPUID idCpu, + #endif /* SUPDRV_WITH_MSR_PROBER */ + + +-#if defined(RT_ARCH_AMD64) || defined(RT_ARCH_ARM64) +-SUPR0DECL(int) SUPR0HCPhysToVirt(RTHCPHYS HCPhys, void **ppv) ++/** ++ * Check if the CPU has SMAP support. ++ */ ++static bool VBoxDrvFreeBSDCpuHasSMAP(void) + { +- AssertReturn(!(HCPhys & PAGE_OFFSET_MASK), VERR_INVALID_POINTER); +- AssertReturn(HCPhys != NIL_RTHCPHYS, VERR_INVALID_POINTER); +- *ppv = (void *)(uintptr_t)pmap_map(NULL, HCPhys, (HCPhys | PAGE_OFFSET_MASK) + 1, VM_PROT_WRITE | VM_PROT_READ); +- return VINF_SUCCESS; +-} ++#ifdef VBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV ++ if ((cpu_stdext_feature & CPUID_STDEXT_SMAP) != 0) ++ return true; + #endif ++ return false; ++} + + + SUPR0DECL(int) SUPR0PrintfV(const char *pszFormat, va_list va) + { + char szMsg[256]; ++ IPRT_FREEBSD_SAVE_EFL_AC(); ++ + RTStrPrintfV(szMsg, sizeof(szMsg), pszFormat, va); + szMsg[sizeof(szMsg) - 1] = '\0'; + + printf("%s", szMsg); ++ ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return 0; + } + + + SUPR0DECL(uint32_t) SUPR0GetKernelFeatures(void) + { +- return 0; ++ uint32_t fFlags = 0; ++#ifdef VBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV ++ if (g_VBoxDrvFreeBSDChrDevSwSys.d_ioctl == VBoxDrvFreeBSDIOCtlSMAP) ++ fFlags |= SUPKERNELFEATURES_SMAP; ++ else ++ Assert(!(ASMGetCR4() & X86_CR4_SMAP)); ++#endif ++ return fFlags; + } + + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPLib-freebsd.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPLib-freebsd.cpp new file mode 100644 index 000000000000..95cbe0e2a32c --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPLib-freebsd.cpp @@ -0,0 +1,11 @@ +--- src/VBox/HostDrivers/Support/freebsd/SUPLib-freebsd.cpp.orig 2024-10-10 20:31:28.000000000 +0200 ++++ src/VBox/HostDrivers/Support/freebsd/SUPLib-freebsd.cpp 2024-11-17 18:27:46.400938000 +0100 +@@ -88,7 +88,7 @@ + /* + * Try open the BSD device. + */ +- const char * const *pszDeviceNm = fFlags & SUPR3INIT_F_UNRESTRICTED ? DEVICE_NAME_SYS : DEVICE_NAME_USR; ++ const char * pszDeviceNm = fFlags & SUPR3INIT_F_UNRESTRICTED ? DEVICE_NAME_SYS : DEVICE_NAME_USR; + int hDevice = open(pszDeviceNm, O_RDWR, 0); + if (hDevice < 0) + { diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_files__vboxdrv b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_files__vboxdrv new file mode 100644 index 000000000000..c5abc9bfadd1 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_files__vboxdrv @@ -0,0 +1,34 @@ +--- src/VBox/HostDrivers/Support/freebsd//files_vboxdrv.orig 2025-01-21 19:58:53.000000000 +0700 ++++ src/VBox/HostDrivers/Support/freebsd//files_vboxdrv 2025-03-17 00:31:16.880317000 +0700 +@@ -71,6 +71,7 @@ + ${PATH_ROOT}/include/iprt/stdarg.h=>include/iprt/stdarg.h \ + ${PATH_ROOT}/include/iprt/stdint.h=>include/iprt/stdint.h \ + ${PATH_ROOT}/include/iprt/string.h=>include/iprt/string.h \ ++ ${PATH_ROOT}/include/iprt/system.h=>include/iprt/system.h \ + ${PATH_ROOT}/include/iprt/thread.h=>include/iprt/thread.h \ + ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ + ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ +@@ -133,6 +134,7 @@ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletable.cpp=>common/misc/handletable.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletable.h=>common/misc/handletable.h \ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletablectx.cpp=>common/misc/handletablectx.c \ ++ ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletablesimple.cpp=>common/misc/handletablesimple.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/once.cpp=>common/misc/once.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/term.cpp=>common/misc/term.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/thread.cpp=>common/misc/thread.c \ +@@ -154,6 +156,7 @@ + ${PATH_ROOT}/src/VBox/Runtime/common/string/strprintf2-ellipsis.cpp=>common/string/strprintf2-ellipsis.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/string/strtonum.cpp=>common/string/strtonum.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/string/memchr.cpp=>common/string/memchr.c \ ++ ${PATH_ROOT}/src/VBox/Runtime/common/string/utf-8.cpp=>common/string/utf-8.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/string/stringalloc.cpp=>common/string/stringalloc.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/rand/rand.cpp=>common/rand/rand.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/rand/randadv.cpp=>common/rand/randadv.c \ +@@ -200,6 +203,7 @@ + ${PATH_ROOT}/src/VBox/Runtime/generic/RTMpOnPair-generic.cpp=>generic/RTMpOnPair-generic.c \ + ${PATH_ROOT}/src/VBox/Runtime/generic/errvars-generic.cpp=>generic/errvars-generic.c \ + ${PATH_ROOT}/src/VBox/Runtime/generic/mppresent-generic.cpp=>generic/mppresent-generic.c \ ++ ${PATH_ROOT}/src/VBox/Runtime/generic/system-page-size-generic.cpp=>generic/system-page-size-generic.c \ + ${PATH_ROOT}/src/VBox/Runtime/generic/timer-generic.cpp=>generic/timer-generic.c \ + ${PATH_ROOT}/src/VBox/Runtime/generic/uuid-generic.cpp=>generic/uuid-generic.c \ + ${PATH_ROOT}/src/VBox/Runtime/r0drv/alloc-r0drv.cpp=>r0drv/alloc-r0drv.c \ diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetAdp_freebsd_Makefile b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetAdp_freebsd_Makefile new file mode 100644 index 000000000000..e94dc6f85e27 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetAdp_freebsd_Makefile @@ -0,0 +1,11 @@ +--- src/VBox/HostDrivers/VBoxNetAdp/freebsd/Makefile.orig 2019-05-13 13:33:07 UTC ++++ src/VBox/HostDrivers/VBoxNetAdp/freebsd/Makefile +@@ -26,7 +26,7 @@ + + KMOD = vboxnetadp + +-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBOX_WITH_HARDENING -DVIMAGE ++CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING -DVBOX_WITH_64_BITS_GUESTS -DVIMAGE -Iinclude -I. -Ir0drv -w + + .if (${MACHINE_ARCH} == "i386") + CFLAGS += -DRT_ARCH_X86 diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetAdp_freebsd_VBoxNetAdp-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetAdp_freebsd_VBoxNetAdp-freebsd.c new file mode 100644 index 000000000000..8da432449fe1 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetAdp_freebsd_VBoxNetAdp-freebsd.c @@ -0,0 +1,147 @@ +--- src/VBox/HostDrivers/VBoxNetAdp/freebsd/VBoxNetAdp-freebsd.c.orig 2024-01-11 12:25:08 UTC ++++ src/VBox/HostDrivers/VBoxNetAdp/freebsd/VBoxNetAdp-freebsd.c +@@ -216,7 +216,11 @@ static void VBoxNetAdpFreeBSDNetinit(void *priv) + PVBOXNETADP pThis = priv; + struct ifnet *ifp = pThis->u.s.ifp; + ++#if __FreeBSD_version >= 1500000 ++ if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); ++#else + ifp->if_drv_flags |= IFF_DRV_RUNNING; ++#endif + } + + /** +@@ -226,25 +230,46 @@ static void VBoxNetAdpFreeBSDNetstart(struct ifnet *if + */ + static void VBoxNetAdpFreeBSDNetstart(struct ifnet *ifp) + { ++#if __FreeBSD_version >= 1500000 ++ PVBOXNETADP pThis = if_getsoftc(ifp); ++#else + PVBOXNETADP pThis = ifp->if_softc; ++#endif + struct mbuf *m; + ++#if __FreeBSD_version >= 1500000 ++ if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) ++#else + if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) ++#endif + return; + ++#if __FreeBSD_version >= 1500000 ++ if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); ++ while (!if_sendq_empty(ifp)) ++#else + ifp->if_drv_flags |= IFF_DRV_OACTIVE; + while (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) ++#endif + { + #if __FreeBSD_version >= 1100036 + if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); + #else + ifp->if_opackets++; + #endif ++#if __FreeBSD_version >= 1500000 ++ m = if_dequeue(ifp); ++#else + IFQ_DRV_DEQUEUE(&ifp->if_snd, m); ++#endif + BPF_MTAP(ifp, m); + m_freem(m); + } ++#if __FreeBSD_version >= 1500000 ++ if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); ++#else + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; ++#endif + } + + /** +@@ -257,6 +282,18 @@ static int VBoxNetAdpFreeBSDNetioctl(struct ifnet *ifp + switch (cmd) + { + case SIOCSIFFLAGS: ++#if __FreeBSD_version >= 1500000 ++ if (if_getflags(ifp) & IFF_UP) ++ { ++ if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) ++ if_init(ifp, if_getsoftc(ifp)); ++ } ++ else ++ { ++ if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) ++ if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ++ } ++#else + if (ifp->if_flags & IFF_UP) + { + if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) +@@ -267,6 +304,7 @@ static int VBoxNetAdpFreeBSDNetioctl(struct ifnet *ifp + if (ifp->if_drv_flags & IFF_DRV_RUNNING) + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + } ++#endif + break; + case SIOCGIFMEDIA: + { +@@ -301,7 +339,11 @@ int vboxNetAdpOsCreate(PVBOXNETADP pThis, PCRTMAC pMac + + int vboxNetAdpOsCreate(PVBOXNETADP pThis, PCRTMAC pMac) + { ++#if __FreeBSD_version >= 1500000 ++ if_t ifp; ++#else + struct ifnet *ifp; ++#endif + + VBOXCURVNET_SET_FROM_UCRED(); + ifp = if_alloc(IFT_ETHER); +@@ -309,6 +351,16 @@ int vboxNetAdpOsCreate(PVBOXNETADP pThis, PCRTMAC pMac + return VERR_NO_MEMORY; + + if_initname(ifp, VBOXNETADP_NAME, pThis->iUnit); ++#if __FreeBSD_version >= 1500000 ++ if_setsoftc(ifp, pThis); ++ if_setmtu(ifp, ETHERMTU); ++ if_setflagbits(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST, 0); ++ if_setioctlfn(ifp, VBoxNetAdpFreeBSDNetioctl); ++ if_setstartfn(ifp, VBoxNetAdpFreeBSDNetstart); ++ if_setinitfn(ifp, VBoxNetAdpFreeBSDNetinit); ++ if_setsendqlen(ifp, IFQ_MAXLEN); ++ if_setsendqready(ifp); ++#else + ifp->if_softc = pThis; + ifp->if_mtu = ETHERMTU; + ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; +@@ -318,10 +370,17 @@ int vboxNetAdpOsCreate(PVBOXNETADP pThis, PCRTMAC pMac + IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN); + ifp->if_snd.ifq_drv_maxlen = IFQ_MAXLEN; + IFQ_SET_READY(&ifp->if_snd); ++#endif + ether_ifattach(ifp, (void *)pMac); ++#if __FreeBSD_version >= 1500000 ++ (void)if_setbaudrate(ifp, 0); ++ ++ strncpy(pThis->szName, if_name(ifp), VBOXNETADP_MAX_NAME_LEN); ++#else + ifp->if_baudrate = 0; + + strncpy(pThis->szName, ifp->if_xname, VBOXNETADP_MAX_NAME_LEN); ++#endif + pThis->u.s.ifp = ifp; + VBOXCURVNET_RESTORE(); + return 0; +@@ -332,7 +391,11 @@ void vboxNetAdpOsDestroy(PVBOXNETADP pThis) + struct ifnet *ifp; + + ifp = pThis->u.s.ifp; ++#if __FreeBSD_version >= 1500000 ++ VBOXCURVNET_SET(if_getvnet(ifp)); ++#else + VBOXCURVNET_SET(ifp->if_vnet); ++#endif + ether_ifdetach(ifp); + if_free(ifp); + VBOXCURVNET_RESTORE(); diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_Makefile.kmk new file mode 100644 index 000000000000..9c7ab624c52a --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_Makefile.kmk @@ -0,0 +1,11 @@ +--- src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk.orig 2019-05-13 13:33:07 UTC ++++ src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk +@@ -565,7 +565,7 @@ $(PATH_OUT)/opt_netgraph.h: + $(QUIET)$(RM) -f -- $@ + $(QUIET)$(CP) -f $< $@ + ifndef VBOX_WITH_HARDENING +- $(QUIET)$(SED) -e "s;VBOX_WITH_HARDENING;;g" --output $@.tmp $@ ++ $(QUIET)$(SED) -e "s;-DVBOX_WITH_HARDENING;;g" --output $@.tmp $@ + ${QUIET}$(MV) -f $@.tmp $@ + endif + ifndef VBOX_WITH_NETFLT_VIMAGE diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_Makefile b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_Makefile new file mode 100644 index 000000000000..e819561ab9a8 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_Makefile @@ -0,0 +1,11 @@ +--- src/VBox/HostDrivers/VBoxNetFlt/freebsd/Makefile.orig 2019-05-13 13:33:07 UTC ++++ src/VBox/HostDrivers/VBoxNetFlt/freebsd/Makefile +@@ -26,7 +26,7 @@ + + KMOD = vboxnetflt + +-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBOX_WITH_HARDENING -DVIMAGE ++CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING -DVBOX_WITH_64_BITS_GUESTS -DVIMAGE -Iinclude -I. -Ir0drv -w + + .if (${MACHINE_ARCH} == "i386") + CFLAGS += -DRT_ARCH_X86 diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_VBoxNetFlt-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_VBoxNetFlt-freebsd.c new file mode 100644 index 000000000000..6e3d40a42e43 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_VBoxNetFlt-freebsd.c @@ -0,0 +1,471 @@ +--- src/VBox/HostDrivers/VBoxNetFlt/freebsd/VBoxNetFlt-freebsd.c.orig 2024-01-11 12:25:08 UTC ++++ src/VBox/HostDrivers/VBoxNetFlt/freebsd/VBoxNetFlt-freebsd.c +@@ -52,6 +52,7 @@ + #include <net/if_dl.h> + #include <net/if_types.h> + #include <net/ethernet.h> ++#include <net/if_vlan_var.h> + + #include <netgraph/ng_message.h> + #include <netgraph/netgraph.h> +@@ -73,6 +74,7 @@ + + #define VBOXNETFLT_OS_SPECFIC 1 + #include "../VBoxNetFltInternal.h" ++#include "freebsd/the-freebsd-kernel.h" + + static int vboxnetflt_modevent(struct module *, int, void *); + static ng_constructor_t ng_vboxnetflt_constructor; +@@ -149,6 +151,7 @@ MODULE_DEPEND(ng_vboxnetflt, vboxdrv, 1, 1, 1); + */ + MODULE_VERSION(vboxnetflt, 1); + MODULE_DEPEND(ng_vboxnetflt, vboxdrv, 1, 1, 1); ++MODULE_DEPEND(ng_vboxnetflt, ng_ether, 1, 1, 1); + + /** + * The (common) global data. +@@ -181,8 +184,6 @@ static int vboxnetflt_modevent(struct module *pMod, in + printf("vboxNetFltInitGlobalsAndIdc failed %d\n", rc); + return RTErrConvertToErrno(rc); + } +- /* No MODULE_VERSION in ng_ether so we can't MODULE_DEPEND it */ +- kern_kldload(curthread, "ng_ether", NULL); + break; + + case MOD_UNLOAD: +@@ -334,12 +335,20 @@ static int ng_vboxnetflt_rcvdata(hook_p hook, item_p i + { + const node_p node = NG_HOOK_NODE(hook); + PVBOXNETFLTINS pThis = NG_NODE_PRIVATE(node); ++#if __FreeBSD_version >= 1500000 ++ if_t ifp = pThis->u.s.ifp; ++#else + struct ifnet *ifp = pThis->u.s.ifp; ++#endif + struct mbuf *m; + struct m_tag *mtag; + bool fActive; + ++#if __FreeBSD_version >= 1500000 ++ VBOXCURVNET_SET(if_getvnet(ifp)); ++#else + VBOXCURVNET_SET(ifp->if_vnet); ++#endif + fActive = vboxNetFltTryRetainBusyActive(pThis); + + NGI_GET_M(item, m); +@@ -361,7 +370,14 @@ static int ng_vboxnetflt_rcvdata(hook_p hook, item_p i + { + if (mtag != NULL || !fActive) + { ++#if __FreeBSD_version >= 1300049 ++ struct epoch_tracker et; ++ NET_EPOCH_ENTER(et); ++#endif + ether_demux(ifp, m); ++#if __FreeBSD_version >= 1300049 ++ NET_EPOCH_EXIT(et); ++#endif + if (fActive) + vboxNetFltRelease(pThis, true /*fBusy*/); + VBOXCURVNET_RESTORE(); +@@ -433,12 +449,22 @@ static void vboxNetFltFreeBSDinput(void *arg, int pend + { + PVBOXNETFLTINS pThis = (PVBOXNETFLTINS)arg; + struct mbuf *m, *m0; ++#if __FreeBSD_version >= 1500000 ++ if_t ifp = pThis->u.s.ifp; ++#else + struct ifnet *ifp = pThis->u.s.ifp; ++#endif + unsigned int cSegs = 0; + bool fDropIt = false, fActive; ++ bool is_vl_tagged = false; ++ uint16_t vl_tag; + PINTNETSG pSG; + ++#if __FreeBSD_version >= 1500000 ++ VBOXCURVNET_SET(if_getvnet(ifp)); ++#else + VBOXCURVNET_SET(ifp->if_vnet); ++#endif + vboxNetFltRetain(pThis, true /* fBusy */); + for (;;) + { +@@ -448,6 +474,19 @@ static void vboxNetFltFreeBSDinput(void *arg, int pend + if (m == NULL) + break; + ++ /* Prepend a VLAN header for consumption by the virtual switch */ ++ if (m->m_flags & M_VLANTAG) { ++ vl_tag = m->m_pkthdr.ether_vtag; ++ is_vl_tagged = true; ++ ++ m = ether_vlanencap(m, m->m_pkthdr.ether_vtag); ++ if (m == NULL) { ++ printf("vboxflt: unable to prepend VLAN header\n"); ++ break; ++ } ++ m->m_flags &= ~M_VLANTAG; ++ } ++ + for (m0 = m; m0 != NULL; m0 = m0->m_next) + if (m0->m_len > 0) + cSegs++; +@@ -462,10 +501,39 @@ static void vboxNetFltFreeBSDinput(void *arg, int pend + vboxNetFltFreeBSDMBufToSG(pThis, m, pSG, cSegs, 0); + fDropIt = pThis->pSwitchPort->pfnRecv(pThis->pSwitchPort, NULL /* pvIf */, pSG, INTNETTRUNKDIR_WIRE); + RTMemTmpFree(pSG); ++ ++ /* Restore the VLAN flags before re-injecting the packet */ ++ if (is_vl_tagged && !fDropIt) { ++ struct ether_vlan_header *vl_hdr; ++ ++ /* This shouldn't fail, as the header was just prepended */ ++ if (m->m_len < sizeof(*vl_hdr) && (m = m_pullup(m, sizeof(*vl_hdr))) == NULL) { ++ printf("vboxflt: unable to pullup VLAN header\n"); ++ m_freem(m); ++ break; ++ } ++ ++ /* Copy the MAC dhost/shost over the 802.1q field */ ++ vl_hdr = mtod(m, struct ether_vlan_header *); ++ bcopy((char *)vl_hdr, (char *)vl_hdr + ETHER_VLAN_ENCAP_LEN, ETHER_HDR_LEN - ETHER_TYPE_LEN); ++ m_adj(m, ETHER_VLAN_ENCAP_LEN); ++ ++ m->m_pkthdr.ether_vtag = vl_tag; ++ m->m_flags |= M_VLANTAG; ++ } ++ + if (fDropIt) + m_freem(m); +- else ++ else { ++#if __FreeBSD_version >= 1300049 ++ struct epoch_tracker et; ++ NET_EPOCH_ENTER(et); ++#endif + ether_demux(ifp, m); ++#if __FreeBSD_version >= 1300049 ++ NET_EPOCH_EXIT(et); ++#endif ++ } + } + vboxNetFltRelease(pThis, true /* fBusy */); + VBOXCURVNET_RESTORE(); +@@ -478,12 +546,20 @@ static void vboxNetFltFreeBSDoutput(void *arg, int pen + { + PVBOXNETFLTINS pThis = (PVBOXNETFLTINS)arg; + struct mbuf *m, *m0; ++#if __FreeBSD_version >= 1500000 ++ if_t ifp = pThis->u.s.ifp; ++#else + struct ifnet *ifp = pThis->u.s.ifp; ++#endif + unsigned int cSegs = 0; + bool fDropIt = false, fActive; + PINTNETSG pSG; + ++#if __FreeBSD_version >= 1500000 ++ VBOXCURVNET_SET(if_getvnet(ifp)); ++#else + VBOXCURVNET_SET(ifp->if_vnet); ++#endif + vboxNetFltRetain(pThis, true /* fBusy */); + for (;;) + { +@@ -521,26 +597,41 @@ int vboxNetFltPortOsXmit(PVBOXNETFLTINS pThis, void *p + */ + int vboxNetFltPortOsXmit(PVBOXNETFLTINS pThis, void *pvIfData, PINTNETSG pSG, uint32_t fDst) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + NOREF(pvIfData); + + void (*input_f)(struct ifnet *, struct mbuf *); ++#if __FreeBSD_version >= 1500000 ++ if_t ifp; ++#else + struct ifnet *ifp; ++#endif + struct mbuf *m; + struct m_tag *mtag; + bool fActive; + int error; + + ifp = ASMAtomicUoReadPtrT(&pThis->u.s.ifp, struct ifnet *); ++#if __FreeBSD_version >= 1500000 ++ VBOXCURVNET_SET(if_getvnet(ifp)); ++#else + VBOXCURVNET_SET(ifp->if_vnet); ++#endif + + if (fDst & INTNETTRUNKDIR_WIRE) + { + m = vboxNetFltFreeBSDSGMBufFromSG(pThis, pSG); + if (m == NULL) ++ { ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY; ++ } + m = m_pullup(m, ETHER_HDR_LEN); + if (m == NULL) ++ { ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY; ++ } + + m->m_flags |= M_PKTHDR; + ether_output_frame(ifp, m); +@@ -550,10 +641,16 @@ int vboxNetFltPortOsXmit(PVBOXNETFLTINS pThis, void *p + { + m = vboxNetFltFreeBSDSGMBufFromSG(pThis, pSG); + if (m == NULL) ++ { ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY; ++ } + m = m_pullup(m, ETHER_HDR_LEN); + if (m == NULL) ++ { ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY; ++ } + /* + * Delivering packets to the host will be captured by the + * input hook. Tag the packet with a mbuf tag so that we +@@ -564,6 +661,7 @@ int vboxNetFltPortOsXmit(PVBOXNETFLTINS pThis, void *p + if (mtag == NULL) + { + m_freem(m); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY; + } + +@@ -571,9 +669,21 @@ int vboxNetFltPortOsXmit(PVBOXNETFLTINS pThis, void *p + m_tag_prepend(m, mtag); + m->m_flags |= M_PKTHDR; + m->m_pkthdr.rcvif = ifp; ++#if __FreeBSD_version >= 1300049 ++ struct epoch_tracker et; ++ NET_EPOCH_ENTER(et); ++#endif ++#if __FreeBSD_version >= 1500000 ++ if_input(ifp, m); ++#else + ifp->if_input(ifp, m); ++#endif ++#if __FreeBSD_version >= 1300049 ++ NET_EPOCH_EXIT(et); ++#endif + } + VBOXCURVNET_RESTORE(); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + +@@ -586,15 +696,23 @@ int vboxNetFltOsInitInstance(PVBOXNETFLTINS pThis, voi + + int vboxNetFltOsInitInstance(PVBOXNETFLTINS pThis, void *pvContext) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + char nam[NG_NODESIZ]; ++#if __FreeBSD_version >= 1500000 ++ if_t ifp; ++#else + struct ifnet *ifp; ++#endif + node_p node; + + VBOXCURVNET_SET_FROM_UCRED(); + NOREF(pvContext); + ifp = ifunit(pThis->szName); + if (ifp == NULL) ++ { ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_INTNET_FLT_IF_NOT_FOUND; ++ } + + /* Create a new netgraph node for this instance */ + if (ng_make_node_common(&ng_vboxnetflt_typestruct, &node) != 0) +@@ -604,7 +722,11 @@ int vboxNetFltOsInitInstance(PVBOXNETFLTINS pThis, voi + + ASMAtomicUoWritePtr(&pThis->u.s.ifp, ifp); + pThis->u.s.node = node; ++#if __FreeBSD_version >= 1500000 ++ bcopy(if_getlladdr(ifp), &pThis->u.s.MacAddr, ETHER_ADDR_LEN); ++#else + bcopy(IF_LLADDR(ifp), &pThis->u.s.MacAddr, ETHER_ADDR_LEN); ++#endif + ASMAtomicUoWriteBool(&pThis->fDisconnectedFromHost, false); + + /* Initialize deferred input queue */ +@@ -638,16 +760,26 @@ int vboxNetFltOsInitInstance(PVBOXNETFLTINS pThis, voi + vboxNetFltRelease(pThis, true /*fBusy*/); + } + VBOXCURVNET_RESTORE(); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + + return VINF_SUCCESS; + } + + bool vboxNetFltOsMaybeRediscovered(PVBOXNETFLTINS pThis) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); ++#if __FreeBSD_version >= 1500000 ++ if_t ifp, ifp0; ++#else + struct ifnet *ifp, *ifp0; ++#endif + + ifp = ASMAtomicUoReadPtrT(&pThis->u.s.ifp, struct ifnet *); ++#if __FreeBSD_version >= 1500000 ++ VBOXCURVNET_SET(if_getvnet(ifp)); ++#else + VBOXCURVNET_SET(ifp->if_vnet); ++#endif + /* + * Attempt to check if the interface is still there and re-initialize if + * something has changed. +@@ -660,6 +792,7 @@ bool vboxNetFltOsMaybeRediscovered(PVBOXNETFLTINS pThi + pThis->u.s.node = NULL; + } + VBOXCURVNET_RESTORE(); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + + if (ifp0 != NULL) + { +@@ -672,6 +805,7 @@ void vboxNetFltOsDeleteInstance(PVBOXNETFLTINS pThis) + + void vboxNetFltOsDeleteInstance(PVBOXNETFLTINS pThis) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + + taskqueue_drain(taskqueue_fast, &pThis->u.s.tskin); + taskqueue_drain(taskqueue_fast, &pThis->u.s.tskout); +@@ -684,6 +818,7 @@ void vboxNetFltOsDeleteInstance(PVBOXNETFLTINS pThis) + ng_rmnode_self(pThis->u.s.node); + VBOXCURVNET_RESTORE(); + pThis->u.s.node = NULL; ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + } + + int vboxNetFltOsPreInitInstance(PVBOXNETFLTINS pThis) +@@ -697,7 +832,12 @@ void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, b + + void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, bool fActive) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); ++#if __FreeBSD_version >= 1500000 ++ if_t ifp; ++#else + struct ifnet *ifp; ++#endif + struct ifreq ifreq; + int error; + node_p node; +@@ -709,18 +849,30 @@ void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, b + Log(("%s: fActive:%d\n", __func__, fActive)); + + ifp = ASMAtomicUoReadPtrT(&pThis->u.s.ifp, struct ifnet *); ++#if __FreeBSD_version >= 1500000 ++ VBOXCURVNET_SET(if_getvnet(ifp)); ++#else + VBOXCURVNET_SET(ifp->if_vnet); ++#endif + node = ASMAtomicUoReadPtrT(&pThis->u.s.node, node_p); + + memset(&ifreq, 0, sizeof(struct ifreq)); + /* Activate interface */ + if (fActive) + { ++#if __FreeBSD_version >= 1500000 ++ pThis->u.s.flags = if_getflags(ifp); ++#else + pThis->u.s.flags = ifp->if_flags; ++#endif + ifpromisc(ifp, 1); + + /* ng_ether nodes are named after the interface name */ ++#if __FreeBSD_version >= 1500000 ++ snprintf(path, sizeof(path), "%s:", if_name(ifp)); ++#else + snprintf(path, sizeof(path), "%s:", ifp->if_xname); ++#endif + + /* + * Send a netgraph connect message to the ng_ether node +@@ -730,9 +882,16 @@ void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, b + NG_MKMESSAGE(msg, NGM_GENERIC_COOKIE, NGM_CONNECT, + sizeof(struct ngm_connect), M_NOWAIT); + if (msg == NULL) ++ { ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return; ++ } + con = (struct ngm_connect *)msg->data; ++#if __FreeBSD_version >= 1500000 ++ snprintf(con->path, NG_PATHSIZ, "vboxnetflt_%s:", if_name(ifp)); ++#else + snprintf(con->path, NG_PATHSIZ, "vboxnetflt_%s:", ifp->if_xname); ++#endif + strlcpy(con->ourhook, "lower", NG_HOOKSIZ); + strlcpy(con->peerhook, "input", NG_HOOKSIZ); + NG_SEND_MSG_PATH(error, node, msg, path, 0); +@@ -744,10 +903,17 @@ void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, b + NG_MKMESSAGE(msg, NGM_GENERIC_COOKIE, NGM_CONNECT, + sizeof(struct ngm_connect), M_NOWAIT); + if (msg == NULL) ++ { ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return; ++ } + con = (struct ngm_connect *)msg->data; + snprintf(con->path, NG_PATHSIZ, "vboxnetflt_%s:", ++#if __FreeBSD_version >= 1500000 ++ if_name(ifp)); ++#else + ifp->if_xname); ++#endif + strlcpy(con->ourhook, "upper", sizeof(con->ourhook)); + strlcpy(con->peerhook, "output", sizeof(con->peerhook)); + NG_SEND_MSG_PATH(error, node, msg, path, 0); +@@ -759,7 +925,11 @@ void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, b + ifpromisc(ifp, 0); + + /* Disconnect msgs are addressed to ourself */ ++#if __FreeBSD_version >= 1500000 ++ snprintf(path, sizeof(path), "vboxnetflt_%s:", if_name(ifp)); ++#else + snprintf(path, sizeof(path), "vboxnetflt_%s:", ifp->if_xname); ++#endif + + /* + * Send a netgraph message to disconnect our 'input' hook +@@ -767,7 +937,10 @@ void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, b + NG_MKMESSAGE(msg, NGM_GENERIC_COOKIE, NGM_RMHOOK, + sizeof(struct ngm_rmhook), M_NOWAIT); + if (msg == NULL) ++ { ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return; ++ } + rm = (struct ngm_rmhook *)msg->data; + strlcpy(rm->ourhook, "input", NG_HOOKSIZ); + NG_SEND_MSG_PATH(error, node, msg, path, 0); +@@ -778,12 +951,16 @@ void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, b + NG_MKMESSAGE(msg, NGM_GENERIC_COOKIE, NGM_RMHOOK, + sizeof(struct ngm_rmhook), M_NOWAIT); + if (msg == NULL) ++ { ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return; ++ } + rm = (struct ngm_rmhook *)msg->data; + strlcpy(rm->ourhook, "output", NG_HOOKSIZ); + NG_SEND_MSG_PATH(error, node, msg, path, 0); + } + VBOXCURVNET_RESTORE(); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + } + + int vboxNetFltOsDisconnectIt(PVBOXNETFLTINS pThis) diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_adpctl_VBoxNetAdpCtl.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_adpctl_VBoxNetAdpCtl.cpp new file mode 100644 index 000000000000..67573dc080a4 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_adpctl_VBoxNetAdpCtl.cpp @@ -0,0 +1,11 @@ +--- src/VBox/HostDrivers/adpctl/VBoxNetAdpCtl.cpp.orig 2022-01-13 18:57:40 UTC ++++ src/VBox/HostDrivers/adpctl/VBoxNetAdpCtl.cpp +@@ -737,7 +737,7 @@ int Adapter::doIOCtl(unsigned long iCmd, VBOXNETADPREQ + * Global config file implementation * + *********************************************************************************************************************************/ + +-#define VBOX_GLOBAL_NETWORK_CONFIG_PATH "/etc/vbox/networks.conf" ++#define VBOX_GLOBAL_NETWORK_CONFIG_PATH "%%VBOX_ETC%%/networks.conf" + #define VBOXNET_DEFAULT_IPV4MASK "255.255.255.0" + + class NetworkAddress diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_Makefile.kmk new file mode 100644 index 000000000000..f5693ffb72b4 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_Makefile.kmk @@ -0,0 +1,10 @@ +--- src/VBox/Main/Makefile.kmk.orig 2024-10-10 20:31:38.000000000 +0200 ++++ src/VBox/Main/Makefile.kmk 2024-12-27 13:32:31.610875000 +0100 +@@ -761,6 +761,7 @@ + + VBoxSVC_SOURCES.freebsd = \ + src-server/freebsd/HostHardwareFreeBSD.cpp \ ++ $(if $(VBOX_WITH_DBUS),src-server/linux/HostPowerLinux.cpp) \ + src-server/HostDnsServiceResolvConf.cpp + + VBoxSVC_LDFLAGS.freebsd += -lcam diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_include_HostPower.h b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_include_HostPower.h new file mode 100644 index 000000000000..5718fe987ce4 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_include_HostPower.h @@ -0,0 +1,20 @@ +--- src/VBox/Main/include/HostPower.h.orig 2021-01-07 15:41:38 UTC ++++ src/VBox/Main/include/HostPower.h +@@ -31,7 +31,7 @@ + + #include <vector> + +-#ifdef RT_OS_LINUX ++#if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD) + # include <VBox/dbus.h> + #endif + +@@ -67,7 +67,7 @@ class HostPowerServiceWin : public HostPowerService (p + RTTHREAD mThread; + }; + # endif +-# if defined(RT_OS_LINUX) || defined(DOXYGEN_RUNNING) ++# if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD) || defined(DOXYGEN_RUNNING) + /** + * The Linux hosted Power Service. + */ diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_src-server_HostImpl.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_src-server_HostImpl.cpp new file mode 100644 index 000000000000..d4c018b2fc23 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_src-server_HostImpl.cpp @@ -0,0 +1,11 @@ +--- src/VBox/Main/src-server/HostImpl.cpp.orig 2021-01-07 15:41:42 UTC ++++ src/VBox/Main/src-server/HostImpl.cpp +@@ -286,7 +286,7 @@ HRESULT Host::init(VirtualBox *aParent) + + #if defined(RT_OS_WINDOWS) + m->pHostPowerService = new HostPowerServiceWin(m->pParent); +-#elif defined(RT_OS_LINUX) && defined(VBOX_WITH_DBUS) ++#elif (defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)) && defined(VBOX_WITH_DBUS) + m->pHostPowerService = new HostPowerServiceLinux(m->pParent); + #elif defined(RT_OS_DARWIN) + m->pHostPowerService = new HostPowerServiceDarwin(m->pParent); diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_src-server_freebsd_PerformanceFreeBSD.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_src-server_freebsd_PerformanceFreeBSD.cpp new file mode 100644 index 000000000000..631547ac9cee --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_src-server_freebsd_PerformanceFreeBSD.cpp @@ -0,0 +1,24 @@ +--- src/VBox/Main/src-server/freebsd/PerformanceFreeBSD.cpp.orig 2017-07-27 13:18:27 UTC ++++ src/VBox/Main/src-server/freebsd/PerformanceFreeBSD.cpp +@@ -80,8 +80,10 @@ int CollectorFreeBSD::getHostMemoryUsage(ULONG *total, + cbParameter = sizeof(cPagesMemInactive); + if (!sysctlbyname("vm.stats.vm.v_inactive_count", &cPagesMemInactive, &cbParameter, NULL, 0)) + cProcessed++; ++#if __FreeBSD_version < 1200016 + cbParameter = sizeof(cPagesMemCached); + if (!sysctlbyname("vm.stats.vm.v_cache_count", &cPagesMemCached, &cbParameter, NULL, 0)) ++#endif + cProcessed++; + cbParameter = sizeof(cbPage); + if (!sysctlbyname("hw.pagesize", &cbPage, &cbParameter, NULL, 0)) +@@ -90,8 +92,8 @@ int CollectorFreeBSD::getHostMemoryUsage(ULONG *total, + if (cProcessed == 6) + { + *total = cbMemPhys / _1K; +- *used = cPagesMemUsed * (cbPage / _1K); +- *available = (cPagesMemFree + cPagesMemInactive + cPagesMemCached ) * (cbPage / _1K); ++ *used = (uint64_t)cPagesMemUsed * (cbPage / _1K); ++ *available = ((uint64_t)cPagesMemFree + cPagesMemInactive + cPagesMemCached) * (cbPage / _1K); + } + else + rc = VERR_NOT_SUPPORTED; diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_Makefile.kmk new file mode 100644 index 000000000000..3133e4cbd207 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_Makefile.kmk @@ -0,0 +1,29 @@ +--- src/VBox/Runtime/Makefile.kmk.orig 2025-01-21 19:59:19.000000000 +0700 ++++ src/VBox/Runtime/Makefile.kmk 2025-03-23 20:54:34.250024000 +0700 +@@ -225,6 +225,9 @@ + $(QUIET)$(oiddb2c_1_TARGET) "$@" $(filter %.cfg,$^) + $(QUIET)$(CP) --changed -fv "$@" "$(IPRT_OUT_DIR)/oiddb.h" + ++# Set the defines that utf8-posix.cpp needs. It's used by several targets. ++# ++r3/posix/utf8-posix.cpp_DEFS.freebsd = $(VBOX_ICONV_DEFS) + + # + # Unicode Specification reader used to regenerate unidata-*.cpp. +@@ -1468,6 +1471,7 @@ + generic/RTProcDaemonize-generic.cpp \ + generic/RTProcIsRunningByName-generic.cpp \ + generic/RTThreadGetNativeState-generic.cpp \ ++ generic/system-page-size-generic.cpp \ + r3/freebsd/fileaio-freebsd.cpp \ + r3/freebsd/RTFileQuerySectorSize-freebsd.cpp \ + r3/freebsd/mp-freebsd.cpp \ +@@ -3011,6 +3015,8 @@ + /delayload:ole32.dll \ + /delayload:oleaut32.dll \ + /delayload:advapi32.dll ++VBoxRT_LDFLAGS.freebsd = \ ++ -Wl,--allow-multiple-definition + + if1of (VBoxRT, $(DLLS)) + $(call VBOX_SET_VER_INFO_DLL,VBoxRT,VirtualBox Runtime) diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_alloc-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_alloc-r0drv-freebsd.c new file mode 100644 index 000000000000..0ae2d847c0f6 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_alloc-r0drv-freebsd.c @@ -0,0 +1,58 @@ +--- src/VBox/Runtime/r0drv/freebsd/alloc-r0drv-freebsd.c.orig 2024-10-10 20:32:14.000000000 +0200 ++++ src/VBox/Runtime/r0drv/freebsd/alloc-r0drv-freebsd.c 2024-12-27 13:39:49.059878000 +0100 +@@ -88,6 +88,7 @@ + + DECLHIDDEN(int) rtR0MemAllocEx(size_t cb, uint32_t fFlags, PRTMEMHDR *ppHdr) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + size_t cbAllocated = cb; + PRTMEMHDR pHdr = (PRTMEMHDR)malloc(cb + sizeof(RTMEMHDR), M_IPRTHEAP, + fFlags & RTMEMHDR_FLAG_ZEROED ? M_NOWAIT | M_ZERO : M_NOWAIT); +@@ -99,21 +100,28 @@ + pHdr->cbReq = cb; + + *ppHdr = pHdr; ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; +- } ++ } ++ ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY; + } + + + DECLHIDDEN(void) rtR0MemFree(PRTMEMHDR pHdr) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); ++ + pHdr->u32Magic += 1; + free(pHdr, M_IPRTHEAP); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + } + + + RTR0DECL(void *) RTMemContAlloc(PRTCCPHYS pPhys, size_t cb) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + void *pv; + + /* +@@ -138,6 +146,7 @@ + *pPhys = vtophys(pv); + Assert(!(*pPhys & PAGE_OFFSET_MASK)); + } ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return pv; + } + +@@ -147,7 +156,9 @@ + if (pv) + { + AssertMsg(!((uintptr_t)pv & PAGE_OFFSET_MASK), ("pv=%p\n", pv)); ++ IPRT_FREEBSD_SAVE_EFL_AC(); + contigfree(pv, cb, M_IPRTCONT); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + } + } + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_assert-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_assert-r0drv-freebsd.c new file mode 100644 index 000000000000..4c628cbe47a5 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_assert-r0drv-freebsd.c @@ -0,0 +1,29 @@ +--- src/VBox/Runtime/r0drv/freebsd/assert-r0drv-freebsd.c.orig 2021-01-07 15:42:08 UTC ++++ src/VBox/Runtime/r0drv/freebsd/assert-r0drv-freebsd.c +@@ -68,15 +68,18 @@ + + DECLHIDDEN(void) rtR0AssertNativeMsg1(const char *pszExpr, unsigned uLine, const char *pszFile, const char *pszFunction) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + printf("\r\n!!Assertion Failed!!\r\n" + "Expression: %s\r\n" + "Location : %s(%d) %s\r\n", + pszExpr, pszFile, uLine, pszFunction); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + } + + + DECLHIDDEN(void) rtR0AssertNativeMsg2V(bool fInitial, const char *pszFormat, va_list va) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + char szMsg[256]; + + RTStrPrintfV(szMsg, sizeof(szMsg) - 1, pszFormat, va); +@@ -84,6 +87,7 @@ DECLHIDDEN(void) rtR0AssertNativeMsg2V(bool fInitial, + printf("%s", szMsg); + + NOREF(fInitial); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + } + + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c new file mode 100644 index 000000000000..4c0ed355709c --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c @@ -0,0 +1,408 @@ +--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2025-04-14 17:59:13 UTC ++++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c +@@ -140,8 +140,10 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) + + DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)pMem; + int rc; ++ vm_map_t pMap; + + switch (pMemFreeBSD->Core.enmType) + { +@@ -156,8 +158,6 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) + + case RTR0MEMOBJTYPE_LOCK: + { +- vm_map_t pMap = kernel_map; +- + if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS) + pMap = &((struct proc *)pMemFreeBSD->Core.u.Lock.R0Process)->p_vmspace->vm_map; + +@@ -198,6 +198,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) + case RTR0MEMOBJTYPE_PHYS_NC: + { + VM_OBJECT_WLOCK(pMemFreeBSD->pObject); ++#if __FreeBSD_version < 1500038 + vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0); + #if __FreeBSD_version < 1000000 + vm_page_lock_queues(); +@@ -211,6 +212,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) + #if __FreeBSD_version < 1000000 + vm_page_unlock_queues(); + #endif ++#else /* __FreeBSD_version >= 1500038 */ ++ struct pctrie_iter pages; ++ vm_page_t page; ++ ++ vm_page_iter_init(&pages, pMemFreeBSD->pObject); ++ VM_RADIX_FORALL(page, &pages) ++ (void)vm_page_unwire_noq(page); ++#endif + VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); + vm_object_deallocate(pMemFreeBSD->pObject); + break; +@@ -221,6 +230,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) + return VERR_INTERNAL_ERROR; + } + ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + +@@ -330,7 +340,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE + size_t cPages = atop(pMemFreeBSD->Core.cb); + int rc; + +- pMemFreeBSD->pObject = vm_object_allocate(OBJT_PHYS, cPages); ++ pMemFreeBSD->pObject = vm_pager_allocate(OBJT_PHYS, NULL, ++ pMemFreeBSD->Core.cb, VM_PROT_ALL, 0, curthread->td_ucred); + + /* No additional object reference for auto-deallocation upon unmapping. */ + #if __FreeBSD_version >= 1000055 +@@ -372,6 +383,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ + + DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PAGE, + NULL, cb, pszTag); + if (pMemFreeBSD) +@@ -381,8 +393,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ + *ppMem = &pMemFreeBSD->Core; + else + rtR0MemObjDelete(&pMemFreeBSD->Core); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return rc; + } ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY; + } + +@@ -396,6 +410,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI + + DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_LOW, NULL, cb, pszTag); + if (pMemFreeBSD) + { +@@ -404,8 +419,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI + *ppMem = &pMemFreeBSD->Core; + else + rtR0MemObjDelete(&pMemFreeBSD->Core); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return rc; + } ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY; + } + +@@ -413,6 +430,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ + DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, RTHCPHYS PhysHigest, + bool fExecutable, const char *pszTag) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_CONT, + NULL, cb, pszTag); + if (pMemFreeBSD) +@@ -425,8 +443,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ + } + else + rtR0MemObjDelete(&pMemFreeBSD->Core); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return rc; + } ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY; + } + +@@ -434,6 +454,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB + static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJTYPE enmType, size_t cb, RTHCPHYS PhysHighest, + size_t uAlignment, bool fContiguous, int rcNoMem, const char *pszTag) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + /* create the object. */ + PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), enmType, NULL, cb, pszTag); + if (pMemFreeBSD) +@@ -441,7 +462,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB + vm_paddr_t const VmPhysAddrHigh = PhysHighest != NIL_RTHCPHYS ? PhysHighest : ~(vm_paddr_t)0; + u_long const cPages = atop(cb); + +- pMemFreeBSD->pObject = vm_object_allocate(OBJT_PHYS, cPages); ++ pMemFreeBSD->pObject = vm_pager_allocate(OBJT_PHYS, NULL, ++ pMemFreeBSD->Core.cb, VM_PROT_ALL, 0, curthread->td_ucred); + + int rc = rtR0MemObjFreeBSDPhysAllocHelper(pMemFreeBSD->pObject, cPages, VmPhysAddrHigh, + uAlignment, fContiguous, true, rcNoMem); +@@ -451,7 +473,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB + { + Assert(enmType == RTR0MEMOBJTYPE_PHYS); + VM_OBJECT_WLOCK(pMemFreeBSD->pObject); +- pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_page_find_least(pMemFreeBSD->pObject, 0)); ++ pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_radix_lookup_ge(&pMemFreeBSD->pObject->rtree, 0)); + VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); + pMemFreeBSD->Core.u.Phys.fAllocated = true; + } +@@ -464,8 +486,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB + vm_object_deallocate(pMemFreeBSD->pObject); + rtR0MemObjDelete(&pMemFreeBSD->Core); + } ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return rc; + } ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY; + } + +@@ -488,6 +512,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ + const char *pszTag) + { + AssertReturn(uCachePolicy == RTMEM_CACHE_POLICY_DONT_CARE, VERR_NOT_SUPPORTED); ++ IPRT_FREEBSD_SAVE_EFL_AC(); + + /* create the object. */ + PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PHYS, +@@ -499,8 +524,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ + pMemFreeBSD->Core.u.Phys.PhysBase = Phys; + pMemFreeBSD->Core.u.Phys.uCachePolicy = uCachePolicy; + *ppMem = &pMemFreeBSD->Core; ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY; + } + +@@ -512,6 +539,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER + vm_offset_t AddrStart, size_t cb, uint32_t fAccess, + RTR0PROCESS R0Process, int fFlags, const char *pszTag) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + int rc; + NOREF(fAccess); + +@@ -521,21 +549,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER + if (!pMemFreeBSD) + return VERR_NO_MEMORY; + +- /* +- * We could've used vslock here, but we don't wish to be subject to +- * resource usage restrictions, so we'll call vm_map_wire directly. +- */ +- rc = vm_map_wire(pVmMap, /* the map */ +- AddrStart, /* start */ +- AddrStart + cb, /* end */ +- fFlags); /* flags */ ++ if (pVmMap != kernel_map) { ++ /* ++ * We could've used vslock here, but we don't wish to be subject to ++ * resource usage restrictions, so we'll call vm_map_wire directly. ++ */ ++ rc = vm_map_wire(pVmMap, /* the map */ ++ AddrStart, /* start */ ++ AddrStart + cb, /* end */ ++ fFlags); /* flags */ ++ } ++ else ++ rc = KERN_SUCCESS; ++ + if (rc == KERN_SUCCESS) + { + pMemFreeBSD->Core.u.Lock.R0Process = R0Process; + *ppMem = &pMemFreeBSD->Core; ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + rtR0MemObjDelete(&pMemFreeBSD->Core); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY;/** @todo fix mach -> vbox error conversion for freebsd. */ + } + +@@ -575,6 +610,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN + static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJINTERNAL ppMem, void *pvFixed, size_t cb, size_t uAlignment, + RTR0PROCESS R0Process, vm_map_t pMap, const char *pszTag) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + int rc; + + /* +@@ -633,11 +669,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN + pMemFreeBSD->Core.pv = (void *)MapAddress; + pMemFreeBSD->Core.u.ResVirt.R0Process = R0Process; + *ppMem = &pMemFreeBSD->Core; ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + + rc = VERR_NO_MEMORY; /** @todo fix translation (borrow from darwin) */ + rtR0MemObjDelete(&pMemFreeBSD->Core); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return rc; + + } +@@ -661,6 +699,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ + DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, void *pvFixed, size_t uAlignment, + unsigned fProt, size_t offSub, size_t cbSub, const char *pszTag) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); ++ + // AssertMsgReturn(!offSub && !cbSub, ("%#x %#x\n", offSub, cbSub), VERR_NOT_SUPPORTED); + AssertMsgReturn(pvFixed == (void *)-1, ("%p\n", pvFixed), VERR_NOT_SUPPORTED); + +@@ -715,6 +755,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ + Assert((vm_offset_t)pMemFreeBSD->Core.pv == Addr); + pMemFreeBSD->Core.u.Mapping.R0Process = NIL_RTR0PROCESS; + *ppMem = &pMemFreeBSD->Core; ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + rc = vm_map_remove(kernel_map, Addr, Addr + cbSub); +@@ -723,6 +764,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ + else + vm_object_deallocate(pMemToMapFreeBSD->pObject); + ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY; + } + +@@ -730,6 +772,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN + DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, RTR3PTR R3PtrFixed, size_t uAlignment, + unsigned fProt, RTR0PROCESS R0Process, size_t offSub, size_t cbSub, const char *pszTag) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); ++ + /* + * Check for unsupported stuff. + */ +@@ -787,44 +831,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN + + if (rc == KERN_SUCCESS) + { +- rc = vm_map_wire(pProcMap, AddrR3, AddrR3 + pMemToMap->cb, VM_MAP_WIRE_USER|VM_MAP_WIRE_NOHOLES); ++ rc = vm_map_wire(pProcMap, AddrR3, AddrR3 + cbSub, VM_MAP_WIRE_USER|VM_MAP_WIRE_NOHOLES); + AssertMsg(rc == KERN_SUCCESS, ("%#x\n", rc)); + +- rc = vm_map_inherit(pProcMap, AddrR3, AddrR3 + pMemToMap->cb, VM_INHERIT_SHARE); ++ rc = vm_map_inherit(pProcMap, AddrR3, AddrR3 + cbSub, VM_INHERIT_SHARE); + AssertMsg(rc == KERN_SUCCESS, ("%#x\n", rc)); + + /* + * Create a mapping object for it. + */ + PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(RTR0MEMOBJFREEBSD), RTR0MEMOBJTYPE_MAPPING, +- (void *)AddrR3, pMemToMap->cb, pszTag); ++ (void *)AddrR3, cbSub, pszTag); + if (pMemFreeBSD) + { + Assert((vm_offset_t)pMemFreeBSD->Core.pv == AddrR3); + pMemFreeBSD->Core.u.Mapping.R0Process = R0Process; + *ppMem = &pMemFreeBSD->Core; ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + +- rc = vm_map_remove(pProcMap, AddrR3, AddrR3 + pMemToMap->cb); ++ rc = vm_map_remove(pProcMap, AddrR3, AddrR3 + cbSub); + AssertMsg(rc == KERN_SUCCESS, ("Deleting mapping failed\n")); + } + else + vm_object_deallocate(pMemToMapFreeBSD->pObject); + ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY; + } + + + DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINTERNAL pMem, size_t offSub, size_t cbSub, uint32_t fProt) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + vm_prot_t ProtectionFlags = 0; + vm_offset_t AddrStart = (uintptr_t)pMem->pv + offSub; + vm_offset_t AddrEnd = AddrStart + cbSub; + vm_map_t pVmMap = rtR0MemObjFreeBSDGetMap(pMem); + + if (!pVmMap) ++ { ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NOT_SUPPORTED; ++ } + + if ((fProt & RTMEM_PROT_NONE) == RTMEM_PROT_NONE) + ProtectionFlags = VM_PROT_NONE; +@@ -835,7 +885,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT + if ((fProt & RTMEM_PROT_EXEC) == RTMEM_PROT_EXEC) + ProtectionFlags |= VM_PROT_EXECUTE; + ++#if __FreeBSD_version >= 1300135 ++ int krc = vm_map_protect(pVmMap, AddrStart, AddrEnd, ProtectionFlags, 0, VM_MAP_PROTECT_SET_PROT); ++#else + int krc = vm_map_protect(pVmMap, AddrStart, AddrEnd, ProtectionFlags, FALSE); ++#endif ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + if (krc == KERN_SUCCESS) + return VINF_SUCCESS; + +@@ -860,11 +915,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P + + vm_offset_t pb = (vm_offset_t)pMemFreeBSD->Core.pv + ptoa(iPage); + +- struct proc *pProc = (struct proc *)pMemFreeBSD->Core.u.Lock.R0Process; +- struct vm_map *pProcMap = &pProc->p_vmspace->vm_map; +- pmap_t pPhysicalMap = vm_map_pmap(pProcMap); ++ if (pMemFreeBSD->Core.u.Mapping.R0Process != NIL_RTR0PROCESS) ++ { ++ RTHCPHYS addr; ++ IPRT_FREEBSD_SAVE_EFL_AC(); ++ struct proc *pProc = (struct proc *)pMemFreeBSD->Core.u.Lock.R0Process; ++ struct vm_map *pProcMap = &pProc->p_vmspace->vm_map; ++ pmap_t pPhysicalMap = vm_map_pmap(pProcMap); + +- return pmap_extract(pPhysicalMap, pb); ++ addr = pmap_extract(pPhysicalMap, pb); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); ++ return addr; ++ } ++ return vtophys(pb); + } + + case RTR0MEMOBJTYPE_MAPPING: +@@ -873,11 +936,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P + + if (pMemFreeBSD->Core.u.Mapping.R0Process != NIL_RTR0PROCESS) + { ++ RTHCPHYS addr; ++ IPRT_FREEBSD_SAVE_EFL_AC(); + struct proc *pProc = (struct proc *)pMemFreeBSD->Core.u.Mapping.R0Process; + struct vm_map *pProcMap = &pProc->p_vmspace->vm_map; + pmap_t pPhysicalMap = vm_map_pmap(pProcMap); + +- return pmap_extract(pPhysicalMap, pb); ++ addr = pmap_extract(pPhysicalMap, pb); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); ++ return addr; + } + return vtophys(pb); + } +@@ -888,9 +955,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P + { + RTHCPHYS addr; + ++ IPRT_FREEBSD_SAVE_EFL_AC(); + VM_OBJECT_WLOCK(pMemFreeBSD->pObject); + addr = VM_PAGE_TO_PHYS(vm_page_lookup(pMemFreeBSD->pObject, iPage)); + VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return addr; + } + +@@ -910,7 +979,7 @@ DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping + DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping(PRTR0MEMOBJINTERNAL pMem) + { + PRTR0MEMOBJFREEBSD const pMemFreeBsd = (PRTR0MEMOBJFREEBSD)pMem; +- size_t const cPages = pMemSolaris->Core.cb >> PAGE_SHIFT; ++ size_t const cPages = atop(pMemFreeBsd->Core.cb); + size_t iPage; + for (iPage = 0; iPage < cPages; iPage++) + { diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memuserkernel-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memuserkernel-r0drv-freebsd.c new file mode 100644 index 000000000000..53bac187bde0 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memuserkernel-r0drv-freebsd.c @@ -0,0 +1,22 @@ +--- src/VBox/Runtime/r0drv/freebsd/memuserkernel-r0drv-freebsd.c.orig 2018-10-15 14:31:31 UTC ++++ src/VBox/Runtime/r0drv/freebsd/memuserkernel-r0drv-freebsd.c +@@ -36,7 +36,9 @@ + + RTR0DECL(int) RTR0MemUserCopyFrom(void *pvDst, RTR3PTR R3PtrSrc, size_t cb) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + int rc = copyin((const void *)R3PtrSrc, pvDst, cb); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + if (RT_LIKELY(rc == 0)) + return VINF_SUCCESS; + return VERR_ACCESS_DENIED; +@@ -45,7 +47,9 @@ RTR0DECL(int) RTR0MemUserCopyFrom(void *pvDst, RTR3PTR + + RTR0DECL(int) RTR0MemUserCopyTo(RTR3PTR R3PtrDst, void const *pvSrc, size_t cb) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + int rc = copyout(pvSrc, (void *)R3PtrDst, cb); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + if (RT_LIKELY(rc == 0)) + return VINF_SUCCESS; + return VERR_ACCESS_DENIED; diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_mp-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_mp-r0drv-freebsd.c new file mode 100644 index 000000000000..8c68cae63a34 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_mp-r0drv-freebsd.c @@ -0,0 +1,92 @@ +--- src/VBox/Runtime/r0drv/freebsd/mp-r0drv-freebsd.c.orig 2019-04-16 10:17:21 UTC ++++ src/VBox/Runtime/r0drv/freebsd/mp-r0drv-freebsd.c +@@ -147,7 +147,9 @@ RTDECL(RTCPUID) RTMpGetOnlineCount(void) + static void rtmpOnAllFreeBSDWrapper(void *pvArg) + { + PRTMPARGS pArgs = (PRTMPARGS)pvArg; ++ IPRT_FREEBSD_SAVE_EFL_AC(); + pArgs->pfnWorker(curcpu, pArgs->pvUser1, pArgs->pvUser2); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + } + + +@@ -159,7 +161,9 @@ RTDECL(int) RTMpOnAll(PFNRTMPWORKER pfnWorker, void *p + Args.pvUser2 = pvUser2; + Args.idCpu = NIL_RTCPUID; + Args.cHits = 0; ++ IPRT_FREEBSD_SAVE_EFL_AC(); + smp_rendezvous(NULL, rtmpOnAllFreeBSDWrapper, smp_no_rendezvous_barrier, &Args); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + +@@ -175,7 +179,11 @@ static void rtmpOnOthersFreeBSDWrapper(void *pvArg) + PRTMPARGS pArgs = (PRTMPARGS)pvArg; + RTCPUID idCpu = curcpu; + if (pArgs->idCpu != idCpu) ++ { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + pArgs->pfnWorker(idCpu, pArgs->pvUser1, pArgs->pvUser2); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); ++ } + } + + +@@ -196,6 +204,7 @@ RTDECL(int) RTMpOnOthers(PFNRTMPWORKER pfnWorker, void + Args.pvUser2 = pvUser2; + Args.idCpu = RTMpCpuId(); + Args.cHits = 0; ++ IPRT_FREEBSD_SAVE_EFL_AC(); + #if __FreeBSD_version >= 700000 + # if __FreeBSD_version >= 900000 + Mask = all_cpus; +@@ -207,6 +216,7 @@ RTDECL(int) RTMpOnOthers(PFNRTMPWORKER pfnWorker, void + #else + smp_rendezvous(NULL, rtmpOnOthersFreeBSDWrapper, NULL, &Args); + #endif ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + } + return VINF_SUCCESS; + } +@@ -224,8 +234,10 @@ static void rtmpOnSpecificFreeBSDWrapper(void *pvArg) + RTCPUID idCpu = curcpu; + if (pArgs->idCpu == idCpu) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + pArgs->pfnWorker(idCpu, pArgs->pvUser1, pArgs->pvUser2); + ASMAtomicIncU32(&pArgs->cHits); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + } + } + +@@ -248,6 +260,7 @@ RTDECL(int) RTMpOnSpecific(RTCPUID idCpu, PFNRTMPWORKE + Args.pvUser2 = pvUser2; + Args.idCpu = idCpu; + Args.cHits = 0; ++ IPRT_FREEBSD_SAVE_EFL_AC(); + #if __FreeBSD_version >= 700000 + # if __FreeBSD_version >= 900000 + CPU_SETOF(idCpu, &Mask); +@@ -258,6 +271,7 @@ RTDECL(int) RTMpOnSpecific(RTCPUID idCpu, PFNRTMPWORKE + #else + smp_rendezvous(NULL, rtmpOnSpecificFreeBSDWrapper, NULL, &Args); + #endif ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return Args.cHits == 1 + ? VINF_SUCCESS + : VERR_CPU_NOT_FOUND; +@@ -287,12 +301,14 @@ RTDECL(int) RTMpPokeCpu(RTCPUID idCpu) + if (!RTMpIsCpuOnline(idCpu)) + return VERR_CPU_NOT_FOUND; + ++ IPRT_FREEBSD_SAVE_EFL_AC(); + # if __FreeBSD_version >= 900000 + CPU_SETOF(idCpu, &Mask); + # else + Mask = (cpumask_t)1 << idCpu; + # endif + smp_rendezvous_cpus(Mask, NULL, rtmpFreeBSDPokeCallback, smp_no_rendezvous_barrier, NULL); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + + return VINF_SUCCESS; + } diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semevent-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semevent-r0drv-freebsd.c new file mode 100644 index 000000000000..c84313e2f5e2 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semevent-r0drv-freebsd.c @@ -0,0 +1,53 @@ +--- src/VBox/Runtime/r0drv/freebsd/semevent-r0drv-freebsd.c.orig 2021-01-07 15:42:08 UTC ++++ src/VBox/Runtime/r0drv/freebsd/semevent-r0drv-freebsd.c +@@ -101,7 +101,9 @@ RTDECL(int) RTSemEventCreateEx(PRTSEMEVENT phEventSem + Assert(!(fFlags & RTSEMEVENT_FLAGS_BOOTSTRAP_HACK) || (fFlags & RTSEMEVENT_FLAGS_NO_LOCK_VAL)); + AssertPtrReturn(phEventSem, VERR_INVALID_POINTER); + ++ IPRT_FREEBSD_SAVE_EFL_AC(); + PRTSEMEVENTINTERNAL pThis = (PRTSEMEVENTINTERNAL)RTMemAllocZ(sizeof(*pThis)); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + if (!pThis) + return VERR_NO_MEMORY; + +@@ -152,10 +154,12 @@ RTDECL(int) RTSemEventDestroy(RTSEMEVENT hEventSem) + /* + * Invalidate it and signal the object just in case. + */ ++ IPRT_FREEBSD_SAVE_EFL_AC(); + ASMAtomicWriteU32(&pThis->u32Magic, ~RTSEMEVENT_MAGIC); + ASMAtomicWriteU32(&pThis->fState, 0); + rtR0SemBsdBroadcast(pThis); + rtR0SemEventBsdRelease(pThis); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + +@@ -173,9 +177,11 @@ RTDECL(int) RTSemEventSignal(RTSEMEVENT hEventSem) + /* + * Signal the event object. + */ ++ IPRT_FREEBSD_SAVE_EFL_AC(); + ASMAtomicWriteU32(&pThis->fState, 1); + rtR0SemBsdSignal(pThis); + rtR0SemEventBsdRelease(pThis); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + +@@ -199,6 +205,7 @@ static int rtR0SemEventWait(PRTSEMEVENTINTERNAL pThis, + AssertPtrReturn(pThis, VERR_INVALID_PARAMETER); + AssertMsgReturn(pThis->u32Magic == RTSEMEVENT_MAGIC, ("%p u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_PARAMETER); + AssertReturn(RTSEMWAIT_FLAGS_ARE_VALID(fFlags), VERR_INVALID_PARAMETER); ++ IPRT_FREEBSD_SAVE_EFL_AC(); + rtR0SemEventBsdRetain(pThis); + + /* +@@ -248,6 +255,7 @@ static int rtR0SemEventWait(PRTSEMEVENTINTERNAL pThis, + } + + rtR0SemEventBsdRelease(pThis); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return rc; + } + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semeventmulti-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semeventmulti-r0drv-freebsd.c new file mode 100644 index 000000000000..d3571a937b1f --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semeventmulti-r0drv-freebsd.c @@ -0,0 +1,73 @@ +--- src/VBox/Runtime/r0drv/freebsd/semeventmulti-r0drv-freebsd.c.orig 2021-01-07 15:42:08 UTC ++++ src/VBox/Runtime/r0drv/freebsd/semeventmulti-r0drv-freebsd.c +@@ -120,7 +120,9 @@ RTDECL(int) RTSemEventMultiCreateEx(PRTSEMEVENTMULTI + PRTSEMEVENTMULTIINTERNAL pThis; + + AssertReturn(!(fFlags & ~RTSEMEVENTMULTI_FLAGS_NO_LOCK_VAL), VERR_INVALID_PARAMETER); ++ IPRT_FREEBSD_SAVE_EFL_AC(); + pThis = (PRTSEMEVENTMULTIINTERNAL)RTMemAlloc(sizeof(*pThis)); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + if (pThis) + { + pThis->u32Magic = RTSEMEVENTMULTI_MAGIC; +@@ -176,10 +178,12 @@ RTDECL(int) RTSemEventMultiDestroy(RTSEMEVENTMULTI hE + /* + * Invalidate it and signal the object just in case. + */ ++ IPRT_FREEBSD_SAVE_EFL_AC(); + ASMAtomicWriteU32(&pThis->u32Magic, ~RTSEMEVENTMULTI_MAGIC); + ASMAtomicAndU32(&pThis->fStateAndGen, RTSEMEVENTMULTIBSD_GEN_MASK); + rtR0SemBsdBroadcast(pThis); + rtR0SemEventMultiBsdRelease(pThis); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + +@@ -188,6 +192,7 @@ RTDECL(int) RTSemEventMultiSignal(RTSEMEVENTMULTI hEv + { + uint32_t fNew; + uint32_t fOld; ++ IPRT_FREEBSD_SAVE_EFL_AC(); + + /* + * Validate input. +@@ -214,12 +219,15 @@ RTDECL(int) RTSemEventMultiSignal(RTSEMEVENTMULTI hEv + + rtR0SemBsdBroadcast(pThis); + rtR0SemEventMultiBsdRelease(pThis); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + + + RTDECL(int) RTSemEventMultiReset(RTSEMEVENTMULTI hEventMultiSem) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); ++ + /* + * Validate input. + */ +@@ -236,6 +244,7 @@ RTDECL(int) RTSemEventMultiReset(RTSEMEVENTMULTI hEve + ASMAtomicAndU32(&pThis->fStateAndGen, ~RTSEMEVENTMULTIBSD_STATE_MASK); + + rtR0SemEventMultiBsdRelease(pThis); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + +@@ -252,6 +261,7 @@ RTDECL(int) RTSemEventMultiReset(RTSEMEVENTMULTI hEve + static int rtR0SemEventMultiBsdWait(PRTSEMEVENTMULTIINTERNAL pThis, uint32_t fFlags, uint64_t uTimeout, + PCRTLOCKVALSRCPOS pSrcPos) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + uint32_t fOrgStateAndGen; + int rc; + +@@ -311,6 +321,7 @@ static int rtR0SemEventMultiBsdWait(PRTSEMEVENTMULTIIN + } + + rtR0SemEventMultiBsdRelease(pThis); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return rc; + } + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semfastmutex-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semfastmutex-r0drv-freebsd.c new file mode 100644 index 000000000000..aeab0a76e37c --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semfastmutex-r0drv-freebsd.c @@ -0,0 +1,59 @@ +--- src/VBox/Runtime/r0drv/freebsd/semfastmutex-r0drv-freebsd.c.orig 2021-01-07 15:42:08 UTC ++++ src/VBox/Runtime/r0drv/freebsd/semfastmutex-r0drv-freebsd.c +@@ -86,6 +86,7 @@ RTDECL(int) RTSemFastMutexCreate(PRTSEMFASTMUTEX phFa + { + AssertCompile(sizeof(RTSEMFASTMUTEXINTERNAL) > sizeof(void *)); + AssertPtrReturn(phFastMtx, VERR_INVALID_POINTER); ++ IPRT_FREEBSD_SAVE_EFL_AC(); + + PRTSEMFASTMUTEXINTERNAL pThis = (PRTSEMFASTMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis)); + if (pThis) +@@ -94,8 +95,10 @@ RTDECL(int) RTSemFastMutexCreate(PRTSEMFASTMUTEX phFa + sx_init_flags(&pThis->SxLock, "IPRT Fast Mutex Semaphore", SX_DUPOK); + + *phFastMtx = pThis; ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY; + } + +@@ -107,11 +110,13 @@ RTDECL(int) RTSemFastMutexDestroy(RTSEMFASTMUTEX hFas + return VINF_SUCCESS; + AssertPtrReturn(pThis, VERR_INVALID_HANDLE); + AssertMsgReturn(pThis->u32Magic == RTSEMFASTMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE); ++ IPRT_FREEBSD_SAVE_EFL_AC(); + + ASMAtomicWriteU32(&pThis->u32Magic, RTSEMFASTMUTEX_MAGIC_DEAD); + sx_destroy(&pThis->SxLock); + RTMemFree(pThis); + ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + +@@ -121,8 +126,11 @@ RTDECL(int) RTSemFastMutexRequest(RTSEMFASTMUTEX hFas + PRTSEMFASTMUTEXINTERNAL pThis = hFastMtx; + AssertPtrReturn(pThis, VERR_INVALID_HANDLE); + AssertMsgReturn(pThis->u32Magic == RTSEMFASTMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE); ++ IPRT_FREEBSD_SAVE_EFL_AC(); + + sx_xlock(&pThis->SxLock); ++ ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + +@@ -132,8 +140,11 @@ RTDECL(int) RTSemFastMutexRelease(RTSEMFASTMUTEX hFas + PRTSEMFASTMUTEXINTERNAL pThis = hFastMtx; + AssertPtrReturn(pThis, VERR_INVALID_HANDLE); + AssertMsgReturn(pThis->u32Magic == RTSEMFASTMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE); ++ IPRT_FREEBSD_SAVE_EFL_AC(); + + sx_xunlock(&pThis->SxLock); ++ ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semmutex-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semmutex-r0drv-freebsd.c new file mode 100644 index 000000000000..6345ae10c562 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semmutex-r0drv-freebsd.c @@ -0,0 +1,80 @@ +--- src/VBox/Runtime/r0drv/freebsd/semmutex-r0drv-freebsd.c.orig 2018-10-15 14:31:31 UTC ++++ src/VBox/Runtime/r0drv/freebsd/semmutex-r0drv-freebsd.c +@@ -62,6 +62,7 @@ RTDECL(int) RTSemMutexCreate(PRTSEMMUTEX phMutexSem) + { + AssertCompile(sizeof(RTSEMMUTEXINTERNAL) > sizeof(void *)); + AssertPtrReturn(phMutexSem, VERR_INVALID_POINTER); ++ IPRT_FREEBSD_SAVE_EFL_AC(); + + PRTSEMMUTEXINTERNAL pThis = (PRTSEMMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis)); + if (pThis) +@@ -70,8 +71,10 @@ RTDECL(int) RTSemMutexCreate(PRTSEMMUTEX phMutexSem) + sx_init_flags(&pThis->SxLock, "IPRT Mutex Semaphore", SX_RECURSE); + + *phMutexSem = pThis; ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VERR_NO_MEMORY; + } + +@@ -83,12 +86,14 @@ RTDECL(int) RTSemMutexDestroy(RTSEMMUTEX hMutexSem) + return VINF_SUCCESS; + AssertPtrReturn(pThis, VERR_INVALID_HANDLE); + AssertMsgReturn(pThis->u32Magic == RTSEMMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE); ++ IPRT_FREEBSD_SAVE_EFL_AC(); + + AssertReturn(ASMAtomicCmpXchgU32(&pThis->u32Magic, RTSEMMUTEX_MAGIC_DEAD, RTSEMMUTEX_MAGIC), VERR_INVALID_HANDLE); + + sx_destroy(&pThis->SxLock); + RTMemFree(pThis); + ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + +@@ -99,6 +104,7 @@ RTDECL(int) RTSemMutexRequest(RTSEMMUTEX hMutexSem, R + int rc; + AssertPtrReturn(pThis, VERR_INVALID_HANDLE); + AssertMsgReturn(pThis->u32Magic == RTSEMMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE); ++ IPRT_FREEBSD_SAVE_EFL_AC(); + + if (cMillies == RT_INDEFINITE_WAIT) + { +@@ -133,6 +139,7 @@ RTDECL(int) RTSemMutexRequest(RTSEMMUTEX hMutexSem, R + } while (RTTimeSystemMilliTS() - StartTS < cMillies); + } + ++ IPRT_FREEBSD_RESTORE_EFL_ONLY_AC(); + return VINF_SUCCESS; + } + +@@ -149,6 +156,7 @@ RTDECL(int) RTSemMutexRequestNoResume(RTSEMMUTEX hMut + int rc; + AssertPtrReturn(pThis, VERR_INVALID_HANDLE); + AssertMsgReturn(pThis->u32Magic == RTSEMMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE); ++ IPRT_FREEBSD_SAVE_EFL_AC(); + + if (cMillies == RT_INDEFINITE_WAIT) + { +@@ -186,6 +194,7 @@ RTDECL(int) RTSemMutexRequestNoResume(RTSEMMUTEX hMut + } while (RTTimeSystemMilliTS() - StartTS < cMillies); + } + ++ IPRT_FREEBSD_RESTORE_EFL_ONLY_AC(); + return VINF_SUCCESS; + } + +@@ -201,8 +210,11 @@ RTDECL(int) RTSemMutexRelease(RTSEMMUTEX hMutexSem) + PRTSEMMUTEXINTERNAL pThis = hMutexSem; + AssertPtrReturn(pThis, VERR_INVALID_HANDLE); + AssertMsgReturn(pThis->u32Magic == RTSEMMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE); ++ IPRT_FREEBSD_SAVE_EFL_AC(); + + sx_xunlock(&pThis->SxLock); ++ ++ IPRT_FREEBSD_RESTORE_EFL_ONLY_AC(); + return VINF_SUCCESS; + } + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_spinlock-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_spinlock-r0drv-freebsd.c new file mode 100644 index 000000000000..4a86a2e38eb2 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_spinlock-r0drv-freebsd.c @@ -0,0 +1,30 @@ +--- src/VBox/Runtime/r0drv/freebsd/spinlock-r0drv-freebsd.c.orig 2021-01-07 15:42:09 UTC ++++ src/VBox/Runtime/r0drv/freebsd/spinlock-r0drv-freebsd.c +@@ -106,7 +106,9 @@ RTDECL(int) RTSpinlockCreate(PRTSPINLOCK pSpinlock, u + * Allocate. + */ + AssertCompile(sizeof(RTSPINLOCKINTERNAL) > sizeof(void *)); ++ IPRT_FREEBSD_SAVE_EFL_AC(); + PRTSPINLOCKINTERNAL pThis = (PRTSPINLOCKINTERNAL)RTMemAllocZ(sizeof(*pThis)); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + if (!pThis) + return VERR_NO_MEMORY; + +@@ -140,7 +142,9 @@ RTDECL(int) RTSpinlockDestroy(RTSPINLOCK Spinlock) + * Make the lock invalid and release the memory. + */ + ASMAtomicIncU32(&pThis->u32Magic); ++ IPRT_FREEBSD_SAVE_EFL_AC(); + RTMemFree(pThis); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + +@@ -166,6 +170,7 @@ RTDECL(void) RTSpinlockAcquire(RTSPINLOCK Spinlock) + { + RT_ASSERT_PREEMPT_CPUID_SPIN_ACQUIRED(pThis); + pThis->fIntSaved = fIntSaved; ++ IPRT_FREEBSD_RESTORE_EFL_ONLY_AC_EX(fIntSaved); + return; + } + if (--c <= 0) diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_the-freebsd-kernel.h b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_the-freebsd-kernel.h new file mode 100644 index 000000000000..c783814425f5 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_the-freebsd-kernel.h @@ -0,0 +1,48 @@ +--- src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h.orig 2025-04-14 17:59:14 UTC ++++ src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h +@@ -97,6 +97,7 @@ + #include <sys/smp.h> + #include <sys/sleepqueue.h> + #include <sys/sx.h> ++#include <sys/vmmeter.h> /* vm_cnt */ + #include <vm/vm.h> + #include <vm/pmap.h> /* for vtophys */ + #include <vm/vm_map.h> +@@ -104,10 +105,11 @@ + #include <vm/vm_kern.h> + #include <vm/vm_param.h> /* KERN_SUCCESS ++ */ + #include <vm/vm_page.h> ++#include <vm/vm_pager.h> + #include <vm/vm_phys.h> /* vm_phys_alloc_* */ + #include <vm/vm_extern.h> /* kmem_alloc_attr */ + #include <vm/vm_pageout.h> /* vm_contig_grow_cache */ +-#include <sys/vmmeter.h> /* cnt */ ++#include <vm/vm_radix.h> + #include <sys/resourcevar.h> + #include <machine/cpu.h> + +@@ -165,6 +167,24 @@ + */ + #if 0 /** @todo Not available yet. */ + # define USE_KMEM_ALLOC_PROT ++#endif ++ ++/** ++ * Macros for preserving EFLAGS.AC (despair / paranoid) ++ */ ++#if __FreeBSD_version >= 1200076 && defined(RT_ARCH_AMD64) ++# include <iprt/asm-amd64-x86.h> ++# include <iprt/x86.h> ++# define IPRT_FREEBSD_SAVE_EFL_AC() RTCCUINTREG const fSavedEfl = ASMGetFlags() ++# define IPRT_FREEBSD_RESTORE_EFL_AC() ASMSetFlags(fSavedEfl) ++# define IPRT_FREEBSD_RESTORE_EFL_ONLY_AC() ASMChangeFlags(~X86_EFL_AC, fSavedEfl & X86_EFL_AC) ++# define IPRT_FREEBSD_RESTORE_EFL_ONLY_AC_EX(f) ASMChangeFlags(~X86_EFL_AC, (f) & X86_EFL_AC) ++# define VBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV ++#else ++# define IPRT_FREEBSD_SAVE_EFL_AC() do { } while (0) ++# define IPRT_FREEBSD_RESTORE_EFL_AC() do { } while (0) ++# define IPRT_FREEBSD_RESTORE_EFL_ONLY_AC() do { } while (0) ++# define IPRT_FREEBSD_RESTORE_EFL_ONLY_AC_EX(f) do { } while (0) + #endif + + #endif /* !IPRT_INCLUDED_SRC_r0drv_freebsd_the_freebsd_kernel_h */ diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_thread-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_thread-r0drv-freebsd.c new file mode 100644 index 000000000000..c1ba2d811cde --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_thread-r0drv-freebsd.c @@ -0,0 +1,91 @@ +--- src/VBox/Runtime/r0drv/freebsd/thread-r0drv-freebsd.c.orig 2021-04-20 04:32:44 UTC ++++ src/VBox/Runtime/r0drv/freebsd/thread-r0drv-freebsd.c +@@ -49,7 +49,6 @@ RTDECL(RTNATIVETHREAD) RTThreadNativeSelf(void) + static int rtR0ThreadFbsdSleepCommon(RTMSINTERVAL cMillies) + { + int rc; +- int cTicks; + + /* + * 0 ms sleep -> yield. +@@ -60,30 +59,34 @@ static int rtR0ThreadFbsdSleepCommon(RTMSINTERVAL cMil + return VINF_SUCCESS; + } + ++ IPRT_FREEBSD_SAVE_EFL_AC(); ++ + /* + * Translate milliseconds into ticks and go to sleep. + */ + if (cMillies != RT_INDEFINITE_WAIT) + { +- if (hz == 1000) +- cTicks = cMillies; +- else if (hz == 100) +- cTicks = cMillies / 10; +- else +- { +- int64_t cTicks64 = ((uint64_t)cMillies * hz) / 1000; +- cTicks = (int)cTicks64; +- if (cTicks != cTicks64) +- cTicks = INT_MAX; +- } ++ struct timeval tv; ++ ++ tv.tv_sec = cMillies / 1000; ++ tv.tv_usec = cMillies * 1000; ++ ++ rc = tsleep_sbt((void *)RTThreadSleep, ++ PZERO | PCATCH, ++ "iprtsl", /* max 6 chars */ ++ tvtosbt(tv), ++ 0, ++ C_ABSOLUTE); + } + else +- cTicks = 0; /* requires giant lock! */ +- +- rc = tsleep((void *)RTThreadSleep, +- PZERO | PCATCH, +- "iprtsl", /* max 6 chars */ +- cTicks); ++ { ++ /* requires giant lock! */ ++ rc = tsleep((void *)RTThreadSleep, ++ PZERO | PCATCH, ++ "iprts0", /* max 6 chars */ ++ 0); ++ } ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + switch (rc) + { + case 0: +@@ -114,11 +117,13 @@ RTDECL(int) RTThreadSleepNoLog(RTMSINTERVAL cMillies) + + RTDECL(bool) RTThreadYield(void) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + #if __FreeBSD_version >= 900032 + kern_yield(curthread->td_user_pri); + #else + uio_yield(); + #endif ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return false; /** @todo figure this one ... */ + } + +@@ -167,12 +172,14 @@ RTDECL(void) RTThreadPreemptDisable(PRTTHREADPREEMPTST + + RTDECL(void) RTThreadPreemptRestore(PRTTHREADPREEMPTSTATE pState) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); /* paranoia */ + AssertPtr(pState); + Assert(pState->u32Reserved == 42); + pState->u32Reserved = 0; + + RT_ASSERT_PREEMPT_CPUID_RESTORE(pState); + critical_exit(); ++ IPRT_FREEBSD_RESTORE_EFL_ONLY_AC(); /* paranoia */ + } + + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_thread2-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_thread2-r0drv-freebsd.c new file mode 100644 index 000000000000..c9cd05c42397 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_thread2-r0drv-freebsd.c @@ -0,0 +1,35 @@ +--- src/VBox/Runtime/r0drv/freebsd/thread2-r0drv-freebsd.c.orig 2021-01-07 15:42:09 UTC ++++ src/VBox/Runtime/r0drv/freebsd/thread2-r0drv-freebsd.c +@@ -94,6 +94,8 @@ DECLHIDDEN(int) rtThreadNativeSetPriority(PRTTHREADINT + return VERR_INVALID_PARAMETER; + } + ++ IPRT_FREEBSD_SAVE_EFL_AC(); ++ + #if __FreeBSD_version < 700000 + /* Do like they're doing in subr_ntoskrnl.c... */ + mtx_lock_spin(&sched_lock); +@@ -110,6 +112,7 @@ DECLHIDDEN(int) rtThreadNativeSetPriority(PRTTHREADINT + thread_unlock(curthread); + #endif + ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + +@@ -159,6 +162,7 @@ static void rtThreadNativeMain(void *pvThreadInt) + + DECLHIDDEN(int) rtThreadNativeCreate(PRTTHREADINT pThreadInt, PRTNATIVETHREAD pNativeThread) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); + int rc; + struct proc *pProc; + +@@ -174,6 +178,7 @@ DECLHIDDEN(int) rtThreadNativeCreate(PRTTHREADINT pThr + } + else + rc = RTErrConvertFromErrno(rc); ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return rc; + } + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_time-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_time-r0drv-freebsd.c new file mode 100644 index 000000000000..399328e16faa --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_time-r0drv-freebsd.c @@ -0,0 +1,43 @@ +--- src/VBox/Runtime/r0drv/freebsd/time-r0drv-freebsd.c.orig 2021-01-07 15:42:09 UTC ++++ src/VBox/Runtime/r0drv/freebsd/time-r0drv-freebsd.c +@@ -64,16 +64,23 @@ + + RTDECL(uint64_t) RTTimeNanoTS(void) + { +- struct timespec tsp; +- nanouptime(&tsp); +- return tsp.tv_sec * RT_NS_1SEC_64 +- + tsp.tv_nsec; ++ struct bintime bt; ++ uint64_t ns; ++ binuptime(&bt); ++ ns = RT_NS_1SEC_64 * bt.sec; ++ ns += (RT_NS_1SEC_64 * (uint32_t)(bt.frac >> 32)) >> 32; ++ return ns; + } + + + RTDECL(uint64_t) RTTimeMilliTS(void) + { +- return RTTimeNanoTS() / RT_NS_1MS; ++ struct bintime bt; ++ uint64_t ms; ++ binuptime(&bt); ++ ms = RT_MS_1SEC_64 * bt.sec; ++ ms += (RT_MS_1SEC_64 * (uint32_t)(bt.frac >> 32)) >> 32; ++ return ms; + } + + +@@ -91,8 +98,7 @@ RTDECL(uint64_t) RTTimeSystemMilliTS(void) + + RTDECL(PRTTIMESPEC) RTTimeNow(PRTTIMESPEC pTime) + { +- struct timespec tsp; +- nanotime(&tsp); +- return RTTimeSpecSetTimespec(pTime, &tsp); ++ struct timespec ts; ++ nanotime(&ts); ++ return RTTimeSpecSetTimespec(pTime, &ts); + } +- diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_timer-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_timer-r0drv-freebsd.c new file mode 100644 index 000000000000..ee5b90f13c51 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_timer-r0drv-freebsd.c @@ -0,0 +1,68 @@ +--- src/VBox/Runtime/r0drv/freebsd/timer-r0drv-freebsd.c.orig 2021-01-07 15:42:09 UTC ++++ src/VBox/Runtime/r0drv/freebsd/timer-r0drv-freebsd.c +@@ -116,6 +116,7 @@ static void rtTimerFreeBSDCallback(void *pvTimer); + RTDECL(int) RTTimerCreateEx(PRTTIMER *ppTimer, uint64_t u64NanoInterval, uint32_t fFlags, PFNRTTIMER pfnTimer, void *pvUser) + { + *ppTimer = NULL; ++ IPRT_FREEBSD_SAVE_EFL_AC(); + + /* + * Validate flags. +@@ -145,6 +146,7 @@ RTDECL(int) RTTimerCreateEx(PRTTIMER *ppTimer, uint64_ + callout_init(&pTimer->Callout, CALLOUT_MPSAFE); + + *ppTimer = pTimer; ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + +@@ -165,6 +167,8 @@ DECLINLINE(bool) rtTimerIsValid(PRTTIMER pTimer) + + RTDECL(int) RTTimerDestroy(PRTTIMER pTimer) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); ++ + /* It's ok to pass NULL pointer. */ + if (pTimer == /*NIL_RTTIMER*/ NULL) + return VINF_SUCCESS; +@@ -177,6 +181,8 @@ RTDECL(int) RTTimerDestroy(PRTTIMER pTimer) + pTimer->u32Magic++; + callout_stop(&pTimer->Callout); + RTMemFree(pTimer); ++ ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + +@@ -184,6 +190,7 @@ RTDECL(int) RTTimerDestroy(PRTTIMER pTimer) + RTDECL(int) RTTimerStart(PRTTIMER pTimer, uint64_t u64First) + { + struct timeval tv; ++ IPRT_FREEBSD_SAVE_EFL_AC(); + + if (!rtTimerIsValid(pTimer)) + return VERR_INVALID_HANDLE; +@@ -207,12 +214,15 @@ RTDECL(int) RTTimerStart(PRTTIMER pTimer, uint64_t u64 + tv.tv_usec = (u64First % 1000000000) / 1000; + callout_reset(&pTimer->Callout, tvtohz(&tv), rtTimerFreeBSDCallback, pTimer); + ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + + + RTDECL(int) RTTimerStop(PRTTIMER pTimer) + { ++ IPRT_FREEBSD_SAVE_EFL_AC(); ++ + if (!rtTimerIsValid(pTimer)) + return VERR_INVALID_HANDLE; + if (pTimer->fSuspended) +@@ -224,6 +234,7 @@ RTDECL(int) RTTimerStop(PRTTIMER pTimer) + pTimer->fSuspended = true; + callout_stop(&pTimer->Callout); + ++ IPRT_FREEBSD_RESTORE_EFL_AC(); + return VINF_SUCCESS; + } + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp new file mode 100644 index 000000000000..87ae993446a3 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp @@ -0,0 +1,39 @@ +--- src/VBox/Runtime/r3/freebsd/systemmem-freebsd.cpp.orig 2025-04-14 17:59:18 UTC ++++ src/VBox/Runtime/r3/freebsd/systemmem-freebsd.cpp +@@ -75,7 +75,6 @@ RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb) + u_int cPagesMemFree = 0; + u_int cPagesMemInactive = 0; + u_int cPagesMemCached = 0; +- u_int cPagesMemUsed = 0; + int cbPage = 0; + size_t cbParameter; + int cProcessed = 0; +@@ -83,25 +82,23 @@ RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb) + cbParameter = sizeof(cPagesMemFree); + if (sysctlbyname("vm.stats.vm.v_free_count", &cPagesMemFree, &cbParameter, NULL, 0)) + rc = RTErrConvertFromErrno(errno); +- cbParameter = sizeof(cPagesMemUsed); +- if ( RT_SUCCESS(rc) +- && sysctlbyname("vm.stats.vm.v_active_count", &cPagesMemUsed, &cbParameter, NULL, 0)) +- rc = RTErrConvertFromErrno(errno); + cbParameter = sizeof(cPagesMemInactive); + if ( RT_SUCCESS(rc) + && sysctlbyname("vm.stats.vm.v_inactive_count", &cPagesMemInactive, &cbParameter, NULL, 0)) + rc = RTErrConvertFromErrno(errno); ++#if __FreeBSD_version < 1200016 + cbParameter = sizeof(cPagesMemCached); + if ( RT_SUCCESS(rc) + && sysctlbyname("vm.stats.vm.v_cache_count", &cPagesMemCached, &cbParameter, NULL, 0)) + rc = RTErrConvertFromErrno(errno); ++#endif + cbParameter = sizeof(cbPage); + if ( RT_SUCCESS(rc) + && sysctlbyname("hw.pagesize", &cbPage, &cbParameter, NULL, 0)) + rc = RTErrConvertFromErrno(errno); + + if (RT_SUCCESS(rc)) +- *pcb = (cPagesMemFree + cPagesMemInactive + cPagesMemCached ) * cbPage; ++ *pcb = ((uint64_t)cPagesMemFree + cPagesMemInactive + cPagesMemCached) * cbPage; + + return rc; + } diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r3_posix_process-creation-posix.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r3_posix_process-creation-posix.cpp new file mode 100644 index 000000000000..83cabcb77b97 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r3_posix_process-creation-posix.cpp @@ -0,0 +1,38 @@ +--- src/VBox/Runtime/r3/posix/process-creation-posix.cpp.orig 2022-01-13 18:58:24 UTC ++++ src/VBox/Runtime/r3/posix/process-creation-posix.cpp +@@ -30,7 +30,7 @@ + *********************************************************************************************************************************/ + #define LOG_GROUP RTLOGGROUP_PROCESS + #include <iprt/cdefs.h> +-#ifdef RT_OS_LINUX ++#if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD) + # define IPRT_WITH_DYNAMIC_CRYPT_R + #endif + #if (defined(RT_OS_LINUX) || defined(RT_OS_OS2)) && !defined(_GNU_SOURCE) +@@ -69,7 +69,7 @@ + # include <shadow.h> + #endif + +-#if defined(RT_OS_LINUX) || defined(RT_OS_OS2) ++#if defined(RT_OS_LINUX) || defined(RT_OS_OS2) || defined(RT_OS_FREEBSD) + /* While Solaris has posix_spawn() of course we don't want to use it as + * we need to have the child in a different process contract, no matter + * whether it is started detached or not. */ +@@ -157,7 +157,7 @@ + # define IPRT_LIBPAM_FILE_3 "libpam.1.dylib" + # define IPRT_LIBPAM_FILE_3_FIRST_VER 0 + # define IPRT_LIBPAM_FILE_3_END_VER 0 +-# elif RT_OS_LINUX ++# elif RT_OS_LINUX || RT_OS_FREEBSD + # define IPRT_LIBPAM_FILE_1 "libpam.so.0" + # define IPRT_LIBPAM_FILE_1_FIRST_VER 0 + # define IPRT_LIBPAM_FILE_1_END_VER 0 +@@ -572,7 +572,7 @@ static int rtCheckCredentials(const char *pszUser, con + if (pPw->pw_passwd && *pPw->pw_passwd) + # endif + { +-# if defined(RT_OS_LINUX) || defined(RT_OS_OS2) ++# if defined(RT_OS_LINUX) || defined(RT_OS_OS2) || defined(RT_OS_FREEBSD) + # ifdef IPRT_WITH_DYNAMIC_CRYPT_R + size_t const cbCryptData = RT_MAX(sizeof(struct crypt_data) * 2, _256K); + # else diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_VMM_VMMR3_PDMAsyncCompletionFileNormal.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_VMM_VMMR3_PDMAsyncCompletionFileNormal.cpp new file mode 100644 index 000000000000..b04b05811f86 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_VMM_VMMR3_PDMAsyncCompletionFileNormal.cpp @@ -0,0 +1,59 @@ +--- src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp.orig 2021-04-19 21:33:04.000000000 -0700 ++++ src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp 2021-05-18 11:45:08.396136000 -0700 +@@ -27,6 +27,13 @@ + #include <iprt/string.h> + #include <iprt/assert.h> + #include <VBox/log.h> ++/* TBR: we need a complicated crawl through the data structure to get the AIO system limits ++ to check when considering growing the number of active AIO requests.... */ ++/* We need the PDMInternal *before* the UVM, or it isn't visible afterwards. (src/VBox/VMM/include/PDMInternal.h) */ ++#include <PDMInternal.h> ++#include <VBox/vmm/uvm.h> ++#include <VBox/vmm/vm.h> ++/* TBR: end of extra includes. */ + + #include "PDMAsyncCompletionFileInternal.h" + +@@ -1120,8 +1127,40 @@ + */ + pdmacFileAioMgrNormalBalanceLoad(pAioMgr); + #else +- /* Grow the I/O manager */ +- pAioMgr->enmState = PDMACEPFILEMGRSTATE_GROWING; ++ /* TBR: Check the global AIO system limit before growing. ++ This is the complicateds crawl through the data structure mentioned ++ near the start of this file. ++ There HAS to be a better way and better time to get this limit! */ ++ PPDMASYNCCOMPLETIONEPCLASS pEpClass = NULL; ++ PCPDMASYNCCOMPLETIONEPCLASSOPS pEndpointOps = NULL; ++ PDMASYNCCOMPLETIONEPCLASSTYPE enmClassType; ++ PPDMASYNCCOMPLETIONEPCLASSFILE pEpClassFile = NULL; ++ PVM pVM = NULL; ++ PUVM pUVM = NULL; ++ unsigned int aio_system_reqests_max = RTFILEAIO_UNLIMITED_REQS; ++ pEpClass = pEndpoint->Core.pEpClass; ++ AssertMsg((NULL != pEpClass),("ep->class is NULL")); ++ pEndpointOps = pEpClass->pEndpointOps; ++ AssertMsg((NULL != pEndpointOps),("ep->class->ops is NULL")); ++ enmClassType = pEndpointOps->enmClassType; ++ AssertMsg((PDMASYNCCOMPLETIONEPCLASSTYPE_FILE == enmClassType), ++ ("ep->class->ops->type != PDMASYNCCOMPLETIONEPCLASSTYPE_FILE")); ++ pVM = pEpClass->pVM; ++ AssertMsg((NULL != pVM),("ep->class->VM is NULL")); ++ pUVM = pVM->pUVM; ++ AssertMsg((NULL != pUVM),("ep->class->VM->UVM is NULL")); ++ pEpClassFile = (PPDMASYNCCOMPLETIONEPCLASSFILE) (pUVM->pdm.s.apAsyncCompletionEndpointClass[enmClassType]); ++ AssertMsg((NULL != pEpClassFile),("ep->class->VM->UVM->pdn[globals] is NULL")); ++ aio_system_reqests_max = pEpClassFile->cReqsOutstandingMax; ++#if 0 ++ /* A one time check during development to verify getting the right number. */ ++ AssertMsg((256 != aio_system_reqests_max), ++ ("aio_system_reqests_max != 256 (val=%u)",aio_system_reqests_max)); ++#endif ++ if (RT_UNLIKELY( aio_system_reqests_max == RTFILEAIO_UNLIMITED_REQS ++ || (pAioMgr->cRequestsActiveMax+PDMACEPFILEMGR_REQS_STEP) <= aio_system_reqests_max)) ++ /* Grow the I/O manager */ ++ pAioMgr->enmState = PDMACEPFILEMGRSTATE_GROWING; + #endif + } + } diff --git a/emulators/virtualbox-ose-71/files/patch-src_VMM_Config.kmk b/emulators/virtualbox-ose-71/files/patch-src_VMM_Config.kmk new file mode 100644 index 000000000000..1c44352c9409 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VMM_Config.kmk @@ -0,0 +1,11 @@ +--- src/VBox/VMM/Config.kmk.orig 2024-12-27 03:55:34.269311000 +0100 ++++ src/VBox/VMM/Config.kmk 2024-12-27 03:42:41.858673000 +0100 +@@ -91,7 +91,7 @@ + VMM_COMMON_DEFS += VBOX_WITH_NATIVE_NEM VBOX_WITH_NEM_R0 + endif + endif +-if1of ($(KBUILD_TARGET), freebsd linux solaris) # Hosts that implements SUPR0HCPhysToVirt. ++if1of ($(KBUILD_TARGET), linux solaris) # Hosts that implements SUPR0HCPhysToVirt. + VMM_COMMON_DEFS += VBOX_WITH_LINEAR_HOST_PHYS_MEM + endif + diff --git a/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_Makefile.kmk new file mode 100644 index 000000000000..c87ba535edb0 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_Makefile.kmk @@ -0,0 +1,11 @@ +--- src/libs/xpcom18a4/Makefile.kmk.orig 2021-01-07 15:44:04 UTC ++++ src/libs/xpcom18a4/Makefile.kmk +@@ -985,6 +985,8 @@ VBoxXPCOM_LIBS = \ + $(VBox-xpcom-proxy_1_TARGET) \ + $(VBox-xpcom-nspr_1_TARGET) \ + $(VBoxXPCOMGlue_s_1_TARGET) ++VBoxXPCOM_LIBS.freebsd = \ ++ pthread + VBoxXPCOM_LIBS.linux = \ + pthread dl + diff --git a/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_nsprpub_pr_src_pthreads_ptsynch.c b/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_nsprpub_pr_src_pthreads_ptsynch.c new file mode 100644 index 000000000000..4d556c7cf5a0 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_nsprpub_pr_src_pthreads_ptsynch.c @@ -0,0 +1,13 @@ +--- src/libs/xpcom18a4/nsprpub/pr/src/pthreads/ptsynch.c.orig 2025-01-21 20:03:59.000000000 +0700 ++++ src/libs/xpcom18a4/nsprpub/pr/src/pthreads/ptsynch.c 2025-01-23 01:00:59.324267000 +0700 +@@ -45,6 +45,10 @@ + #include <string.h> + #include <pthread.h> + #include <sys/time.h> ++#ifdef FREEBSD ++#include <sys/param.h> ++#endif ++ + #include <errno.h> + + #include <iprt/asm.h> diff --git a/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_xpcom_io_nsLocalFileUnix.h b/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_xpcom_io_nsLocalFileUnix.h new file mode 100644 index 000000000000..13af9aa6bffa --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_xpcom_io_nsLocalFileUnix.h @@ -0,0 +1,17 @@ +--- src/libs/xpcom18a4/xpcom/io/nsLocalFileUnix.h.orig 2020-05-13 19:46:34 UTC ++++ src/libs/xpcom18a4/xpcom/io/nsLocalFileUnix.h +@@ -72,14 +72,6 @@ + #define STATFS statfs + #endif + +-// so we can statfs on freebsd +-#if defined(__FreeBSD__) +- #define HAVE_SYS_STATFS_H +- #define STATFS statfs +- #include <sys/param.h> +- #include <sys/mount.h> +-#endif +- + class NS_COM nsLocalFile : public nsILocalFile + { + public: diff --git a/emulators/virtualbox-ose-71/files/pkg-message.in b/emulators/virtualbox-ose-71/files/pkg-message.in new file mode 100644 index 000000000000..27c14e0a2e2a --- /dev/null +++ b/emulators/virtualbox-ose-71/files/pkg-message.in @@ -0,0 +1,120 @@ +[ +{ type: install + message: <<EOM +VirtualBox was installed. + +You need to load the vboxdrv kernel module via /boot/loader.conf: + +vboxdrv_load="YES" + +You also have to add all users to your vboxusers group in order to use vbox. + +% pw groupmod vboxusers -m jerry + +Reboot the machine to load the needed kernel modules. + + +Bridging Support: +================= + +For bridged networking please add the following line to your /etc/rc.conf: + +vboxnet_enable="YES" + + +USB Support: +============ + +For USB support your user needs to be in the operator group and needs read +and write permissions to the USB device. + +% pw groupmod operator -m jerry + +Add the following to /etc/devfs.rules (create if it doesn't exist): + +[system=10] +add path 'usb/*' mode 0660 group operator + +To load these new rule add the following to /etc/rc.conf: + +devfs_system_ruleset="system" + +Then restart devfs to load the new rules: + +% /etc/rc.d/devfs restart + + +Troubleshooting: +================ + +Running VirtualBox as non-root user may fail with a fatal error +NS_ERROR_FACTORY_NOT_REGISTERED. In this case delete /tmp/.vbox-*-ipc file. + +If you experience "Network: write Failed: Cannot allocate memory" errors +try to increase net.graph.maxdata in /boot/loader.conf + +If you are using AIO, then increase these limits (https://bugs.freebsd.org/168298): +vfs.aio.max_buf_aio=8192 +vfs.aio.max_aio_queue_per_proc=65536 +vfs.aio.max_aio_per_proc=8192 +vfs.aio.max_aio_queue=65536 +To check if AIO is used use: kldstat -v | grep aio + +If you are experiencing VMs freezes with an error in VBox.log such as: +" +00:01:29.590192 AssertLogRel /usr/ports/emulators/virtualbox-ose/work/VirtualBox-6.1.44 +/src/VBox/VMM/VMMR3/PGMPhys.cpp(5148) int PGMR3PhysAllocateHandyPages(PVM): RT_SUCCESS(rc) +00:01:29.590221 87/128: idPage=0x3d400 HCPhysGCPhys=000000027eaed000 rc=VERR_NO_MEMORY +00:01:29.590247 Changing the VM state from 'RUNNING' to 'GURU_MEDITATION' +00:01:29.590261 Console: Machine state changed to 'GuruMeditation' +00:01:29.590695 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +00:01:29.590696 !! +00:01:29.590697 !! VCPU0: Guru Meditation -8 (VERR_NO_MEMORY) +" +and see a lot of free RAM, then increase sysctl vm.max_user_wired +(https://bugs.freebsd.org/252227). +For dedicated VM servers, a good start is: +("RAM in GB" - max(1, "RAM in GB" / 32)) * 1024*1024*1024 / PAGE_SIZE +PAGE_SIZE on x86 is 4096. +Examples with different RAM sizes in GB: + 16: ( 16-max(1, 16/32)*1024*1024*1024/4096 = 3932160 => 15GB + 32: ( 32-max(1, 32/32)*1024*1024*1024/4096 = 8126464 => 31GB + 48: ( 48-max(1, 48/32)*1024*1024*1024/4096 = 12189696 => 46.5GB + 64: ( 64-max(1, 64/32)*1024*1024*1024/4096 = 16252928 => 62GB +128: (128-max(1,128/32)*1024*1024*1024/4096 = 32505856 => 124GB +256: (256-max(1,256/32)*1024*1024*1024/4096 = 65011712 => 248GB + +When assigning IP addresses in host-only mode from ranges outside +of VirtualBox's defaults, the respective ranges need to be listed +in %%VBOX_ETC%%/networks.conf (https://bugs.freebsd.org/259399). + +Check the wiki page for known issues and troubleshooting: +https://wiki.freebsd.org/VirtualBox + +Please report any problems to emulation@. Thanks! +EOM +} +{ type: upgrade + maximum_version: 6.1.22 + message: <<EOM +The PULSEAUDIO option has been forcibly disabled since VirtualBox +version 6.1.24 due to a bug in it preventing virtual machines +configured to use it from starting. + +When upgrading from a previous version please reconfigure any virtual +machines using the Pulseaudio host audio driver to use another +supported one. +EOM +} +{ type: upgrade + minimum_version: 6.1.26 + maximum_version: 6.1.32_1 + message: <<EOM +To comply to hier(7) requirements, networks.conf's location changed +to %%VBOX_ETC%%/networks.conf. + +In case /etc/vbox/networks.conf exists, it needs to be moved to +%%VBOX_ETC%% and /etc/vbox should be deleted. +EOM +} +] diff --git a/emulators/virtualbox-ose-71/files/vboxheadless.in b/emulators/virtualbox-ose-71/files/vboxheadless.in new file mode 100644 index 000000000000..5ddc5fc21d6c --- /dev/null +++ b/emulators/virtualbox-ose-71/files/vboxheadless.in @@ -0,0 +1,140 @@ +#!/bin/sh + +# PROVIDE: vboxheadless +# REQUIRE: LOGIN vboxnet +# KEYWORD: shutdown +# +# Add the following line to /etc/rc.conf[.local] to enable vboxheadless +# +# vboxheadless_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable vboxheadless. +# vboxheadless_machines (str): Space separated list of machines +# vboxheadless_user (str): Default user account to run with. +# (default: %%VBOXUSER%%) +# vboxheadless_stop (str): Default stop cmd for VBoxManage controlvm. +# (default: savestate) +# vboxheadless_delay (int): Default startup/shutdown delay in seconds. +# (default: 0) +# vboxheadless_<machine>_name (str): Virtualbox machine name or UUID. +# vboxheadless_<machine>_user (str): User account to run with. +# vboxheadless_<machine>_flags (str): Additional flags for VBoxHeadless. +# vboxheadless_<machine>_stop (str): Stop command for VBoxManage controlvm. +# vboxheadless_<machine>_delay (int): Startup and shutdown delay in seconds. + +. /etc/rc.subr + +name="vboxheadless" +rcvar=vboxheadless_enable +rc_fast="YES" + +command="%%VBOXDIR%%/VBoxHeadless" +pidbase="/var/run/${name}" + +start_cmd="${name}_start" +stop_cmd="${name}_stop" +status_cmd="${name}_status" + +vboxheadless_start() +{ + local machine mpidfile pid vmname vmuser vmflags vmdelay + + echo "Starting Virtual Machines:" + for machine in ${vboxheadless_machines}; do + mpidfile="${pidbase}_${machine}.pid" + pid=$(check_pidfile $mpidfile $command) + eval vmname="\${vboxheadless_${machine}_name:-${machine}}" + eval vmuser="\${vboxheadless_${machine}_user:-${vboxheadless_user}}" + eval vmflags="\${vboxheadless_${machine}_flags:-}" + eval vmdelay="\${vboxheadless_${machine}_delay:-${vboxheadless_delay}}" + + HOME=$(/usr/sbin/pw usershow -7 -n "${vmuser}" | /usr/bin/cut -d: -f6) + + /usr/bin/printf "%25s " "${vmname}" + + /usr/bin/su ${vmuser} -c "%%VBOXDIR%%/VBoxManage showvminfo '${vmname}' >/dev/null" 2>/dev/null + + if [ $? != 0 ]; then + echo "Unknown machine" + continue + fi + + if [ -n "${pid}" ]; then + echo "Already running? (pid=${pid})" + continue + fi + + /bin/sleep ${vmdelay} + /usr/bin/install -o ${vmuser} -g %%VBOXGROUP%% -m 644 /dev/null ${mpidfile} + /usr/sbin/daemon -f -p ${mpidfile} -u ${vmuser} ${command} --startvm "${vmname}" ${vmflags} + echo "Started" + done +} + +vboxheadless_stop() +{ + local machine mpidfile pid pids vmname vmuser vmstop vmdelay + + echo "Saving states for Virtual Machines:" + for machine in ${vboxheadless_machines}; do + mpidfile="${pidbase}_${machine}.pid" + pid=$(check_pidfile $mpidfile $command) + eval vmname="\${vboxheadless_${machine}_name:-${machine}}" + eval vmuser="\${vboxheadless_${machine}_user:-${vboxheadless_user}}" + eval vmstop="\${vboxheadless_${machine}_stop:-${vboxheadless_stop}}" + eval vmdelay="\${vboxheadless_${machine}_delay:-${vboxheadless_delay}}" + + /usr/bin/printf "%25s " "${vmname}" + + if [ -n "${pid}" ]; then + pids="${pids} ${pid}" + /bin/sleep ${vmdelay} + /usr/bin/su ${vmuser} -c "%%VBOXDIR%%/VBoxManage controlvm '${vmname}' ${vmstop} >/dev/null &" 2>/dev/null + fi + done + if [ -n "${pids}" ]; then + wait_for_pids $pids >/dev/null + echo "Stopped" + else + echo "Not running?" + fi +} + +vboxheadless_status() +{ + local machine mpidfile pid vmname vmuser + + /usr/bin/printf "%25s %s\n" "Machine" "Status" + /usr/bin/printf "%25s %s\n" "-------------------------" "------------" + + for machine in ${vboxheadless_machines}; do + mpidfile="${pidbase}_${machine}.pid" + pid=$(check_pidfile $mpidfile $command) + eval vmname="\${vboxheadless_${machine}_name:-${machine}}" + eval vmuser="\${vboxheadless_${machine}_user:-${vboxheadless_user}}" + + /usr/bin/su ${vmuser} -c "%%VBOXDIR%%/VBoxManage showvminfo '${vmname}' >/dev/null" 2>/dev/null + + if [ $? != 0 ]; then + /usr/bin/printf "%20s %s\n" "${vmname}" "Unknown Machine" + elif [ -n "${pid}" ]; then + /usr/bin/printf "%25s %s\n" "${vmname}" "Running" + else + /usr/bin/printf "%25s %s\n" "${vmname}" "Powered Off" + fi + done +} + +load_rc_config $name + +: ${vboxheadless_enable="NO"} +: ${vboxheadless_user="%%VBOXUSER%%"} +: ${vboxheadless_stop="savestate"} +: ${vboxheadless_delay="0"} + +cmd_arg="$1" ; shift + +if [ -n "$*" ]; then + vboxheadless_machines="$*" +fi + +run_rc_command "${cmd_arg}" diff --git a/emulators/virtualbox-ose-71/files/vboxinit.in b/emulators/virtualbox-ose-71/files/vboxinit.in new file mode 100644 index 000000000000..9895da9e362e --- /dev/null +++ b/emulators/virtualbox-ose-71/files/vboxinit.in @@ -0,0 +1,91 @@ +#!/bin/sh + +# PROVIDE: vboxinit +# REQUIRE: LOGIN vboxnet vboxwebsrv sshd +# KEYWORD: shutdown +# +# Add the following line to /etc/rc.conf[.local] to enable vboxinit +# +# vboxinit_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable vboxinit. +# stop and faststop are always enabled. +# vboxinit_user (str): Default user account to run with. +# (default: %%VBOXUSER%%) +# vboxinit_home (str): Default home directory to run with. +# (default: home of user ${vboxinit_user} +# vboxinit_stop (str): Default stop cmd for VBoxManage controlvm. +# (default: savestate) +# vboxinit_start_delay (int): Default startup delay in seconds. +# (default: 0) +# vboxinit_stop_delay (int): Default shutdown delay in seconds. +# (default: 0) +# +# Set the "Startup Mode" to "Automatic" for the virtual machine in +# phpvirtualbox to automatically start the virtual machine during OS boot. +# + +. /etc/rc.subr + +name="vboxinit" +rcvar="${name}_enable" + +start_cmd="${name}_start" +stop_cmd="${name}_stop" +status_cmd="${name}_status" +restart_cmd="${name}_restart" + +vboxinit_start() +{ + # Get a list of all machines with autorun enabled in phpvirtualbox + ${su_command} "${command} list vms | /usr/bin/tr -d '{}\"'" | /usr/bin/sort | while read VMNAME UUID; do + STARTUP=$(${su_command} "${command} getextradata ${UUID} 'pvbx/startupMode'" | /usr/bin/cut -d' ' -f2) + if [ "${STARTUP}" == "auto" ]; then + echo "${name}: starting machine ${VMNAME} ..." + ${su_command} "${command} startvm ${UUID} --type headless" + sleep "${vboxinit_start_delay}" + fi + done +} + +vboxinit_stop() +{ + # Get all running machines + ${su_command} "${command} list runningvms | /usr/bin/tr -d '{}\"'" | /usr/bin/sort -r | while read VMNAME UUID; do + echo "${name}: stopping machine ${VMNAME} with action '${vboxinit_stop}' ..." + ${su_command} "${command} controlvm ${UUID} ${vboxinit_stop}" + sleep "${vboxinit_stop_delay}" + done +} + +vboxinit_status() +{ + # List all running machines + ${su_command} "${command} list runningvms" +} + +vboxinit_restart() +{ + vboxinit_stop + vboxinit_start +} + +load_rc_config $name + +: ${vboxinit_enable="NO"} +: ${vboxinit_user="%%VBOXUSER%%"} +: ${vboxinit_home=$(/usr/sbin/pw usershow -7 -n "${vboxinit_user}" | /usr/bin/cut -d: -f6)} +: ${vboxinit_stop="savestate"} +: ${vboxinit_start_delay="1"} +: ${vboxinit_stop_delay="0"} +HOME=${vboxinit_home} +USER=${vboxinit_user} +export HOME USER + +command="%%VBOXDIR%%/VBoxManage" +su_command="/usr/bin/su -m ${vboxinit_user} -c" + +if [ "x$1" = "xstop" ] || [ "x$1" = "xfaststop" ]; then + vboxinit_enable="YES" +fi + +run_rc_command "$1" diff --git a/emulators/virtualbox-ose-71/files/vboxwatchdog.in b/emulators/virtualbox-ose-71/files/vboxwatchdog.in new file mode 100644 index 000000000000..c21bc03b3523 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/vboxwatchdog.in @@ -0,0 +1,51 @@ +#!/bin/sh + +# PROVIDE: vboxwatchdog +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Add the following line to /etc/rc.conf[.local] to enable vboxwatchdog +# +# vboxwatchdog_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable vboxwatchdog. +# vboxwatchdog_user (str): User account to run with. +# vboxwatchdog_flags (str): Custom flags for VBoxWatchdog. + +. /etc/rc.subr + +name=vboxwatchdog +rcvar=vboxwatchdog_enable + +command="%%VBOXDIR%%/VBoxBalloonCtrl" +pidfile="/var/run/${name}.pid" + +start_cmd="${name}_start" + +vboxwatchdog_start() +{ + local pid + + HOME=$(/usr/sbin/pw usershow -7 -n "${vboxwatchdog_user}" | /usr/bin/cut -d: -f6) + pid=$(check_pidfile $pidfile $command) + + if [ -n "${pid}" ]; then + echo "${name} already running? (pid=${pid})." + return 1 + fi + + # prevent inheriting this setting to VBoxSVC + unset VBOX_RELEASE_LOG_DEST + + echo -n "Starting ${name}" + /usr/bin/install -o ${vboxwatchdog_user} -g %%VBOXGROUP%% -m 644 /dev/null ${pidfile} + /usr/sbin/daemon -f -p ${pidfile} -u ${vboxwatchdog_user} ${command} ${vboxwatchdog_flags} + echo '.' +} + +load_rc_config $name + +: ${vboxwatchdog_enable="NO"} +: ${vboxwatchdog_user="%%VBOXUSER%%"} +: ${vboxwatchdog_flags=""} + +run_rc_command "$1" diff --git a/emulators/virtualbox-ose-71/files/vboxwebsrv.in b/emulators/virtualbox-ose-71/files/vboxwebsrv.in new file mode 100644 index 000000000000..a7e1e38e3090 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/vboxwebsrv.in @@ -0,0 +1,47 @@ +#!/bin/sh + +# PROVIDE: vboxwebsrv +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Add the following line to /etc/rc.conf[.local] to enable vboxwebsrv +# +# vboxwebsrv_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable vboxwebsrv. +# vboxwebsrv_user (str): User account to run with. +# vboxwebsrv_flags (str): Custom flags for vboxwebsrv. + +. /etc/rc.subr + +name=vboxwebsrv +rcvar=vboxwebsrv_enable + +command="%%VBOXDIR%%/vboxwebsrv" +pidfile="/var/run/${name}.pid" + +start_cmd="${name}_start" + +vboxwebsrv_start() +{ + local pid + + HOME=$(/usr/sbin/pw usershow -7 -n "${vboxwebsrv_user}" | /usr/bin/cut -d: -f6) + pid=$(check_pidfile $pidfile $command) + + if [ -n "${pid}" ]; then + echo "${name} already running? (pid=${pid})." + return 1 + fi + + echo -n "Starting ${name}" + /usr/bin/install -o ${vboxwebsrv_user} -g %%VBOXGROUP%% -m 644 /dev/null ${pidfile} + /usr/sbin/daemon -f -p ${pidfile} -u ${vboxwebsrv_user} ${command} ${vboxwebsrv_flags} + echo '.' +} + +load_rc_config $name + +: ${vboxwebsrv_enable="NO"} +: ${vboxwebsrv_user="%%VBOXWSUSER%%"} + +run_rc_command "$1" diff --git a/emulators/virtualbox-ose-71/files/virtualbox.desktop b/emulators/virtualbox-ose-71/files/virtualbox.desktop new file mode 100644 index 000000000000..b0d09e2128b7 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/virtualbox.desktop @@ -0,0 +1,17 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Name=Oracle VM VirtualBox +GenericName=Virtual Machine +Type=Application +Exec=VirtualBox +TryExec=VirtualBox +Icon=VBox +Categories=Emulator;System; +Comment=Run several virtual systems on a single host computer +Comment[de]=Windows und andere Betriebssysteme unter FreeBSD ausführen +Comment[it]=Esegui più macchine virtuali su un singolo computer +Comment[ko]=가상 머신 +Comment[pl]=Uruchamianie wielu systemów wirtualnych na jednym komputerze gospodarza +Comment[ru]=Запуск нескольких виртуальных машин на одном компьютере +Comment[sv]=Kör flera virtuella system på en enda värddator diff --git a/emulators/virtualbox-ose-71/pkg-descr b/emulators/virtualbox-ose-71/pkg-descr new file mode 100644 index 000000000000..1ba975e84e68 --- /dev/null +++ b/emulators/virtualbox-ose-71/pkg-descr @@ -0,0 +1,8 @@ +Oracle VM VirtualBox is a hosted hypervisor for x86 virtualisation. +Supported guests include BSD, Haiku, Linux, OS/2, ReactOS, Solaris and +Windows. + +Guest Additions are available from: emulators/virtualbox-ose-additions + +For the Extension Pack: FreeBSD is not a supported host platform. +Installation of the Pack will not extend the feature set. diff --git a/emulators/virtualbox-ose-71/pkg-plist b/emulators/virtualbox-ose-71/pkg-plist new file mode 100644 index 000000000000..426fd6b55c60 --- /dev/null +++ b/emulators/virtualbox-ose-71/pkg-plist @@ -0,0 +1,449 @@ +bin/VBoxAutostart +bin/VBoxBalloonCtrl +bin/VBoxBugReport +bin/VBoxHeadless +bin/VBoxManage +bin/VBoxVRDP +%%QT%%bin/VirtualBox +%%QT%%bin/VirtualBoxVM +bin/vboxautostart +bin/vboxballoonctrl +bin/vboxbugreport +bin/vboxheadless +%%VBOXIMG%%bin/vboximg-mount +bin/vboxmanage +%%WEBSERVICE%%bin/vboxwebsrv +%%QT%%bin/virtualbox +%%QT%%bin/virtualboxvm +include/virtualbox/VirtualBox_XPCOM.h +include/virtualbox/ipcIClientObserver.h +include/virtualbox/ipcIDConnectService.h +include/virtualbox/ipcIMessageObserver.h +include/virtualbox/ipcIService.h +include/virtualbox/ipcd/ipcCID.h +include/virtualbox/ipcd/ipcdclient.h +include/virtualbox/nsIArray.h +include/virtualbox/nsIAtom.h +include/virtualbox/nsIAtomService.h +include/virtualbox/nsIBinaryInputStream.h +include/virtualbox/nsIBinaryOutputStream.h +include/virtualbox/nsICategoryManager.h +include/virtualbox/nsIClassInfo.h +include/virtualbox/nsICollection.h +include/virtualbox/nsIComponentLoader.h +include/virtualbox/nsIComponentLoaderManager.h +include/virtualbox/nsIComponentManager.h +include/virtualbox/nsIComponentManagerObsolete.h +include/virtualbox/nsIComponentRegistrar.h +include/virtualbox/nsIDebug.h +include/virtualbox/nsIDirectoryEnumerator.h +include/virtualbox/nsIDirectoryService.h +include/virtualbox/nsIEnumerator.h +include/virtualbox/nsIErrorService.h +include/virtualbox/nsIEventQueue.h +include/virtualbox/nsIEventQueueService.h +include/virtualbox/nsIEventTarget.h +include/virtualbox/nsIException.h +include/virtualbox/nsIExceptionService.h +include/virtualbox/nsIFactory.h +include/virtualbox/nsIFile.h +include/virtualbox/nsIHashable.h +include/virtualbox/nsIInputStream.h +include/virtualbox/nsIInterfaceInfo.h +include/virtualbox/nsIInterfaceInfoManager.h +include/virtualbox/nsIInterfaceRequestor.h +include/virtualbox/nsILocalFile.h +include/virtualbox/nsILocalFileMac.h +include/virtualbox/nsIModule.h +include/virtualbox/nsINativeComponentLoader.h +include/virtualbox/nsIObjectInputStream.h +include/virtualbox/nsIObjectOutputStream.h +include/virtualbox/nsIObserver.h +include/virtualbox/nsIObserverService.h +include/virtualbox/nsIOutputStream.h +include/virtualbox/nsIProgrammingLanguage.h +include/virtualbox/nsIProperties.h +include/virtualbox/nsIProxyObjectManager.h +include/virtualbox/nsIRunnable.h +include/virtualbox/nsISerializable.h +include/virtualbox/nsIServiceManager.h +include/virtualbox/nsISimpleEnumerator.h +include/virtualbox/nsIStringEnumerator.h +include/virtualbox/nsISupports.h +include/virtualbox/nsISupportsArray.h +include/virtualbox/nsISupportsIterators.h +include/virtualbox/nsISupportsPrimitives.h +include/virtualbox/nsITraceRefcnt.h +include/virtualbox/nsIVariant.h +include/virtualbox/nsIWeakReference.h +include/virtualbox/nsIXPTLoader.h +include/virtualbox/nsprpub/nspr.h +include/virtualbox/nsprpub/plarena.h +include/virtualbox/nsprpub/plarenas.h +include/virtualbox/nsprpub/plhash.h +include/virtualbox/nsprpub/prbit.h +include/virtualbox/nsprpub/prcpucfg.h +include/virtualbox/nsprpub/prlong.h +include/virtualbox/nsprpub/prmem.h +include/virtualbox/nsprpub/prmon.h +include/virtualbox/nsprpub/prtime.h +include/virtualbox/nsprpub/prtypes.h +include/virtualbox/nsrootidl.h +include/virtualbox/string/nsAString.h +include/virtualbox/string/nsAlgorithm.h +include/virtualbox/string/nsCharTraits.h +include/virtualbox/string/nsDependentString.h +include/virtualbox/string/nsDependentSubstring.h +include/virtualbox/string/nsEmbedString.h +include/virtualbox/string/nsLiteralString.h +include/virtualbox/string/nsObsoleteAString.h +include/virtualbox/string/nsPrintfCString.h +include/virtualbox/string/nsPromiseFlatString.h +include/virtualbox/string/nsReadableUtils.h +include/virtualbox/string/nsString.h +include/virtualbox/string/nsStringAPI.h +include/virtualbox/string/nsStringFwd.h +include/virtualbox/string/nsStringIterator.h +include/virtualbox/string/nsSubstring.h +include/virtualbox/string/nsSubstringTuple.h +include/virtualbox/string/nsTAString.h +include/virtualbox/string/nsTDependentString.h +include/virtualbox/string/nsTDependentSubstring.h +include/virtualbox/string/nsTObsoleteAString.h +include/virtualbox/string/nsTPromiseFlatString.h +include/virtualbox/string/nsTString.h +include/virtualbox/string/nsTSubstring.h +include/virtualbox/string/nsTSubstringTuple.h +include/virtualbox/string/nsUTF8Utils.h +include/virtualbox/string/nsXPIDLString.h +include/virtualbox/string/string-template-def-char.h +include/virtualbox/string/string-template-def-unichar.h +include/virtualbox/string/string-template-undef.h +include/virtualbox/xpcom/nsAgg.h +include/virtualbox/xpcom/nsAppDirectoryServiceDefs.h +include/virtualbox/xpcom/nsArray.h +include/virtualbox/xpcom/nsArrayEnumerator.h +include/virtualbox/xpcom/nsAtomService.h +include/virtualbox/xpcom/nsAutoLock.h +include/virtualbox/xpcom/nsAutoPtr.h +include/virtualbox/xpcom/nsBaseHashtable.h +include/virtualbox/xpcom/nsCOMArray.h +include/virtualbox/xpcom/nsCOMPtr.h +include/virtualbox/xpcom/nsCRT.h +include/virtualbox/xpcom/nsCategoryManagerUtils.h +include/virtualbox/xpcom/nsClassHashtable.h +include/virtualbox/xpcom/nsComponentManagerObsolete.h +include/virtualbox/xpcom/nsComponentManagerUtils.h +include/virtualbox/xpcom/nsDataHashtable.h +include/virtualbox/xpcom/nsDebug.h +include/virtualbox/xpcom/nsDebugImpl.h +include/virtualbox/xpcom/nsDeque.h +include/virtualbox/xpcom/nsDirectoryService.h +include/virtualbox/xpcom/nsDirectoryServiceDefs.h +include/virtualbox/xpcom/nsDirectoryServiceUtils.h +include/virtualbox/xpcom/nsDoubleHashtable.h +include/virtualbox/xpcom/nsEnumeratorUtils.h +include/virtualbox/xpcom/nsError.h +include/virtualbox/xpcom/nsEventQueueUtils.h +include/virtualbox/xpcom/nsGenericFactory.h +include/virtualbox/xpcom/nsHashKeys.h +include/virtualbox/xpcom/nsHashSets.h +include/virtualbox/xpcom/nsHashtable.h +include/virtualbox/xpcom/nsID.h +include/virtualbox/xpcom/nsIGenericFactory.h +include/virtualbox/xpcom/nsIID.h +include/virtualbox/xpcom/nsIInterfaceRequestorUtils.h +include/virtualbox/xpcom/nsIServiceManagerObsolete.h +include/virtualbox/xpcom/nsIServiceManagerUtils.h +include/virtualbox/xpcom/nsISupportsBase.h +include/virtualbox/xpcom/nsISupportsImpl.h +include/virtualbox/xpcom/nsISupportsUtils.h +include/virtualbox/xpcom/nsIWeakReferenceUtils.h +include/virtualbox/xpcom/nsInt64.h +include/virtualbox/xpcom/nsInterfaceHashtable.h +include/virtualbox/xpcom/nsLocalFile.h +include/virtualbox/xpcom/nsLocalFileUnix.h +include/virtualbox/xpcom/nsMemory.h +include/virtualbox/xpcom/nsModule.h +include/virtualbox/xpcom/nsNativeCharsetUtils.h +include/virtualbox/xpcom/nsNativeComponentLoader.h +include/virtualbox/xpcom/nsObserverService.h +include/virtualbox/xpcom/nsObsoleteModuleLoading.h +include/virtualbox/xpcom/nsProxiedService.h +include/virtualbox/xpcom/nsProxyEvent.h +include/virtualbox/xpcom/nsProxyRelease.h +include/virtualbox/xpcom/nsRefPtrHashtable.h +include/virtualbox/xpcom/nsStaticAtom.h +include/virtualbox/xpcom/nsStaticComponent.h +include/virtualbox/xpcom/nsStringEnumerator.h +include/virtualbox/xpcom/nsStringIO.h +include/virtualbox/xpcom/nsSupportsArray.h +include/virtualbox/xpcom/nsSupportsPrimitives.h +include/virtualbox/xpcom/nsTHashtable.h +include/virtualbox/xpcom/nsTraceRefcnt.h +include/virtualbox/xpcom/nsTraceRefcntImpl.h +include/virtualbox/xpcom/nsVariant.h +include/virtualbox/xpcom/nsVoidArray.h +include/virtualbox/xpcom/nsWeakPtr.h +include/virtualbox/xpcom/nsWeakReference.h +include/virtualbox/xpcom/nsXPCOM.h +include/virtualbox/xpcom/nsXPCOMCID.h +include/virtualbox/xpcom/nsXPCOMGlue.h +include/virtualbox/xpcom/nscore.h +include/virtualbox/xpcom/pldhash.h +include/virtualbox/xpcom/plevent.h +include/virtualbox/xpcom/xcDll.h +include/virtualbox/xpcom/xpcom-config.h +include/virtualbox/xpcom/xpt_arena.h +include/virtualbox/xpcom/xpt_struct.h +include/virtualbox/xpcom/xpt_xdr.h +include/virtualbox/xpcom/xptcall.h +include/virtualbox/xpcom/xptcstubsdecl.inc +include/virtualbox/xpcom/xptcstubsdef.inc +include/virtualbox/xpcom/xptinfo.h +%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi-1-py%%PYTHON_VER%%.egg-info/PKG-INFO +%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi-1-py%%PYTHON_VER%%.egg-info/SOURCES.txt +%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi-1-py%%PYTHON_VER%%.egg-info/dependency_links.txt +%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi-1-py%%PYTHON_VER%%.egg-info/requires.txt +%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi-1-py%%PYTHON_VER%%.egg-info/top_level.txt +%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/VirtualBox_constants.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi%%PYTHON_PYCDIR%%VirtualBox_constants%%PYTHON_PYCEXT%% +%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/__init__.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi%%PYTHON_PYCDIR%%__init__%%PYTHON_PYCEXT%% +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/__init__.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%__init__%%PYTHON_PYCEXT%% +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/components.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%components%%PYTHON_PYCEXT%% +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/nsError.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%nsError%%PYTHON_PYCEXT%% +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/primitives.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%primitives%%PYTHON_PYCEXT%% +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/vboxxpcom.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%vboxxpcom%%PYTHON_PYCEXT%% +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpcom_consts.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%xpcom_consts%%PYTHON_PYCEXT%% +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpt.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%xpt%%PYTHON_PYCEXT%% +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/client/__init__.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/client%%PYTHON_PYCDIR%%__init__%%PYTHON_PYCEXT%% +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/__init__.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%__init__%%PYTHON_PYCEXT%% +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/enumerator.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%enumerator%%PYTHON_PYCEXT%% +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/factory.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%factory%%PYTHON_PYCEXT%% +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/loader.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%loader%%PYTHON_PYCEXT%% +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/module.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%module%%PYTHON_PYCEXT%% +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/policy.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%policy%%PYTHON_PYCEXT%% +%%QT%%lib/virtualbox/DbgPlugInDiggers.so +lib/virtualbox/VBox.sh +lib/virtualbox/VBoxAuth.so +lib/virtualbox/VBoxAuthSimple.so +lib/virtualbox/VBoxAutostart +lib/virtualbox/VBoxBalloonCtrl +lib/virtualbox/VBoxBugReport +lib/virtualbox/VBoxDD.so +lib/virtualbox/VBoxDD2.so +lib/virtualbox/VBoxDDR0.r0 +lib/virtualbox/VBoxDDU.so +%%QT%%lib/virtualbox/UICommon.so +%%QT%%lib/virtualbox/VBoxDbg.so +%%QT%%lib/virtualbox/VBoxDragAndDropSvc.so +lib/virtualbox/VBoxEFI32.fd +lib/virtualbox/VBoxEFI64.fd +lib/virtualbox/VBoxExtPackHelperApp +lib/virtualbox/VBoxGuestControlSvc.so +lib/virtualbox/VBoxGuestPropSvc.so +@(root,%%VBOXGROUP%%,4510) lib/virtualbox/VBoxHeadless +lib/virtualbox/VBoxHeadless.so +lib/virtualbox/VBoxHostChannel.so +%%QT%%lib/virtualbox/VBoxKeyboard.so +lib/virtualbox/VBoxManage +@(root,%%VBOXGROUP%%,4510) lib/virtualbox/VBoxNetAdpCtl +@(root,%%VBOXGROUP%%,4510) lib/virtualbox/VBoxNetDHCP +lib/virtualbox/VBoxNetDHCP.so +@(root,%%VBOXGROUP%%,4510) lib/virtualbox/VBoxNetNAT +lib/virtualbox/VBoxNetNAT.so +%%PYTHON%%lib/virtualbox/VBoxPython3.so +%%PYTHON%%lib/virtualbox/VBoxPython3m.so +lib/virtualbox/VBoxRT.so +lib/virtualbox/VBoxSVC +%%X11%%lib/virtualbox/VBoxSVGA3D.so +lib/virtualbox/VBoxSharedClipboard.so +lib/virtualbox/VBoxSharedFolders.so +lib/virtualbox/VBoxTraceLogDecoders.so +lib/virtualbox/VBoxVMM.so +lib/virtualbox/VBoxVMMPreload.so +lib/virtualbox/VBoxXPCOM.so +lib/virtualbox/VBoxXPCOMC.so +lib/virtualbox/VBoxXPCOMIPCD.so +lib/virtualbox/VMMR0.r0 +%%QT%%lib/virtualbox/VirtualBox +%%QT%%@(root,%%VBOXGROUP%%,4510) lib/virtualbox/VirtualBoxVM +%%QT%%lib/virtualbox/VirtualBoxVM.so +%%SDK%%lib/virtualbox/sdk +%%VBOXIMG%%lib/virtualbox/vboximg-mount +%%WEBSERVICE%%lib/virtualbox/vboxwebsrv +%%WEBSERVICE%%lib/virtualbox/webtest +%%VNC%%lib/virtualbox/ExtensionPacks/VNC/ExtPack-license.html +%%VNC%%lib/virtualbox/ExtensionPacks/VNC/ExtPack-license.rtf +%%VNC%%lib/virtualbox/ExtensionPacks/VNC/ExtPack-license.txt +%%VNC%%lib/virtualbox/ExtensionPacks/VNC/ExtPack.xml +%%VNC%%lib/virtualbox/ExtensionPacks/VNC/%%ARCH%%/VBoxVNC.so +%%VNC%%lib/virtualbox/ExtensionPacks/VNC/%%ARCH%%/VBoxVNCMain.so +%%GUESTADDITIONS%%lib/virtualbox/additions/VBoxGuestAdditions.iso +%%GUESTADDITIONS%%lib/virtualbox/additions/VBoxGuestAdditions_%%GUEST_VER%%.iso +lib/virtualbox/components/VBoxC.so +lib/virtualbox/components/VBoxSVCM.so +lib/virtualbox/components/VBoxXPCOMBase.xpt +lib/virtualbox/components/VBoxXPCOMIPCC.so +lib/virtualbox/components/VirtualBox_XPCOM.xpt +%%QT%%share/applications/virtualbox.desktop +%%DOCS%%%%DOCSDIR%%/UserManual.pdf +%%QT%%share/pixmaps/VBox.png +%%DATADIR%%/idl/VirtualBox_XPCOM.idl +%%DATADIR%%/idl/ipcIClientObserver.idl +%%DATADIR%%/idl/ipcIDConnectService.idl +%%DATADIR%%/idl/ipcIMessageObserver.idl +%%DATADIR%%/idl/ipcIService.idl +%%DATADIR%%/idl/nsIArray.idl +%%DATADIR%%/idl/nsIAtom.idl +%%DATADIR%%/idl/nsIAtomService.idl +%%DATADIR%%/idl/nsIBinaryInputStream.idl +%%DATADIR%%/idl/nsIBinaryOutputStream.idl +%%DATADIR%%/idl/nsICategoryManager.idl +%%DATADIR%%/idl/nsIClassInfo.idl +%%DATADIR%%/idl/nsICollection.idl +%%DATADIR%%/idl/nsIComponentLoader.idl +%%DATADIR%%/idl/nsIComponentLoaderManager.idl +%%DATADIR%%/idl/nsIComponentManager.idl +%%DATADIR%%/idl/nsIComponentManagerObsolete.idl +%%DATADIR%%/idl/nsIComponentRegistrar.idl +%%DATADIR%%/idl/nsIDebug.idl +%%DATADIR%%/idl/nsIDirectoryEnumerator.idl +%%DATADIR%%/idl/nsIDirectoryService.idl +%%DATADIR%%/idl/nsIEnumerator.idl +%%DATADIR%%/idl/nsIErrorService.idl +%%DATADIR%%/idl/nsIEventQueue.idl +%%DATADIR%%/idl/nsIEventQueueService.idl +%%DATADIR%%/idl/nsIEventTarget.idl +%%DATADIR%%/idl/nsIException.idl +%%DATADIR%%/idl/nsIExceptionService.idl +%%DATADIR%%/idl/nsIFactory.idl +%%DATADIR%%/idl/nsIFile.idl +%%DATADIR%%/idl/nsIHashable.idl +%%DATADIR%%/idl/nsIInputStream.idl +%%DATADIR%%/idl/nsIInterfaceInfo.idl +%%DATADIR%%/idl/nsIInterfaceInfoManager.idl +%%DATADIR%%/idl/nsIInterfaceRequestor.idl +%%DATADIR%%/idl/nsILocalFile.idl +%%DATADIR%%/idl/nsILocalFileMac.idl +%%DATADIR%%/idl/nsIModule.idl +%%DATADIR%%/idl/nsINativeComponentLoader.idl +%%DATADIR%%/idl/nsIObjectInputStream.idl +%%DATADIR%%/idl/nsIObjectOutputStream.idl +%%DATADIR%%/idl/nsIObserver.idl +%%DATADIR%%/idl/nsIObserverService.idl +%%DATADIR%%/idl/nsIOutputStream.idl +%%DATADIR%%/idl/nsIProgrammingLanguage.idl +%%DATADIR%%/idl/nsIProperties.idl +%%DATADIR%%/idl/nsIProxyObjectManager.idl +%%DATADIR%%/idl/nsIRunnable.idl +%%DATADIR%%/idl/nsISerializable.idl +%%DATADIR%%/idl/nsIServiceManager.idl +%%DATADIR%%/idl/nsISimpleEnumerator.idl +%%DATADIR%%/idl/nsIStringEnumerator.idl +%%DATADIR%%/idl/nsISupports.idl +%%DATADIR%%/idl/nsISupportsArray.idl +%%DATADIR%%/idl/nsISupportsIterators.idl +%%DATADIR%%/idl/nsISupportsPrimitives.idl +%%DATADIR%%/idl/nsITraceRefcnt.idl +%%DATADIR%%/idl/nsIVariant.idl +%%DATADIR%%/idl/nsIWeakReference.idl +%%DATADIR%%/idl/nsIXPTLoader.idl +%%DATADIR%%/idl/nsrootidl.idl +%%NLS%%%%DATADIR%%/nls/VirtualBox_bg.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_ca.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_ca_VA.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_cs.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_da.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_de.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_el.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_en.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_es.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_eu.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_fa.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_fi.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_fr.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_gl.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_he.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_hr_HR.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_hu.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_id.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_it.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_ja.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_ka.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_km_KH.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_ko.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_lt.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_nl.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_pl.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_pt.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_pt_BR.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_ro.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_ru.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_sk.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_sl.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_sr.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_sv.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_th.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_tr.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_uk.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_zh_CN.qm +%%NLS%%%%DATADIR%%/nls/VirtualBox_zh_TW.qm +%%NLS%%%%DATADIR%%/nls/qt_bg.qm +%%NLS%%%%DATADIR%%/nls/qt_ca.qm +%%NLS%%%%DATADIR%%/nls/qt_ca_VA.qm +%%NLS%%%%DATADIR%%/nls/qt_cs.qm +%%NLS%%%%DATADIR%%/nls/qt_da.qm +%%NLS%%%%DATADIR%%/nls/qt_de.qm +%%NLS%%%%DATADIR%%/nls/qt_el.qm +%%NLS%%%%DATADIR%%/nls/qt_en.qm +%%NLS%%%%DATADIR%%/nls/qt_es.qm +%%NLS%%%%DATADIR%%/nls/qt_eu.qm +%%NLS%%%%DATADIR%%/nls/qt_fa.qm +%%NLS%%%%DATADIR%%/nls/qt_fi.qm +%%NLS%%%%DATADIR%%/nls/qt_fr.qm +%%NLS%%%%DATADIR%%/nls/qt_gl.qm +%%NLS%%%%DATADIR%%/nls/qt_he.qm +%%NLS%%%%DATADIR%%/nls/qt_hr_HR.qm +%%NLS%%%%DATADIR%%/nls/qt_hu.qm +%%NLS%%%%DATADIR%%/nls/qt_id.qm +%%NLS%%%%DATADIR%%/nls/qt_it.qm +%%NLS%%%%DATADIR%%/nls/qt_ja.qm +%%NLS%%%%DATADIR%%/nls/qt_ka.qm +%%NLS%%%%DATADIR%%/nls/qt_km_KH.qm +%%NLS%%%%DATADIR%%/nls/qt_ko.qm +%%NLS%%%%DATADIR%%/nls/qt_lt.qm +%%NLS%%%%DATADIR%%/nls/qt_nl.qm +%%NLS%%%%DATADIR%%/nls/qt_pl.qm +%%NLS%%%%DATADIR%%/nls/qt_pt.qm +%%NLS%%%%DATADIR%%/nls/qt_pt_BR.qm +%%NLS%%%%DATADIR%%/nls/qt_ro.qm +%%NLS%%%%DATADIR%%/nls/qt_ru.qm +%%NLS%%%%DATADIR%%/nls/qt_sk.qm +%%NLS%%%%DATADIR%%/nls/qt_sl.qm +%%NLS%%%%DATADIR%%/nls/qt_sr.qm +%%NLS%%%%DATADIR%%/nls/qt_sv.qm +%%NLS%%%%DATADIR%%/nls/qt_th.qm +%%NLS%%%%DATADIR%%/nls/qt_tr.qm +%%NLS%%%%DATADIR%%/nls/qt_uk.qm +%%NLS%%%%DATADIR%%/nls/qt_zh_CN.qm +%%NLS%%%%DATADIR%%/nls/qt_zh_TW.qm +%%DATADIR%%/samples/Makefile +%%DATADIR%%/samples/tstVBoxAPIXPCOM.cpp +%%WEBSERVICE%%%%DATADIR%%/sdk/bindings/webservice/vboxweb.wsdl +%%PYTHON%%%%DATADIR%%/sdk/bindings/xpcom/python/xpcom diff --git a/emulators/virtualbox-ose-additions-legacy/Makefile b/emulators/virtualbox-ose-additions-legacy/Makefile index 2b3dc9f5941c..36da35e3c79c 100644 --- a/emulators/virtualbox-ose-additions-legacy/Makefile +++ b/emulators/virtualbox-ose-additions-legacy/Makefile @@ -40,7 +40,9 @@ MAKE_JOBS_UNSAFE= yes CONFLICTS_INSTALL= virtualbox-ose-additions \ virtualbox-ose-additions-nox11 \ virtualbox-ose-additions-70 \ - virtualbox-ose-additions-nox11-70 + virtualbox-ose-additions-nox11-70 \ + virtualbox-ose-additions-71 \ + virtualbox-ose-additions-nox11-71 PATCHDIR= ${.CURDIR}/../${PORTNAME}-legacy/files EXTRACT_AFTER_ARGS= --exclude tools/*.x86 --exclude tools/*.amd64 --exclude Firmware @@ -136,6 +138,10 @@ post-patch: .if ${PORT_OPTIONS:MPAE} @${ECHO_CMD} 'VBOX_FREEBSD = -DPAE' >> ${WRKSRC}/LocalConfig.kmk .endif +.if ${OSVERSION} >= 1500038 + @${ECHO_CMD} 'HAVE_MNTOPTS_IN_LIBUTIL = 1' >> \ + ${WRKSRC}/LocalConfig.kmk +.endif post-patch-X11-on: @${ECHO_CMD} 'VBOX_USE_SYSTEM_XORG_HEADERS = 1' >> \ diff --git a/emulators/virtualbox-ose-additions/Makefile b/emulators/virtualbox-ose-additions/Makefile index 8be00b188670..58ad514e9a9b 100644 --- a/emulators/virtualbox-ose-additions/Makefile +++ b/emulators/virtualbox-ose-additions/Makefile @@ -40,7 +40,9 @@ MAKE_JOBS_UNSAFE= yes CONFLICTS_INSTALL= virtualbox-ose-additions-legacy \ virtualbox-ose-additions-nox11-legacy \ virtualbox-ose-additions-70 \ - virtualbox-ose-additions-nox11-70 + virtualbox-ose-additions-nox11-70 \ + virtualbox-ose-additions-71 \ + virtualbox-ose-additions-nox11-71 PATCHDIR= ${.CURDIR}/../${PORTNAME}/files EXTRACT_AFTER_ARGS= --exclude tools/*.x86 --exclude tools/*.amd64 --exclude Firmware @@ -124,6 +126,10 @@ post-patch: ${WRKSRC}/src/VBox/Additions/x11/VBoxClient/Makefile.kmk @${ECHO_CMD} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk .endif +.if ${OSVERSION} >= 1500038 + @${ECHO_CMD} 'HAVE_MNTOPTS_IN_LIBUTIL = 1' >> \ + ${WRKSRC}/LocalConfig.kmk +.endif post-patch-X11-on: @${ECHO_CMD} 'VBOX_USE_SYSTEM_XORG_HEADERS = 1' >> \ diff --git a/emulators/virtualbox-ose-kmod-70/Makefile b/emulators/virtualbox-ose-kmod-70/Makefile index ce9164751791..aecfea40859f 100644 --- a/emulators/virtualbox-ose-kmod-70/Makefile +++ b/emulators/virtualbox-ose-kmod-70/Makefile @@ -33,8 +33,9 @@ CONFIGURE_ARGS+= --disable-alsa \ --disable-xpcom CONFIGURE_ARGS+= --nofatal --with-gcc="${CC}" --with-g++="${CXX}" -CONFLICTS_INSTALL= virtualbox-ose-kmod \ - virtualbox-ose-kmod-legacy +CONFLICTS_INSTALL= virtualbox-ose-kmod-legacy \ + virtualbox-ose-kmod \ + virtualbox-ose-kmod-71 PATCHDIR= ${.CURDIR}/../${PORTNAME}-70/files PORTSCOUT= limit:^7\.0\. @@ -43,11 +44,13 @@ SUB_LIST= OPSYS=${OPSYS} OSREL=${OSREL} WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION} -OPTIONS_DEFINE= DEBUG VIMAGE +OPTIONS_DEFINE= DEBUG INVARIANTS VIMAGE OPTIONS_DEFAULT= VIMAGE OPTIONS_SUB= yes DEBUG_DESC= Debug symbols, additional logs and assertions +INVARIANTS_DESC= Use if kernel is compiled with INVARIANTS option VIMAGE_DESC= VIMAGE virtual networking support +INVARIANTS_CFLAGS= -DINVARIANTS .include <bsd.port.options.mk> @@ -89,7 +92,7 @@ post-patch: .if ${PORT_OPTIONS:MVIMAGE} @${ECHO_CMD} 'VBOX_WITH_NETFLT_VIMAGE = 1' >> ${WRKSRC}/LocalConfig.kmk .endif - @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ + @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g; s|which \$$\*|which \$$1|g' \ ${WRKSRC}/Config.kmk ${WRKSRC}/configure @${REINPLACE_CMD} \ -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ diff --git a/emulators/virtualbox-ose-kmod-71/Makefile b/emulators/virtualbox-ose-kmod-71/Makefile new file mode 100644 index 000000000000..804952dba81b --- /dev/null +++ b/emulators/virtualbox-ose-kmod-71/Makefile @@ -0,0 +1,114 @@ +PORTNAME= virtualbox-ose +DISTVERSION= 7.1.10 +CATEGORIES= emulators +MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/ +PKGNAMESUFFIX= -kmod-71 +DISTNAME= VirtualBox-${DISTVERSION} + +MAINTAINER= vbox@FreeBSD.org +COMMENT= VirtualBox kernel module for FreeBSD +WWW= https://www.virtualbox.org/ + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/COPYING + +ONLY_FOR_ARCHS= amd64 + +BUILD_DEPENDS= kmk:devel/kBuild + +USES= cpe compiler:c++17-lang kmod tar:bzip2 +CPE_VENDOR= oracle +CPE_PRODUCT= vm_virtualbox +USE_RC_SUBR= vboxnet + +HAS_CONFIGURE= yes +CONFIGURE_ARGS+= --build-headless +CONFIGURE_ARGS+= --disable-alsa \ + --disable-dbus \ + --disable-docs \ + --disable-libvpx \ + --disable-pulse \ + --disable-python \ + --disable-sdl-ttf \ + --disable-xpcom +CONFIGURE_ARGS+= --nofatal --with-gcc="${CC}" --with-g++="${CXX}" + +CONFLICTS_INSTALL= virtualbox-ose-kmod-legacy \ + virtualbox-ose-kmod \ + virtualbox-ose-kmod-70 + +PATCHDIR= ${.CURDIR}/../${PORTNAME}-71/files +PORTSCOUT= limit:^7\.1\. +SUB_FILES= pkg-message +SUB_LIST= OPSYS=${OPSYS} OSREL=${OSREL} + +WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION} + +OPTIONS_DEFINE= DEBUG INVARIANTS VIMAGE +OPTIONS_DEFAULT= VIMAGE +OPTIONS_SUB= yes +DEBUG_DESC= Debug symbols, additional logs and assertions +INVARIANTS_DESC= Use if kernel is compiled with INVARIANTS option +VIMAGE_DESC= VIMAGE virtual networking support +INVARIANTS_CFLAGS= -DINVARIANTS + +.include <bsd.port.options.mk> + +VBOX_BIN= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/src +VBOX_KMODS= vboxdrv \ + vboxnetadp \ + vboxnetflt + +BUILD_WRKSRC= ${VBOX_BIN} + +KMK_BUILDTYPE= release +KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys +KMK_FLAGS= HostDrivers-scripts vboxdrv-src VBoxNetFlt-src VBoxNetAdp-src + +.if ${PORT_OPTIONS:MDEBUG} +KMK_FLAGS+= BUILD_TYPE=debug +KMK_BUILDTYPE= debug +EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-Config.kmk \ + ${PATCHDIR}/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile +MAKE_ARGS+= DEBUG_FLAGS="-O1 -g" +.endif + +.if ${ARCH} == i386 +KMK_ARCH= freebsd.x86 +.else +KMK_ARCH= freebsd.${ARCH} +.endif + +.include <bsd.port.pre.mk> + +SYMBOLSUFFIX= debug +PLIST_SUB+= SYMBOLSUFFIX=${SYMBOLSUFFIX} + +post-patch: + @${ECHO_CMD} 'VBOX_WITH_VBOXDRV = 1' > ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_NETFLT = 1' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_NETADP = 1' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk +.if ${PORT_OPTIONS:MVIMAGE} + @${ECHO_CMD} 'VBOX_WITH_NETFLT_VIMAGE = 1' >> ${WRKSRC}/LocalConfig.kmk +.endif + @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g; s|which \$$\*|which \$$1|g' \ + ${WRKSRC}/Config.kmk ${WRKSRC}/configure + @${REINPLACE_CMD} \ + -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ + ${WRKSRC}/configure + +pre-build: + cd ${WRKSRC}/src/VBox/HostDrivers && ${SH} -c \ + '. ${WRKSRC}/env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}' + +do-install: + ${MKDIR} ${STAGEDIR}${KMODDIR} +.for i in ${VBOX_KMODS} + ${INSTALL_KLD} ${VBOX_BIN}/${i}/${i}.ko ${STAGEDIR}${KMODDIR} +.if ${PORT_OPTIONS:MDEBUG} + ${INSTALL_KLD} ${VBOX_BIN}/${i}/${i}.ko.${SYMBOLSUFFIX} ${STAGEDIR}${KMODDIR} +.endif +.endfor + +.include <bsd.port.post.mk> diff --git a/emulators/virtualbox-ose-kmod-71/distinfo b/emulators/virtualbox-ose-kmod-71/distinfo new file mode 100644 index 000000000000..51307e08d320 --- /dev/null +++ b/emulators/virtualbox-ose-kmod-71/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1749033863 +SHA256 (VirtualBox-7.1.10.tar.bz2) = 7d60010a4c9102613554b46f61d17b825c30ee59d8be071e52d8aac664ca9869 +SIZE (VirtualBox-7.1.10.tar.bz2) = 233395034 diff --git a/emulators/virtualbox-ose-kmod-71/files/pkg-message.in b/emulators/virtualbox-ose-kmod-71/files/pkg-message.in new file mode 100644 index 000000000000..4e03cc0b5ec7 --- /dev/null +++ b/emulators/virtualbox-ose-kmod-71/files/pkg-message.in @@ -0,0 +1,10 @@ +[ +{ type: install + message: <<EOM +The vboxdrv kernel module uses internal kernel APIs. + +To avoid crashes due to kernel incompatibility, this module will only +load on %%OPSYS%% %%OSREL%% kernels. +EOM +} +] diff --git a/emulators/virtualbox-ose-kmod-71/files/vboxnet.in b/emulators/virtualbox-ose-kmod-71/files/vboxnet.in new file mode 100644 index 000000000000..af3d18884273 --- /dev/null +++ b/emulators/virtualbox-ose-kmod-71/files/vboxnet.in @@ -0,0 +1,67 @@ +#!/bin/sh + +# PROVIDE: vboxnet +# BEFORE: NETWORKING +# REQUIRE: FILESYSTEMS +# KEYWORD: nojail + +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# vboxnet_enable (bool): Set to NO by default. +# Set it to YES to load network related kernel modules on startup + +. /etc/rc.subr + +name="vboxnet" +rcvar=vboxnet_enable +start_cmd="vboxnet_start" +stop_cmd="vboxnet_stop" + +vboxnet_modules="vboxdrv vboxnetflt:ng_vboxnetflt vboxnetadp" + +vboxnet_start() +{ + local _k _m + + for _m in ${vboxnet_modules}; do + _k=${_m%:*} + _m=${_m#*:} + if ! kldstat -q -m ${_m}; then + if ! kldload ${_k} > /dev/null 2>&1; then + warn "Can't load ${_k} module." + return 1 + fi + fi + done + + # initialize configured host-only interfaces + LD_LIBRARY_PATH=%%PREFIX%%/lib %%PREFIX%%/bin/VBoxManage list hostonlyifs >/dev/null +} + +vboxnet_stop() +{ + local _k _m _r + + _r= + for _m in ${vboxnet_modules}; do + _r="${_m} ${_r}" + done + for _m in ${_r}; do + _k=${_m%:*} + _m=${_m#*:} + if kldstat -q -m ${_m}; then + if ! kldunload ${_k} > /dev/null 2>&1; then + warn "Can't unload ${_k} module." + return 1 + fi + fi + done +} + +load_rc_config $name + +: ${vboxnet_enable="NO"} + +run_rc_command "$1" diff --git a/emulators/virtualbox-ose-kmod-71/pkg-descr b/emulators/virtualbox-ose-kmod-71/pkg-descr new file mode 100644 index 000000000000..d11d42a81c78 --- /dev/null +++ b/emulators/virtualbox-ose-kmod-71/pkg-descr @@ -0,0 +1,5 @@ +VirtualBox is a family of powerful x86 virtualization products for +enterprise as well as home use. Not only is VirtualBox an extremely +feature rich, high performance product for enterprise customers, it +is also the only professional solution that is freely available as +Open Source Software under the terms of the GNU General Public License. diff --git a/emulators/virtualbox-ose-kmod-71/pkg-plist b/emulators/virtualbox-ose-kmod-71/pkg-plist new file mode 100644 index 000000000000..b08a5706a028 --- /dev/null +++ b/emulators/virtualbox-ose-kmod-71/pkg-plist @@ -0,0 +1,6 @@ +/%%KMODDIR%%/vboxdrv.ko +%%DEBUG%%/%%KMODDIR%%/vboxdrv.ko.%%SYMBOLSUFFIX%% +/%%KMODDIR%%/vboxnetadp.ko +%%DEBUG%%/%%KMODDIR%%/vboxnetadp.ko.%%SYMBOLSUFFIX%% +/%%KMODDIR%%/vboxnetflt.ko +%%DEBUG%%/%%KMODDIR%%/vboxnetflt.ko.%%SYMBOLSUFFIX%% diff --git a/emulators/virtualbox-ose-kmod-legacy/Makefile b/emulators/virtualbox-ose-kmod-legacy/Makefile index da9ca28e61c8..15eb47c2a4a1 100644 --- a/emulators/virtualbox-ose-kmod-legacy/Makefile +++ b/emulators/virtualbox-ose-kmod-legacy/Makefile @@ -35,7 +35,8 @@ CONFIGURE_ARGS+= --disable-alsa \ CONFIGURE_ARGS+= --nofatal --with-gcc="${CC}" --with-g++="${CXX}" CONFLICTS_INSTALL= virtualbox-ose-kmod \ - virtualbox-ose-kmod-70 + virtualbox-ose-kmod-70 \ + virtualbox-ose-kmod-71 PATCHDIR= ${.CURDIR}/../${PORTNAME}-legacy/files PORTSCOUT= limit:^5\. @@ -44,13 +45,15 @@ SUB_LIST= OPSYS=${OPSYS} OSREL=${OSREL} WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION} -OPTIONS_DEFINE= DEBUG VIMAGE +OPTIONS_DEFINE= DEBUG INVARIANTS VIMAGE OPTIONS_DEFINE_i386= PAE OPTIONS_DEFAULT= VIMAGE OPTIONS_SUB= yes DEBUG_DESC= Debug symbols, additional logs and assertions +INVARIANTS_DESC= Use if kernel is compiled with INVARIANTS option PAE_DESC= Build kernel modules for PAE-kernels VIMAGE_DESC= VIMAGE virtual networking support +INVARIANTS_CFLAGS= -DINVARIANTS .include <bsd.port.options.mk> @@ -98,7 +101,7 @@ post-patch: .if ${PORT_OPTIONS:MPAE} @${ECHO_CMD} 'VBOX_FREEBSD = -DPAE' >> ${WRKSRC}/LocalConfig.kmk .endif - @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ + @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g; s|which \$$\*|which \$$1|g' \ ${WRKSRC}/Config.kmk ${WRKSRC}/configure @${REINPLACE_CMD} \ -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ diff --git a/emulators/virtualbox-ose-kmod/Makefile b/emulators/virtualbox-ose-kmod/Makefile index 9bbd0e6d5fa6..dd7d18bbdde5 100644 --- a/emulators/virtualbox-ose-kmod/Makefile +++ b/emulators/virtualbox-ose-kmod/Makefile @@ -35,7 +35,8 @@ CONFIGURE_ARGS+= --disable-alsa \ CONFIGURE_ARGS+= --nofatal --with-gcc="${CC}" --with-g++="${CXX}" CONFLICTS_INSTALL= virtualbox-ose-kmod-legacy \ - virtualbox-ose-kmod-70 + virtualbox-ose-kmod-70 \ + virtualbox-ose-kmod-71 PATCHDIR= ${.CURDIR}/../${PORTNAME}/files PORTSCOUT= limit:^6\. @@ -44,11 +45,13 @@ SUB_LIST= OPSYS=${OPSYS} OSREL=${OSREL} WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION} -OPTIONS_DEFINE= DEBUG VIMAGE +OPTIONS_DEFINE= DEBUG INVARIANTS VIMAGE OPTIONS_DEFAULT= VIMAGE OPTIONS_SUB= yes DEBUG_DESC= Debug symbols, additional logs and assertions +INVARIANTS_DESC= Use if kernel is compiled with INVARIANTS option VIMAGE_DESC= VIMAGE virtual networking support +INVARIANTS_CFLAGS= -DINVARIANTS .include <bsd.port.options.mk> @@ -90,7 +93,7 @@ post-patch: .if ${PORT_OPTIONS:MVIMAGE} @${ECHO_CMD} 'VBOX_WITH_NETFLT_VIMAGE = 1' >> ${WRKSRC}/LocalConfig.kmk .endif - @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ + @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g; s|which \$$\*|which \$$1|g' \ ${WRKSRC}/Config.kmk ${WRKSRC}/configure @${REINPLACE_CMD} \ -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ diff --git a/emulators/virtualbox-ose-legacy/Makefile b/emulators/virtualbox-ose-legacy/Makefile index d589ac286c37..074579b964f6 100644 --- a/emulators/virtualbox-ose-legacy/Makefile +++ b/emulators/virtualbox-ose-legacy/Makefile @@ -1,6 +1,6 @@ PORTNAME= virtualbox-ose DISTVERSION= 5.2.44 -PORTREVISION?= 30 +PORTREVISION?= 32 CATEGORIES= emulators MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \ LOCAL/bofh/emulators/virtualbox-ose-legacy:docs @@ -42,7 +42,9 @@ CONFIGURE_ARGS+= --with-gcc="${CC}" --with-g++="${CXX}" CONFLICTS_INSTALL= virtualbox-ose \ virtualbox-ose-nox11 \ virtualbox-ose-70 \ - virtualbox-ose-nox11-70 + virtualbox-ose-nox11-70 \ + virtualbox-ose-71 \ + virtualbox-ose-nox11-71 PORTSCOUT= limit:^5\. SUB_LIST= VBOXDIR=${VBOX_DIR} \ @@ -73,7 +75,7 @@ PLIST_SUB= GUEST_VER=${DISTVERSION} \ SLAVE_PORT?= no OPTIONS_DEFINE= ALSA DBUS DEBUG DOCS GUESTADDITIONS NLS PULSEAUDIO \ - PYTHON QT5 R0LOGGING UDPTUNNEL VDE VNC WEBSERVICE VPX X11 + PYTHON QT5 R0LOGGING UDPTUNNEL VDE VNC VPX WEBSERVICE X11 OPTIONS_DEFAULT= DBUS QT5 UDPTUNNEL VNC WEBSERVICE X11 .if ${SLAVE_PORT} == no OPTIONS_DEFAULT+= PYTHON diff --git a/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk index 4d327e1089b1..270472c045e3 100644 --- a/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk +++ b/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk @@ -1,6 +1,6 @@ ---- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2018-11-29 19:03:21 UTC +--- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-05-11 03:54:13 UTC +++ src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk -@@ -0,0 +1,23 @@ +@@ -0,0 +1,28 @@ +# $Id: Makefile.kmk $ +## @file +# Sub-Makefile for the FreeBSD Shared folder mount utility. @@ -19,8 +19,13 @@ + +PROGRAMS += mount_vboxvfs +mount_vboxvfs_TEMPLATE = NewVBoxGuestR3Exe -+mount_vboxvfs_SOURCES = $(MOUNT)/getmntopts.c \ -+ mount_vboxvfs.c ++mount_vboxvfs_SOURCES = mount_vboxvfs.c ++ ++ifdef HAVE_MNTOPTS_IN_LIBUTIL ++mount_vboxvfs_LIBS = util ++else ++mount_vboxvfs_SOURCES += $(MOUNT)/getmntopts.c ++endif + +include $(FILE_KBUILD_SUB_FOOTER) + diff --git a/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp b/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp new file mode 100644 index 000000000000..055a29c732a9 --- /dev/null +++ b/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp @@ -0,0 +1,47 @@ +--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp.orig 2020-07-09 16:55:07 UTC ++++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp +@@ -1094,7 +1094,7 @@ int vmsvga3dTerminate(PVGASTATE pThis) + RTSemEventDestroy(pState->WndRequestSem); + #elif defined(RT_OS_DARWIN) + +-#elif defined(RT_OS_LINUX) ++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + /* signal to the thread that it is supposed to exit */ + pState->bTerminate = true; + /* wait for it to terminate */ +@@ -3200,7 +3200,7 @@ int vmsvga3dCommandPresent(PVGASTATE pThis, uint32_t s + return VINF_SUCCESS; + } + +-#ifdef RT_OS_LINUX ++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + /** + * X11 event handling thread. + * +@@ -3230,7 +3230,7 @@ DECLCALLBACK(int) vmsvga3dXEventThread(RTTHREAD hThrea + } + return VINF_SUCCESS; + } +-#endif // RT_OS_LINUX ++#endif // RT_OS_FREEBSD || RT_OS_LINUX + + + /** +@@ -3590,7 +3590,7 @@ static int vmsvga3dContextDestroyOgl(PVGASTATE pThis, + AssertRC(rc); + #elif defined(RT_OS_DARWIN) + vmsvga3dCocoaDestroyViewAndContext(pContext->cocoaView, pContext->cocoaContext); +-#elif defined(RT_OS_LINUX) ++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + glXMakeCurrent(pState->display, None, NULL); + glXDestroyContext(pState->display, pContext->glxContext); + XDestroyWindow(pState->display, pContext->window); +@@ -3648,7 +3648,7 @@ static void vmsvga3dChangeModeOneContext(PVGASTATE pTh + RT_NOREF(pState); + vmsvga3dCocoaViewSetSize(pContext->cocoaView, pThis->svga.uWidth, pThis->svga.uHeight); + +-#elif defined(RT_OS_LINUX) ++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + XWindowChanges wc; + wc.width = pThis->svga.uWidth; + wc.height = pThis->svga.uHeight; diff --git a/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c b/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c index cbc332611e9c..96e957fe7440 100644 --- a/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c +++ b/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c @@ -46,9 +46,9 @@ + struct pctrie_iter pages; + vm_page_t page; + -+ pctrie_iter_init(&pages, pMemFreeBSD->pObject); ++ vm_page_iter_init(&pages, pMemFreeBSD->pObject); + VM_RADIX_FORALL(page, &pages) -+ vm_page_unwire(page, PQ_INACTIVE); ++ (void)vm_page_unwire_noq(page); +#endif #if __FreeBSD_version >= 1000030 VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); @@ -248,6 +248,15 @@ if (PhysHighest != NIL_RTHCPHYS) VmPhysAddrHigh = PhysHighest; +@@ -453,7 +487,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB + #else + VM_OBJECT_LOCK(pMemFreeBSD->pObject); + #endif +- pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_page_find_least(pMemFreeBSD->pObject, 0)); ++ pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_radix_lookup_ge(&pMemFreeBSD->pObject->rtree, 0)); + #if __FreeBSD_version >= 1000030 + VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); + #else @@ -470,6 +504,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB rtR0MemObjDelete(&pMemFreeBSD->Core); } diff --git a/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Runtime_r3_xml.cpp b/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Runtime_r3_xml.cpp new file mode 100644 index 000000000000..79dd02e083d7 --- /dev/null +++ b/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Runtime_r3_xml.cpp @@ -0,0 +1,53 @@ +--- src/VBox/Runtime/r3/xml.cpp.orig 2020-07-09 16:57:46 UTC ++++ src/VBox/Runtime/r3/xml.cpp +@@ -1837,12 +1837,20 @@ static void xmlParserBaseGenericError(void *pCtx, cons + va_end(args); + } + ++#if LIBXML_VERSION >= 21206 ++static void xmlStructuredErrorFunc(void *userData, const xmlError *error) ++{ ++ NOREF(userData); ++ NOREF(error); ++} ++#else + static void xmlParserBaseStructuredError(void *pCtx, xmlErrorPtr error) + { + NOREF(pCtx); + /* we expect that there is always a trailing NL */ + LogRel(("XML error at '%s' line %d: %s", error->file, error->line, error->message)); + } ++#endif + + XmlParserBase::XmlParserBase() + { +@@ -1851,7 +1859,11 @@ XmlParserBase::XmlParserBase() + throw std::bad_alloc(); + /* per-thread so it must be here */ + xmlSetGenericErrorFunc(NULL, xmlParserBaseGenericError); ++#if LIBXML_VERSION >= 21206 ++ xmlSetStructuredErrorFunc(NULL, xmlStructuredErrorFunc); ++#else + xmlSetStructuredErrorFunc(NULL, xmlParserBaseStructuredError); ++#endif + } + + XmlParserBase::~XmlParserBase() +@@ -1912,7 +1924,7 @@ void XmlMemParser::read(const void *pvBuf, size_t cbSi + pcszFilename, + NULL, // encoding = auto + options))) +- throw XmlError(xmlCtxtGetLastError(m_ctxt)); ++ throw XmlError((xmlErrorPtr)xmlCtxtGetLastError(m_ctxt)); + + doc.refreshInternals(); + } +@@ -2172,7 +2184,7 @@ void XmlFileParser::read(const RTCString &strFilename, + pcszFilename, + NULL, // encoding = auto + options))) +- throw XmlError(xmlCtxtGetLastError(m_ctxt)); ++ throw XmlError((xmlErrorPtr)xmlCtxtGetLastError(m_ctxt)); + + doc.refreshInternals(); + } diff --git a/emulators/virtualbox-ose-legacy/files/vboxinit.in b/emulators/virtualbox-ose-legacy/files/vboxinit.in index 13ec9614827d..9895da9e362e 100644 --- a/emulators/virtualbox-ose-legacy/files/vboxinit.in +++ b/emulators/virtualbox-ose-legacy/files/vboxinit.in @@ -37,7 +37,7 @@ restart_cmd="${name}_restart" vboxinit_start() { # Get a list of all machines with autorun enabled in phpvirtualbox - ${su_command} "${command} list vms | /usr/bin/tr -d '{}\"'" | while read VMNAME UUID; do + ${su_command} "${command} list vms | /usr/bin/tr -d '{}\"'" | /usr/bin/sort | while read VMNAME UUID; do STARTUP=$(${su_command} "${command} getextradata ${UUID} 'pvbx/startupMode'" | /usr/bin/cut -d' ' -f2) if [ "${STARTUP}" == "auto" ]; then echo "${name}: starting machine ${VMNAME} ..." @@ -50,7 +50,7 @@ vboxinit_start() vboxinit_stop() { # Get all running machines - ${su_command} "${command} list runningvms | /usr/bin/tr -d '{}\"'" | while read VMNAME UUID; do + ${su_command} "${command} list runningvms | /usr/bin/tr -d '{}\"'" | /usr/bin/sort -r | while read VMNAME UUID; do echo "${name}: stopping machine ${VMNAME} with action '${vboxinit_stop}' ..." ${su_command} "${command} controlvm ${UUID} ${vboxinit_stop}" sleep "${vboxinit_stop_delay}" @@ -75,7 +75,7 @@ load_rc_config $name : ${vboxinit_user="%%VBOXUSER%%"} : ${vboxinit_home=$(/usr/sbin/pw usershow -7 -n "${vboxinit_user}" | /usr/bin/cut -d: -f6)} : ${vboxinit_stop="savestate"} -: ${vboxinit_start_delay="0"} +: ${vboxinit_start_delay="1"} : ${vboxinit_stop_delay="0"} HOME=${vboxinit_home} USER=${vboxinit_user} diff --git a/emulators/virtualbox-ose-nox11-70/Makefile b/emulators/virtualbox-ose-nox11-70/Makefile index b1f9189a1bd4..26ca950b260b 100644 --- a/emulators/virtualbox-ose-nox11-70/Makefile +++ b/emulators/virtualbox-ose-nox11-70/Makefile @@ -1,10 +1,10 @@ -PORTREVISION= 0 +PORTREVISION= 3 PKGNAMESUFFIX= -nox11-70 MASTERDIR= ${.CURDIR}/../virtualbox-ose-70 -OPTIONS_EXCLUDE= ALSA DBUS DEBUG GUESTADDITIONS DOCS NLS PULSEAUDIO \ - QT5 VPX X11 +OPTIONS_EXCLUDE= ALSA DBUS DEBUG GUESTADDITIONS DOCS NLS OGG PULSEAUDIO \ + QT5 VORBIS VPX X11 SLAVE_PORT= yes diff --git a/emulators/virtualbox-ose-nox11-71/Makefile b/emulators/virtualbox-ose-nox11-71/Makefile new file mode 100644 index 000000000000..66d0c82c9bc9 --- /dev/null +++ b/emulators/virtualbox-ose-nox11-71/Makefile @@ -0,0 +1,11 @@ +PORTREVISION= 1 +PKGNAMESUFFIX= -nox11-71 + +MASTERDIR= ${.CURDIR}/../virtualbox-ose-71 + +OPTIONS_EXCLUDE= ALSA DBUS DEBUG GUESTADDITIONS DOCS NLS OGG PULSEAUDIO \ + QT6 VORBIS VPX X11 + +SLAVE_PORT= yes + +.include "${MASTERDIR}/Makefile" diff --git a/emulators/virtualbox-ose-nox11-legacy/Makefile b/emulators/virtualbox-ose-nox11-legacy/Makefile index 900f149bb944..e99d77e7eb63 100644 --- a/emulators/virtualbox-ose-nox11-legacy/Makefile +++ b/emulators/virtualbox-ose-nox11-legacy/Makefile @@ -1,4 +1,4 @@ -PORTREVISION= 27 +PORTREVISION= 32 PKGNAMESUFFIX= -nox11-legacy MASTERDIR= ${.CURDIR}/../virtualbox-ose-legacy diff --git a/emulators/virtualbox-ose-nox11/Makefile b/emulators/virtualbox-ose-nox11/Makefile index 743d0be9d248..a2dbb21fef32 100644 --- a/emulators/virtualbox-ose-nox11/Makefile +++ b/emulators/virtualbox-ose-nox11/Makefile @@ -1,9 +1,9 @@ -PORTREVISION= 12 +PORTREVISION= 15 PKGNAMESUFFIX= -nox11 MASTERDIR= ${.CURDIR}/../virtualbox-ose -OPTIONS_EXCLUDE= ALSA DBUS DEBUG GUESTADDITIONS DOCS NLS PULSEAUDIO \ +OPTIONS_EXCLUDE= ALSA DBUS DEBUG GUESTADDITIONS DOCS NLS OPUS PULSEAUDIO \ QT5 VPX X11 SLAVE_PORT= yes diff --git a/emulators/virtualbox-ose/Makefile b/emulators/virtualbox-ose/Makefile index 8e6d0f8ba790..0ffd039cf2fe 100644 --- a/emulators/virtualbox-ose/Makefile +++ b/emulators/virtualbox-ose/Makefile @@ -1,6 +1,6 @@ PORTNAME= virtualbox-ose DISTVERSION= 6.1.50 -PORTREVISION?= 12 +PORTREVISION?= 15 CATEGORIES= emulators MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \ LOCAL/bofh/emulators/virtualbox-ose:docs @@ -40,7 +40,9 @@ CONFIGURE_ARGS+= --with-gcc="${CC}" --with-g++="${CXX}" CONFLICTS_INSTALL= virtualbox-ose-legacy \ virtualbox-ose-nox11-legacy \ virtualbox-ose-70 \ - virtualbox-ose-nox11-70 + virtualbox-ose-nox11-70 \ + virtualbox-ose-71 \ + virtualbox-ose-nox11-71 PORTSCOUT= limit:^6\. SUB_FILES= pkg-message @@ -73,7 +75,7 @@ PLIST_SUB= GUEST_VER=${DISTVERSION} \ SLAVE_PORT?= no OPTIONS_DEFINE= AIO ALSA DBUS DEBUG DOCS GUESTADDITIONS NLS OPUS PULSEAUDIO \ - PYTHON QT5 R0LOGGING UDPTUNNEL VBOXIMG VDE VNC WEBSERVICE VPX X11 + PYTHON QT5 R0LOGGING UDPTUNNEL VBOXIMG VDE VNC VPX WEBSERVICE X11 OPTIONS_DEFAULT= AIO DBUS QT5 UDPTUNNEL VNC WEBSERVICE X11 .if ${SLAVE_PORT} == no OPTIONS_DEFAULT+= PYTHON diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk b/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk index 4d327e1089b1..270472c045e3 100644 --- a/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk +++ b/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk @@ -1,6 +1,6 @@ ---- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2018-11-29 19:03:21 UTC +--- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-05-11 03:54:13 UTC +++ src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk -@@ -0,0 +1,23 @@ +@@ -0,0 +1,28 @@ +# $Id: Makefile.kmk $ +## @file +# Sub-Makefile for the FreeBSD Shared folder mount utility. @@ -19,8 +19,13 @@ + +PROGRAMS += mount_vboxvfs +mount_vboxvfs_TEMPLATE = NewVBoxGuestR3Exe -+mount_vboxvfs_SOURCES = $(MOUNT)/getmntopts.c \ -+ mount_vboxvfs.c ++mount_vboxvfs_SOURCES = mount_vboxvfs.c ++ ++ifdef HAVE_MNTOPTS_IN_LIBUTIL ++mount_vboxvfs_LIBS = util ++else ++mount_vboxvfs_SOURCES += $(MOUNT)/getmntopts.c ++endif + +include $(FILE_KBUILD_SUB_FOOTER) + diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp new file mode 100644 index 000000000000..949c413d4ba3 --- /dev/null +++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp @@ -0,0 +1,20 @@ +--- src/VBox/Devices/Graphics/DevVGA-SVGA.cpp.orig 2024-01-11 12:18:20 UTC ++++ src/VBox/Devices/Graphics/DevVGA-SVGA.cpp +@@ -169,7 +169,7 @@ + # ifdef RT_OS_DARWIN + # include "DevVGA-SVGA3d-cocoa.h" + # endif +-# ifdef RT_OS_LINUX ++# if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + # ifdef IN_RING3 + #include "DevVGA-SVGA3d-glLdr.h" + # endif +@@ -3520,7 +3520,7 @@ static DECLCALLBACK(int) vmsvgaR3FifoLoop(PPDMDEVINS p + PVMSVGAR3STATE pSVGAState = pThisCC->svga.pSvgaR3State; + int rc; + +-# if defined(VBOX_WITH_VMSVGA3D) && defined(RT_OS_LINUX) ++# if defined(VBOX_WITH_VMSVGA3D) && (defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)) + if (pThis->svga.f3DEnabled) + { + /* The FIFO thread may use X API for accelerated screen output. */ diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp index c9574654562d..4bee4df8ce47 100644 --- a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp +++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp @@ -1,4 +1,4 @@ ---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp.orig 2021-01-07 15:39:16 UTC +--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp.orig 2024-01-11 12:18:21 UTC +++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp @@ -186,7 +186,7 @@ int glLdrInit(PPDMDEVINS pDevIns) pfn_wglDeleteContext = 0; diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h index 3069950947cd..34edb2b49799 100644 --- a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h +++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h @@ -1,6 +1,6 @@ ---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h.orig 2021-01-07 15:39:17 UTC +--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h.orig 2024-01-11 12:18:21 UTC +++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h -@@ -338,7 +338,7 @@ GLPFN BOOL (WINAPI *pfn_wglMakeCurrent)(HDC, HGLRC); +@@ -338,7 +338,7 @@ GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC); GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC); #define wglShareLists pfn_wglShareLists diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-internal.h b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-internal.h new file mode 100644 index 000000000000..1378f39b6a59 --- /dev/null +++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-internal.h @@ -0,0 +1,11 @@ +--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-internal.h.orig 2024-01-11 12:18:21 UTC ++++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-internal.h +@@ -1175,7 +1175,7 @@ typedef struct VMSVGAHWSCREEN + typedef struct VMSVGAHWSCREEN + { + uint32_t u32Reserved0; +-#if defined(RT_OS_LINUX) ++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + /* OpenGL context, which is used for the screen updates. */ + GLXContext glxctx; + diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp index 96058e78ff1f..b055a2606c79 100644 --- a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp +++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp @@ -1,4 +1,4 @@ ---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp.orig 2021-01-07 15:39:17 UTC +--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp.orig 2024-01-11 12:18:21 UTC +++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp @@ -1189,7 +1189,7 @@ int vmsvga3dTerminate(PVGASTATECC pThisCC) RTSemEventDestroy(pState->WndRequestSem); @@ -27,6 +27,24 @@ /** +@@ -3461,7 +3461,7 @@ int vmsvga3dContextDefineOgl(PVGASTATECC pThisCC, uint + return VINF_SUCCESS; + } + +-#if defined(RT_OS_LINUX) ++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) + /* + * HW accelerated graphics output. + */ +@@ -3932,7 +3932,7 @@ int vmsvga3dBackSurfaceBlitToScreen(PVGASTATECC pThisC + return VINF_SUCCESS; + } + +-#else /* !RT_OS_LINUX */ ++#else /* !RT_OS_FREEBSD && !RT_OS_LINUX */ + + int vmsvga3dBackDefineScreen(PVGASTATE pThis, PVGASTATECC pThisCC, VMSVGASCREENOBJECT *pScreen) + { @@ -4052,7 +4052,7 @@ static int vmsvga3dContextDestroyOgl(PVGASTATECC pThis AssertRC(rc); #elif defined(RT_OS_DARWIN) diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c b/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c index cc243baf7aed..058d66c29a37 100644 --- a/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c +++ b/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c @@ -46,9 +46,9 @@ + struct pctrie_iter pages; + vm_page_t page; + -+ pctrie_iter_init(&pages, pMemFreeBSD->pObject); ++ vm_page_iter_init(&pages, pMemFreeBSD->pObject); + VM_RADIX_FORALL(page, &pages) -+ vm_page_unwire(page, PQ_INACTIVE); ++ (void)vm_page_unwire_noq(page); +#endif VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); vm_object_deallocate(pMemFreeBSD->pObject); @@ -174,6 +174,15 @@ if (PhysHighest != NIL_RTHCPHYS) VmPhysAddrHigh = PhysHighest; +@@ -453,7 +488,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB + { + Assert(enmType == RTR0MEMOBJTYPE_PHYS); + VM_OBJECT_WLOCK(pMemFreeBSD->pObject); +- pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_page_find_least(pMemFreeBSD->pObject, 0)); ++ pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_radix_lookup_ge(&pMemFreeBSD->pObject->rtree, 0)); + VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); + pMemFreeBSD->Core.u.Phys.fAllocated = true; + } @@ -466,6 +501,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB rtR0MemObjDelete(&pMemFreeBSD->Core); } diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_xml.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_xml.cpp new file mode 100644 index 000000000000..9f17777fdc2a --- /dev/null +++ b/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_xml.cpp @@ -0,0 +1,53 @@ +--- src/VBox/Runtime/r3/xml.cpp.orig 2024-01-11 12:26:05 UTC ++++ src/VBox/Runtime/r3/xml.cpp +@@ -1837,12 +1837,20 @@ static void xmlParserBaseGenericError(void *pCtx, cons + va_end(args); + } + ++#if LIBXML_VERSION >= 21206 ++static void xmlStructuredErrorFunc(void *userData, const xmlError *error) ++{ ++ NOREF(userData); ++ NOREF(error); ++} ++#else + static void xmlParserBaseStructuredError(void *pCtx, xmlErrorPtr error) + { + NOREF(pCtx); + /* we expect that there is always a trailing NL */ + LogRel(("XML error at '%s' line %d: %s", error->file, error->line, error->message)); + } ++#endif + + XmlParserBase::XmlParserBase() + { +@@ -1851,7 +1859,11 @@ XmlParserBase::XmlParserBase() + throw std::bad_alloc(); + /* per-thread so it must be here */ + xmlSetGenericErrorFunc(NULL, xmlParserBaseGenericError); ++#if LIBXML_VERSION >= 21206 ++ xmlSetStructuredErrorFunc(NULL, xmlStructuredErrorFunc); ++#else + xmlSetStructuredErrorFunc(NULL, xmlParserBaseStructuredError); ++#endif + } + + XmlParserBase::~XmlParserBase() +@@ -1912,7 +1924,7 @@ void XmlMemParser::read(const void *pvBuf, size_t cbSi + pcszFilename, + NULL, // encoding = auto + options))) +- throw XmlError(xmlCtxtGetLastError(m_ctxt)); ++ throw XmlError((xmlErrorPtr)xmlCtxtGetLastError(m_ctxt)); + + doc.refreshInternals(); + } +@@ -2172,7 +2184,7 @@ void XmlFileParser::read(const RTCString &strFilename, + pcszFilename, + NULL, // encoding = auto + options))) +- throw XmlError(xmlCtxtGetLastError(m_ctxt)); ++ throw XmlError((xmlErrorPtr)xmlCtxtGetLastError(m_ctxt)); + + doc.refreshInternals(); + } diff --git a/emulators/virtualbox-ose/files/vboxinit.in b/emulators/virtualbox-ose/files/vboxinit.in index 13ec9614827d..9895da9e362e 100644 --- a/emulators/virtualbox-ose/files/vboxinit.in +++ b/emulators/virtualbox-ose/files/vboxinit.in @@ -37,7 +37,7 @@ restart_cmd="${name}_restart" vboxinit_start() { # Get a list of all machines with autorun enabled in phpvirtualbox - ${su_command} "${command} list vms | /usr/bin/tr -d '{}\"'" | while read VMNAME UUID; do + ${su_command} "${command} list vms | /usr/bin/tr -d '{}\"'" | /usr/bin/sort | while read VMNAME UUID; do STARTUP=$(${su_command} "${command} getextradata ${UUID} 'pvbx/startupMode'" | /usr/bin/cut -d' ' -f2) if [ "${STARTUP}" == "auto" ]; then echo "${name}: starting machine ${VMNAME} ..." @@ -50,7 +50,7 @@ vboxinit_start() vboxinit_stop() { # Get all running machines - ${su_command} "${command} list runningvms | /usr/bin/tr -d '{}\"'" | while read VMNAME UUID; do + ${su_command} "${command} list runningvms | /usr/bin/tr -d '{}\"'" | /usr/bin/sort -r | while read VMNAME UUID; do echo "${name}: stopping machine ${VMNAME} with action '${vboxinit_stop}' ..." ${su_command} "${command} controlvm ${UUID} ${vboxinit_stop}" sleep "${vboxinit_stop_delay}" @@ -75,7 +75,7 @@ load_rc_config $name : ${vboxinit_user="%%VBOXUSER%%"} : ${vboxinit_home=$(/usr/sbin/pw usershow -7 -n "${vboxinit_user}" | /usr/bin/cut -d: -f6)} : ${vboxinit_stop="savestate"} -: ${vboxinit_start_delay="0"} +: ${vboxinit_start_delay="1"} : ${vboxinit_stop_delay="0"} HOME=${vboxinit_home} USER=${vboxinit_user} diff --git a/emulators/wine-devel/Makefile b/emulators/wine-devel/Makefile index 42173a71f552..d98676b38c45 100644 --- a/emulators/wine-devel/Makefile +++ b/emulators/wine-devel/Makefile @@ -1,12 +1,11 @@ PORTNAME= wine -DISTVERSION= 10.6 -PORTREVISION= 1 +DISTVERSION= 10.10 PORTEPOCH= 1 CATEGORIES= emulators MASTER_SITES= https://dl.winehq.org/wine/source/10.x/ PKGNAMESUFFIX= -devel -MAINTAINER= ports@FreeBSD.org +MAINTAINER= monwarez@mailoo.org COMMENT= Microsoft Windows compatibility environment WWW= https://www.winehq.org @@ -44,7 +43,6 @@ CONFIGURE_ARGS+=--verbose \ --with-mingw CROSSCC="clang" \ --without-netapi \ --without-opencl \ - --without-osmesa \ --without-pcap \ --without-pcsclite \ --with-pthread \ @@ -72,7 +70,7 @@ PIE_UNSAFE= yes PORTDATA= wine.inf OPTIONS_DEFINE= CUPS DOCS DOSBOX GNUTLS V4L WAYLAND X11 GECKO MONO -OPTIONS_DEFAULT=ALSA GNUTLS X11 +OPTIONS_DEFAULT=ALSA GNUTLS WAYLAND X11 OPTIONS_RADIO= AUDIO OPTIONS_RADIO_AUDIO= ALSA OSS OPTIONS_SUB= yes @@ -100,10 +98,6 @@ GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls MONO_RUN_DEPENDS= wine-mono-devel>0:emulators/wine-mono-devel -WAYLAND_BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto -WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \ - libxkbcommon.so:x11/libxkbcommon - OSS_CONFIGURE_WITH= oss OSS_USES= gnome gstreamer OSS_USE= GNOME=glib20 @@ -113,6 +107,9 @@ V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat V4L_LIB_DEPENDS= libv4l2.so:multimedia/libv4l WAYLAND_CONFIGURE_WITH= wayland +WAYLAND_BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto +WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \ + libxkbcommon.so:x11/libxkbcommon X11_CONFIGURE_WITH= x fontconfig freetype opengl xinerama xinput2 xrandr xrender X11_USES= gl xorg @@ -150,7 +147,7 @@ post-patch: ${REINPLACE_CMD} '/Exec/s|wine|wine64|g' ${WRKSRC}/loader/wine.desktop .else -EXTRA_PATCHES+= files/extra-patch-tools-winebuild-res32 +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-tools-winebuild-res32 PLIST_SUB+= WINE32="" WINE64="@comment " WINEARCH="i386" .endif diff --git a/emulators/wine-devel/distinfo b/emulators/wine-devel/distinfo index 71d09994e6f0..261fa76cdef2 100644 --- a/emulators/wine-devel/distinfo +++ b/emulators/wine-devel/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1746303351 -SHA256 (wine-10.6.tar.xz) = 2af8809a3e987363752c8f7640efa72a7c9d3213d332437db87ce1d0d98e9061 -SIZE (wine-10.6.tar.xz) = 32380968 +TIMESTAMP = 1749898973 +SHA256 (wine-10.10.tar.xz) = e76466a5ca3197f399ddf8069b0a79e5eb2dffe5b3b7db9eb7272288330c8596 +SIZE (wine-10.10.tar.xz) = 32528748 diff --git a/emulators/wine-devel/files/patch-configure b/emulators/wine-devel/files/patch-configure deleted file mode 100644 index 1b505cb0fd84..000000000000 --- a/emulators/wine-devel/files/patch-configure +++ /dev/null @@ -1,12 +0,0 @@ ---- UTC ---- configure.orig 2024-08-10 14:38:54.000000000 +0000 -+++ configure 2024-08-10 23:43:05.264405000 +0000 -@@ -10662,7 +10662,7 @@ - llvm_extra_ldflags="" - llvm_cflags="" - case $llvm_target in -- *windows) llvm_cflags="-Wl,-subsystem:console -Wl,-WX" ;; -+ *windows) llvm_cflags="-Wl,-subsystem:console" ;; - esac - { as_ac_var=`printf "%s\n" "ac_cv_${wine_arch}_cflags_$llvm_extra_cflags $llvm_cflags --no-default-config" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $llvm_extra_cflags $llvm_cflags --no-default-config" >&5 diff --git a/emulators/wine-devel/files/wine-wow64.sh b/emulators/wine-devel/files/wine-wow64.sh index fd96577fb486..47d8fcc90f2c 100644 --- a/emulators/wine-devel/files/wine-wow64.sh +++ b/emulators/wine-devel/files/wine-wow64.sh @@ -23,6 +23,9 @@ HERE exit 1 fi +# Export early so that external libs could be found +export LD_32_LIBRARY_PATH="${LD_32_LIBRARY_PATH:+$LD_32_LIBRARY_PATH:}$I386_ROOT/$LOCALBASE/lib" + WINE32_VERSION=$(env -u WINELOADERNOEXEC "$I386_ROOT/$PREFIX/bin/wine" --version) WINE64_VERSION=$(env -u WINELOADERNOEXEC "${TARGET}64" --version) if [ "$WINE32_VERSION" != "$WINE64_VERSION" ] diff --git a/emulators/wine-devel/pkg-plist b/emulators/wine-devel/pkg-plist index 005c41812e6e..90a35cde7ec4 100644 --- a/emulators/wine-devel/pkg-plist +++ b/emulators/wine-devel/pkg-plist @@ -341,6 +341,7 @@ include/wine/windows/dbghelp.h include/wine/windows/dbinit.idl include/wine/windows/dbprop.idl include/wine/windows/dbs.idl +include/wine/windows/dbsrst.idl include/wine/windows/dbt.h include/wine/windows/dciddi.h include/wine/windows/dciman.h @@ -502,6 +503,7 @@ include/wine/windows/dxvahd.idl include/wine/windows/dyngraph.idl include/wine/windows/endpointvolume.h include/wine/windows/endpointvolume.idl +include/wine/windows/errhandlingapi.h include/wine/windows/errorrep.h include/wine/windows/errors.h include/wine/windows/errrec.idl @@ -1129,6 +1131,8 @@ include/wine/windows/windows.data.xml.dom.h include/wine/windows/windows.data.xml.dom.idl include/wine/windows/windows.devices.bluetooth.h include/wine/windows/windows.devices.bluetooth.idl +include/wine/windows/windows.devices.bluetooth.rfcomm.h +include/wine/windows/windows.devices.bluetooth.rfcomm.idl include/wine/windows/windows.devices.enumeration.h include/wine/windows/windows.devices.enumeration.idl include/wine/windows/windows.devices.geolocation.h @@ -1202,6 +1206,8 @@ include/wine/windows/windows.networking.connectivity.h include/wine/windows/windows.networking.connectivity.idl include/wine/windows/windows.networking.h include/wine/windows/windows.networking.idl +include/wine/windows/windows.networking.sockets.h +include/wine/windows/windows.networking.sockets.idl include/wine/windows/windows.perception.spatial.h include/wine/windows/windows.perception.spatial.idl include/wine/windows/windows.perception.spatial.surfaces.h @@ -1254,6 +1260,8 @@ include/wine/windows/windows.ui.input.h include/wine/windows/windows.ui.input.idl include/wine/windows/windows.ui.notifications.h include/wine/windows/windows.ui.notifications.idl +include/wine/windows/windows.ui.viewmanagement.core.h +include/wine/windows/windows.ui.viewmanagement.core.idl include/wine/windows/windows.ui.viewmanagement.h include/wine/windows/windows.ui.viewmanagement.idl include/wine/windows/windows.ui.xaml.h @@ -1415,6 +1423,7 @@ lib/wine/%%WINEARCH%%-unix/libcomdlg32.a lib/wine/%%WINEARCH%%-unix/libcoml2.a lib/wine/%%WINEARCH%%-unix/libcompstui.a lib/wine/%%WINEARCH%%-unix/libcomsvcs.a +lib/wine/%%WINEARCH%%-unix/libcoremessaging.a lib/wine/%%WINEARCH%%-unix/libcredui.a lib/wine/%%WINEARCH%%-unix/libcrypt32.a lib/wine/%%WINEARCH%%-unix/libcryptdll.a @@ -1973,6 +1982,7 @@ lib/wine/%%WINEARCH%%-windows/libcoml2.a lib/wine/%%WINEARCH%%-windows/libcompiler-rt.a lib/wine/%%WINEARCH%%-windows/libcompstui.a lib/wine/%%WINEARCH%%-windows/libcomsvcs.a +lib/wine/%%WINEARCH%%-windows/libcoremessaging.a lib/wine/%%WINEARCH%%-windows/libcredui.a lib/wine/%%WINEARCH%%-windows/libcrypt32.a lib/wine/%%WINEARCH%%-windows/libcryptdll.a diff --git a/emulators/wine-mono-devel/Makefile b/emulators/wine-mono-devel/Makefile index 7c9fd6b1ef68..f42c32b0d9d7 100644 --- a/emulators/wine-mono-devel/Makefile +++ b/emulators/wine-mono-devel/Makefile @@ -1,5 +1,5 @@ PORTNAME= wine-mono -DISTVERSION= 10.0.0 +DISTVERSION= 10.1.0 DISTVERSIONSUFFIX=-x86 CATEGORIES= emulators MASTER_SITES= http://dl.winehq.org/wine/wine-mono/${DISTVERSION}/ diff --git a/emulators/wine-mono-devel/distinfo b/emulators/wine-mono-devel/distinfo index 6a01af90076e..661b7fcc3160 100644 --- a/emulators/wine-mono-devel/distinfo +++ b/emulators/wine-mono-devel/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1744149103 -SHA256 (wine-mono-10.0.0-x86.msi) = dbaca73e5d09f7a3a7c157ad04289af9ca47c3ced7012d46544a607046902b87 -SIZE (wine-mono-10.0.0-x86.msi) = 84493824 +TIMESTAMP = 1749978328 +SHA256 (wine-mono-10.1.0-x86.msi) = c88c2431890bc32cacec8d7ea70e53a5ae4b95c8c55ca6e75ef8db0e4ccf1070 +SIZE (wine-mono-10.1.0-x86.msi) = 85491712 diff --git a/emulators/wine/Makefile b/emulators/wine/Makefile index fbe10774a157..13b3d6e84b7c 100644 --- a/emulators/wine/Makefile +++ b/emulators/wine/Makefile @@ -1,5 +1,6 @@ PORTNAME= wine DISTVERSION= 10.0 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= emulators MASTER_SITES= https://dl.winehq.org/wine/source/10.0/ @@ -147,16 +148,28 @@ PLIST_SUB+= WINE32="@comment " WINE64="" WINEARCH="x86_64" # FreeBSD yet. post-patch: ${REINPLACE_CMD} '/Exec/s|wine|wine64|g' ${WRKSRC}/loader/wine.desktop + ${MV} ${WRKSRC}/loader/*.man.in ${WRKSRC}/tools/wine/ .else EXTRA_PATCHES+= files/extra-patch-tools-winebuild-res32 PLIST_SUB+= WINE32="" WINE64="@comment " WINEARCH="i386" + +post-patch: + ${MV} ${WRKSRC}/loader/*.man.in ${WRKSRC}/tools/wine/ .endif pre-build: cd ${WRKSRC} && ${SETENVI} ${WRK_ENV} ${MAKE_CMD} depend post-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/share/man/man1 + ${INSTALL_MAN} ${WRKSRC}/tools/wine/wine.man ${STAGEDIR}${PREFIX}/share/man/man1/wine.1 + ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/man1/wine.1 +.for m in de.UTF-8 fr.UTF-8 pl.UTF-8 + ${MKDIR} ${STAGEDIR}${PREFIX}/share/man/${m}/man1 + ${INSTALL_MAN} ${WRKSRC}/tools/wine/wine.${m}.man ${STAGEDIR}${PREFIX}/share/man/${m}/man1/wine.1 + ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/${m}/man1/wine.1 +.endfor .if ${ARCH} == i386 ${MV} ${STAGEDIR}${PREFIX}/bin/wineserver ${STAGEDIR}${PREFIX}/bin/wineserver32 ${MV} ${STAGEDIR}${PREFIX}/bin/wine ${STAGEDIR}${PREFIX}/bin/wine.bin diff --git a/emulators/wine/files/patch-man b/emulators/wine/files/patch-man new file mode 100644 index 000000000000..849a560ae899 --- /dev/null +++ b/emulators/wine/files/patch-man @@ -0,0 +1,94 @@ +This backports (parts of) + + commit 22a90656baebdbbe8ec30d3f00f86d6e34f1451e + Author: Alexandre Julliard <julliard@winehq.org> + Date: Thu Feb 13 13:44:17 2025 +0100 + + tools: Move the loader man pages to the new Wine loader directory. + +and + + commit 6d28db86c9c2559e67a4820175416aff20f7abec + Author: Alexandre Julliard <julliard@winehq.org> + Date: Thu Feb 13 13:40:44 2025 +0100 + + tools: Add a simpler Wine launcher in the bin directory. + +with some tweaks and hacks in the port Makefile. Luckily all of this +will be obsolete with the next major version. + +--- UTC +--- configure ++++ configure +@@ -1762,6 +1762,7 @@ enable_server + enable_tools + enable_sfnt2fon + enable_widl ++enable_wine + enable_winebuild + enable_winedump + enable_winegcc +@@ -23212,6 +23214,7 @@ wine_fn_config_makefile server enable_server + test "x$enable_tools" = xno || wine_fn_config_makefile tools enable_tools + test "x$enable_tools" = xno || wine_fn_config_makefile tools/sfnt2fon enable_sfnt2fon + test "x$enable_tools" = xno || wine_fn_config_makefile tools/widl enable_widl ++test "x$enable_tools" = xno || wine_fn_config_makefile tools/wine enable_wine + test "x$enable_tools" = xno || wine_fn_config_makefile tools/winebuild enable_winebuild + test "x$enable_tools" = xno || wine_fn_config_makefile tools/winedump enable_winedump + test "x$enable_tools" = xno || wine_fn_config_makefile tools/winegcc enable_winegcc +--- UTC +--- configure.ac ++++ configure.ac +@@ -3554,6 +3555,7 @@ WINE_CONFIG_MAKEFILE(server) + WINE_CONFIG_MAKEFILE(tools,,[test "x$enable_tools" = xno]) + WINE_CONFIG_MAKEFILE(tools/sfnt2fon,,[test "x$enable_tools" = xno]) + WINE_CONFIG_MAKEFILE(tools/widl,,[test "x$enable_tools" = xno]) ++WINE_CONFIG_MAKEFILE(tools/wine,,[test "x$enable_tools" = xno]) + WINE_CONFIG_MAKEFILE(tools/winebuild,,[test "x$enable_tools" = xno]) + WINE_CONFIG_MAKEFILE(tools/winedump,,[test "x$enable_tools" = xno]) + WINE_CONFIG_MAKEFILE(tools/winegcc,,[test "x$enable_tools" = xno]) +diff --git a/tools/wine/Makefile.in b/tools/wine/Makefile.in +new file mode 100644 +index 00000000000..445e1dde9d0 +--- UTC +--- /dev/null ++++ tools/wine/Makefile.in +@@ -0,0 +1,8 @@ ++PROGRAMS = wine ++ ++SOURCES = \ ++ wine.c \ ++ wine.de.UTF-8.man.in \ ++ wine.fr.UTF-8.man.in \ ++ wine.man.in \ ++ wine.pl.UTF-8.man.in ++ ++wine_EXTRADEFS = -DBINDIR="\"${bindir}\"" -DLIBDIR="\"${libdir}\"" ++ ++INSTALL_LIB = $(PROGRAMS) +--- UTC +--- loader/Makefile.in ++++ loader/Makefile.in +@@ -2,12 +2,8 @@ SOURCES = \ + main.c \ + preloader.c \ + preloader_mac.c \ +- wine.de.UTF-8.man.in \ + wine.desktop \ +- wine.fr.UTF-8.man.in \ + wine.inf.in \ +- wine.man.in \ +- wine.pl.UTF-8.man.in \ + wine_info.plist.in + + PROGRAMS = $(WINELOADER_PROGRAMS) +--- UTC +--- /dev/null ++++ tools/wine/wine.c +@@ -0,0 +1,6 @@ ++#include <stdarg.h> ++ ++int main( int argc, char *argv[] ) ++{ ++return 99; ++} diff --git a/emulators/wine/pkg-plist b/emulators/wine/pkg-plist index 0bfd77c65e01..23a7da444d60 100644 --- a/emulators/wine/pkg-plist +++ b/emulators/wine/pkg-plist @@ -2691,10 +2691,10 @@ lib/wine/%%WINEARCH%%-windows/xolehlp.dll lib/wine/%%WINEARCH%%-windows/xpsprint.dll lib/wine/%%WINEARCH%%-windows/xpssvcs.dll share/applications/wine.desktop -%%WINE32%%share/man/de.UTF-8/man1/wine.1.gz +share/man/de.UTF-8/man1/wine.1.gz share/man/de.UTF-8/man1/winemaker.1.gz share/man/de.UTF-8/man1/wineserver.1.gz -%%WINE32%%share/man/fr.UTF-8/man1/wine.1.gz +share/man/fr.UTF-8/man1/wine.1.gz share/man/fr.UTF-8/man1/winemaker.1.gz share/man/fr.UTF-8/man1/wineserver.1.gz share/man/man1/msiexec.1.gz @@ -2702,7 +2702,7 @@ share/man/man1/notepad.1.gz share/man/man1/regedit.1.gz share/man/man1/regsvr32.1.gz share/man/man1/widl.1.gz -%%WINE32%%share/man/man1/wine.1.gz +share/man/man1/wine.1.gz share/man/man1/wineboot.1.gz share/man/man1/winebuild.1.gz share/man/man1/winecfg.1.gz @@ -2719,7 +2719,7 @@ share/man/man1/winepath.1.gz share/man/man1/wineserver.1.gz share/man/man1/wmc.1.gz share/man/man1/wrc.1.gz -%%WINE32%%share/man/pl.UTF-8/man1/wine.1.gz +share/man/pl.UTF-8/man1/wine.1.gz %%DATADIR%%/nls/c_037.nls %%DATADIR%%/nls/c_10000.nls %%DATADIR%%/nls/c_10001.nls diff --git a/emulators/yuzu/Makefile b/emulators/yuzu/Makefile index 1a0d0950ed00..247f106f1fc9 100644 --- a/emulators/yuzu/Makefile +++ b/emulators/yuzu/Makefile @@ -1,6 +1,6 @@ PORTNAME= yuzu PORTVERSION= s20240301 -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= emulators wayland .if make(makesum) MASTER_SITES= https://api.yuzu-emu.org/gamedb/?dummy=/:gamedb diff --git a/emulators/yuzu/files/patch-boost-1.88 b/emulators/yuzu/files/patch-boost-1.88 new file mode 100644 index 000000000000..39c5c71462ef --- /dev/null +++ b/emulators/yuzu/files/patch-boost-1.88 @@ -0,0 +1,24 @@ +src/core/debugger/debugger.cpp:9:10: fatal error: 'boost/process/async_pipe.hpp' file not found + 9 | #include <boost/process/async_pipe.hpp> + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- src/core/debugger/debugger.cpp.orig 2024-03-01 07:57:00 UTC ++++ src/core/debugger/debugger.cpp +@@ -6,7 +6,7 @@ + #include <thread> + + #include <boost/asio.hpp> +-#include <boost/process/async_pipe.hpp> ++#include <boost/process/v1/async_pipe.hpp> + + #include "common/logging/log.h" + #include "common/polyfill_thread.h" +@@ -326,7 +326,7 @@ class DebuggerImpl : public DebuggerBackend { (private + + struct ConnectionState { + boost::asio::ip::tcp::socket client_socket; +- boost::process::async_pipe signal_pipe; ++ boost::process::v1::async_pipe signal_pipe; + + SignalInfo info; + Kernel::KScopedAutoObject<Kernel::KThread> active_thread; diff --git a/emulators/yuzu/files/patch-fmt11 b/emulators/yuzu/files/patch-fmt11 new file mode 100644 index 000000000000..754174f11eb8 --- /dev/null +++ b/emulators/yuzu/files/patch-fmt11 @@ -0,0 +1,301 @@ +http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/commit/9efce7107229 +https://git.citron-emu.org/citron/emu/-/commit/7730d14b4a26 + +--- src/common/logging/formatter.h.orig 2024-03-01 07:57:00 UTC ++++ src/common/logging/formatter.h +@@ -14,7 +14,7 @@ struct fmt::formatter<T, std::enable_if_t<std::is_enum + struct fmt::formatter<T, std::enable_if_t<std::is_enum_v<T>, char>> + : formatter<std::underlying_type_t<T>> { + template <typename FormatContext> +- auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out()) { ++ auto format(const T& value, FormatContext& ctx) const -> decltype(ctx.out()) { + return fmt::formatter<std::underlying_type_t<T>>::format( + static_cast<std::underlying_type_t<T>>(value), ctx); + } +--- src/common/typed_address.h.orig 2024-03-01 07:57:00 UTC ++++ src/common/typed_address.h +@@ -262,7 +262,7 @@ struct fmt::formatter<Common::PhysicalAddress> { + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Common::PhysicalAddress& addr, FormatContext& ctx) { ++ auto format(const Common::PhysicalAddress& addr, FormatContext& ctx) const { + return fmt::format_to(ctx.out(), "{:#x}", static_cast<u64>(addr.GetValue())); + } + }; +@@ -273,7 +273,7 @@ struct fmt::formatter<Common::ProcessAddress> { + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Common::ProcessAddress& addr, FormatContext& ctx) { ++ auto format(const Common::ProcessAddress& addr, FormatContext& ctx) const { + return fmt::format_to(ctx.out(), "{:#x}", static_cast<u64>(addr.GetValue())); + } + }; +@@ -284,7 +284,7 @@ struct fmt::formatter<Common::VirtualAddress> { + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Common::VirtualAddress& addr, FormatContext& ctx) { ++ auto format(const Common::VirtualAddress& addr, FormatContext& ctx) const { + return fmt::format_to(ctx.out(), "{:#x}", static_cast<u64>(addr.GetValue())); + } + }; +--- src/core/arm/dynarmic/dynarmic_cp15.cpp.orig 2024-03-01 07:57:00 UTC ++++ src/core/arm/dynarmic/dynarmic_cp15.cpp +@@ -22,7 +22,7 @@ struct fmt::formatter<Dynarmic::A32::CoprocReg> { + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Dynarmic::A32::CoprocReg& reg, FormatContext& ctx) { ++ auto format(const Dynarmic::A32::CoprocReg& reg, FormatContext& ctx) const { + return fmt::format_to(ctx.out(), "cp{}", static_cast<size_t>(reg)); + } + }; +--- src/core/debugger/gdbstub.cpp.orig 2024-03-01 07:57:00 UTC ++++ src/core/debugger/gdbstub.cpp +@@ -9,6 +9,7 @@ + #include <thread> + + #include <boost/algorithm/string.hpp> ++#include <fmt/ranges.h> + + #include "common/hex_util.h" + #include "common/logging/log.h" +--- src/core/hle/service/nfc/common/device.cpp.orig 2024-03-01 07:57:00 UTC ++++ src/core/hle/service/nfc/common/device.cpp +@@ -14,7 +14,7 @@ + #pragma warning(pop) + #endif + +-#include <fmt/format.h> ++#include <fmt/ranges.h> + + #include "common/fs/file.h" + #include "common/fs/fs.h" +--- src/core/hle/service/psc/time/common.h.orig 2024-03-01 07:57:00 UTC ++++ src/core/hle/service/psc/time/common.h +@@ -167,7 +167,7 @@ struct fmt::formatter<Service::PSC::Time::TimeType> : + template <> + struct fmt::formatter<Service::PSC::Time::TimeType> : fmt::formatter<fmt::string_view> { + template <typename FormatContext> +- auto format(Service::PSC::Time::TimeType type, FormatContext& ctx) { ++ auto format(Service::PSC::Time::TimeType type, FormatContext& ctx) const { + const string_view name = [type] { + using Service::PSC::Time::TimeType; + switch (type) { +--- src/shader_recompiler/backend/glasm/reg_alloc.h.orig 2024-03-01 07:57:00 UTC ++++ src/shader_recompiler/backend/glasm/reg_alloc.h +@@ -184,7 +184,7 @@ struct fmt::formatter<Shader::Backend::GLASM::Id> { + return ctx.begin(); + } + template <typename FormatContext> +- auto format(Shader::Backend::GLASM::Id id, FormatContext& ctx) { ++ auto format(Shader::Backend::GLASM::Id id, FormatContext& ctx) const { + return Shader::Backend::GLASM::FormatTo<true>(ctx, id); + } + }; +@@ -195,7 +195,7 @@ struct fmt::formatter<Shader::Backend::GLASM::Register + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Shader::Backend::GLASM::Register& value, FormatContext& ctx) { ++ auto format(const Shader::Backend::GLASM::Register& value, FormatContext& ctx) const { + if (value.type != Shader::Backend::GLASM::Type::Register) { + throw Shader::InvalidArgument("Register value type is not register"); + } +@@ -209,7 +209,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarRe + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Shader::Backend::GLASM::ScalarRegister& value, FormatContext& ctx) { ++ auto format(const Shader::Backend::GLASM::ScalarRegister& value, FormatContext& ctx) const { + if (value.type != Shader::Backend::GLASM::Type::Register) { + throw Shader::InvalidArgument("Register value type is not register"); + } +@@ -223,7 +223,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarU3 + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Shader::Backend::GLASM::ScalarU32& value, FormatContext& ctx) { ++ auto format(const Shader::Backend::GLASM::ScalarU32& value, FormatContext& ctx) const { + switch (value.type) { + case Shader::Backend::GLASM::Type::Void: + break; +@@ -244,7 +244,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarS3 + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Shader::Backend::GLASM::ScalarS32& value, FormatContext& ctx) { ++ auto format(const Shader::Backend::GLASM::ScalarS32& value, FormatContext& ctx) const { + switch (value.type) { + case Shader::Backend::GLASM::Type::Void: + break; +@@ -265,7 +265,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarF3 + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Shader::Backend::GLASM::ScalarF32& value, FormatContext& ctx) { ++ auto format(const Shader::Backend::GLASM::ScalarF32& value, FormatContext& ctx) const { + switch (value.type) { + case Shader::Backend::GLASM::Type::Void: + break; +@@ -286,7 +286,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarF6 + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Shader::Backend::GLASM::ScalarF64& value, FormatContext& ctx) { ++ auto format(const Shader::Backend::GLASM::ScalarF64& value, FormatContext& ctx) const { + switch (value.type) { + case Shader::Backend::GLASM::Type::Void: + break; +--- src/shader_recompiler/frontend/ir/attribute.h.orig 2024-03-01 07:57:00 UTC ++++ src/shader_recompiler/frontend/ir/attribute.h +@@ -250,7 +250,7 @@ struct fmt::formatter<Shader::IR::Attribute> { + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Shader::IR::Attribute& attribute, FormatContext& ctx) { ++ auto format(const Shader::IR::Attribute& attribute, FormatContext& ctx) const { + return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(attribute)); + } + }; +--- src/shader_recompiler/frontend/ir/condition.h.orig 2024-03-01 07:57:00 UTC ++++ src/shader_recompiler/frontend/ir/condition.h +@@ -52,7 +52,7 @@ struct fmt::formatter<Shader::IR::Condition> { + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Shader::IR::Condition& cond, FormatContext& ctx) { ++ auto format(const Shader::IR::Condition& cond, FormatContext& ctx) const { + return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(cond)); + } + }; +--- src/shader_recompiler/frontend/ir/flow_test.h.orig 2024-03-01 07:57:00 UTC ++++ src/shader_recompiler/frontend/ir/flow_test.h +@@ -55,7 +55,7 @@ struct fmt::formatter<Shader::IR::FlowTest> { + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Shader::IR::FlowTest& flow_test, FormatContext& ctx) { ++ auto format(const Shader::IR::FlowTest& flow_test, FormatContext& ctx) const { + return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(flow_test)); + } + }; +--- src/shader_recompiler/frontend/ir/opcodes.h.orig 2024-03-01 07:57:00 UTC ++++ src/shader_recompiler/frontend/ir/opcodes.h +@@ -103,7 +103,7 @@ struct fmt::formatter<Shader::IR::Opcode> { + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Shader::IR::Opcode& op, FormatContext& ctx) { ++ auto format(const Shader::IR::Opcode& op, FormatContext& ctx) const { + return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(op)); + } + }; +--- src/shader_recompiler/frontend/ir/pred.h.orig 2024-03-01 07:57:00 UTC ++++ src/shader_recompiler/frontend/ir/pred.h +@@ -33,7 +33,7 @@ struct fmt::formatter<Shader::IR::Pred> { + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Shader::IR::Pred& pred, FormatContext& ctx) { ++ auto format(const Shader::IR::Pred& pred, FormatContext& ctx) const { + if (pred == Shader::IR::Pred::PT) { + return fmt::format_to(ctx.out(), "PT"); + } else { +--- src/shader_recompiler/frontend/ir/reg.h.orig 2024-03-01 07:57:00 UTC ++++ src/shader_recompiler/frontend/ir/reg.h +@@ -319,7 +319,7 @@ struct fmt::formatter<Shader::IR::Reg> { + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Shader::IR::Reg& reg, FormatContext& ctx) { ++ auto format(const Shader::IR::Reg& reg, FormatContext& ctx) const { + if (reg == Shader::IR::Reg::RZ) { + return fmt::format_to(ctx.out(), "RZ"); + } else if (static_cast<int>(reg) >= 0 && static_cast<int>(reg) < 255) { +--- src/shader_recompiler/frontend/ir/type.h.orig 2024-03-01 07:57:00 UTC ++++ src/shader_recompiler/frontend/ir/type.h +@@ -54,7 +54,7 @@ struct fmt::formatter<Shader::IR::Type> { + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Shader::IR::Type& type, FormatContext& ctx) { ++ auto format(const Shader::IR::Type& type, FormatContext& ctx) const { + return fmt::format_to(ctx.out(), "{}", NameOf(type)); + } + }; +--- src/shader_recompiler/frontend/maxwell/location.h.orig 2024-03-01 07:57:00 UTC ++++ src/shader_recompiler/frontend/maxwell/location.h +@@ -102,7 +102,7 @@ struct fmt::formatter<Shader::Maxwell::Location> { + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Shader::Maxwell::Location& location, FormatContext& ctx) { ++ auto format(const Shader::Maxwell::Location& location, FormatContext& ctx) const { + return fmt::format_to(ctx.out(), "{:04x}", location.Offset()); + } + }; +--- src/shader_recompiler/frontend/maxwell/opcodes.h.orig 2024-03-01 07:57:00 UTC ++++ src/shader_recompiler/frontend/maxwell/opcodes.h +@@ -23,7 +23,7 @@ struct fmt::formatter<Shader::Maxwell::Opcode> { + return ctx.begin(); + } + template <typename FormatContext> +- auto format(const Shader::Maxwell::Opcode& opcode, FormatContext& ctx) { ++ auto format(const Shader::Maxwell::Opcode& opcode, FormatContext& ctx) const { + return fmt::format_to(ctx.out(), "{}", NameOf(opcode)); + } + }; +--- src/video_core/renderer_vulkan/renderer_vulkan.cpp.orig 2024-03-01 07:57:00 UTC ++++ src/video_core/renderer_vulkan/renderer_vulkan.cpp +@@ -9,7 +9,7 @@ + #include <string> + #include <vector> + +-#include <fmt/format.h> ++#include <fmt/ranges.h> + + #include "common/logging/log.h" + #include "common/polyfill_ranges.h" +--- src/video_core/texture_cache/formatter.h.orig 2024-03-01 07:57:00 UTC ++++ src/video_core/texture_cache/formatter.h +@@ -13,7 +13,7 @@ struct fmt::formatter<VideoCore::Surface::PixelFormat> + template <> + struct fmt::formatter<VideoCore::Surface::PixelFormat> : fmt::formatter<fmt::string_view> { + template <typename FormatContext> +- auto format(VideoCore::Surface::PixelFormat format, FormatContext& ctx) { ++ auto format(VideoCore::Surface::PixelFormat format, FormatContext& ctx) const { + using VideoCore::Surface::PixelFormat; + const string_view name = [format] { + switch (format) { +@@ -234,7 +234,7 @@ struct fmt::formatter<VideoCommon::ImageType> : fmt::f + template <> + struct fmt::formatter<VideoCommon::ImageType> : fmt::formatter<fmt::string_view> { + template <typename FormatContext> +- auto format(VideoCommon::ImageType type, FormatContext& ctx) { ++ auto format(VideoCommon::ImageType type, FormatContext& ctx) const { + const string_view name = [type] { + using VideoCommon::ImageType; + switch (type) { +@@ -262,7 +262,7 @@ struct fmt::formatter<VideoCommon::Extent3D> { + } + + template <typename FormatContext> +- auto format(const VideoCommon::Extent3D& extent, FormatContext& ctx) { ++ auto format(const VideoCommon::Extent3D& extent, FormatContext& ctx) const { + return fmt::format_to(ctx.out(), "{{{}, {}, {}}}", extent.width, extent.height, + extent.depth); + } +--- src/yuzu/main.cpp.orig 2024-03-01 07:57:00 UTC ++++ src/yuzu/main.cpp +@@ -91,7 +91,7 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrap + #include <SDL.h> // For SDL ScreenSaver functions + #endif + +-#include <fmt/format.h> ++#include <fmt/ranges.h> + #include "common/detached_tasks.h" + #include "common/fs/fs.h" + #include "common/fs/path_util.h" diff --git a/emulators/yuzu/files/patch-simpleini b/emulators/yuzu/files/patch-simpleini deleted file mode 100644 index 3193801e9f05..000000000000 --- a/emulators/yuzu/files/patch-simpleini +++ /dev/null @@ -1,36 +0,0 @@ -Temporarily revert https://github.com/yuzu-emu/yuzu/commit/645961613fd5 -until devel/simpleini installs CMake config and/or pkg-config files. - ---- CMakeModules/FindSimpleIni.cmake.orig 2024-01-26 15:23:08 UTC -+++ CMakeModules/FindSimpleIni.cmake -@@ -2,20 +2,18 @@ - # - # SPDX-License-Identifier: GPL-3.0-or-later - -+find_path(SimpleIni_INCLUDE_DIR SimpleIni.h) -+ - include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args(SimpleIni -+ REQUIRED_VARS SimpleIni_INCLUDE_DIR -+) - --find_package(SimpleIni QUIET CONFIG) --if (SimpleIni_CONSIDERED_CONFIGS) -- find_package_handle_standard_args(SimpleIni CONFIG_MODE) --else() -- find_package(PkgConfig QUIET) -- pkg_search_module(SIMPLEINI QUIET IMPORTED_TARGET simpleini) -- find_package_handle_standard_args(SimpleIni -- REQUIRED_VARS SIMPLEINI_INCLUDEDIR -- VERSION_VAR SIMPLEINI_VERSION -+if (SimpleIni_FOUND AND NOT TARGET SimpleIni::SimpleIni) -+ add_library(SimpleIni::SimpleIni INTERFACE IMPORTED) -+ set_target_properties(SimpleIni::SimpleIni PROPERTIES -+ INTERFACE_INCLUDE_DIRECTORIES "${SimpleIni_INCLUDE_DIR}" - ) - endif() - --if (SimpleIni_FOUND AND NOT TARGET SimpleIni::SimpleIni) -- add_library(SimpleIni::SimpleIni ALIAS PkgConfig::SIMPLEINI) --endif() -+mark_as_advanced(SimpleIni_INCLUDE_DIR) diff --git a/emulators/z80pack/Makefile b/emulators/z80pack/Makefile index dd8c145db602..1bd347e60e5b 100644 --- a/emulators/z80pack/Makefile +++ b/emulators/z80pack/Makefile @@ -2,7 +2,6 @@ PORTNAME= z80pack DISTVERSION= 1.37 CATEGORIES= emulators MASTER_SITES= https://www.autometer.de/unix4fun/z80pack/ftp/ -EXTRACT_SUFX= tgz MAINTAINER= se@FreeBSD.org COMMENT= Complete CP/M-80 emulator @@ -13,6 +12,8 @@ CONFLICTS_INSTALL= hextools LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE +USES= tar:tgz + OPTIONS_DEFINE= DOCS do-build: diff --git a/emulators/z80pack/distinfo b/emulators/z80pack/distinfo index a66190da0813..549e448cc1fc 100644 --- a/emulators/z80pack/distinfo +++ b/emulators/z80pack/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1618153489 -SHA256 (z80pack-1.37tgz) = 0a4d199c822546e28fb9d8e055b4bf7ca4c1b984b2f707f99d39f00b80c59d2a -SIZE (z80pack-1.37tgz) = 15674455 +TIMESTAMP = 1748766343 +SHA256 (z80pack-1.37.tgz) = 0a4d199c822546e28fb9d8e055b4bf7ca4c1b984b2f707f99d39f00b80c59d2a +SIZE (z80pack-1.37.tgz) = 15674455 |