-
Notifications
You must be signed in to change notification settings - Fork 83
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
SuSE/RPM merge specfiles and only build a single rpm for RH/SuSE #430
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks really great! To get rid of the suse.publish
target in the Makefile
, the suse/publish/publish.sh
script, and the SUSE_URL
, SUSEDIR
, and SUSE_WEBDIR
environment variables, we just need to get rid of the SUSE stage from https://github.com/jenkins-infra/release/blob/8951254c4a415d24d81b8b9c351b9bb6a07408f8/Jenkinsfile.d/core/package#L226-L248 and rename the existing "Red Hat" stage to something more generic like "RPM", as well as doing the same thing in https://github.com/jenkinsci/jenkins/blob/ba4690c5a461d3c7b4f375912c6c7ff7b02323ee/.github/workflows/publish-release-artifact.yml#L177-L211. Note that while the jenkinsci/jenkins
and jenkinsci/packaging
repositories have unstable weekly (e.g., master
) and stable LTS (e.g., stable-2.414
) branches, jenkins-infra/release
only has a single branch that is used for all releases, implying that for jenkins-infra/release
we should either retain the SUSE stage for LTS releases but skip it on weekly releases (doable, but requires some conditional logic) or backport this PR to the stable-2.414
of jenkinsci/packaging
and then remove SUSE entirely from jenkins-infra/release
and both the master
and stable-2.414
branches of jenkinsci/jenkins
. I have no strong preference either way, but it seems like less work in the long term to do the backport and be done with this SUSE stuff sooner rather than later.
A final (but very minor) point is that there was previously a nonsensical "1.2" version for the jenkins-2.373-1.2.noarch.rpm
(SUSE) RPM, which seemed to exist only to differentiate it from the "1.1" version used by the jenkins-2.373-1.1.noarch.rpm
(Red Hat) RPM. Since we're now combining these into one product, I wonder if it wouldn't be too hard to remove the "-1.1" from the (sole remaining) RPM, which would make it match our Debian product (e.g. jenkins_2.373_all.deb
). The "1.1" has no meaning in terms of Jenkins versioning. See #345.
An RPM is required to have a release number, so we cannot skip it completely. I changed it simply to "1" now. |
Sounds good.
the redhat rpm installed without problems. But isn't the suse publisher still needed for the |
Yes, that would work just fine. The more we can simplify things, the better, and having one fewer variant to maintain sounds like a great simplification. |
- merge openSUSE and Red Hat build scripts as well as their spec files and only build a single rpm - merge openSUSE and Red Hat publish scripts for a common rpm repository and a common web page - always gpg sign repomd.xml and set repo_gpgcheck for the common repo file - set releasever from 1.1 to 1 - (gitignore test-webroot)
Disclaimer: work-in-progress-commit, I expect it to break some tests. Also some things still need a little polish. The build and publish scripts of openSUSE and Red Hat have been merged into a common Notable changes for openSUSE:
Notable changes for Red Hat:
As the Tested with: # remove previous docroot
rm -rf pkg.jenkins.io
# import the rpm signing key and announce it to rpm
gpg --import credentials/test.secret.gpg
echo '%_gpg_name Bogus Test (This is test only key) <[email protected]>' > ~/.rpmmacros
# get the war
export ver="2.414.1"
wget -c https://get.jenkins.io/war-stable/${ver}/jenkins.war
# build the rpm and publish
WAR=${PWD}/jenkins.war MSI=/dev/null \
make rpm.publish \
BRAND=./branding/jenkins.mk VERSION=${ver} \
GPG_KEYNAME="Bogus Test" CREDENTIAL=${PWD}/credentials/test.mk PKGSERVER=${USER}@localhost \
WEBSERVER=localhost
# run test webserver
WAR=/dev/null MSI=/dev/null make test.local.setup |
beb61a6
to
cd7d47d
Compare
This PR contains the following changes:
%dir %{_datadir}/%{name}
I'm not sure how the publishing works, though. Probably I'll need a little help here.
Testing done
Submitter checklist
Fixes: #419