Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sample RPM spec file for Bitcoin 0.12.0 #7588

Closed
wants to merge 0 commits into from
Closed

Sample RPM spec file for Bitcoin 0.12.0 #7588

wants to merge 0 commits into from

Conversation

AliceWonderMiscreations
Copy link
Contributor

RPM is a powerful package management tool used by many distributions. The value of having bitcoin-core in Linux distributions that use RPM should be fairly obvious with the coming SegWit soft-fork and the possible block size hard fork, as it would allow users of distributions that include a Bitcoin RPM to keep up to date automatically.

Included in this pull request is a sample RPM spec file that "works for me" on CentOS 7 to build Bitcoin 0.12.0 safely using the recommended version of BerkeleyDB statically linked at build time, and running the necessary tests at build time to make sure the build was successful before the packaging succeeds.

@AliceWonderMiscreations
Copy link
Contributor Author

The failed Travis CI check is a win32 check, not sure what it was trying... this has nothing to do with win32.

@laanwj
Copy link
Member

laanwj commented Feb 24, 2016

Yes the travis faliure was unrelated to your changes, looks like a server side issue:

W: GPG error: http://ppa.launchpad.net precise Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5A9A06AEF9CB8DB0
5.94s$ if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES; fi
WARNING: The following packages cannot be authenticated!
  liblcms2-2 liblcms2-2 wine1.7-amd64 wine1.7-i386 wine1.7
E: There are problems and -y was used without --force-yes

Source10: https://raw.githubusercontent.com/bitcoin/bitcoin/master/contrib/debian/examples/bitcoin.conf

#man pages
Source20: https://raw.githubusercontent.com/bitcoin/bitcoin/master/contrib/debian/manpages/bitcoind.1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am unfamiliar with RPM spec files, but could this be made dynamic according to the release tag? e.g.

https://raw.githubusercontent.com/bitcoin/bitcoin/v%{version}/contrib/debian/examples/bitcoin.conf

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh I think I see what you mean, yes I think that could be done.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AliceWonderMiscreations
Copy link
Contributor Author

@btcdrak you can make a bitcoin.spec.in that has the current version created by the autoconf stuff when it creates bitcoin.spec but that practice is discouraged because there is no way to accurately track changes in the changelog then.

@AliceWonderMiscreations
Copy link
Contributor Author

I seem to be having trouble figuring out how to squash, all the docs seem to assume the reader is familiar with some concept I am not.

[alice@localhost bitcoin]$ git remote -v
AliceWonder https://github.com/AliceWonderMiscreations/bitcoin.git (fetch)
AliceWonder https://github.com/AliceWonderMiscreations/bitcoin.git (push)
origin  https://github.com/bitcoin/bitcoin.git (fetch)
origin  https://github.com/bitcoin/bitcoin.git (push)
[alice@localhost bitcoin]$ git branch -v
* AliceWonder 3174621 Merge #7583: [doc] Fix typos
  master      3174621 Merge #7583: [doc] Fix typos
[alice@localhost bitcoin]$

But it's not even showing the files I have modified, nor fetching them, no way to do a squash.

I'ts not worth my time to try and figure it out, I've wasted hours on it, I'm sure it is simple and I'm just a n00b that doesn't know what the dozen or so pages I have looked at assumes the reader knows.

So sorry, I can't squash.

@AliceWonderMiscreations
Copy link
Contributor Author

git pull AliceWonder -u master
git checkout master
git merge --squash AliceWonder
git commit

seems to have worked but I can't seem to make that appear here.

@AliceWonderMiscreations
Copy link
Contributor Author

I will try again as a single pull request.

@AliceWonderMiscreations
Copy link
Contributor Author

@laanwj @MarcoFalke I am going to wait until 0.12.1

At that point, the patch won't be needed for LibreSSL builds and at that point maybe I won't need to specify qt4 to configure and maybe at that point I'll have qt5 for RHEL/CentOS 7 working anyway from the Qt packages in EPEL.

So I will keep tweaking the spec file on my end but wait until 0.12.1 to try and do a pull request.

I also now have SELinux in my spec file on my own system, but I want to study it more to make damn sure it really is right.

@AliceWonderMiscreations
Copy link
Contributor Author

Okay I am going to re-open this after having done considerable work to make the spec file better.

It now defaults to qt5 but allows specifying qt4 or no GUI at build time. And it has SELinux stuff for the bitcoin-server package.

I would appreciate comments on anything that still needs tweaking before I try to do the squash.

@AliceWonderMiscreations
Copy link
Contributor Author

Gah I thought I had the squash thing figured out but I clearly don't, and now it is showing a few commits from other people that aren't related to this.

https://github.com/AliceWonderMiscreations/bitcoin/commit/0b8bda70a22a2474d4c1d0c3a279dd2196fe3d5e - how did my name get into that?

@btcdrak
Copy link
Contributor

btcdrak commented Feb 26, 2016

@AliceWonderMiscreations fwiw, squashing the merge commits is a pain. It might be easier to just copy the changed files, reset the tree and paste them back :-)

@AliceWonderMiscreations
Copy link
Contributor Author

@btcdrak Thank you - #7609

@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants