63 lines
3.8 KiB
Bash
Executable File
63 lines
3.8 KiB
Bash
Executable File
#!/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"
|