File bridge-endianness.diff of Package cockpit-endianness-playground
--- src/cockpit/channels/dbus.py.orig 2025-03-13 14:21:24.858208525 +0200
+++ src/cockpit/channels/dbus.py 2025-03-13 14:21:37.122845400 +0200
@@ -343,13 +343,13 @@
try:
method_call = self.bus.message_new_method_call(self.name, path, iface, method, signature, *args)
reply = await self.bus.call_async(method_call, timeout=timeout)
+ endianness = "<" if reply.is_little_endian() else ">"
# If the method call has kicked off any signals related to
# watch processing, wait for that to be done.
async with self.watch_processing_lock:
- # TODO: stop hard-coding the endian flag here.
self.send_json(
reply=[reply.get_body()], id=cookie,
- flags="<" if flags is not None else None,
+ flags=endianness,
type=reply.get_signature(True)) # noqa: FBT003
except BusError as error:
# actually, should send the fields from the message body
--- vendor/systemd_ctypes/src/systemd_ctypes/libsystemd.py.orig 2025-03-13 14:20:21.403625727 +0200
+++ vendor/systemd_ctypes/src/systemd_ctypes/libsystemd.py 2025-03-13 14:20:44.490691905 +0200
@@ -174,6 +174,9 @@
def _get_bus(self: 'sd_bus_message') -> WeakReference:
raise NotImplementedError
+ def get_endian(self: 'sd_bus_message', endian: Reference[ctypes.c_uint8]) -> Union[None, Errno]:
+ raise NotImplementedError
+
def get_destination(self: 'sd_bus_message') -> str:
raise NotImplementedError
--- vendor/systemd_ctypes/src/systemd_ctypes/bus.py.orig 2025-03-13 14:18:27.085752052 +0200
+++ vendor/systemd_ctypes/src/systemd_ctypes/bus.py 2025-03-13 14:19:44.817522407 +0200
@@ -16,6 +16,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import asyncio
+import ctypes
import enum
import logging
import typing
@@ -145,6 +146,13 @@
types = bustypes.from_signature(self.get_signature(True))
return tuple(type_.reader(self) for type_ in types)
+ def is_little_endian(self) -> bool:
+ endian = ctypes.c_uint8()
+ ret = self.get_endian(byref(endian))
+ print("quacker",ret)
+ # 'B' would be for big endian
+ return chr(endian.value) == 'l'
+
def send(self) -> bool: # Literal[True]
"""Sends a message on the bus that it was created for.
--- tools/node-modules.orig 2025-03-13 15:20:12.047407333 +0200
+++ tools/node-modules 2025-03-13 15:20:27.043557826 +0200
@@ -118,6 +118,7 @@
# called from Makefile.am
cmd_make_package_lock_json() {
+ exit 0
# Run from make to ensure package-lock.json is up to date
# package-lock.json is used as the stamp file for all things that use