Skip to content

RPMs for Centos 5/6/7#332

Merged
technoweenie merged 4 commits intogit-lfs:masterfrom
andyneff:centos_rpms
Jun 17, 2015
Merged

RPMs for Centos 5/6/7#332
technoweenie merged 4 commits intogit-lfs:masterfrom
andyneff:centos_rpms

Conversation

@andyneff
Copy link
Contributor

A set of RPMs that will build git-lfs on CentOS 5, 6, and 7 for #328. A build_rpm.bsh script is included to basically automate installing (and build in the case of CentOS 5 and 6) the build dependencies, and build the git-lfs rpm and srpm

@technoweenie
Copy link
Contributor

Instead of requiring ruby for people downloading rpms, is there a way that the rpm build script could generate them locally and have the rpm just bundle them?

Also, we're looking at changing how Go dependencies are managed (#330 or #331), which could change the project structure. It looks like the script calls script/bootstrap which means nothing should change. Just FYI.

@andyneff
Copy link
Contributor Author

Ruby is NOT required for people downloading the rpm, it is only required to build the RPM from source (hence the BuildRequires:) It will never show up as a problem/dependency for someone downloading and using the final rpm. I only added ALLLLL the others for whomever chooses to build the RPMs for completeness.

It generates separate rpms for ruby/the gems/go ONLY for the purpose of building the final git-lfs. So in essence they are creating their own bundles (and installs them) just for the person creating the rpms (at release time... or for that enthusiastic user out there to DIY). This is best way to fit into how redhat does things.

If you do not like this, what I CAN look into is instead of installing the ruby/gem/go in the the system (prefix /) I can make the build script install them into the local prefix.

The person building the rpms also has the option of having thier own ruby/go setup, and just calling the rpmbuild command (really, the last line of the build_rpm script) with --nodeps.

These are all things I want to cover in the README I have not written yet.

@technoweenie
Copy link
Contributor

@andyneff: can you confirm this works with master? We've made some major changes (see #345).

@andyneff
Copy link
Contributor Author

I will try and confirm by Sunday (and add an option to run off of currently checked out version instead of ONLY a tar ball)

andyneff added 3 commits May 28, 2015 23:34
Currently uses the the internal golang linker, so
git-lfs has no build-id. The debug pacakges will
not work out of the box until this is fixed.
@andyneff
Copy link
Contributor Author

@technoweenie, with these new changes, everything works for building RPMs against the new master from yesterday, and I added running scripts/test to the rpm (to be run under the %check section).

(BTW: I went adding the symlink myself)

@technoweenie technoweenie mentioned this pull request Jun 11, 2015
38 tasks
@michael-k michael-k mentioned this pull request Jun 14, 2015
technoweenie added a commit that referenced this pull request Jun 17, 2015
@technoweenie technoweenie merged commit 38a1caf into git-lfs:master Jun 17, 2015
chrisd8088 added a commit to chrisd8088/git-lfs that referenced this pull request Dec 27, 2022
Since the original introduction of the rpm/build_rpms.bsh script in
commit 4a71627 of PR git-lfs#332 it has
checked for the absence of the "go" binary and, if it is not found,
installs the golang package, except on CentOS 5 where fetches and
patches a golang.spec file and then builds a local RPM using that
in order to install Go.

However, in commit b560b85 of PR git-lfs#1298 and
in commit git-lfs/build-dockers@64a3a9f of
PR git-lfs/build-dockers#3 we dropped support for CentOS 5.

And in commit 88430de of PR git-lfs#654 we
updated our CentOS Dockerfiles (before they were moved to the
git-lfs/build-dockers repository) to download and install Go from the
googleapis.com service, and we still continue to do this but as of
commit git-lfs/build-dockers@c638503
in PR git-lfs/build-dockers#35 we now use the golang.org service.

This direct download obviates the logic in our rpm/build_rpms.bsh
script to install the golang package, and the special handling for
CentOS 5 is also obsolete, so we remove this logic from our script.
chrisd8088 added a commit to chrisd8088/build-dockers that referenced this pull request Dec 27, 2022
Since the original introduction of support for building CentOS RPMs
in commit git-lfs/git-lfs@4a71627 of
PR git-lfs/git-lfs#332, an rpm/clean.bsh script has been provided
to perform the equivalent of a "git clean -xdf" command on the
Git repository from which we build Git LFS.

However, this script is no longer needed as all of the CentOS and
Rocky Linux container image builds have a native Git package installed,
so we can drop this script from the git-lfs/git-lfs repository and
also drop our use of it here.
chrisd8088 added a commit to chrisd8088/build-dockers that referenced this pull request Dec 27, 2022
Since the original introduction of support for building CentOS RPMs
in commit git-lfs/git-lfs@4a71627 of
PR git-lfs/git-lfs#332, an rpm/clean.bsh script has been provided
to perform the equivalent of a "git clean -xdf" command on the
Git repository from which we build Git LFS.

However, this script is no longer needed as all of the CentOS and
Rocky Linux container image builds have a native Git package installed,
so we can drop this script from the git-lfs/git-lfs repository and
also drop our use of it here.
chrisd8088 added a commit to chrisd8088/git-lfs that referenced this pull request Dec 27, 2022
Since the original introduction of the rpm/build_rpms.bsh script in
commit 4a71627 of PR git-lfs#332 it has
checked for the absence of the "go" binary and, if it is not found,
installs the golang package, except on CentOS 5 where fetches and
patches a golang.spec file and then builds a local RPM using that
in order to install Go.

However, in commit b560b85 of PR git-lfs#1298 and
in commit git-lfs/build-dockers@64a3a9f of
PR git-lfs/build-dockers#3 we dropped support for CentOS 5.

And in commit 88430de of PR git-lfs#654 we
updated our CentOS Dockerfiles (before they were moved to the
git-lfs/build-dockers repository) to download and install Go from the
googleapis.com service, and we still continue to do this but as of
commit git-lfs/build-dockers@c638503
in PR git-lfs/build-dockers#35 we now use the golang.org service.

This direct download obviates the logic in our rpm/build_rpms.bsh
script to install the golang package, and the special handling for
CentOS 5 is also obsolete, so we remove this logic from our script.
chrisd8088 added a commit to chrisd8088/git-lfs that referenced this pull request Dec 27, 2022
Since the original introduction of the rpm/build_rpms.bsh script in
commit 4a71627 of PR git-lfs#332 it has
installed a number of packages, including make, curl, tar, and bison.

Then in commit a4c9db8 of PR git-lfs#480 the
perl-Digest-SHA package was added as an install target as well.

However, we no longer need to install any of these, either because the
are already installed by our CentOS and Rocky Linux Dockerfiles in
our git-lfs/build-dockers project, or because they are simply unused
at present, so we remove these packages now.
chrisd8088 added a commit to chrisd8088/git-lfs that referenced this pull request Dec 28, 2022
Our rpm/build_rpms.bsh script currently attempts to parse the
/etc/os-release file to retrieve the major OS version number, and
if that file does not exist, reads /etc/redhat-release instead;
the latter logic has been in place since the introduction of the
script in commit 4a71627 of
PR git-lfs#332, and has been the fallback logic since commit
56ffe42 of PR git-lfs#555.

However, /etc/os-release should exist on all the current versions
of CentOS and Rocky Linux we support, so we do not need to retain
the fallback parsing of /etc/redhat-release at this point.
chrisd8088 added a commit to chrisd8088/git-lfs that referenced this pull request Dec 28, 2022
Since the original introduction of the rpm/build_rpms.bsh script in
commit 4a71627 of PR git-lfs#332 it has
checked for the absence of the "go" binary and, if it is not found,
installs the golang package, except on CentOS 5 where fetches and
patches a golang.spec file and then builds a local RPM using that
in order to install Go.

However, in commit b560b85 of PR git-lfs#1298 and
in commit git-lfs/build-dockers@64a3a9f of
PR git-lfs/build-dockers#3 we dropped support for CentOS 5.

And in commit 88430de of PR git-lfs#654 we
updated our CentOS Dockerfiles (before they were moved to the
git-lfs/build-dockers repository) to download and install Go from the
googleapis.com service, and we still continue to do this but as of
commit git-lfs/build-dockers@c638503
in PR git-lfs/build-dockers#35 we now use the golang.org service.

This direct download obviates the logic in our rpm/build_rpms.bsh
script to install the golang package, and the special handling for
CentOS 5 is also obsolete, so we remove this logic from our script.
chrisd8088 added a commit to chrisd8088/git-lfs that referenced this pull request Dec 28, 2022
Since the original introduction of the rpm/build_rpms.bsh script in
commit 4a71627 of PR git-lfs#332 it has
installed a number of packages, including make, curl, tar, and bison.

Then in commit a4c9db8 of PR git-lfs#480 the
perl-Digest-SHA package was added as an install target as well.

However, we no longer need to install any of these, either because the
are already installed by our CentOS and Rocky Linux Dockerfiles in
our git-lfs/build-dockers project, or because they are simply unused
at present, so we remove these packages now.
chrisd8088 added a commit to chrisd8088/git-lfs that referenced this pull request Dec 28, 2022
Since the original introduction of the rpm/build_rpms.bsh script in
commit 4a71627 of PR git-lfs#332 it has
installed a number of packages, including make, curl, tar, and bison.

Then in commit a4c9db8 of PR git-lfs#480 the
perl-Digest-SHA package was added as an install target as well.

However, we no longer need to install any of these, either because the
are already installed by our CentOS and Rocky Linux Dockerfiles in
our git-lfs/build-dockers project, or because they are simply unused
at present, so we remove these packages now.
chrisd8088 added a commit to chrisd8088/build-dockers that referenced this pull request Dec 28, 2022
Since the original introduction of support for building CentOS RPMs
in commit git-lfs/git-lfs@4a71627
of PR git-lfs/git-lfs#332, an rpm/clean.bsh script has been provided
to perform the equivalent of a "git clean -xdf" command on the
Git repository from which we build Git LFS.

However, this script is no longer needed as all of the CentOS and
Rocky Linux container image builds have a native Git package installed,
so we remove our use of it, and also drop the script from the primary
Git LFS project in PR git-lfs/git-lfs#5241.
chrisd8088 added a commit to chrisd8088/build-dockers that referenced this pull request Dec 28, 2022
Since the original introduction of support for building CentOS RPMs
in commit git-lfs/git-lfs@4a71627
of PR git-lfs/git-lfs#332, an rpm/clean.bsh script has been provided
to perform the equivalent of a "git clean -xdf" command on the
Git repository from which we build Git LFS.

However, this script is no longer needed as all of the CentOS and
Rocky Linux container image builds have a native Git package installed,
so we remove our use of it, and also drop the script from the primary
Git LFS project in PR git-lfs/git-lfs#5241.
chrisd8088 added a commit to chrisd8088/git-lfs that referenced this pull request Dec 28, 2022
Since the original introduction of support for building CentOS RPMs
in commit 4a71627 of PR git-lfs#332, an
rpm/clean.bsh script has been provided to perform the equivalent of
a "git clean -xdf" command on the Git repository from which we build
Git LFS.

However, this script is no longer needed as all of the CentOS and
Rocky Linux container image builds have a native Git package installed,
and so we remove the only use of it, in the centos_script.bsh script
of the git-lfs/build-dockers project, in commit
git-lfs/build-dockers@7be51a4 of
PR git-lfs/build-dockers#54, and can therefore also drop the
script from this repository as well.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants