setup.nsi.in has "bitcoin" and "Bitcoin Core" hardcoded a lot #7265

issue JeremyRand opened this issue on December 30, 2015
  1. JeremyRand commented at 7:59 PM on December 30, 2015: contributor

    https://github.com/bitcoin/bitcoin/blob/master/share/setup.nsi.in has the strings "bitcoin" and "Bitcoin Core" hardcoded in many places, even though those strings are available via autoconf. This makes it slightly more bothersome to change the name of the project, because changing the AC_INIT line in configure.ac isn't sufficient.

    I don't know if this is something you want to fix in your repo, since it mostly only affects downstream projects like Namecoin. If you are interested in fixing this, I'd be happy to submit a PR.

  2. luke-jr commented at 11:49 PM on December 30, 2015: member

    To some extent, this is addressed by #7192. We do not aim to make altcoins easy, though, so "bitcoin" isn't likely to be un-hardcoded... (at least, I have no intention of doing it)

  3. MarcoFalke commented at 11:53 PM on December 30, 2015: member

    Also "bitcoin" is used in URLs and comments, and I don't think you can softcode those. Non-disruptive PRs are welcome, though.

  4. DavidVorick commented at 2:41 PM on December 31, 2015: none

    We do not aim to make altcoins easy

    That's anti-social. If someone wants to fork the client, rebrand it, but still use the same genesis block and consensus rules, I don't see the issue. Even if they plan on making an altcoin, part of open source is the freedom to change the things you disagree with.

    Especially for things like MITcoin, which was a purely educational altcoin that never gained any momentum, nor was it ever intended to gain any moment.

  5. sipa commented at 2:48 PM on December 31, 2015: member

    I think there is some subtlety here.

    I am opposed to actively making maintaining forked codebases harder. That is counterproductive for various reasons, including being usually against code cleanliness objectives, and making test deployments harder.

    However, I also don't think there is an obligation to making forks' life easier where it implies a significant review, maintenance, or performance inpact on Bitcoin Core.

  6. luke-jr commented at 3:09 PM on December 31, 2015: member

    @DavidVorick

    If someone wants to fork the client, rebrand it, but still use the same genesis block and consensus rules, I don't see the issue.

    That is exactly what #7192 makes easier.

    Even if they plan on making an altcoin, part of open source is the freedom to change the things you disagree with.

    Sure, but that doesn't mean we need to go out of the way to make it easier. What @sipa said.

    Especially for things like MITcoin, which was a purely educational altcoin that never gained any momentum, nor was it ever intended to gain any moment.

    In such cases, I don't see a problem with just leaving everything labelled "bitcoins".

  7. JeremyRand commented at 9:33 PM on December 31, 2015: contributor

    Hello,

    I notice that I was a little bit vague; apologies for this.

    First off, thanks @luke-jr for pointing out #7192 ; that's definitely helpful.

    The specific issue I'm having is as follows:

    Namecoin's build scripts generate Windows executable files such as "namecoind.exe" and "namecoin-qt.exe" rather than "bitcoind.exe" and "bitcoin-qt.exe". (I don't think this is specific to altcoins, since non-altcoin forks of Bitcoin Core may very well change these as well.) I'm not 100% sure where in the Namecoin build scripts "bitcoin" is changed to "namecoin" in the output filenames, but it seems to me that PACKAGE_TARNAME as defined in configure.ac's AC_INIT line is the logical place to do this. (If anyone disagrees, by all means correct me and tell me why I'm wrong.) In any event, Namecoin is successfully generating namecoind.exe and namecoin-qt.exe, but setup.nsi.in (which Namecoin hasn't modified from Bitcoin's codebase yet) has the filenames "bitcoind.exe" and "bitcoin-qt.exe" hardcoded, which causes the NSIS installer build step to fail. It seems to me that replacing "bitcoin" in those filename strings with a reference to PACKAGE_TARNAME would fix this. (Indeed, I tested such a change and it got Namecoin to build a working installer.) Certainly the Namecoin devs could just do a search/replace of "bitcoin" to "namecoin" in that file; that just seems kind of kludgy given that PACKAGE_TARNAME is available.

    I'm definitely not asking about completely rebranding the UI to change "bitcoins" to some other currency unit. (While that would presumably be helpful for translations, i.e. not just altcoins, it's not the focus of this inquiry.)

    Cheers.

  8. luke-jr commented at 1:29 AM on January 1, 2016: member

    I don't think autotools makes it practical to abstract the final binary names, unfortunately. Maybe @theuni can provide a more informed opinion though.

  9. JeremyRand commented at 2:49 AM on January 20, 2016: contributor

    Is there a reason why PACKAGE_TARNAME is the wrong choice for this? Curious what @theuni thinks about this. (I'm not an autotools expert by any means, so I won't be surprised if I'm wrong.)

  10. theuni commented at 6:35 PM on January 22, 2016: member

    PACKAGE_TARNAME seems reasonable in places, the nsis script being one of them. At the time I autoconf'd that file, my intention was to make it completely generic using autoconf vars, but i decided to avoid changing too much at once as it might trigger this argument :)

    So, no complaints from me as long as it doesn't cause us extra work.

  11. JeremyRand commented at 8:39 AM on January 24, 2016: contributor

    Okay, sounds good. I'll submit a PR that uses PACKAGE_TARNAME in the nsis script, but I'll wait until after #7192 is merged so that risk of conflicts is reduced.

  12. laanwj added the label Build system on Feb 16, 2016
  13. laanwj commented at 11:54 AM on February 16, 2016: member

    @JeremyRand #7192 was merged

  14. laanwj added the label Feature on Feb 16, 2016
  15. JeremyRand commented at 2:10 PM on February 16, 2016: contributor

    Thanks for the reminder, I'll try to get on this soon.

  16. JeremyRand referenced this in commit ad8ca48dcd on Feb 26, 2016
  17. JeremyRand referenced this in commit 8b0a4ccb4c on Mar 19, 2016
  18. JeremyRand referenced this in commit 26880c34cd on Apr 11, 2016
  19. laanwj closed this on Apr 15, 2016

  20. kazcw referenced this in commit f87d2cc645 on Apr 16, 2016
  21. gavinandresen referenced this in commit b03a7d18a6 on Apr 18, 2016
  22. lateminer referenced this in commit a77a6438c8 on Jan 9, 2018
  23. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-15 03:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me