Files
mond/init.sh
T
wangdefaandClaude Opus 4.8 b44b118be7
Build and Release Mond / release (push) Successful in 19s
Build and Release Mond / build-and-test (amd64) (push) Successful in 4m11s
Build and Release Mond / build-and-test (arm64) (push) Successful in 9m19s
改用 musl 全静态构建,零依赖跨发行版
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 12:03:43 +08:00

63 lines
3.8 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/sh
# Modify the CMakeLists.txt and source files to change the project name from "monero" to "mond"
# 1. Modify main CMakeLists.txt - Change project name
sed -i 's/project(monero)/project(mond)/' CMakeLists.txt
# 2. Modify daemon CMakeLists.txt - Change output binary name
sed -i 's/OUTPUT_NAME "monerod"/OUTPUT_NAME "mond"/' src/daemon/CMakeLists.txt
# 2.5. Modify cmake/CheckLinkerFlag.cmake - Fix source directory variable
sed -i 's/\${monero_SOURCE_DIR}/\${CMAKE_SOURCE_DIR}/' cmake/CheckLinkerFlag.cmake
# 3. Modify version.cpp.in - Change all MONERO to MOND
sed -i 's/DEF_MONERO_VERSION_TAG/DEF_MOND_VERSION_TAG/g' src/version.cpp.in
sed -i 's/DEF_MONERO_VERSION/DEF_MOND_VERSION/g' src/version.cpp.in
sed -i 's/DEF_MONERO_RELEASE_NAME/DEF_MOND_RELEASE_NAME/g' src/version.cpp.in
sed -i 's/DEF_MONERO_VERSION_FULL/DEF_MOND_VERSION_FULL/g' src/version.cpp.in
sed -i 's/DEF_MONERO_VERSION_IS_RELEASE/DEF_MOND_VERSION_IS_RELEASE/g' src/version.cpp.in
sed -i 's/MONERO_VERSION_TAG/MOND_VERSION_TAG/g' src/version.cpp.in
sed -i 's/MONERO_VERSION/MOND_VERSION/g' src/version.cpp.in
sed -i 's/MONERO_RELEASE_NAME/MOND_RELEASE_NAME/g' src/version.cpp.in
sed -i 's/MONERO_VERSION_FULL/MOND_VERSION_FULL/g' src/version.cpp.in
sed -i 's/MONERO_VERSION_IS_RELEASE/MOND_VERSION_IS_RELEASE/g' src/version.cpp.in
sed -i 's/"Fluorine Fermi"/"Mond"/' src/version.cpp.in
# 4. Modify version.h - Change all MONERO to MOND
sed -i 's/MONERO_VERSION_TAG/MOND_VERSION_TAG/g' src/version.h
sed -i 's/MONERO_VERSION/MOND_VERSION/g' src/version.h
sed -i 's/MONERO_RELEASE_NAME/MOND_RELEASE_NAME/g' src/version.h
sed -i 's/MONERO_VERSION_FULL/MOND_VERSION_FULL/g' src/version.h
sed -i 's/MONERO_VERSION_IS_RELEASE/MOND_VERSION_IS_RELEASE/g' src/version.h
# 5. Modify all source files that reference MONERO_VERSION
find src -type f \( -name "*.cpp" -o -name "*.h" -o -name "*.inl" \) -exec sed -i 's/MONERO_VERSION/MOND_VERSION/g' {} \;
find src -type f \( -name "*.cpp" -o -name "*.h" -o -name "*.inl" \) -exec sed -i 's/MONERO_RELEASE_NAME/MOND_RELEASE_NAME/g' {} \;
# 6. Modify display strings - Change "Monero" to "Mond" in user-facing messages
sed -i 's/"Monero '"'"'/"Mond '"'"'/g' src/daemon/main.cpp
sed -i 's/"Monero '"'"'/"Mond '"'"'/g' src/daemon/command_server.cpp
sed -i 's/"Monero '"'"'/"Mond '"'"'/g' src/daemon/executor.cpp
sed -i 's/"Monero '"'"'/"Mond '"'"'/g' src/simplewallet/simplewallet.cpp
sed -i 's/"Monero '"'"'/"Mond '"'"'/g' src/wallet/wallet_args.cpp
find src/blockchain_utilities -type f -name "*.cpp" -exec sed -i 's/"Monero '"'"'/"Mond '"'"'/g' {} \;
find src/debug_utilities -type f -name "*.cpp" -exec sed -i 's/"Monero '"'"'/"Mond '"'"'/g' {} \;
find src/gen_ssl_cert -type f -name "*.cpp" -exec sed -i 's/"Monero '"'"'/"Mond '"'"'/g' {} \;
find tests -type f -name "*.cpp" -exec sed -i 's/"Monero '"'"'/"Mond '"'"'/g' {} \;
# 7. Remove copyright notices (optional - comment out if you want to keep them)
# Uncomment the following lines if you want to remove Monero Project copyright
# find . -type f \( -name "*.cpp" -o -name "*.h" \) -exec sed -i '/Copyright.*The Monero Project/d' {} \;
# 8. musl fully-static patch(配合 docker/Dockerfile,产出无 interpreter、零外部依赖的 static-pie
# monero 官方"不支持 fully static"STATIC=ON 在 Linux 仅给 -static-libgcc/-static-libstdc++,且强制 -pie。
# 去掉 -pie(否则强制动态 PIE/带 musl interpreter,无法跨发行版)
sed -i 's|add_linker_flag_if_supported("-pie" LD_SECURITY_FLAGS)|# -pie removed for fully-static|' CMakeLists.txt
# Linux STATIC_FLAGS 从 -static-libgcc/-static-libstdc++ 改真 -static
sed -i 's|set(STATIC_FLAGS "-static-libgcc -static-libstdc++")|set(STATIC_FLAGS "-static")|' CMakeLists.txt
echo "Project successfully modified from Monero to Mond!"
echo "Binary output name: mond"
echo "Project name: mond"