Conversation
|
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 |
|
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. |
|
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) |
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.
|
@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) |
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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