adb: simplify

This commit is contained in:
c0dev0id 2026-03-22 00:32:45 +01:00
parent e4feabd11d
commit 373f4c3824
5 changed files with 73 additions and 44 deletions

View File

@ -15,8 +15,42 @@ EXTRACT_SUFX = .tar.xz
# Apache License v2.0
PERMIT_PACKAGE = Yes
WANTLIB += c brotlicommon brotlidec brotlienc lz4 pcre2-8
WANTLIB += pthread protobuf usb-1.0 z zstd
WANTLIB = ${COMPILER_LIBCXX} absl_base absl_borrowed_fixup_buffer
WANTLIB += absl_city absl_civil_time absl_cord absl_cord_internal
WANTLIB += absl_cordz_functions absl_cordz_handle absl_cordz_info
WANTLIB += absl_crc32c absl_crc_cord_state absl_crc_cpu_detect
WANTLIB += absl_crc_internal absl_debugging_internal
WANTLIB += absl_decode_rust_punycode absl_demangle_internal
WANTLIB += absl_demangle_rust absl_die_if_null absl_examine_stack
WANTLIB += absl_exponential_biased absl_flags_commandlineflag
WANTLIB += absl_flags_commandlineflag_internal absl_flags_config
WANTLIB += absl_flags_internal absl_flags_marshalling
WANTLIB += absl_flags_private_handle_accessor absl_flags_program_name
WANTLIB += absl_flags_reflection absl_graphcycles_internal absl_hash
WANTLIB += absl_hashtablez_sampler absl_int128
WANTLIB += absl_kernel_timeout_internal absl_leak_check absl_log_entry
WANTLIB += absl_log_globals absl_log_initialize
WANTLIB += absl_log_internal_check_op absl_log_internal_conditions
WANTLIB += absl_log_internal_fnmatch absl_log_internal_format
WANTLIB += absl_log_internal_globals absl_log_internal_log_sink_set
WANTLIB += absl_log_internal_message absl_log_internal_nullguard
WANTLIB += absl_log_internal_proto absl_log_internal_structured_proto
WANTLIB += absl_log_severity absl_log_sink absl_malloc_internal
WANTLIB += absl_random_distributions absl_random_internal_entropy_pool
WANTLIB += absl_random_internal_platform absl_random_internal_randen
WANTLIB += absl_random_internal_randen_hwaes
WANTLIB += absl_random_internal_randen_hwaes_impl
WANTLIB += absl_random_internal_randen_slow
WANTLIB += absl_random_internal_seed_material
WANTLIB += absl_random_seed_gen_exception absl_random_seed_sequences
WANTLIB += absl_raw_hash_set absl_raw_logging_internal
WANTLIB += absl_spinlock_wait absl_stacktrace absl_status absl_statusor
WANTLIB += absl_str_format_internal absl_strerror absl_strings
WANTLIB += absl_strings_internal absl_symbolize absl_synchronization
WANTLIB += absl_throw_delegate absl_time absl_time_zone
WANTLIB += absl_tracing_internal absl_utf8_for_code_point
WANTLIB += absl_vlog_config_internal brotlicommon brotlidec brotlienc c
WANTLIB += lz4 m pcre2-8 protobuf pthread usb-1.0 utf8_validity z zstd
LIB_DEPENDS = archivers/brotli \
archivers/lz4 \
@ -39,47 +73,12 @@ MAKE_ENV += GOCACHE=/tmp/adb-gocache
NO_TEST = Yes
# Create OpenBSD compat stubs for Linux-specific headers not in the tarball.
# Copy OpenBSD compat stubs for Linux-specific headers not in the tarball.
post-patch:
mkdir -p ${WRKSRC}/vendor/compat/sys ${WRKSRC}/vendor/compat/linux
printf '/* OpenBSD stub: major/minor/makedev are in sys/types.h */\n' \
> ${WRKSRC}/vendor/compat/sys/sysmacros.h
printf '#pragma once\n#include <sys/types.h>\n' \
>> ${WRKSRC}/vendor/compat/sys/sysmacros.h
printf '/* OpenBSD stub for linux/capability.h */\n#pragma once\n' \
> ${WRKSRC}/vendor/compat/linux/capability.h
printf '#include <stdint.h>\ntypedef uint32_t __u32;\n' \
>> ${WRKSRC}/vendor/compat/linux/capability.h
printf '#define _LINUX_CAPABILITY_VERSION_3 0x20080522\n' \
>> ${WRKSRC}/vendor/compat/linux/capability.h
printf '#define _LINUX_CAPABILITY_U32S_3 2\n' \
>> ${WRKSRC}/vendor/compat/linux/capability.h
printf '#define VFS_CAP_REVISION_1 0x01000000\n' \
>> ${WRKSRC}/vendor/compat/linux/capability.h
printf '#define VFS_CAP_REVISION_2 0x02000000\n' \
>> ${WRKSRC}/vendor/compat/linux/capability.h
printf '#define VFS_CAP_REVISION_3 0x03000000\n' \
>> ${WRKSRC}/vendor/compat/linux/capability.h
printf '#define VFS_CAP_REVISION_MASK 0xff000000\n' \
>> ${WRKSRC}/vendor/compat/linux/capability.h
printf '#define VFS_CAP_FLAGS_EFFECTIVE 0x000001\n' \
>> ${WRKSRC}/vendor/compat/linux/capability.h
printf 'struct vfs_cap_data { __u32 magic_etc; struct { __u32 permitted, inheritable; } data[2]; };\n' \
>> ${WRKSRC}/vendor/compat/linux/capability.h
printf 'struct vfs_ns_cap_data { __u32 magic_etc; struct { __u32 permitted, inheritable; } data[2]; __u32 rootid; };\n' \
>> ${WRKSRC}/vendor/compat/linux/capability.h
printf '/* OpenBSD compat: add mempcpy (GNU extension) via #include_next wrapper */\n' \
> ${WRKSRC}/vendor/compat/string.h
printf '#pragma once\n#include_next <string.h>\n' \
>> ${WRKSRC}/vendor/compat/string.h
printf '#ifndef mempcpy\n' \
>> ${WRKSRC}/vendor/compat/string.h
printf 'static inline void *mempcpy(void *dst, const void *src, size_t n) {\n' \
>> ${WRKSRC}/vendor/compat/string.h
printf '\treturn (char *)memcpy(dst, src, n) + n;\n' \
>> ${WRKSRC}/vendor/compat/string.h
printf '}\n#endif\n' \
>> ${WRKSRC}/vendor/compat/string.h
cp ${FILESDIR}/compat-sysmacros.h ${WRKSRC}/vendor/compat/sys/sysmacros.h
cp ${FILESDIR}/compat-capability.h ${WRKSRC}/vendor/compat/linux/capability.h
cp ${FILESDIR}/compat-string.h ${WRKSRC}/vendor/compat/string.h
cp ${FILESDIR}/fastboot_usb_libusb.cpp \
${WRKSRC}/vendor/core/fastboot/usb_libusb.cpp
cp ${FILESDIR}/adb_usb_openbsd.cpp \

View File

@ -0,0 +1,20 @@
/* OpenBSD stub for linux/capability.h */
#pragma once
#include <stdint.h>
typedef uint32_t __u32;
#define _LINUX_CAPABILITY_VERSION_3 0x20080522
#define _LINUX_CAPABILITY_U32S_3 2
#define VFS_CAP_REVISION_1 0x01000000
#define VFS_CAP_REVISION_2 0x02000000
#define VFS_CAP_REVISION_3 0x03000000
#define VFS_CAP_REVISION_MASK 0xff000000
#define VFS_CAP_FLAGS_EFFECTIVE 0x000001
struct vfs_cap_data {
__u32 magic_etc;
struct { __u32 permitted, inheritable; } data[2];
};
struct vfs_ns_cap_data {
__u32 magic_etc;
struct { __u32 permitted, inheritable; } data[2];
__u32 rootid;
};

View File

@ -0,0 +1,8 @@
/* OpenBSD compat: add mempcpy (GNU extension) via #include_next wrapper */
#pragma once
#include_next <string.h>
#ifndef mempcpy
static inline void *mempcpy(void *dst, const void *src, size_t n) {
return (char *)memcpy(dst, src, n) + n;
}
#endif

View File

@ -0,0 +1,3 @@
/* OpenBSD stub: major/minor/makedev are in sys/types.h */
#pragma once
#include <sys/types.h>

View File

@ -11,14 +11,13 @@ Index: vendor/adb/sysdeps.h
#include <signal.h>
#include <stdarg.h>
#include <stdint.h>
@@ -652,6 +655,12 @@ inline int adb_socket_get_local_port(borrowed_fd fd) {
@@ -652,6 +655,11 @@ inline int adb_socket_get_local_port(borrowed_fd fd) {
static inline int adb_thread_setname(const std::string& name) {
#ifdef __APPLE__
return pthread_setname_np(name.c_str());
+#elif defined(__OpenBSD__)
+ char buf[16];
+ strncpy(buf, name.c_str(), sizeof(buf) - 1);
+ buf[sizeof(buf) - 1] = 0;
+ strlcpy(buf, name.c_str(), sizeof(buf));
+ pthread_set_name_np(pthread_self(), buf);
+ return 0;
#else