Added transitive source build for ATS.#5004
Conversation
b23787a to
02b7144
Compare
There was a problem hiding this comment.
Looks good in general, built all/optional here
The one other thing Id be uncertain of is including luacrypto in this build. We use it for old antiquated reasons and its horribly out of date and unsupported. Our only use case does have an ATS plugin to serve that purpose anyway so Id be inclined to say it should be removed in general to not give people the idea that its good to be using it
|
I'll investigate removing luacrypto and update. |
02b7144 to
bc6e855
Compare
|
TR failed to build in the CI for this PR due to a rate limiting issue that #5036 fixed. Would you please rebase onto master so it can run again? |
bc6e855 to
40adb4b
Compare
This provides a basic Apache Traffic Server compile, complete with relevant libraries, that can be used along with Traffic Control.
40adb4b to
0b3b101
Compare
|
Force-pushing to rebase is fine if the diffs of the commits themselves don't change in the process (other than to resolve any merge conflicts). For the sake of reviewers: For future changes, please keep separate your original commit(s) from commits containing changes made in response to PR reviews. |
|
I did have to rebase this on to master in order to handle the GO_VERSION stuff, because none of that was in the version I had built off of. |
The lines had spaces where the file intended to use tabs. This has been corrected.
These were introduced erroneously as the result of a merge conflict resolution.
|
|
Scratch that, I just needed to restart Docker |
pkg
Outdated
| fi | ||
|
|
||
| # Update the ownership of the artefacts to match the main repo. | ||
| chown -R "$(stat -c '%u:%g' .)" dist |
There was a problem hiding this comment.
This line causes the build to "fail" (even though the RPMs are successfully built) when pkg is not run using sudo:
Requires(rpmlib): rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
Checking for unpackaged file(s): /usr/lib/rpm/check-files /rpmbuilddir/BUILDROOT/trafficserver-8.0.8-11.3a53261.el7.x86_64
Wrote: /rpmbuilddir/RPMS/x86_64/trafficserver-8.0.8-11.3a53261.el7.x86_64.rpm
Wrote: /rpmbuilddir/RPMS/x86_64/trafficserver-debuginfo-8.0.8-11.3a53261.el7.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.lnPh60
+ umask 022
+ cd /rpmbuilddir/BUILD
+ cd trafficserver-8.0.8
+ rm -rf /rpmbuilddir/BUILDROOT/trafficserver-8.0.8-11.3a53261.el7.x86_64
+ exit 0
chown: changing ownership of 'dist/trafficserver-debuginfo-8.0.8-11.3a53261.el7.x86_64.rpm': Operation not permitted
chown: changing ownership of 'dist/build.log': Operation not permitted
chown: changing ownership of 'dist/trafficserver-8.0.8-11.3a53261.el7.x86_64.rpm': Operation not permitted
Failed to build ats_build.
Results in 'dist':
total 58376
-rw-r--r-- 1 root root 849202 Dec 4 12:22 build.log
-rw-r--r-- 1 root root 51845204 Dec 4 12:22 trafficserver-debuginfo-8.0.8-11.3a53261.el7.x86_64.rpm
-rw-r--r-- 1 root root 7066360 Dec 4 12:22 trafficserver-8.0.8-11.3a53261.el7.x86_64.rpm
lrwxrwxrwx 1 zhoffm468 zhoffm468 60 Dec 4 12:13 dist -> /home/zhoffm468/go/src/github.com/apache/trafficcontrol/dist
Failed to build ats.
Results in 'dist':
total 58376
-rw-r--r-- 1 root root 849202 Dec 4 12:22 build.log
-rw-r--r-- 1 root root 51845204 Dec 4 12:22 trafficserver-debuginfo-8.0.8-11.3a53261.el7.x86_64.rpm
-rw-r--r-- 1 root root 7066360 Dec 4 12:22 trafficserver-8.0.8-11.3a53261.el7.x86_64.rpm
lrwxrwxrwx 1 zhoffm468 zhoffm468 60 Dec 4 12:13 dist -> /home/zhoffm468/go/src/github.com/apache/trafficcontrol/dist
All of our Docker builders use clean_build.sh, which set artifact ownership on exist:
trafficcontrol/build/clean_build.sh
Lines 22 to 26 in ac0b391
Ownership should be set within Docker so that root privileges is not a requirement for running pkg.
There was a problem hiding this comment.
This permissions issue will affect people using the optional docker-compose, so people building other components won't be affected. We can address this later.
…ed up. It was being left in place when the build did not succeed.
This only works when pkg is run with enough permissions to modify the files it creates.
This provides a basic Apache Traffic Server compile, complete with relevant
libraries, that can be used along with Traffic Control.
What does this PR (Pull Request) do?
Adds a transitive source build recipe for producing ATS RPMs that work nicely with ATC, for either testing or production purposes.
Which Traffic Control components are affected by this PR?
What is the best way to verify this PR?
Build the RPMs with
./pkg -oand./pkg -aand ensure that the correct RPMs are produced successfully. Additionally, test./pkgto ensure that it does not produce these RPMs by default.The following criteria are ALL met by this PR
Additional Information
It might be helpful to review the documentation for
tsbhere: https://comcast.github.io/tsb/