Armory is a Python-based Bitcoin client. Reproducible: Always
Created attachment 331264 [details] Example ebuild for armory-0.85 beta
Please submit a merge request to the Bitcoin overlay for this. https://gitorious.org/bitcoin/gentoo
As for the attached ebuild, I found the following bugs: - "full featured" doesn't seem right when it depends on another bitcoin client to do the basic networking/validation for it - Pretty sure RDEPEND should be on bitcoind, at least as an alternative to bitcoin-qt. - A number of DEPEND entries should likely be in RDEPEND instead/also.
Created attachment 344970 [details] armory 0.87.2-beta This is my ebuild; you can find it as well in the tbc overlay via layman. I'll try and track armory. Now let's see how to get in touch with the bitcoin overlay.
(In reply to comment #4) > Created attachment 344970 [details] > armory 0.87.2-beta Please correct the license to GPLv2 per skel.ebuild. DESCRIPTION should be one line
Created attachment 345592 [details] armory-0.87.2_beta.ebuild I made the requested changes including the change to GPL-v2. As the WTFPL is officially compatible with the GPL-v2 the ebuild in my personal overlay will retain that license.
(In reply to Luke-Jr from comment #3) > - Pretty sure RDEPEND should be on bitcoind, at least as an alternative to > bitcoin-qt. The correct value for RDEPEND varies based on the mode of usage. If Armory is used in online mode it has a runtime dependence on either bitcoind or bitcoin-qt. From versions 0.88 onward bitcoind is preferred for online mode. If Armory is used in offline mode then it requires neither bitcoind nor bitcoin-qt.
(In reply to Justus Ranvier from comment #7) > (In reply to Luke-Jr from comment #3) > > - Pretty sure RDEPEND should be on bitcoind, at least as an alternative to > > bitcoin-qt. > > The correct value for RDEPEND varies based on the mode of usage. If Armory > is used in online mode it has a runtime dependence on either bitcoind or > bitcoin-qt. > > From versions 0.88 onward bitcoind is preferred for online mode. > > If Armory is used in offline mode then it requires neither bitcoind nor > bitcoin-qt. How about "network? ( || ( net-p2p/bitcoind net-p2p/bitcoin-qt ) )" ?
Created attachment 350076 [details] armory-0.88.ebuild (In reply to Luke-Jr from comment #8) > How about "network? ( || ( net-p2p/bitcoind net-p2p/bitcoin-qt ) )" ? I've incorporated that into an updated ebuild for 0.88. Another issue that I'm not sure how to best address is that Armory assumes bitcoind will store its files in the current user's home directory and the bitcoind ebuild stores them in /var/lib/bitcoin. Making both Armory and bitcoind work as expected from a Gentoo perspective requires a signifigant amount of manual configuration.
(In reply to Justus Ranvier from comment #9) > I've incorporated that into an updated ebuild for 0.88. RDEPEND can use ${DEPEND} to simplify. sed never fails, even if no match is found. > Another issue that I'm not sure how to best address is that Armory assumes > bitcoind will store its files in the current user's home directory and the > bitcoind ebuild stores them in /var/lib/bitcoin. > > Making both Armory and bitcoind work as expected from a Gentoo perspective > requires a signifigant amount of manual configuration. Probably should provide a patch to handle this. Maybe RDEPEND needs to be specific to bitcoind or Bitcoin-Qt for starters?
(In reply to Luke-Jr from comment #10) > Probably should provide a patch to handle this. > Maybe RDEPEND needs to be specific to bitcoind or Bitcoin-Qt for starters? Might be able to convince Etotheipi to make some behavior configurable at compile time. I think all that is needed to make everything work correctly as far as being able to start bitcoind via OpenRC and also use Armory is for the user running Armory to be in the bitcoin group and for Armory to be told at compile time to look for the block database in /var/lib/bitcoin/.bitcoin instead of ~/.bitcoin. On the bitcoind side the permissions in /var/lib/bitcoin/.bitcoin would need to be adjusted so that users in the bitcoin group have read access to the block database but not wallet.dat.
Created attachment 350078 [details] armory-0.88.ebuild
(In reply to Justus Ranvier from comment #11) > (In reply to Luke-Jr from comment #10) > > Probably should provide a patch to handle this. > > Maybe RDEPEND needs to be specific to bitcoind or Bitcoin-Qt for starters? > > Might be able to convince Etotheipi to make some behavior configurable at > compile time. You mean run time, I think? :) > I think all that is needed to make everything work correctly as far as being > able to start bitcoind via OpenRC and also use Armory is for the user > running Armory to be in the bitcoin group and for Armory to be told at > compile time to look for the block database in /var/lib/bitcoin/.bitcoin > instead of ~/.bitcoin. > > On the bitcoind side the permissions in /var/lib/bitcoin/.bitcoin would need > to be adjusted so that users in the bitcoin group have read access to the > block database but not wallet.dat. Maybe a sudoers.d file to allow the bitcoind init script to be started (only) by bitcoin group users, and modify Armory to attempt it.
(In reply to Luke-Jr from comment #13) > You mean run time, I think? :) No, compile time. There is already a -datadir option for Armory that can be used at run time but using that means patching the .desktop file. I'd rather be able to do something like: configure --default-datadir=/var/lib/bitcoin
(In reply to Justus Ranvier from comment #14) > (In reply to Luke-Jr from comment #13) > > You mean run time, I think? :) > > No, compile time. There is already a -datadir option for Armory that can be > used at run time but using that means patching the .desktop file. > > I'd rather be able to do something like: configure > --default-datadir=/var/lib/bitcoin That doesn't sound like a good solution. We don't know at build-time whether Armory will be used with bitcoind or with Bitcoin-Qt. Best to have the default datadir be autodetected in some way.
(In reply to Luke-Jr from comment #15) > That doesn't sound like a good solution. We don't know at build-time whether > Armory will be used with bitcoind or with Bitcoin-Qt. In order to do this cleanly at run time Armory should check for the existance of an /etc/armory configuration file where command line parameters like -datadir can be specified. It could also have a list of fallback locations to check in case the blockchain files aren't found in the specified location.
(In reply to Justus Ranvier from comment #16) > (In reply to Luke-Jr from comment #15) > > That doesn't sound like a good solution. We don't know at build-time whether > > Armory will be used with bitcoind or with Bitcoin-Qt. > > In order to do this cleanly at run time Armory should check for the > existance of an /etc/armory configuration file where command line parameters > like -datadir can be specified. > > It could also have a list of fallback locations to check in case the > blockchain files aren't found in the specified location. I don't think there's any reason Armory couldn't use multiple locations, even. :)
I've submitted pull requsts to the bitcoin overlay containing these ebuilds.