Fix native platform configuration and packaging validation

This commit is contained in:
Max Lv
2026-09-11 00:07:30 +08:00
parent 4455d7f8f3
commit 9623456648
9 changed files with 24 additions and 6 deletions
+1 -1
View File
@@ -98,7 +98,7 @@ jobs:
- name: Run clang-tidy on project sources
run: |
run-clang-tidy-18 -quiet -p build '/src/[^/]+\.c$' 2>/dev/null | tee tidy.log || true
run-clang-tidy-18 -quiet -p build "$PWD/src/[^/]+\.c$" 2>/dev/null | tee tidy.log || true
grep 'warning:' tidy.log | sort -u > warnings.txt || true
count="$(wc -l < warnings.txt)"
echo "clang-tidy warnings: $count (max allowed: $MAX_WARNINGS)"
+2 -2
View File
@@ -43,7 +43,7 @@ if(SS_BUILD_STATIC_LIBRARY)
endif()
endif()
# Resolve libdir relative to this installed config, supporting --prefix relocation.
file(RELATIVE_PATH libdir_from_config "/${CMAKE_INSTALL_LIBDIR}/cmake/shadowsocks-libev" "/${CMAKE_INSTALL_LIBDIR}")
file(RELATIVE_PATH libdir_from_config "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/shadowsocks-libev" "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
string(APPEND private_content "get_filename_component(_ss_libdir \"\${CMAKE_CURRENT_LIST_DIR}/${libdir_from_config}\" ABSOLUTE)\n")
string(APPEND private_content "set_property(TARGET shadowsocks::static PROPERTY INTERFACE_LINK_LIBRARIES \"${private_links}\")\n")
endif()
@@ -63,7 +63,7 @@ write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/package/shadowsock
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/package/shadowsocks-libev-config.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/package/shadowsocks-libev-config-version.cmake"
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/shadowsocks-libev)
file(RELATIVE_PATH SS_PC_PREFIX_RELATIVE "/${CMAKE_INSTALL_LIBDIR}/pkgconfig" "/")
file(RELATIVE_PATH SS_PC_PREFIX_RELATIVE "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/pkgconfig" "${CMAKE_CURRENT_BINARY_DIR}")
configure_file(cmake/shadowsocks-libev.pc.cmake "${CMAKE_CURRENT_BINARY_DIR}/package/shadowsocks-libev.pc.in" @ONLY)
file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/shadowsocks-libev.pc"
INPUT "${CMAKE_CURRENT_BINARY_DIR}/package/shadowsocks-libev.pc.in")
+6
View File
@@ -7,6 +7,7 @@ Uploaders:
Boyuan Yang <byang@debian.org>,
Roger Shimizu <rosh@debian.org>
Build-Depends:
cmake (>= 3.20),
asciidoc-base | asciidoc,
debhelper (>= 10),
libc-ares-dev,
@@ -51,6 +52,11 @@ Section: libdevel
Breaks: shadowsocks-libev (<< 2.4.0)
Depends:
libshadowsocks-libev2 (= ${binary:Version}),
libc-ares-dev,
libev-dev,
libmbedtls-dev,
libpcre2-dev,
libsodium-dev,
${misc:Depends}
Description: lightweight and secure socks5 proxy (development files)
Shadowsocks-libev is a lightweight and secure socks5 proxy for
+3
View File
@@ -1,3 +1,6 @@
usr/include/
usr/lib/*/libshadowsocks-libev.so
usr/lib/*/libshadowsocks-libev.a
usr/lib/*/shadowsocks-libev/
usr/lib/*/cmake/shadowsocks-libev/
usr/lib/*/pkgconfig/
+1 -1
View File
@@ -11,7 +11,7 @@ override_dh_auto_install:
dh_auto_install
override_dh_auto_configure:
dh_auto_configure -- -DSS_DEPENDENCY_MODE=system -DWITH_STATIC=OFF -DWITH_DOC_MAN=ON -DSS_INSTALL_TOOLS=ON
dh_auto_configure -- -DSS_DEPENDENCY_MODE=system -DWITH_STATIC=OFF -DWITH_DOC_MAN=ON -DWITH_DOC_HTML=ON -DSS_INSTALL_TOOLS=ON
override_dh_installchangelogs:
dh_installchangelogs -XChanges
+1
View File
@@ -5,3 +5,4 @@ debian/shadowsocks-libev-*.service lib/systemd/system
usr/bin/
usr/share/man/
usr/share/doc/shadowsocks-libev/
usr/share/licenses/shadowsocks-libev/
+1 -1
View File
@@ -859,7 +859,7 @@ add_server(struct manager_ctx *manager, struct server *server)
static void
kill_pid_from_file(FILE *f)
{
char buf[16];
char buf[16] = {0};
int pid;
if (fgets(buf, sizeof(buf), f) == NULL) {
+1
View File
@@ -10,6 +10,7 @@
typedef SOCKET ss_socket_t;
#else
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <fcntl.h>
+8 -1
View File
@@ -31,7 +31,14 @@ main(int argc, char **argv)
struct ss_process *process = ss_process_new("ss-no-such-program-ef91ac");
ss_process_arg(process, "ss-no-such-program-ef91ac");
assert(ss_process_start(process, 0) == -1);
int started = ss_process_start(process, 0);
assert(started == -1 || started == 0);
/* POSIX permits exec failure to be reported by child exit (notably under
* Valgrind's spawn wrapper), rather than synchronously by posix_spawnp. */
if (started == 0) {
for (unsigned i = 0; i < 500 && ss_process_running(process); i++) pause_tick();
assert(!ss_process_running(process));
}
ss_process_free(process);
char path[4096];