0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-02 09:46:52 -05:00

Merge bitcoin/bitcoin#31042: build: Rename PACKAGE_* variables to CLIENT_*

70713303b6 scripted-diff: Rename `PACKAGE_*` variables to `CLIENT_*` (Hennadii Stepanov)
332655cb52 build: Rename `PACKAGE_*` variables to `CLIENT_*` (Hennadii Stepanov)
e6e29e3c94 scripted-diff: Clarify "user agent" variable name (Hennadii Stepanov)

Pull request description:

  The use of `PACKAGE_NAME` for the project's variable name is problematic, as this name is commonly used in CMake's [interface variables](https://cmake.org/cmake/help/latest/command/find_package.html#config-mode-version-selection). If third-party CMake code handles with scopes improperly, our `PACKAGE_NAME` variable could end up with an unexpected value.

  This PR avoids such conflicts by renaming all `PACKAGE_*` variables to `CLIENT_*`.

  The code in the master branch works correctly only incidentally. It is definitely broken in https://github.com/bitcoin/bitcoin/pull/30997.

ACKs for top commit:
  TheCharlatan:
    Re-ACK 70713303b6

Tree-SHA512: f0992fb9a1ac4a41125b223f97bcaae50f521c813f334e606693dd0113a4732f12451bbcfb158df8bed44f34b37dadac478b2f5661e8b2588b401f43ae4bc1a4
This commit is contained in:
merge-script 2024-10-28 15:45:09 +00:00
commit 54c4b09f08
No known key found for this signature in database
GPG key ID: 2EEB9F5CC09526C1
55 changed files with 151 additions and 151 deletions

View file

@ -16,7 +16,7 @@ endif()
#============================= #=============================
# Project / Package metadata # Project / Package metadata
#============================= #=============================
set(PACKAGE_NAME "Bitcoin Core") set(CLIENT_NAME "Bitcoin Core")
set(CLIENT_VERSION_MAJOR 28) set(CLIENT_VERSION_MAJOR 28)
set(CLIENT_VERSION_MINOR 99) set(CLIENT_VERSION_MINOR 99)
set(CLIENT_VERSION_BUILD 0) set(CLIENT_VERSION_BUILD 0)
@ -47,14 +47,14 @@ project(BitcoinCore
LANGUAGES NONE LANGUAGES NONE
) )
set(PACKAGE_VERSION ${PROJECT_VERSION}) set(CLIENT_VERSION_STRING ${PROJECT_VERSION})
if(CLIENT_VERSION_RC GREATER 0) if(CLIENT_VERSION_RC GREATER 0)
string(APPEND PACKAGE_VERSION "rc${CLIENT_VERSION_RC}") string(APPEND CLIENT_VERSION_STRING "rc${CLIENT_VERSION_RC}")
endif() endif()
set(COPYRIGHT_HOLDERS "The %s developers") set(COPYRIGHT_HOLDERS "The %s developers")
set(COPYRIGHT_HOLDERS_FINAL "The ${PACKAGE_NAME} developers") set(COPYRIGHT_HOLDERS_FINAL "The ${CLIENT_NAME} developers")
set(PACKAGE_BUGREPORT "https://github.com/bitcoin/bitcoin/issues") set(CLIENT_BUGREPORT "https://github.com/bitcoin/bitcoin/issues")
#============================= #=============================
# Language setup # Language setup

View file

@ -24,7 +24,7 @@
#define COPYRIGHT_HOLDERS_FINAL "@COPYRIGHT_HOLDERS_FINAL@" #define COPYRIGHT_HOLDERS_FINAL "@COPYRIGHT_HOLDERS_FINAL@"
/* Replacement for %s in copyright holders string */ /* Replacement for %s in copyright holders string */
#define COPYRIGHT_HOLDERS_SUBSTITUTION "@PACKAGE_NAME@" #define COPYRIGHT_HOLDERS_SUBSTITUTION "@CLIENT_NAME@"
/* Copyright year */ /* Copyright year */
#define COPYRIGHT_YEAR @COPYRIGHT_YEAR@ #define COPYRIGHT_YEAR @COPYRIGHT_YEAR@
@ -124,16 +124,16 @@
#cmakedefine HAVE_VM_VM_PARAM_H 1 #cmakedefine HAVE_VM_VM_PARAM_H 1
/* Define to the address where bug reports for this package should be sent. */ /* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@" #define CLIENT_BUGREPORT "@CLIENT_BUGREPORT@"
/* Define to the full name of this package. */ /* Define to the full name of this package. */
#define PACKAGE_NAME "@PACKAGE_NAME@" #define CLIENT_NAME "@CLIENT_NAME@"
/* Define to the home page for this package. */ /* Define to the home page for this package. */
#define PACKAGE_URL "@PROJECT_HOMEPAGE_URL@" #define CLIENT_URL "@PROJECT_HOMEPAGE_URL@"
/* Define to the version of this package. */ /* Define to the version of this package. */
#define PACKAGE_VERSION "@PACKAGE_VERSION@" #define CLIENT_VERSION_STRING "@CLIENT_VERSION_STRING@"
/* Define to 1 if strerror_r returns char *. */ /* Define to 1 if strerror_r returns char *. */
#cmakedefine STRERROR_R_CHAR_P 1 #cmakedefine STRERROR_R_CHAR_P 1

View file

@ -5,8 +5,8 @@
function(generate_setup_nsi) function(generate_setup_nsi)
set(abs_top_srcdir ${PROJECT_SOURCE_DIR}) set(abs_top_srcdir ${PROJECT_SOURCE_DIR})
set(abs_top_builddir ${PROJECT_BINARY_DIR}) set(abs_top_builddir ${PROJECT_BINARY_DIR})
set(PACKAGE_URL ${PROJECT_HOMEPAGE_URL}) set(CLIENT_URL ${PROJECT_HOMEPAGE_URL})
set(PACKAGE_TARNAME "bitcoin") set(CLIENT_TARNAME "bitcoin")
set(BITCOIN_GUI_NAME "bitcoin-qt") set(BITCOIN_GUI_NAME "bitcoin-qt")
set(BITCOIN_DAEMON_NAME "bitcoind") set(BITCOIN_DAEMON_NAME "bitcoind")
set(BITCOIN_CLI_NAME "bitcoin-cli") set(BITCOIN_CLI_NAME "bitcoin-cli")

View file

@ -98,7 +98,7 @@ function(add_macos_deploy_target)
file(CONFIGURE OUTPUT ${macos_app}/Contents/Resources/empty.lproj CONTENT "") file(CONFIGURE OUTPUT ${macos_app}/Contents/Resources/empty.lproj CONTENT "")
configure_file(${PROJECT_SOURCE_DIR}/src/qt/res/icons/bitcoin.icns ${macos_app}/Contents/Resources/bitcoin.icns NO_SOURCE_PERMISSIONS COPYONLY) configure_file(${PROJECT_SOURCE_DIR}/src/qt/res/icons/bitcoin.icns ${macos_app}/Contents/Resources/bitcoin.icns NO_SOURCE_PERMISSIONS COPYONLY)
file(CONFIGURE OUTPUT ${macos_app}/Contents/Resources/Base.lproj/InfoPlist.strings file(CONFIGURE OUTPUT ${macos_app}/Contents/Resources/Base.lproj/InfoPlist.strings
CONTENT "{ CFBundleDisplayName = \"@PACKAGE_NAME@\"; CFBundleName = \"@PACKAGE_NAME@\"; }" CONTENT "{ CFBundleDisplayName = \"@CLIENT_NAME@\"; CFBundleName = \"@CLIENT_NAME@\"; }"
) )
add_custom_command( add_custom_command(
@ -109,7 +109,7 @@ function(add_macos_deploy_target)
VERBATIM VERBATIM
) )
string(REPLACE " " "-" osx_volname ${PACKAGE_NAME}) string(REPLACE " " "-" osx_volname ${CLIENT_NAME})
if(CMAKE_HOST_APPLE) if(CMAKE_HOST_APPLE)
add_custom_command( add_custom_command(
OUTPUT ${PROJECT_BINARY_DIR}/${osx_volname}.zip OUTPUT ${PROJECT_BINARY_DIR}/${osx_volname}.zip

View file

@ -38,7 +38,7 @@ PROJECT_NAME = "Bitcoin Core"
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version
# control system is used. # control system is used.
PROJECT_NUMBER = @PACKAGE_VERSION@ PROJECT_NUMBER = @CLIENT_VERSION_STRING@
# Using the PROJECT_BRIEF tag one can provide an optional one line description # Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a # for a project that appears at the top of each page and should give viewer a

View file

@ -3,9 +3,9 @@ exec_prefix=${prefix}
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
Name: @PACKAGE_NAME@ kernel library Name: @CLIENT_NAME@ kernel library
Description: Experimental library for the Bitcoin Core validation engine. Description: Experimental library for the Bitcoin Core validation engine.
Version: @PACKAGE_VERSION@ Version: @CLIENT_VERSION_STRING@
Libs: -L${libdir} -lbitcoinkernel Libs: -L${libdir} -lbitcoinkernel
Libs.private: -L${libdir} @LIBS_PRIVATE@ Libs.private: -L${libdir} @LIBS_PRIVATE@
Cflags: -I${includedir} Cflags: -I${includedir}

View file

@ -1,4 +1,4 @@
Name "@PACKAGE_NAME@ (64-bit)" Name "@CLIENT_NAME@ (64-bit)"
RequestExecutionLevel highest RequestExecutionLevel highest
SetCompressor /SOLID lzma SetCompressor /SOLID lzma
@ -11,8 +11,8 @@ Unicode true
# General Symbol Definitions # General Symbol Definitions
!define REGKEY "SOFTWARE\$(^Name)" !define REGKEY "SOFTWARE\$(^Name)"
!define COMPANY "@PACKAGE_NAME@ project" !define COMPANY "@CLIENT_NAME@ project"
!define URL @PACKAGE_URL@ !define URL @CLIENT_URL@
# MUI Symbol Definitions # MUI Symbol Definitions
!define MUI_ICON "@abs_top_srcdir@/share/pixmaps/bitcoin.ico" !define MUI_ICON "@abs_top_srcdir@/share/pixmaps/bitcoin.ico"
@ -24,7 +24,7 @@ Unicode true
!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM !define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM
!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY} !define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "@PACKAGE_NAME@" !define MUI_STARTMENUPAGE_DEFAULTFOLDER "@CLIENT_NAME@"
!define MUI_FINISHPAGE_RUN "$WINDIR\explorer.exe" !define MUI_FINISHPAGE_RUN "$WINDIR\explorer.exe"
!define MUI_FINISHPAGE_RUN_PARAMETERS $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@ !define MUI_FINISHPAGE_RUN_PARAMETERS $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
@ -58,12 +58,12 @@ XPStyle on
BrandingText " " BrandingText " "
ShowInstDetails show ShowInstDetails show
VIProductVersion @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_BUILD@.0 VIProductVersion @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_BUILD@.0
VIAddVersionKey ProductName "@PACKAGE_NAME@" VIAddVersionKey ProductName "@CLIENT_NAME@"
VIAddVersionKey ProductVersion "@PACKAGE_VERSION@" VIAddVersionKey ProductVersion "@CLIENT_VERSION_STRING@"
VIAddVersionKey CompanyName "${COMPANY}" VIAddVersionKey CompanyName "${COMPANY}"
VIAddVersionKey CompanyWebsite "${URL}" VIAddVersionKey CompanyWebsite "${URL}"
VIAddVersionKey FileVersion "@PACKAGE_VERSION@" VIAddVersionKey FileVersion "@CLIENT_VERSION_STRING@"
VIAddVersionKey FileDescription "Installer for @PACKAGE_NAME@" VIAddVersionKey FileDescription "Installer for @CLIENT_NAME@"
VIAddVersionKey LegalCopyright "Copyright (C) 2009-@COPYRIGHT_YEAR@ @COPYRIGHT_HOLDERS_FINAL@" VIAddVersionKey LegalCopyright "Copyright (C) 2009-@COPYRIGHT_YEAR@ @COPYRIGHT_HOLDERS_FINAL@"
InstallDirRegKey HKCU "${REGKEY}" Path InstallDirRegKey HKCU "${REGKEY}" Path
ShowUninstDetails show ShowUninstDetails show
@ -95,23 +95,23 @@ Section -post SEC0001
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory $SMPROGRAMS\$StartMenuGroup CreateDirectory $SMPROGRAMS\$StartMenuGroup
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@ CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (testnet).lnk" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "-testnet" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" 1 CreateShortcut "$SMPROGRAMS\$StartMenuGroup\@CLIENT_NAME@ (testnet).lnk" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "-testnet" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" 1
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (test signet).lnk" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "-signet" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" 2 CreateShortcut "$SMPROGRAMS\$StartMenuGroup\@CLIENT_NAME@ (test signet).lnk" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "-signet" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" 2
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (testnet4).lnk" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "-testnet4" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" 3 CreateShortcut "$SMPROGRAMS\$StartMenuGroup\@CLIENT_NAME@ (testnet4).lnk" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "-testnet4" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" 3
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" $INSTDIR\uninstall.exe CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" $INSTDIR\uninstall.exe
!insertmacro MUI_STARTMENU_WRITE_END !insertmacro MUI_STARTMENU_WRITE_END
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)" WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "@PACKAGE_VERSION@" WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "@CLIENT_VERSION_STRING@"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}" WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}" WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\bitcoin-qt.exe WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\bitcoin-qt.exe
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1 WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1 WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
WriteRegStr HKCR "@PACKAGE_TARNAME@" "URL Protocol" "" WriteRegStr HKCR "@CLIENT_TARNAME@" "URL Protocol" ""
WriteRegStr HKCR "@PACKAGE_TARNAME@" "" "URL:Bitcoin" WriteRegStr HKCR "@CLIENT_TARNAME@" "" "URL:Bitcoin"
WriteRegStr HKCR "@PACKAGE_TARNAME@\DefaultIcon" "" $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@ WriteRegStr HKCR "@CLIENT_TARNAME@\DefaultIcon" "" $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@
WriteRegStr HKCR "@PACKAGE_TARNAME@\shell\open\command" "" '"$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "%1"' WriteRegStr HKCR "@CLIENT_TARNAME@\shell\open\command" "" '"$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "%1"'
SectionEnd SectionEnd
# Macro for selecting uninstaller sections # Macro for selecting uninstaller sections
@ -142,9 +142,9 @@ Section -un.post UNSEC0001
DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (testnet).lnk" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\@CLIENT_NAME@ (testnet).lnk"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (testnet4).lnk" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\@CLIENT_NAME@ (testnet4).lnk"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (test signet).lnk" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\@CLIENT_NAME@ (test signet).lnk"
Delete /REBOOTOK "$SMSTARTUP\Bitcoin.lnk" Delete /REBOOTOK "$SMSTARTUP\Bitcoin.lnk"
Delete /REBOOTOK $INSTDIR\uninstall.exe Delete /REBOOTOK $INSTDIR\uninstall.exe
Delete /REBOOTOK $INSTDIR\debug.log Delete /REBOOTOK $INSTDIR\debug.log
@ -153,7 +153,7 @@ Section -un.post UNSEC0001
DeleteRegValue HKCU "${REGKEY}" Path DeleteRegValue HKCU "${REGKEY}" Path
DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components" DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components"
DeleteRegKey /IfEmpty HKCU "${REGKEY}" DeleteRegKey /IfEmpty HKCU "${REGKEY}"
DeleteRegKey HKCR "@PACKAGE_TARNAME@" DeleteRegKey HKCR "@CLIENT_TARNAME@"
RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup
RmDir /REBOOTOK $INSTDIR RmDir /REBOOTOK $INSTDIR
Push $R0 Push $R0

View file

@ -150,7 +150,7 @@ bool CBanDB::Write(const banmap_t& banSet)
bool CBanDB::Read(banmap_t& banSet) bool CBanDB::Read(banmap_t& banSet)
{ {
if (fs::exists(m_banlist_dat)) { if (fs::exists(m_banlist_dat)) {
LogPrintf("banlist.dat ignored because it can only be read by " PACKAGE_NAME " version 22.x. Remove %s to silence this warning.\n", fs::quoted(fs::PathToString(m_banlist_dat))); LogPrintf("banlist.dat ignored because it can only be read by " CLIENT_NAME " version 22.x. Remove %s to silence this warning.\n", fs::quoted(fs::PathToString(m_banlist_dat)));
} }
// If the JSON banlist does not exist, then recreate it // If the JSON banlist does not exist, then recreate it
if (!fs::exists(m_banlist_json)) { if (!fs::exists(m_banlist_json)) {
@ -215,7 +215,7 @@ util::Result<std::unique_ptr<AddrMan>> LoadAddrman(const NetGroupManager& netgro
DumpPeerAddresses(args, *addrman); DumpPeerAddresses(args, *addrman);
} catch (const std::exception& e) { } catch (const std::exception& e) {
return util::Error{strprintf(_("Invalid or corrupt peers.dat (%s). If you believe this is a bug, please report it to %s. As a workaround, you can move the file (%s) out of the way (rename, move, or delete) to have a new one created on the next start."), return util::Error{strprintf(_("Invalid or corrupt peers.dat (%s). If you believe this is a bug, please report it to %s. As a workaround, you can move the file (%s) out of the way (rename, move, or delete) to have a new one created on the next start."),
e.what(), PACKAGE_BUGREPORT, fs::quoted(fs::PathToString(path_addr)))}; e.what(), CLIENT_BUGREPORT, fs::quoted(fs::PathToString(path_addr)))};
} }
return addrman; return addrman;
} }

View file

@ -253,7 +253,7 @@ void AddrManImpl::Unserialize(Stream& s_)
throw InvalidAddrManVersionError(strprintf( throw InvalidAddrManVersionError(strprintf(
"Unsupported format of addrman database: %u. It is compatible with formats >=%u, " "Unsupported format of addrman database: %u. It is compatible with formats >=%u, "
"but the maximum supported by this version of %s is %u.", "but the maximum supported by this version of %s is %u.",
uint8_t{format}, lowest_compatible, PACKAGE_NAME, uint8_t{FILE_FORMAT})); uint8_t{format}, lowest_compatible, CLIENT_NAME, uint8_t{FILE_FORMAT}));
} }
s >> nKey; s >> nKey;

View file

@ -15,14 +15,14 @@ BEGIN
BLOCK "040904E4" // U.S. English - multilingual (hex) BLOCK "040904E4" // U.S. English - multilingual (hex)
BEGIN BEGIN
VALUE "CompanyName", "Bitcoin" VALUE "CompanyName", "Bitcoin"
VALUE "FileDescription", "bitcoin-cli (JSON-RPC client for " PACKAGE_NAME ")" VALUE "FileDescription", "bitcoin-cli (JSON-RPC client for " CLIENT_NAME ")"
VALUE "FileVersion", PACKAGE_VERSION VALUE "FileVersion", CLIENT_VERSION_STRING
VALUE "InternalName", "bitcoin-cli" VALUE "InternalName", "bitcoin-cli"
VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalCopyright", COPYRIGHT_STR
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
VALUE "OriginalFilename", "bitcoin-cli.exe" VALUE "OriginalFilename", "bitcoin-cli.exe"
VALUE "ProductName", "bitcoin-cli" VALUE "ProductName", "bitcoin-cli"
VALUE "ProductVersion", PACKAGE_VERSION VALUE "ProductVersion", CLIENT_VERSION_STRING
END END
END END

View file

@ -145,14 +145,14 @@ static int AppInitRPC(int argc, char* argv[])
return EXIT_FAILURE; return EXIT_FAILURE;
} }
if (argc < 2 || HelpRequested(gArgs) || gArgs.IsArgSet("-version")) { if (argc < 2 || HelpRequested(gArgs) || gArgs.IsArgSet("-version")) {
std::string strUsage = PACKAGE_NAME " RPC client version " + FormatFullVersion() + "\n"; std::string strUsage = CLIENT_NAME " RPC client version " + FormatFullVersion() + "\n";
if (gArgs.IsArgSet("-version")) { if (gArgs.IsArgSet("-version")) {
strUsage += FormatParagraph(LicenseInfo()); strUsage += FormatParagraph(LicenseInfo());
} else { } else {
strUsage += "\n" strUsage += "\n"
"Usage: bitcoin-cli [options] <command> [params] Send command to " PACKAGE_NAME "\n" "Usage: bitcoin-cli [options] <command> [params] Send command to " CLIENT_NAME "\n"
"or: bitcoin-cli [options] -named <command> [name=value]... Send command to " PACKAGE_NAME " (with named arguments)\n" "or: bitcoin-cli [options] -named <command> [name=value]... Send command to " CLIENT_NAME " (with named arguments)\n"
"or: bitcoin-cli [options] help List commands\n" "or: bitcoin-cli [options] help List commands\n"
"or: bitcoin-cli [options] help <command> Get help for a command\n"; "or: bitcoin-cli [options] help <command> Get help for a command\n";
strUsage += "\n" + gArgs.GetHelpMessage(); strUsage += "\n" + gArgs.GetHelpMessage();
@ -535,7 +535,7 @@ public:
} }
// Generate report header. // Generate report header.
std::string result{strprintf("%s client %s%s - server %i%s\n\n", PACKAGE_NAME, FormatFullVersion(), ChainToString(), networkinfo["protocolversion"].getInt<int>(), networkinfo["subversion"].get_str())}; std::string result{strprintf("%s client %s%s - server %i%s\n\n", CLIENT_NAME, FormatFullVersion(), ChainToString(), networkinfo["protocolversion"].getInt<int>(), networkinfo["subversion"].get_str())};
// Report detailed peer connections list sorted by direction and minimum ping time. // Report detailed peer connections list sorted by direction and minimum ping time.
if (DetailsRequested() && !m_peers.empty()) { if (DetailsRequested() && !m_peers.empty()) {

View file

@ -16,13 +16,13 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Bitcoin" VALUE "CompanyName", "Bitcoin"
VALUE "FileDescription", "bitcoin-tx (CLI Bitcoin transaction editor utility)" VALUE "FileDescription", "bitcoin-tx (CLI Bitcoin transaction editor utility)"
VALUE "FileVersion", PACKAGE_VERSION VALUE "FileVersion", CLIENT_VERSION_STRING
VALUE "InternalName", "bitcoin-tx" VALUE "InternalName", "bitcoin-tx"
VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalCopyright", COPYRIGHT_STR
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
VALUE "OriginalFilename", "bitcoin-tx.exe" VALUE "OriginalFilename", "bitcoin-tx.exe"
VALUE "ProductName", "bitcoin-tx" VALUE "ProductName", "bitcoin-tx"
VALUE "ProductVersion", PACKAGE_VERSION VALUE "ProductVersion", CLIENT_VERSION_STRING
END END
END END

View file

@ -107,7 +107,7 @@ static int AppInitRawTx(int argc, char* argv[])
if (argc < 2 || HelpRequested(gArgs) || gArgs.IsArgSet("-version")) { if (argc < 2 || HelpRequested(gArgs) || gArgs.IsArgSet("-version")) {
// First part of help message is specific to this utility // First part of help message is specific to this utility
std::string strUsage = PACKAGE_NAME " bitcoin-tx utility version " + FormatFullVersion() + "\n"; std::string strUsage = CLIENT_NAME " bitcoin-tx utility version " + FormatFullVersion() + "\n";
if (gArgs.IsArgSet("-version")) { if (gArgs.IsArgSet("-version")) {
strUsage += FormatParagraph(LicenseInfo()); strUsage += FormatParagraph(LicenseInfo());

View file

@ -16,13 +16,13 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Bitcoin" VALUE "CompanyName", "Bitcoin"
VALUE "FileDescription", "bitcoin-util (CLI Bitcoin utility)" VALUE "FileDescription", "bitcoin-util (CLI Bitcoin utility)"
VALUE "FileVersion", PACKAGE_VERSION VALUE "FileVersion", CLIENT_VERSION_STRING
VALUE "InternalName", "bitcoin-util" VALUE "InternalName", "bitcoin-util"
VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalCopyright", COPYRIGHT_STR
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
VALUE "OriginalFilename", "bitcoin-util.exe" VALUE "OriginalFilename", "bitcoin-util.exe"
VALUE "ProductName", "bitcoin-util" VALUE "ProductName", "bitcoin-util"
VALUE "ProductVersion", PACKAGE_VERSION VALUE "ProductVersion", CLIENT_VERSION_STRING
END END
END END

View file

@ -52,7 +52,7 @@ static int AppInitUtil(ArgsManager& args, int argc, char* argv[])
if (HelpRequested(args) || args.IsArgSet("-version")) { if (HelpRequested(args) || args.IsArgSet("-version")) {
// First part of help message is specific to this utility // First part of help message is specific to this utility
std::string strUsage = PACKAGE_NAME " bitcoin-util utility version " + FormatFullVersion() + "\n"; std::string strUsage = CLIENT_NAME " bitcoin-util utility version " + FormatFullVersion() + "\n";
if (args.IsArgSet("-version")) { if (args.IsArgSet("-version")) {
strUsage += FormatParagraph(LicenseInfo()); strUsage += FormatParagraph(LicenseInfo());

View file

@ -15,14 +15,14 @@ BEGIN
BLOCK "040904E4" // U.S. English - multilingual (hex) BLOCK "040904E4" // U.S. English - multilingual (hex)
BEGIN BEGIN
VALUE "CompanyName", "Bitcoin" VALUE "CompanyName", "Bitcoin"
VALUE "FileDescription", "bitcoin-wallet (CLI tool for " PACKAGE_NAME " wallets)" VALUE "FileDescription", "bitcoin-wallet (CLI tool for " CLIENT_NAME " wallets)"
VALUE "FileVersion", PACKAGE_VERSION VALUE "FileVersion", CLIENT_VERSION_STRING
VALUE "InternalName", "bitcoin-wallet" VALUE "InternalName", "bitcoin-wallet"
VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalCopyright", COPYRIGHT_STR
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
VALUE "OriginalFilename", "bitcoin-wallet.exe" VALUE "OriginalFilename", "bitcoin-wallet.exe"
VALUE "ProductName", "bitcoin-wallet" VALUE "ProductName", "bitcoin-wallet"
VALUE "ProductVersion", PACKAGE_VERSION VALUE "ProductVersion", CLIENT_VERSION_STRING
END END
END END

View file

@ -61,13 +61,13 @@ static std::optional<int> WalletAppInit(ArgsManager& args, int argc, char* argv[
} }
const bool missing_args{argc < 2}; const bool missing_args{argc < 2};
if (missing_args || HelpRequested(args) || args.IsArgSet("-version")) { if (missing_args || HelpRequested(args) || args.IsArgSet("-version")) {
std::string strUsage = strprintf("%s bitcoin-wallet version", PACKAGE_NAME) + " " + FormatFullVersion() + "\n"; std::string strUsage = strprintf("%s bitcoin-wallet version", CLIENT_NAME) + " " + FormatFullVersion() + "\n";
if (args.IsArgSet("-version")) { if (args.IsArgSet("-version")) {
strUsage += FormatParagraph(LicenseInfo()); strUsage += FormatParagraph(LicenseInfo());
} else { } else {
strUsage += "\n" strUsage += "\n"
"bitcoin-wallet is an offline tool for creating and interacting with " PACKAGE_NAME " wallet files.\n" "bitcoin-wallet is an offline tool for creating and interacting with " CLIENT_NAME " wallet files.\n"
"By default bitcoin-wallet will act on wallets in the default mainnet wallet directory in the datadir.\n" "By default bitcoin-wallet will act on wallets in the default mainnet wallet directory in the datadir.\n"
"To change the target wallet, use the -datadir, -wallet and -regtest/-signet/-testnet/-testnet4 arguments.\n\n" "To change the target wallet, use the -datadir, -wallet and -regtest/-signet/-testnet/-testnet4 arguments.\n\n"
"Usage:\n" "Usage:\n"

View file

@ -16,13 +16,13 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Bitcoin" VALUE "CompanyName", "Bitcoin"
VALUE "FileDescription", "bitcoind (Bitcoin node with a JSON-RPC server)" VALUE "FileDescription", "bitcoind (Bitcoin node with a JSON-RPC server)"
VALUE "FileVersion", PACKAGE_VERSION VALUE "FileVersion", CLIENT_VERSION_STRING
VALUE "InternalName", "bitcoind" VALUE "InternalName", "bitcoind"
VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalCopyright", COPYRIGHT_STR
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
VALUE "OriginalFilename", "bitcoind.exe" VALUE "OriginalFilename", "bitcoind.exe"
VALUE "ProductName", "bitcoind" VALUE "ProductName", "bitcoind"
VALUE "ProductVersion", PACKAGE_VERSION VALUE "ProductVersion", CLIENT_VERSION_STRING
END END
END END

View file

@ -136,12 +136,12 @@ static bool ProcessInitCommands(ArgsManager& args)
{ {
// Process help and version before taking care about datadir // Process help and version before taking care about datadir
if (HelpRequested(args) || args.IsArgSet("-version")) { if (HelpRequested(args) || args.IsArgSet("-version")) {
std::string strUsage = PACKAGE_NAME " version " + FormatFullVersion() + "\n"; std::string strUsage = CLIENT_NAME " version " + FormatFullVersion() + "\n";
if (args.IsArgSet("-version")) { if (args.IsArgSet("-version")) {
strUsage += FormatParagraph(LicenseInfo()); strUsage += FormatParagraph(LicenseInfo());
} else { } else {
strUsage += "\nUsage: bitcoind [options] Start " PACKAGE_NAME "\n" strUsage += "\nUsage: bitcoind [options] Start " CLIENT_NAME "\n"
"\n"; "\n";
strUsage += args.GetHelpMessage(); strUsage += args.GetHelpMessage();
} }
@ -195,7 +195,7 @@ static bool AppInit(NodeContext& node)
if (args.GetBoolArg("-daemon", DEFAULT_DAEMON) || args.GetBoolArg("-daemonwait", DEFAULT_DAEMONWAIT)) { if (args.GetBoolArg("-daemon", DEFAULT_DAEMON) || args.GetBoolArg("-daemonwait", DEFAULT_DAEMONWAIT)) {
#if HAVE_DECL_FORK #if HAVE_DECL_FORK
tfm::format(std::cout, PACKAGE_NAME " starting\n"); tfm::format(std::cout, CLIENT_NAME " starting\n");
// Daemonize // Daemonize
switch (fork_daemon(1, 0, daemon_ep)) { // don't chdir (1), do close FDs (0) switch (fork_daemon(1, 0, daemon_ep)) { // don't chdir (1), do close FDs (0)

View file

@ -20,7 +20,7 @@ using util::Join;
* for both bitcoind and bitcoin-qt, to make it harder for attackers to * for both bitcoind and bitcoin-qt, to make it harder for attackers to
* target servers or GUI users specifically. * target servers or GUI users specifically.
*/ */
const std::string CLIENT_NAME("Satoshi"); const std::string UA_NAME("Satoshi");
#include <bitcoin-build-info.h> #include <bitcoin-build-info.h>
@ -36,7 +36,7 @@ const std::string CLIENT_NAME("Satoshi");
#define BUILD_DESC BUILD_GIT_TAG #define BUILD_DESC BUILD_GIT_TAG
#define BUILD_SUFFIX "" #define BUILD_SUFFIX ""
#else #else
#define BUILD_DESC "v" PACKAGE_VERSION #define BUILD_DESC "v" CLIENT_VERSION_STRING
#if CLIENT_VERSION_IS_RELEASE #if CLIENT_VERSION_IS_RELEASE
#define BUILD_SUFFIX "" #define BUILD_SUFFIX ""
#elif defined(BUILD_GIT_COMMIT) #elif defined(BUILD_GIT_COMMIT)
@ -88,7 +88,7 @@ std::string LicenseInfo()
return CopyrightHolders(strprintf(_("Copyright (C) %i-%i").translated, 2009, COPYRIGHT_YEAR) + " ") + "\n" + return CopyrightHolders(strprintf(_("Copyright (C) %i-%i").translated, 2009, COPYRIGHT_YEAR) + " ") + "\n" +
"\n" + "\n" +
strprintf(_("Please contribute if you find %s useful. " strprintf(_("Please contribute if you find %s useful. "
"Visit %s for further information about the software.").translated, PACKAGE_NAME, "<" PACKAGE_URL ">") + "Visit %s for further information about the software.").translated, CLIENT_NAME, "<" CLIENT_URL ">") +
"\n" + "\n" +
strprintf(_("The source code is available from %s.").translated, URL_SOURCE_CODE) + strprintf(_("The source code is available from %s.").translated, URL_SOURCE_CODE) +
"\n" + "\n" +

View file

@ -33,7 +33,7 @@ static const int CLIENT_VERSION =
+ 100 * CLIENT_VERSION_MINOR + 100 * CLIENT_VERSION_MINOR
+ 1 * CLIENT_VERSION_BUILD; + 1 * CLIENT_VERSION_BUILD;
extern const std::string CLIENT_NAME; extern const std::string UA_NAME;
std::string FormatFullVersion(); std::string FormatFullVersion();

View file

@ -127,7 +127,7 @@ bool WriteSettings(const fs::path& path,
SettingsValue out(SettingsValue::VOBJ); SettingsValue out(SettingsValue::VOBJ);
// Add auto-generated warning comment // Add auto-generated warning comment
out.pushKV(SETTINGS_WARN_MSG_KEY, strprintf("This file is automatically generated and updated by %s. Please do not edit this file while the node " out.pushKV(SETTINGS_WARN_MSG_KEY, strprintf("This file is automatically generated and updated by %s. Please do not edit this file while the node "
"is running, as any changes might be ignored or overwritten.", PACKAGE_NAME)); "is running, as any changes might be ignored or overwritten.", CLIENT_NAME));
// Push settings values // Push settings values
for (const auto& value : values) { for (const auto& value : values) {
out.pushKVEnd(value.first, value.second); out.pushKVEnd(value.first, value.second);

View file

@ -1079,7 +1079,7 @@ static bool LockDataDirectory(bool probeOnly)
case util::LockResult::ErrorWrite: case util::LockResult::ErrorWrite:
return InitError(strprintf(_("Cannot write to data directory '%s'; check permissions."), fs::PathToString(datadir))); return InitError(strprintf(_("Cannot write to data directory '%s'; check permissions."), fs::PathToString(datadir)));
case util::LockResult::ErrorLock: case util::LockResult::ErrorLock:
return InitError(strprintf(_("Cannot obtain a lock on data directory %s. %s is probably already running."), fs::PathToString(datadir), PACKAGE_NAME)); return InitError(strprintf(_("Cannot obtain a lock on data directory %s. %s is probably already running."), fs::PathToString(datadir), CLIENT_NAME));
case util::LockResult::Success: return true; case util::LockResult::Success: return true;
} // no default case, so the compiler can warn about missing cases } // no default case, so the compiler can warn about missing cases
assert(false); assert(false);
@ -1091,11 +1091,11 @@ bool AppInitSanityChecks(const kernel::Context& kernel)
auto result{kernel::SanityChecks(kernel)}; auto result{kernel::SanityChecks(kernel)};
if (!result) { if (!result) {
InitError(util::ErrorString(result)); InitError(util::ErrorString(result));
return InitError(strprintf(_("Initialization sanity check failed. %s is shutting down."), PACKAGE_NAME)); return InitError(strprintf(_("Initialization sanity check failed. %s is shutting down."), CLIENT_NAME));
} }
if (!ECC_InitSanityCheck()) { if (!ECC_InitSanityCheck()) {
return InitError(strprintf(_("Elliptic curve cryptography sanity check failure. %s is shutting down."), PACKAGE_NAME)); return InitError(strprintf(_("Elliptic curve cryptography sanity check failure. %s is shutting down."), CLIENT_NAME));
} }
// Probe the data directory lock to give an early error message, if possible // Probe the data directory lock to give an early error message, if possible
@ -1464,7 +1464,7 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
return InitError(strprintf(_("User Agent comment (%s) contains unsafe characters."), cmt)); return InitError(strprintf(_("User Agent comment (%s) contains unsafe characters."), cmt));
uacomments.push_back(cmt); uacomments.push_back(cmt);
} }
strSubVersion = FormatSubVersion(CLIENT_NAME, CLIENT_VERSION, uacomments); strSubVersion = FormatSubVersion(UA_NAME, CLIENT_VERSION, uacomments);
if (strSubVersion.size() > MAX_SUBVERSION_LENGTH) { if (strSubVersion.size() > MAX_SUBVERSION_LENGTH) {
return InitError(strprintf(_("Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments."), return InitError(strprintf(_("Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments."),
strSubVersion.size(), MAX_SUBVERSION_LENGTH)); strSubVersion.size(), MAX_SUBVERSION_LENGTH));

View file

@ -146,6 +146,6 @@ void LogPackageVersion()
#else #else
version_string += " (release build)"; version_string += " (release build)";
#endif #endif
LogPrintf(PACKAGE_NAME " version %s\n", version_string); LogPrintf(CLIENT_NAME " version %s\n", version_string);
} }
} // namespace init } // namespace init

View file

@ -3094,7 +3094,7 @@ bool CConnman::BindListenPort(const CService& addrBind, bilingual_str& strError,
if (sock->Bind(reinterpret_cast<struct sockaddr*>(&sockaddr), len) == SOCKET_ERROR) { if (sock->Bind(reinterpret_cast<struct sockaddr*>(&sockaddr), len) == SOCKET_ERROR) {
int nErr = WSAGetLastError(); int nErr = WSAGetLastError();
if (nErr == WSAEADDRINUSE) if (nErr == WSAEADDRINUSE)
strError = strprintf(_("Unable to bind to %s on this computer. %s is probably already running."), addrBind.ToStringAddrPort(), PACKAGE_NAME); strError = strprintf(_("Unable to bind to %s on this computer. %s is probably already running."), addrBind.ToStringAddrPort(), CLIENT_NAME);
else else
strError = strprintf(_("Unable to bind to %s on this computer (bind returned error %s)"), addrBind.ToStringAddrPort(), NetworkErrorString(nErr)); strError = strprintf(_("Unable to bind to %s on this computer (bind returned error %s)"), addrBind.ToStringAddrPort(), NetworkErrorString(nErr));
LogPrintLevel(BCLog::NET, BCLog::Level::Error, "%s\n", strError.original); LogPrintLevel(BCLog::NET, BCLog::Level::Error, "%s\n", strError.original);

View file

@ -162,7 +162,7 @@ static void initTranslations(QTranslator &qtTranslatorBase, QTranslator &qtTrans
static bool ErrorSettingsRead(const bilingual_str& error, const std::vector<std::string>& details) static bool ErrorSettingsRead(const bilingual_str& error, const std::vector<std::string>& details)
{ {
QMessageBox messagebox(QMessageBox::Critical, PACKAGE_NAME, QString::fromStdString(strprintf("%s.", error.translated)), QMessageBox::Reset | QMessageBox::Abort); QMessageBox messagebox(QMessageBox::Critical, CLIENT_NAME, QString::fromStdString(strprintf("%s.", error.translated)), QMessageBox::Reset | QMessageBox::Abort);
/*: Explanatory text shown on startup when the settings file cannot be read. /*: Explanatory text shown on startup when the settings file cannot be read.
Prompts user to make a choice between resetting or aborting. */ Prompts user to make a choice between resetting or aborting. */
messagebox.setInformativeText(QObject::tr("Do you want to reset settings to default values, or to abort without making changes?")); messagebox.setInformativeText(QObject::tr("Do you want to reset settings to default values, or to abort without making changes?"));
@ -181,7 +181,7 @@ static bool ErrorSettingsRead(const bilingual_str& error, const std::vector<std:
static void ErrorSettingsWrite(const bilingual_str& error, const std::vector<std::string>& details) static void ErrorSettingsWrite(const bilingual_str& error, const std::vector<std::string>& details)
{ {
QMessageBox messagebox(QMessageBox::Critical, PACKAGE_NAME, QString::fromStdString(strprintf("%s.", error.translated)), QMessageBox::Ok); QMessageBox messagebox(QMessageBox::Critical, CLIENT_NAME, QString::fromStdString(strprintf("%s.", error.translated)), QMessageBox::Ok);
/*: Explanatory text shown on startup when the settings file could not be written. /*: Explanatory text shown on startup when the settings file could not be written.
Prompts user to check that we have the ability to write to the file. Prompts user to check that we have the ability to write to the file.
Explains that the user has the option of running without a settings file.*/ Explains that the user has the option of running without a settings file.*/
@ -260,7 +260,7 @@ bool BitcoinApplication::createOptionsModel(bool resetSettings)
error.translated += tr("Settings file %1 might be corrupt or invalid.").arg(QString::fromStdString(quoted_path)).toStdString(); error.translated += tr("Settings file %1 might be corrupt or invalid.").arg(QString::fromStdString(quoted_path)).toStdString();
} }
InitError(error); InitError(error);
QMessageBox::critical(nullptr, PACKAGE_NAME, QString::fromStdString(error.translated)); QMessageBox::critical(nullptr, CLIENT_NAME, QString::fromStdString(error.translated));
return false; return false;
} }
return true; return true;
@ -442,8 +442,8 @@ void BitcoinApplication::handleRunawayException(const QString &message)
{ {
QMessageBox::critical( QMessageBox::critical(
nullptr, tr("Runaway exception"), nullptr, tr("Runaway exception"),
tr("A fatal error occurred. %1 can no longer continue safely and will quit.").arg(PACKAGE_NAME) + tr("A fatal error occurred. %1 can no longer continue safely and will quit.").arg(CLIENT_NAME) +
QLatin1String("<br><br>") + GUIUtil::MakeHtmlLink(message, PACKAGE_BUGREPORT)); QLatin1String("<br><br>") + GUIUtil::MakeHtmlLink(message, CLIENT_BUGREPORT));
::exit(EXIT_FAILURE); ::exit(EXIT_FAILURE);
} }
@ -453,8 +453,8 @@ void BitcoinApplication::handleNonFatalException(const QString& message)
QMessageBox::warning( QMessageBox::warning(
nullptr, tr("Internal error"), nullptr, tr("Internal error"),
tr("An internal error occurred. %1 will attempt to continue safely. This is " tr("An internal error occurred. %1 will attempt to continue safely. This is "
"an unexpected bug which can be reported as described below.").arg(PACKAGE_NAME) + "an unexpected bug which can be reported as described below.").arg(CLIENT_NAME) +
QLatin1String("<br><br>") + GUIUtil::MakeHtmlLink(message, PACKAGE_BUGREPORT)); QLatin1String("<br><br>") + GUIUtil::MakeHtmlLink(message, CLIENT_BUGREPORT));
} }
WId BitcoinApplication::getMainWinId() const WId BitcoinApplication::getMainWinId() const
@ -531,7 +531,7 @@ int GuiMain(int argc, char* argv[])
if (!gArgs.ParseParameters(argc, argv, error)) { if (!gArgs.ParseParameters(argc, argv, error)) {
InitError(strprintf(Untranslated("Error parsing command line arguments: %s"), error)); InitError(strprintf(Untranslated("Error parsing command line arguments: %s"), error));
// Create a message box, because the gui has neither been created nor has subscribed to core signals // Create a message box, because the gui has neither been created nor has subscribed to core signals
QMessageBox::critical(nullptr, PACKAGE_NAME, QMessageBox::critical(nullptr, CLIENT_NAME,
// message cannot be translated because translations have not been initialized // message cannot be translated because translations have not been initialized
QString::fromStdString("Error parsing command line arguments: %1.").arg(QString::fromStdString(error))); QString::fromStdString("Error parsing command line arguments: %1.").arg(QString::fromStdString(error)));
return EXIT_FAILURE; return EXIT_FAILURE;
@ -551,14 +551,14 @@ int GuiMain(int argc, char* argv[])
#endif #endif
if (payment_server_token_seen && arg.startsWith("-")) { if (payment_server_token_seen && arg.startsWith("-")) {
InitError(Untranslated(strprintf("Options ('%s') cannot follow a BIP-21 payment URI", argv[i]))); InitError(Untranslated(strprintf("Options ('%s') cannot follow a BIP-21 payment URI", argv[i])));
QMessageBox::critical(nullptr, PACKAGE_NAME, QMessageBox::critical(nullptr, CLIENT_NAME,
// message cannot be translated because translations have not been initialized // message cannot be translated because translations have not been initialized
QString::fromStdString("Options ('%1') cannot follow a BIP-21 payment URI").arg(QString::fromStdString(argv[i]))); QString::fromStdString("Options ('%1') cannot follow a BIP-21 payment URI").arg(QString::fromStdString(argv[i])));
return EXIT_FAILURE; return EXIT_FAILURE;
} }
if (invalid_token) { if (invalid_token) {
InitError(Untranslated(strprintf("Command line contains unexpected token '%s', see bitcoin-qt -h for a list of options.", argv[i]))); InitError(Untranslated(strprintf("Command line contains unexpected token '%s', see bitcoin-qt -h for a list of options.", argv[i])));
QMessageBox::critical(nullptr, PACKAGE_NAME, QMessageBox::critical(nullptr, CLIENT_NAME,
// message cannot be translated because translations have not been initialized // message cannot be translated because translations have not been initialized
QString::fromStdString("Command line contains unexpected token '%1', see bitcoin-qt -h for a list of options.").arg(QString::fromStdString(argv[i]))); QString::fromStdString("Command line contains unexpected token '%1', see bitcoin-qt -h for a list of options.").arg(QString::fromStdString(argv[i])));
return EXIT_FAILURE; return EXIT_FAILURE;
@ -613,7 +613,7 @@ int GuiMain(int argc, char* argv[])
} else if (error->status != common::ConfigStatus::ABORTED) { } else if (error->status != common::ConfigStatus::ABORTED) {
// Show a generic message in other cases, and no additional error // Show a generic message in other cases, and no additional error
// message in the case of a read error if the user decided to abort. // message in the case of a read error if the user decided to abort.
QMessageBox::critical(nullptr, PACKAGE_NAME, QObject::tr("Error: %1").arg(QString::fromStdString(error->message.translated))); QMessageBox::critical(nullptr, CLIENT_NAME, QObject::tr("Error: %1").arg(QString::fromStdString(error->message.translated)));
} }
return EXIT_FAILURE; return EXIT_FAILURE;
} }
@ -686,7 +686,7 @@ int GuiMain(int argc, char* argv[])
if (app.baseInitialize()) { if (app.baseInitialize()) {
app.requestInitialize(); app.requestInitialize();
#if defined(Q_OS_WIN) #if defined(Q_OS_WIN)
WinShutdownMonitor::registerShutdownBlockReason(QObject::tr("%1 didn't yet exit safely…").arg(PACKAGE_NAME), (HWND)app.getMainWinId()); WinShutdownMonitor::registerShutdownBlockReason(QObject::tr("%1 didn't yet exit safely…").arg(CLIENT_NAME), (HWND)app.getMainWinId());
#endif #endif
app.exec(); app.exec();
} else { } else {

View file

@ -294,15 +294,15 @@ void BitcoinGUI::createActions()
quitAction->setStatusTip(tr("Quit application")); quitAction->setStatusTip(tr("Quit application"));
quitAction->setShortcut(QKeySequence(tr("Ctrl+Q"))); quitAction->setShortcut(QKeySequence(tr("Ctrl+Q")));
quitAction->setMenuRole(QAction::QuitRole); quitAction->setMenuRole(QAction::QuitRole);
aboutAction = new QAction(tr("&About %1").arg(PACKAGE_NAME), this); aboutAction = new QAction(tr("&About %1").arg(CLIENT_NAME), this);
aboutAction->setStatusTip(tr("Show information about %1").arg(PACKAGE_NAME)); aboutAction->setStatusTip(tr("Show information about %1").arg(CLIENT_NAME));
aboutAction->setMenuRole(QAction::AboutRole); aboutAction->setMenuRole(QAction::AboutRole);
aboutAction->setEnabled(false); aboutAction->setEnabled(false);
aboutQtAction = new QAction(tr("About &Qt"), this); aboutQtAction = new QAction(tr("About &Qt"), this);
aboutQtAction->setStatusTip(tr("Show information about Qt")); aboutQtAction->setStatusTip(tr("Show information about Qt"));
aboutQtAction->setMenuRole(QAction::AboutQtRole); aboutQtAction->setMenuRole(QAction::AboutQtRole);
optionsAction = new QAction(tr("&Options…"), this); optionsAction = new QAction(tr("&Options…"), this);
optionsAction->setStatusTip(tr("Modify configuration options for %1").arg(PACKAGE_NAME)); optionsAction->setStatusTip(tr("Modify configuration options for %1").arg(CLIENT_NAME));
optionsAction->setMenuRole(QAction::PreferencesRole); optionsAction->setMenuRole(QAction::PreferencesRole);
optionsAction->setEnabled(false); optionsAction->setEnabled(false);
@ -364,7 +364,7 @@ void BitcoinGUI::createActions()
showHelpMessageAction = new QAction(tr("&Command-line options"), this); showHelpMessageAction = new QAction(tr("&Command-line options"), this);
showHelpMessageAction->setMenuRole(QAction::NoRole); showHelpMessageAction->setMenuRole(QAction::NoRole);
showHelpMessageAction->setStatusTip(tr("Show the %1 help message to get a list with possible Bitcoin command-line options").arg(PACKAGE_NAME)); showHelpMessageAction->setStatusTip(tr("Show the %1 help message to get a list with possible Bitcoin command-line options").arg(CLIENT_NAME));
m_mask_values_action = new QAction(tr("&Mask values"), this); m_mask_values_action = new QAction(tr("&Mask values"), this);
m_mask_values_action->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_M)); m_mask_values_action->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_M));
@ -837,7 +837,7 @@ void BitcoinGUI::createTrayIcon()
#ifndef Q_OS_MACOS #ifndef Q_OS_MACOS
if (QSystemTrayIcon::isSystemTrayAvailable()) { if (QSystemTrayIcon::isSystemTrayAvailable()) {
trayIcon = new QSystemTrayIcon(m_network_style->getTrayAndWindowIcon(), this); trayIcon = new QSystemTrayIcon(m_network_style->getTrayAndWindowIcon(), this);
QString toolTip = tr("%1 client").arg(PACKAGE_NAME) + " " + m_network_style->getTitleAddText(); QString toolTip = tr("%1 client").arg(CLIENT_NAME) + " " + m_network_style->getTitleAddText();
trayIcon->setToolTip(toolTip); trayIcon->setToolTip(toolTip);
} }
#endif #endif
@ -1230,7 +1230,7 @@ void BitcoinGUI::createWallet()
void BitcoinGUI::message(const QString& title, QString message, unsigned int style, bool* ret, const QString& detailed_message) void BitcoinGUI::message(const QString& title, QString message, unsigned int style, bool* ret, const QString& detailed_message)
{ {
// Default title. On macOS, the window title is ignored (as required by the macOS Guidelines). // Default title. On macOS, the window title is ignored (as required by the macOS Guidelines).
QString strTitle{PACKAGE_NAME}; QString strTitle{CLIENT_NAME};
// Default to information icon // Default to information icon
int nMBoxIcon = QMessageBox::Information; int nMBoxIcon = QMessageBox::Information;
int nNotifyIcon = Notificator::Information; int nNotifyIcon = Notificator::Information;
@ -1489,7 +1489,7 @@ void BitcoinGUI::updateProxyIcon()
void BitcoinGUI::updateWindowTitle() void BitcoinGUI::updateWindowTitle()
{ {
QString window_title = PACKAGE_NAME; QString window_title = CLIENT_NAME;
#ifdef ENABLE_WALLET #ifdef ENABLE_WALLET
if (walletFrame) { if (walletFrame) {
WalletModel* const wallet_model = walletFrame->currentWalletModel(); WalletModel* const wallet_model = walletFrame->currentWalletModel();

View file

@ -127,16 +127,16 @@ Intro::Intro(QWidget *parent, int64_t blockchain_size_gb, int64_t chain_state_si
m_prune_target_gb{GetPruneTargetGB()} m_prune_target_gb{GetPruneTargetGB()}
{ {
ui->setupUi(this); ui->setupUi(this);
ui->welcomeLabel->setText(ui->welcomeLabel->text().arg(PACKAGE_NAME)); ui->welcomeLabel->setText(ui->welcomeLabel->text().arg(CLIENT_NAME));
ui->storageLabel->setText(ui->storageLabel->text().arg(PACKAGE_NAME)); ui->storageLabel->setText(ui->storageLabel->text().arg(CLIENT_NAME));
ui->lblExplanation1->setText(ui->lblExplanation1->text() ui->lblExplanation1->setText(ui->lblExplanation1->text()
.arg(PACKAGE_NAME) .arg(CLIENT_NAME)
.arg(m_blockchain_size_gb) .arg(m_blockchain_size_gb)
.arg(2009) .arg(2009)
.arg(tr("Bitcoin")) .arg(tr("Bitcoin"))
); );
ui->lblExplanation2->setText(ui->lblExplanation2->text().arg(PACKAGE_NAME)); ui->lblExplanation2->setText(ui->lblExplanation2->text().arg(CLIENT_NAME));
const int min_prune_target_GB = std::ceil(MIN_DISK_SPACE_FOR_BLOCK_FILES / 1e9); const int min_prune_target_GB = std::ceil(MIN_DISK_SPACE_FOR_BLOCK_FILES / 1e9);
ui->pruneGB->setRange(min_prune_target_GB, std::numeric_limits<int>::max()); ui->pruneGB->setRange(min_prune_target_GB, std::numeric_limits<int>::max());
@ -246,7 +246,7 @@ bool Intro::showIfNeeded(bool& did_show_intro, int64_t& prune_MiB)
} }
break; break;
} catch (const fs::filesystem_error&) { } catch (const fs::filesystem_error&) {
QMessageBox::critical(nullptr, PACKAGE_NAME, QMessageBox::critical(nullptr, CLIENT_NAME,
tr("Error: Specified data directory \"%1\" cannot be created.").arg(dataDir)); tr("Error: Specified data directory \"%1\" cannot be created.").arg(dataDir));
/* fall through, back to choosing screen */ /* fall through, back to choosing screen */
} }
@ -389,7 +389,7 @@ void Intro::UpdatePruneLabels(bool prune_checked)
//: Explanatory text on the capability of the current prune target. //: Explanatory text on the capability of the current prune target.
tr("(sufficient to restore backups %n day(s) old)", "", expected_backup_days)); tr("(sufficient to restore backups %n day(s) old)", "", expected_backup_days));
ui->sizeWarningLabel->setText( ui->sizeWarningLabel->setText(
tr("%1 will download and store a copy of the Bitcoin block chain.").arg(PACKAGE_NAME) + " " + tr("%1 will download and store a copy of the Bitcoin block chain.").arg(CLIENT_NAME) + " " +
storageRequiresMsg.arg(m_required_space_gb) + " " + storageRequiresMsg.arg(m_required_space_gb) + " " +
tr("The wallet will also be stored in this directory.") tr("The wallet will also be stored in this directory.")
); );

View file

@ -31,7 +31,7 @@ ModalOverlay::ModalOverlay(bool enable_wallet, QWidget* parent)
setVisible(false); setVisible(false);
if (!enable_wallet) { if (!enable_wallet) {
ui->infoText->setVisible(false); ui->infoText->setVisible(false);
ui->infoTextStrong->setText(tr("%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.").arg(PACKAGE_NAME)); ui->infoTextStrong->setText(tr("%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.").arg(CLIENT_NAME));
} }
m_animation.setTargetObject(this); m_animation.setTargetObject(this);

View file

@ -139,7 +139,7 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
} }
#ifdef ENABLE_EXTERNAL_SIGNER #ifdef ENABLE_EXTERNAL_SIGNER
ui->externalSignerPath->setToolTip(ui->externalSignerPath->toolTip().arg(PACKAGE_NAME)); ui->externalSignerPath->setToolTip(ui->externalSignerPath->toolTip().arg(CLIENT_NAME));
#else #else
//: "External signing" means using devices such as hardware wallets. //: "External signing" means using devices such as hardware wallets.
ui->externalSignerPath->setToolTip(tr("Compiled without external signing support (required for external signing)")); ui->externalSignerPath->setToolTip(tr("Compiled without external signing support (required for external signing)"));
@ -148,12 +148,12 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
/* Display elements init */ /* Display elements init */
QDir translations(":translations"); QDir translations(":translations");
ui->bitcoinAtStartup->setToolTip(ui->bitcoinAtStartup->toolTip().arg(PACKAGE_NAME)); ui->bitcoinAtStartup->setToolTip(ui->bitcoinAtStartup->toolTip().arg(CLIENT_NAME));
ui->bitcoinAtStartup->setText(ui->bitcoinAtStartup->text().arg(PACKAGE_NAME)); ui->bitcoinAtStartup->setText(ui->bitcoinAtStartup->text().arg(CLIENT_NAME));
ui->openBitcoinConfButton->setToolTip(ui->openBitcoinConfButton->toolTip().arg(PACKAGE_NAME)); ui->openBitcoinConfButton->setToolTip(ui->openBitcoinConfButton->toolTip().arg(CLIENT_NAME));
ui->lang->setToolTip(ui->lang->toolTip().arg(PACKAGE_NAME)); ui->lang->setToolTip(ui->lang->toolTip().arg(CLIENT_NAME));
ui->lang->addItem(QString("(") + tr("default") + QString(")"), QVariant("")); ui->lang->addItem(QString("(") + tr("default") + QString(")"), QVariant(""));
for (const QString &langStr : translations.entryList()) for (const QString &langStr : translations.entryList())
{ {

View file

@ -22,13 +22,13 @@ BEGIN
BLOCK "040904E4" // U.S. English - multilingual (hex) BLOCK "040904E4" // U.S. English - multilingual (hex)
BEGIN BEGIN
VALUE "CompanyName", "Bitcoin" VALUE "CompanyName", "Bitcoin"
VALUE "FileDescription", PACKAGE_NAME " (GUI node for Bitcoin)" VALUE "FileDescription", CLIENT_NAME " (GUI node for Bitcoin)"
VALUE "FileVersion", VER_FILEVERSION_STR VALUE "FileVersion", VER_FILEVERSION_STR
VALUE "InternalName", "bitcoin-qt" VALUE "InternalName", "bitcoin-qt"
VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalCopyright", COPYRIGHT_STR
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
VALUE "OriginalFilename", "bitcoin-qt.exe" VALUE "OriginalFilename", "bitcoin-qt.exe"
VALUE "ProductName", PACKAGE_NAME VALUE "ProductName", CLIENT_NAME
VALUE "ProductVersion", VER_PRODUCTVERSION_STR VALUE "ProductVersion", VER_PRODUCTVERSION_STR
END END
END END

View file

@ -536,7 +536,7 @@ RPCConsole::RPCConsole(interfaces::Node& node, const PlatformStyle *_platformSty
ui->peerHighBandwidthLabel->setToolTip(ui->peerHighBandwidthLabel->toolTip().arg(hb_list)); ui->peerHighBandwidthLabel->setToolTip(ui->peerHighBandwidthLabel->toolTip().arg(hb_list));
ui->dataDir->setToolTip(ui->dataDir->toolTip().arg(QString(nonbreaking_hyphen) + "datadir")); ui->dataDir->setToolTip(ui->dataDir->toolTip().arg(QString(nonbreaking_hyphen) + "datadir"));
ui->blocksDir->setToolTip(ui->blocksDir->toolTip().arg(QString(nonbreaking_hyphen) + "blocksdir")); ui->blocksDir->setToolTip(ui->blocksDir->toolTip().arg(QString(nonbreaking_hyphen) + "blocksdir"));
ui->openDebugLogfileButton->setToolTip(ui->openDebugLogfileButton->toolTip().arg(PACKAGE_NAME)); ui->openDebugLogfileButton->setToolTip(ui->openDebugLogfileButton->toolTip().arg(CLIENT_NAME));
if (platformStyle->getImagesOnButtons()) { if (platformStyle->getImagesOnButtons()) {
ui->openDebugLogfileButton->setIcon(platformStyle->SingleColorIcon(":/icons/export")); ui->openDebugLogfileButton->setIcon(platformStyle->SingleColorIcon(":/icons/export"));
@ -914,7 +914,7 @@ void RPCConsole::clear(bool keep_prompt)
"%7WARNING: Scammers have been active, telling users to type" "%7WARNING: Scammers have been active, telling users to type"
" commands here, stealing their wallet contents. Do not use this console" " commands here, stealing their wallet contents. Do not use this console"
" without fully understanding the ramifications of a command.%8") " without fully understanding the ramifications of a command.%8")
.arg(PACKAGE_NAME, .arg(CLIENT_NAME,
"<b>" + ui->clearButton->shortcut().toString(QKeySequence::NativeText) + "</b>", "<b>" + ui->clearButton->shortcut().toString(QKeySequence::NativeText) + "</b>",
"<b>" + ui->fontBiggerButton->shortcut().toString(QKeySequence::NativeText) + "</b>", "<b>" + ui->fontBiggerButton->shortcut().toString(QKeySequence::NativeText) + "</b>",
"<b>" + ui->fontSmallerButton->shortcut().toString(QKeySequence::NativeText) + "</b>", "<b>" + ui->fontSmallerButton->shortcut().toString(QKeySequence::NativeText) + "</b>",

View file

@ -210,7 +210,7 @@ void SendCoinsDialog::setModel(WalletModel *_model)
} }
} else if (model->wallet().privateKeysDisabled()) { } else if (model->wallet().privateKeysDisabled()) {
ui->sendButton->setText(tr("Cr&eate Unsigned")); ui->sendButton->setText(tr("Cr&eate Unsigned"));
ui->sendButton->setToolTip(tr("Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.").arg(PACKAGE_NAME)); ui->sendButton->setToolTip(tr("Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.").arg(CLIENT_NAME));
} }
// set the smartfee-sliders default value (wallets default conf.target or last stored value) // set the smartfee-sliders default value (wallets default conf.target or last stored value)
@ -332,12 +332,12 @@ bool SendCoinsDialog::PrepareSendText(QString& question_string, QString& informa
/*: Text to inform a user attempting to create a transaction of their current options. At this stage, /*: Text to inform a user attempting to create a transaction of their current options. At this stage,
a user can only create a PSBT. This string is displayed when private keys are disabled and an external a user can only create a PSBT. This string is displayed when private keys are disabled and an external
signer is not available. */ signer is not available. */
question_string.append(tr("Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.").arg(PACKAGE_NAME)); question_string.append(tr("Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.").arg(CLIENT_NAME));
} else if (model->getOptionsModel()->getEnablePSBTControls()) { } else if (model->getOptionsModel()->getEnablePSBTControls()) {
/*: Text to inform a user attempting to create a transaction of their current options. At this stage, /*: Text to inform a user attempting to create a transaction of their current options. At this stage,
a user can send their transaction or create a PSBT. This string is displayed when both private keys a user can send their transaction or create a PSBT. This string is displayed when both private keys
and PSBT controls are enabled. */ and PSBT controls are enabled. */
question_string.append(tr("Please, review your transaction. You can create and send this transaction or create a Partially Signed Bitcoin Transaction (PSBT), which you can save or copy and then sign with, e.g., an offline %1 wallet, or a PSBT-compatible hardware wallet.").arg(PACKAGE_NAME)); question_string.append(tr("Please, review your transaction. You can create and send this transaction or create a Partially Signed Bitcoin Transaction (PSBT), which you can save or copy and then sign with, e.g., an offline %1 wallet, or a PSBT-compatible hardware wallet.").arg(CLIENT_NAME));
} else { } else {
/*: Text to prompt a user to review the details of the transaction they are attempting to send. */ /*: Text to prompt a user to review the details of the transaction they are attempting to send. */
question_string.append(tr("Please, review your transaction.")); question_string.append(tr("Please, review your transaction."));

View file

@ -124,7 +124,7 @@ void SignVerifyMessageDialog::on_signMessageButton_SM_clicked()
if (!pkhash) { if (!pkhash) {
ui->addressIn_SM->setValid(false); ui->addressIn_SM->setValid(false);
ui->statusLabel_SM->setStyleSheet("QLabel { color: red; }"); ui->statusLabel_SM->setStyleSheet("QLabel { color: red; }");
ui->statusLabel_SM->setText(tr("The entered address does not refer to a legacy (P2PKH) key. Message signing for SegWit and other non-P2PKH address types is not supported in this version of %1. Please check the address and try again.").arg(PACKAGE_NAME)); ui->statusLabel_SM->setText(tr("The entered address does not refer to a legacy (P2PKH) key. Message signing for SegWit and other non-P2PKH address types is not supported in this version of %1. Please check the address and try again.").arg(CLIENT_NAME));
return; return;
} }
@ -222,7 +222,7 @@ void SignVerifyMessageDialog::on_verifyMessageButton_VM_clicked()
return; return;
case MessageVerificationResult::ERR_ADDRESS_NO_KEY: case MessageVerificationResult::ERR_ADDRESS_NO_KEY:
ui->addressIn_VM->setValid(false); ui->addressIn_VM->setValid(false);
ui->statusLabel_VM->setText(tr("The entered address does not refer to a legacy (P2PKH) key. Message signing for SegWit and other non-P2PKH address types is not supported in this version of %1. Please check the address and try again.").arg(PACKAGE_NAME)); ui->statusLabel_VM->setText(tr("The entered address does not refer to a legacy (P2PKH) key. Message signing for SegWit and other non-P2PKH address types is not supported in this version of %1. Please check the address and try again.").arg(CLIENT_NAME));
return; return;
case MessageVerificationResult::ERR_MALFORMED_SIGNATURE: case MessageVerificationResult::ERR_MALFORMED_SIGNATURE:
ui->signatureIn_VM->setValid(false); ui->signatureIn_VM->setValid(false);

View file

@ -39,7 +39,7 @@ SplashScreen::SplashScreen(const NetworkStyle* networkStyle)
devicePixelRatio = static_cast<QGuiApplication*>(QCoreApplication::instance())->devicePixelRatio(); devicePixelRatio = static_cast<QGuiApplication*>(QCoreApplication::instance())->devicePixelRatio();
// define text to place // define text to place
QString titleText = PACKAGE_NAME; QString titleText = CLIENT_NAME;
QString versionText = QString("Version %1").arg(QString::fromStdString(FormatFullVersion())); QString versionText = QString("Version %1").arg(QString::fromStdString(FormatFullVersion()));
QString copyrightText = QString::fromUtf8(CopyrightHolders(strprintf("\xc2\xA9 %u-%u ", 2009, COPYRIGHT_YEAR)).c_str()); QString copyrightText = QString::fromUtf8(CopyrightHolders(strprintf("\xc2\xA9 %u-%u ", 2009, COPYRIGHT_YEAR)).c_str());
const QString& titleAddText = networkStyle->getTitleAddText(); const QString& titleAddText = networkStyle->getTitleAddText();

View file

@ -73,7 +73,7 @@ void OptionTests::migrateSettings()
std::ifstream file(gArgs.GetDataDirNet() / "settings.json"); std::ifstream file(gArgs.GetDataDirNet() / "settings.json");
std::string default_warning = strprintf("This file is automatically generated and updated by %s. Please do not edit this file while the node " std::string default_warning = strprintf("This file is automatically generated and updated by %s. Please do not edit this file while the node "
"is running, as any changes might be ignored or overwritten.", "is running, as any changes might be ignored or overwritten.",
PACKAGE_NAME); CLIENT_NAME);
QCOMPARE(std::string(std::istreambuf_iterator<char>(file), std::istreambuf_iterator<char>()).c_str(), "{\n" QCOMPARE(std::string(std::istreambuf_iterator<char>(file), std::istreambuf_iterator<char>()).c_str(), "{\n"
" \"_warning_\": \""+ default_warning+"\",\n" " \"_warning_\": \""+ default_warning+"\",\n"
" \"dbcache\": \"600\",\n" " \"dbcache\": \"600\",\n"

View file

@ -33,11 +33,11 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, bool about) :
{ {
ui->setupUi(this); ui->setupUi(this);
QString version = QString{PACKAGE_NAME} + " " + tr("version") + " " + QString::fromStdString(FormatFullVersion()); QString version = QString{CLIENT_NAME} + " " + tr("version") + " " + QString::fromStdString(FormatFullVersion());
if (about) if (about)
{ {
setWindowTitle(tr("About %1").arg(PACKAGE_NAME)); setWindowTitle(tr("About %1").arg(CLIENT_NAME));
std::string licenseInfo = LicenseInfo(); std::string licenseInfo = LicenseInfo();
/// HTML-format the license message from the core /// HTML-format the license message from the core
@ -141,7 +141,7 @@ ShutdownWindow::ShutdownWindow(QWidget *parent, Qt::WindowFlags f):
{ {
QVBoxLayout *layout = new QVBoxLayout(); QVBoxLayout *layout = new QVBoxLayout();
layout->addWidget(new QLabel( layout->addWidget(new QLabel(
tr("%1 is shutting down…").arg(PACKAGE_NAME) + "<br /><br />" + tr("%1 is shutting down…").arg(CLIENT_NAME) + "<br /><br />" +
tr("Do not shut down the computer until this window disappears."))); tr("Do not shut down the computer until this window disappears.")));
setLayout(layout); setLayout(layout);

View file

@ -90,7 +90,7 @@ static NodeContext* GetNodeContext(const std::any& context, HTTPRequest* req)
strprintf("%s:%d (%s)\n" strprintf("%s:%d (%s)\n"
"Internal bug detected: Node context not found!\n" "Internal bug detected: Node context not found!\n"
"You may report this issue here: %s\n", "You may report this issue here: %s\n",
__FILE__, __LINE__, __func__, PACKAGE_BUGREPORT)); __FILE__, __LINE__, __func__, CLIENT_BUGREPORT));
return nullptr; return nullptr;
} }
return node_context; return node_context;
@ -128,7 +128,7 @@ static ChainstateManager* GetChainman(const std::any& context, HTTPRequest* req)
strprintf("%s:%d (%s)\n" strprintf("%s:%d (%s)\n"
"Internal bug detected: Chainman disabled or instance not found!\n" "Internal bug detected: Chainman disabled or instance not found!\n"
"You may report this issue here: %s\n", "You may report this issue here: %s\n",
__FILE__, __LINE__, __func__, PACKAGE_BUGREPORT)); __FILE__, __LINE__, __func__, CLIENT_BUGREPORT));
return nullptr; return nullptr;
} }
return node_context->chainman.get(); return node_context->chainman.get();

View file

@ -274,7 +274,7 @@ static RPCHelpMan generatetoaddress()
RPCExamples{ RPCExamples{
"\nGenerate 11 blocks to myaddress\n" "\nGenerate 11 blocks to myaddress\n"
+ HelpExampleCli("generatetoaddress", "11 \"myaddress\"") + HelpExampleCli("generatetoaddress", "11 \"myaddress\"")
+ "If you are using the " PACKAGE_NAME " wallet, you can get a new address to send the newly generated bitcoin to with:\n" + "If you are using the " CLIENT_NAME " wallet, you can get a new address to send the newly generated bitcoin to with:\n"
+ HelpExampleCli("getnewaddress", "") + HelpExampleCli("getnewaddress", "")
}, },
[&](const RPCHelpMan& self, const JSONRPCRequest& request) -> UniValue [&](const RPCHelpMan& self, const JSONRPCRequest& request) -> UniValue
@ -724,11 +724,11 @@ static RPCHelpMan getblocktemplate()
if (!miner.isTestChain()) { if (!miner.isTestChain()) {
const CConnman& connman = EnsureConnman(node); const CConnman& connman = EnsureConnman(node);
if (connman.GetNodeCount(ConnectionDirection::Both) == 0) { if (connman.GetNodeCount(ConnectionDirection::Both) == 0) {
throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, PACKAGE_NAME " is not connected!"); throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, CLIENT_NAME " is not connected!");
} }
if (miner.isInitialBlockDownload()) { if (miner.isInitialBlockDownload()) {
throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, PACKAGE_NAME " is in initial sync and waiting for blocks..."); throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, CLIENT_NAME " is in initial sync and waiting for blocks...");
} }
} }

View file

@ -154,12 +154,12 @@ static RPCHelpMan help()
static RPCHelpMan stop() static RPCHelpMan stop()
{ {
static const std::string RESULT{PACKAGE_NAME " stopping"}; static const std::string RESULT{CLIENT_NAME " stopping"};
return RPCHelpMan{"stop", return RPCHelpMan{"stop",
// Also accept the hidden 'wait' integer argument (milliseconds) // Also accept the hidden 'wait' integer argument (milliseconds)
// For instance, 'stop 1000' makes the call wait 1 second before returning // For instance, 'stop 1000' makes the call wait 1 second before returning
// to the client (intended for testing) // to the client (intended for testing)
"\nRequest a graceful shutdown of " PACKAGE_NAME ".", "\nRequest a graceful shutdown of " CLIENT_NAME ".",
{ {
{"wait", RPCArg::Type::NUM, RPCArg::Optional::OMITTED, "how long to wait in ms", RPCArgOptions{.hidden=true}}, {"wait", RPCArg::Type::NUM, RPCArg::Optional::OMITTED, "how long to wait in ms", RPCArgOptions{.hidden=true}},
}, },

View file

@ -696,8 +696,8 @@ UniValue RPCHelpMan::HandleRequest(const JSONRPCRequest& request) const
throw std::runtime_error{ throw std::runtime_error{
strprintf("Internal bug detected: RPC call \"%s\" returned incorrect type:\n%s\n%s %s\nPlease report this issue here: %s\n", strprintf("Internal bug detected: RPC call \"%s\" returned incorrect type:\n%s\n%s %s\nPlease report this issue here: %s\n",
m_name, explain, m_name, explain,
PACKAGE_NAME, FormatFullVersion(), CLIENT_NAME, FormatFullVersion(),
PACKAGE_BUGREPORT)}; CLIENT_BUGREPORT)};
} }
} }
return ret; return ret;

View file

@ -21,7 +21,7 @@ std::string StrFormatInternalBug(std::string_view msg, std::string_view file, in
return strprintf("Internal bug detected: %s\n%s:%d (%s)\n" return strprintf("Internal bug detected: %s\n%s:%d (%s)\n"
"%s %s\n" "%s %s\n"
"Please report this issue here: %s\n", "Please report this issue here: %s\n",
msg, file, line, func, PACKAGE_NAME, FormatFullVersion(), PACKAGE_BUGREPORT); msg, file, line, func, CLIENT_NAME, FormatFullVersion(), CLIENT_BUGREPORT);
} }
NonFatalCheckError::NonFatalCheckError(std::string_view msg, std::string_view file, int line, std::string_view func) NonFatalCheckError::NonFatalCheckError(std::string_view msg, std::string_view file, int line, std::string_view func)

View file

@ -3453,7 +3453,7 @@ bool Chainstate::ActivateBestChain(BlockValidationState& state, std::shared_ptr<
// chainstate past the snapshot base block. // chainstate past the snapshot base block.
if (WITH_LOCK(::cs_main, return m_disabled)) { if (WITH_LOCK(::cs_main, return m_disabled)) {
LogPrintf("m_disabled is set - this chainstate should not be in operation. " LogPrintf("m_disabled is set - this chainstate should not be in operation. "
"Please report this as a bug. %s\n", PACKAGE_BUGREPORT); "Please report this as a bug. %s\n", CLIENT_BUGREPORT);
return false; return false;
} }
@ -3852,7 +3852,7 @@ void ChainstateManager::ReceivedBlockTransactions(const CBlock& block, CBlockInd
if (!Assume(pindexNew->m_chain_tx_count == 0 || pindexNew->m_chain_tx_count == prev_tx_sum(*pindexNew) || if (!Assume(pindexNew->m_chain_tx_count == 0 || pindexNew->m_chain_tx_count == prev_tx_sum(*pindexNew) ||
pindexNew == GetSnapshotBaseBlock())) { pindexNew == GetSnapshotBaseBlock())) {
LogWarning("Internal bug detected: block %d has unexpected m_chain_tx_count %i that should be %i (%s %s). Please report this issue here: %s\n", LogWarning("Internal bug detected: block %d has unexpected m_chain_tx_count %i that should be %i (%s %s). Please report this issue here: %s\n",
pindexNew->nHeight, pindexNew->m_chain_tx_count, prev_tx_sum(*pindexNew), PACKAGE_NAME, FormatFullVersion(), PACKAGE_BUGREPORT); pindexNew->nHeight, pindexNew->m_chain_tx_count, prev_tx_sum(*pindexNew), CLIENT_NAME, FormatFullVersion(), CLIENT_BUGREPORT);
pindexNew->m_chain_tx_count = 0; pindexNew->m_chain_tx_count = 0;
} }
pindexNew->nFile = pos.nFile; pindexNew->nFile = pos.nFile;
@ -3880,7 +3880,7 @@ void ChainstateManager::ReceivedBlockTransactions(const CBlock& block, CBlockInd
// incorrect hardcoded AssumeutxoData::m_chain_tx_count value. // incorrect hardcoded AssumeutxoData::m_chain_tx_count value.
if (!Assume(pindex->m_chain_tx_count == 0 || pindex->m_chain_tx_count == prev_tx_sum(*pindex))) { if (!Assume(pindex->m_chain_tx_count == 0 || pindex->m_chain_tx_count == prev_tx_sum(*pindex))) {
LogWarning("Internal bug detected: block %d has unexpected m_chain_tx_count %i that should be %i (%s %s). Please report this issue here: %s\n", LogWarning("Internal bug detected: block %d has unexpected m_chain_tx_count %i that should be %i (%s %s). Please report this issue here: %s\n",
pindex->nHeight, pindex->m_chain_tx_count, prev_tx_sum(*pindex), PACKAGE_NAME, FormatFullVersion(), PACKAGE_BUGREPORT); pindex->nHeight, pindex->m_chain_tx_count, prev_tx_sum(*pindex), CLIENT_NAME, FormatFullVersion(), CLIENT_BUGREPORT);
} }
pindex->m_chain_tx_count = prev_tx_sum(*pindex); pindex->m_chain_tx_count = prev_tx_sum(*pindex);
pindex->nSequenceId = nBlockSequenceId++; pindex->nSequenceId = nBlockSequenceId++;
@ -5564,7 +5564,7 @@ double GuessVerificationProgress(const ChainTxData& data, const CBlockIndex *pin
if (!Assume(pindex->m_chain_tx_count > 0)) { if (!Assume(pindex->m_chain_tx_count > 0)) {
LogWarning("Internal bug detected: block %d has unset m_chain_tx_count (%s %s). Please report this issue here: %s\n", LogWarning("Internal bug detected: block %d has unset m_chain_tx_count (%s %s). Please report this issue here: %s\n",
pindex->nHeight, PACKAGE_NAME, FormatFullVersion(), PACKAGE_BUGREPORT); pindex->nHeight, CLIENT_NAME, FormatFullVersion(), CLIENT_BUGREPORT);
return 0.0; return 0.0;
} }
@ -6083,7 +6083,7 @@ SnapshotCompletionResult ChainstateManager::MaybeCompleteSnapshotValidation()
"Please report this incident to %s, including how you obtained the snapshot. " "Please report this incident to %s, including how you obtained the snapshot. "
"The invalid snapshot chainstate will be left on disk in case it is " "The invalid snapshot chainstate will be left on disk in case it is "
"helpful in diagnosing the issue that caused this error."), "helpful in diagnosing the issue that caused this error."),
PACKAGE_NAME, snapshot_tip_height, snapshot_base_height, snapshot_base_height, PACKAGE_BUGREPORT CLIENT_NAME, snapshot_tip_height, snapshot_base_height, snapshot_base_height, CLIENT_BUGREPORT
); );
LogError("[snapshot] !!! %s\n", user_error.original); LogError("[snapshot] !!! %s\n", user_error.original);

View file

@ -757,7 +757,7 @@ RPCHelpMan dumpwallet()
std::sort(vKeyBirth.begin(), vKeyBirth.end()); std::sort(vKeyBirth.begin(), vKeyBirth.end());
// produce output // produce output
file << strprintf("# Wallet dump created by %s %s\n", PACKAGE_NAME, FormatFullVersion()); file << strprintf("# Wallet dump created by %s %s\n", CLIENT_NAME, FormatFullVersion());
file << strprintf("# * Created on %s\n", FormatISO8601DateTime(GetTime())); file << strprintf("# * Created on %s\n", FormatISO8601DateTime(GetTime()));
file << strprintf("# * Best block at time of backup was %i (%s),\n", wallet.GetLastBlockHeight(), wallet.GetLastBlockHash().ToString()); file << strprintf("# * Best block at time of backup was %i (%s),\n", wallet.GetLastBlockHeight(), wallet.GetLastBlockHash().ToString());
file << strprintf("# mined on %s\n", FormatISO8601DateTime(block_time)); file << strprintf("# mined on %s\n", FormatISO8601DateTime(block_time));

View file

@ -282,7 +282,7 @@ void SQLiteDatabase::Open()
// Now begin a transaction to acquire the exclusive lock. This lock won't be released until we close because of the exclusive locking mode. // Now begin a transaction to acquire the exclusive lock. This lock won't be released until we close because of the exclusive locking mode.
int ret = sqlite3_exec(m_db, "BEGIN EXCLUSIVE TRANSACTION", nullptr, nullptr, nullptr); int ret = sqlite3_exec(m_db, "BEGIN EXCLUSIVE TRANSACTION", nullptr, nullptr, nullptr);
if (ret != SQLITE_OK) { if (ret != SQLITE_OK) {
throw std::runtime_error("SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of " PACKAGE_NAME "?\n"); throw std::runtime_error("SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of " CLIENT_NAME "?\n");
} }
ret = sqlite3_exec(m_db, "COMMIT", nullptr, nullptr, nullptr); ret = sqlite3_exec(m_db, "COMMIT", nullptr, nullptr, nullptr);
if (ret != SQLITE_OK) { if (ret != SQLITE_OK) {

View file

@ -2495,7 +2495,7 @@ bool CWallet::DelAddressBookWithDB(WalletBatch& batch, const CTxDestination& add
// NOTE: This isn't a problem for sending addresses because they don't have any data that needs to be kept. // NOTE: This isn't a problem for sending addresses because they don't have any data that needs to be kept.
// When adding new address data, it should be considered here whether to retain or delete it. // When adding new address data, it should be considered here whether to retain or delete it.
if (IsMine(address)) { if (IsMine(address)) {
WalletLogPrintf("%s called with IsMine address, NOT SUPPORTED. Please report this bug! %s\n", __func__, PACKAGE_BUGREPORT); WalletLogPrintf("%s called with IsMine address, NOT SUPPORTED. Please report this bug! %s\n", __func__, CLIENT_BUGREPORT);
return false; return false;
} }
// Delete data rows associated with this address // Delete data rows associated with this address
@ -3008,7 +3008,7 @@ std::shared_ptr<CWallet> CWallet::Create(WalletContext& context, const std::stri
walletFile)); walletFile));
} }
else if (nLoadWalletRet == DBErrors::TOO_NEW) { else if (nLoadWalletRet == DBErrors::TOO_NEW) {
error = strprintf(_("Error loading %s: Wallet requires newer version of %s"), walletFile, PACKAGE_NAME); error = strprintf(_("Error loading %s: Wallet requires newer version of %s"), walletFile, CLIENT_NAME);
return nullptr; return nullptr;
} }
else if (nLoadWalletRet == DBErrors::EXTERNAL_SIGNER_SUPPORT_REQUIRED) { else if (nLoadWalletRet == DBErrors::EXTERNAL_SIGNER_SUPPORT_REQUIRED) {
@ -3017,7 +3017,7 @@ std::shared_ptr<CWallet> CWallet::Create(WalletContext& context, const std::stri
} }
else if (nLoadWalletRet == DBErrors::NEED_REWRITE) else if (nLoadWalletRet == DBErrors::NEED_REWRITE)
{ {
error = strprintf(_("Wallet needed to be rewritten: restart %s to complete"), PACKAGE_NAME); error = strprintf(_("Wallet needed to be rewritten: restart %s to complete"), CLIENT_NAME);
return nullptr; return nullptr;
} else if (nLoadWalletRet == DBErrors::NEED_RESCAN) { } else if (nLoadWalletRet == DBErrors::NEED_RESCAN) {
warnings.push_back(strprintf(_("Error reading %s! Transaction data may be missing or incorrect." warnings.push_back(strprintf(_("Error reading %s! Transaction data may be missing or incorrect."

View file

@ -75,10 +75,10 @@ static std::shared_ptr<CWallet> MakeWallet(const std::string& name, const fs::pa
name); name);
} else if (load_wallet_ret == DBErrors::TOO_NEW) { } else if (load_wallet_ret == DBErrors::TOO_NEW) {
tfm::format(std::cerr, "Error loading %s: Wallet requires newer version of %s", tfm::format(std::cerr, "Error loading %s: Wallet requires newer version of %s",
name, PACKAGE_NAME); name, CLIENT_NAME);
return nullptr; return nullptr;
} else if (load_wallet_ret == DBErrors::NEED_REWRITE) { } else if (load_wallet_ret == DBErrors::NEED_REWRITE) {
tfm::format(std::cerr, "Wallet needed to be rewritten: restart %s to complete", PACKAGE_NAME); tfm::format(std::cerr, "Wallet needed to be rewritten: restart %s to complete", CLIENT_NAME);
return nullptr; return nullptr;
} else if (load_wallet_ret == DBErrors::NEED_RESCAN) { } else if (load_wallet_ret == DBErrors::NEED_RESCAN) {
tfm::format(std::cerr, "Error reading %s! Some transaction data might be missing or" tfm::format(std::cerr, "Error reading %s! Some transaction data might be missing or"

View file

@ -6,8 +6,8 @@
# test/*/test_runner.py and test/util/rpcauth-test.py # test/*/test_runner.py and test/util/rpcauth-test.py
[environment] [environment]
PACKAGE_NAME=@PACKAGE_NAME@ CLIENT_NAME=@CLIENT_NAME@
PACKAGE_BUGREPORT=@PACKAGE_BUGREPORT@ CLIENT_BUGREPORT=@CLIENT_BUGREPORT@
SRCDIR=@abs_top_srcdir@ SRCDIR=@abs_top_srcdir@
BUILDDIR=@abs_top_builddir@ BUILDDIR=@abs_top_builddir@
EXEEXT=@EXEEXT@ EXEEXT=@EXEEXT@

View file

@ -54,7 +54,7 @@ class AddrmanTest(BitcoinTestFramework):
peers_dat = os.path.join(self.nodes[0].chain_path, "peers.dat") peers_dat = os.path.join(self.nodes[0].chain_path, "peers.dat")
init_error = lambda reason: ( init_error = lambda reason: (
f"Error: Invalid or corrupt peers.dat \\({reason}\\). If you believe this " f"Error: Invalid or corrupt peers.dat \\({reason}\\). If you believe this "
f"is a bug, please report it to {self.config['environment']['PACKAGE_BUGREPORT']}. " f"is a bug, please report it to {self.config['environment']['CLIENT_BUGREPORT']}. "
f'As a workaround, you can move the file \\("{re.escape(peers_dat)}"\\) out of the way \\(rename, ' f'As a workaround, you can move the file \\("{re.escape(peers_dat)}"\\) out of the way \\(rename, '
"move, or delete\\) to have a new one created on the next start." "move, or delete\\) to have a new one created on the next start."
) )

View file

@ -30,7 +30,7 @@ class FilelockTest(BitcoinTestFramework):
self.log.info(f"Using datadir {datadir}") self.log.info(f"Using datadir {datadir}")
self.log.info("Check that we can't start a second bitcoind instance using the same datadir") self.log.info("Check that we can't start a second bitcoind instance using the same datadir")
expected_msg = f"Error: Cannot obtain a lock on data directory {datadir}. {self.config['environment']['PACKAGE_NAME']} is probably already running." expected_msg = f"Error: Cannot obtain a lock on data directory {datadir}. {self.config['environment']['CLIENT_NAME']} is probably already running."
self.nodes[1].assert_start_raises_init_error(extra_args=[f'-datadir={self.nodes[0].datadir_path}', '-noserver'], expected_msg=expected_msg) self.nodes[1].assert_start_raises_init_error(extra_args=[f'-datadir={self.nodes[0].datadir_path}', '-noserver'], expected_msg=expected_msg)
self.log.info("Check that cookie and PID file are not deleted when attempting to start a second bitcoind using the same datadir") self.log.info("Check that cookie and PID file are not deleted when attempting to start a second bitcoind using the same datadir")
@ -46,7 +46,7 @@ class FilelockTest(BitcoinTestFramework):
wallet_dir = self.nodes[0].wallets_path wallet_dir = self.nodes[0].wallets_path
self.log.info("Check that we can't start a second bitcoind instance using the same wallet") self.log.info("Check that we can't start a second bitcoind instance using the same wallet")
if descriptors: if descriptors:
expected_msg = f"Error: SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of {self.config['environment']['PACKAGE_NAME']}?" expected_msg = f"Error: SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of {self.config['environment']['CLIENT_NAME']}?"
else: else:
expected_msg = "Error: Error initializing wallet database environment" expected_msg = "Error: Error initializing wallet database environment"
self.nodes[1].assert_start_raises_init_error(extra_args=[f'-walletdir={wallet_dir}', f'-wallet={wallet_name}', '-noserver'], expected_msg=expected_msg, match=ErrorMatch.PARTIAL_REGEX) self.nodes[1].assert_start_raises_init_error(extra_args=[f'-walletdir={wallet_dir}', f'-wallet={wallet_name}', '-noserver'], expected_msg=expected_msg, match=ErrorMatch.PARTIAL_REGEX)

View file

@ -46,7 +46,7 @@ class SettingsTest(BitcoinTestFramework):
# Assert default settings file was created # Assert default settings file was created
self.stop_node(0) self.stop_node(0)
default_settings = {"_warning_": f"This file is automatically generated and updated by {self.config['environment']['PACKAGE_NAME']}. Please do not edit this file while the node is running, as any changes might be ignored or overwritten."} default_settings = {"_warning_": f"This file is automatically generated and updated by {self.config['environment']['CLIENT_NAME']}. Please do not edit this file while the node is running, as any changes might be ignored or overwritten."}
with settings.open() as fp: with settings.open() as fp:
assert_equal(json.load(fp), default_settings) assert_equal(json.load(fp), default_settings)

View file

@ -375,7 +375,7 @@ class TestBitcoinCli(BitcoinTestFramework):
self.log.info("Test -version with node stopped") self.log.info("Test -version with node stopped")
self.stop_node(0) self.stop_node(0)
cli_response = self.nodes[0].cli('-version').send_cli() cli_response = self.nodes[0].cli('-version').send_cli()
assert f"{self.config['environment']['PACKAGE_NAME']} RPC client version" in cli_response assert f"{self.config['environment']['CLIENT_NAME']} RPC client version" in cli_response
self.log.info("Test -rpcwait option successfully waits for RPC connection") self.log.info("Test -rpcwait option successfully waits for RPC connection")
self.nodes[0].start() # start node without RPC connection self.nodes[0].start() # start node without RPC connection

View file

@ -349,7 +349,7 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
self.log.error("Hint: Call {} '{}' to consolidate all logs".format(os.path.normpath(os.path.dirname(os.path.realpath(__file__)) + "/../combine_logs.py"), self.options.tmpdir)) self.log.error("Hint: Call {} '{}' to consolidate all logs".format(os.path.normpath(os.path.dirname(os.path.realpath(__file__)) + "/../combine_logs.py"), self.options.tmpdir))
self.log.error("") self.log.error("")
self.log.error("If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.") self.log.error("If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.")
self.log.error(self.config['environment']['PACKAGE_BUGREPORT']) self.log.error(self.config['environment']['CLIENT_BUGREPORT'])
self.log.error("") self.log.error("")
exit_code = TEST_EXIT_FAILED exit_code = TEST_EXIT_FAILED
# Logging.shutdown will not remove stream- and filehandlers, so we must # Logging.shutdown will not remove stream- and filehandlers, so we must

View file

@ -203,7 +203,7 @@ class ToolWalletTest(BitcoinTestFramework):
locked_dir = self.nodes[0].wallets_path locked_dir = self.nodes[0].wallets_path
error = 'Error initializing wallet database environment "{}"!'.format(locked_dir) error = 'Error initializing wallet database environment "{}"!'.format(locked_dir)
if self.options.descriptors: if self.options.descriptors:
error = f"SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of {self.config['environment']['PACKAGE_NAME']}?" error = f"SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of {self.config['environment']['CLIENT_NAME']}?"
self.assert_raises_tool_error( self.assert_raises_tool_error(
error, error,
'-wallet=' + self.default_wallet_name, '-wallet=' + self.default_wallet_name,

View file

@ -204,7 +204,7 @@ class MultiWalletTest(BitcoinTestFramework):
self.restart_node(0, ['-nowallet', '-walletdir=' + competing_wallet_dir]) self.restart_node(0, ['-nowallet', '-walletdir=' + competing_wallet_dir])
self.nodes[0].createwallet(self.default_wallet_name) self.nodes[0].createwallet(self.default_wallet_name)
if self.options.descriptors: if self.options.descriptors:
exp_stderr = f"Error: SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of {self.config['environment']['PACKAGE_NAME']}?" exp_stderr = f"Error: SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of {self.config['environment']['CLIENT_NAME']}?"
else: else:
exp_stderr = r"Error: Error initializing wallet database environment \"\S+competing_walletdir\S*\"!" exp_stderr = r"Error: Error initializing wallet database environment \"\S+competing_walletdir\S*\"!"
self.nodes[1].assert_start_raises_init_error(['-walletdir=' + competing_wallet_dir], exp_stderr, match=ErrorMatch.PARTIAL_REGEX) self.nodes[1].assert_start_raises_init_error(['-walletdir=' + competing_wallet_dir], exp_stderr, match=ErrorMatch.PARTIAL_REGEX)