Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 23 additions & 7 deletions openshift.spec
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,26 @@
%global commit 21fb40637c4e3507cca1fcab6c4d56b06950a149
}
%global shortcommit %(c=%{commit}; echo ${c:0:7})
# Openshift specific ldflags from hack/common.sh os::build:ldflags
%{!?ldflags:
%global ldflags -X github.com/openshift/origin/pkg/version.majorFromGit 0 -X github.com/openshift/origin/pkg/version.minorFromGit 2+ -X github.com/openshift/origin/pkg/version.versionFromGit v0.2.2-134-gc9e7c25aaf0e61-dirty -X github.com/openshift/origin/pkg/version.commitFromGit c9e7c25 -X github.com/GoogleCloudPlatform/kubernetes/pkg/version.gitCommit 72ad4f1 -X github.com/GoogleCloudPlatform/kubernetes/pkg/version.gitVersion v0.10.0-46-g72ad4f1
}
# String used for --images flag
# If you're setting docker_registry make sure it ends in a trailing /
%if "%{dist}" == ".el7ose"
%global docker_registry registry.access.redhat.com/
%global docker_namespace openshift3_beta
%global docker_prefix ose
%else
%global docker_namespace openshift
%global docker_prefix origin
%endif
%global docker_images %{?docker_registry}%{docker_namespace}/%{docker_prefix}-${component}:${version}

Name: openshift
Version: 0.2
Version: 0.2.2
#Release: 1git%{shortcommit}%{?dist}
Release: 3%{?dist}
Release: 4%{?dist}
Summary: Open Source Platform as a Service by Red Hat
License: ASL 2.0
URL: https://%{import_path}
Expand Down Expand Up @@ -77,12 +92,10 @@ export GOPATH=$(pwd)/_build:$(pwd)/_thirdpartyhacks:%{buildroot}%{gopath}:%{gopa
for cmd in openshift
do
#go build %{import_path}/cmd/${cmd}
go build -ldflags \
"-X github.com/GoogleCloudPlatform/kubernetes/pkg/version.gitCommit
%{shortcommit}
-X github.com/openshift/origin/pkg/version.commitFromGit
%{shortcommit}" %{import_path}/cmd/${cmd}
go build -ldflags "%{ldflags}" %{import_path}/cmd/${cmd}
done
# set the IMAGES
sed -i 's|IMAGES=.*|IMAGES=%{docker_images}|' rel-eng/openshift-{master,node}.sysconfig

%install

Expand Down Expand Up @@ -161,6 +174,9 @@ fi


%changelog
* Fri Feb 06 2015 Scott Dodson <[email protected]>
- new package built with tito

* Mon Jan 26 2015 Scott Dodson <[email protected]> 0.2-3
- Update to 21fb40637c4e3507cca1fcab6c4d56b06950a149
- Split packaging of openshift-master and openshift-node
Expand Down
23 changes: 0 additions & 23 deletions rel-eng/lib/embeddedcommitbuilder/__init__.py

This file was deleted.

35 changes: 0 additions & 35 deletions rel-eng/lib/embeddedcommittagger/__init__.py

This file was deleted.

Empty file.
56 changes: 56 additions & 0 deletions rel-eng/lib/openshift/builder/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
"""
Code for building Openshift v3
"""

from tito.common import get_latest_commit, run_command, get_script_path
from tito.builder import Builder

class OpenshiftBuilder(Builder):
"""
builder which defines 'commit' as the git hash prior to building

Used For:
- Packages that want to know the commit in all situations
"""

def _get_rpmbuild_dir_options(self):
git_hash = get_latest_commit()
cmd = '. ./hack/common.sh ; echo $(os::build::ldflags)'
ldflags = run_command('bash -c \'%s\'' % (cmd) )

return ('--define "_topdir %s" --define "_sourcedir %s" --define "_builddir %s" '
'--define "_srcrpmdir %s" --define "_rpmdir %s" --define "ldflags %s" '
'--define "commit %s" ' % (
self.rpmbuild_dir,
self.rpmbuild_sourcedir, self.rpmbuild_builddir,
self.rpmbuild_basedir, self.rpmbuild_basedir,
ldflags, git_hash))
def _setup_test_specfile(self):
if self.test and not self.ran_setup_test_specfile:
# If making a test rpm we need to get a little crazy with the spec
# file we're building off. (note that this is a temp copy of the
# spec) Swap out the actual release for one that includes the git
# SHA1 we're building for our test package:
setup_specfile_script = get_script_path("test-setup-specfile.pl")
cmd = "%s %s %s %s %s-%s %s" % \
(
setup_specfile_script,
self.spec_file,
self.git_commit_id[:7],
self.commit_count,
self.project_name,
self.display_version,
self.tgz_filename,
)
run_command(cmd)
# Custom Openshift v3 stuff follows, everything above is the standard
# builder
cmd = '. ./hack/common.sh ; echo $(os::build::ldflags)'
ldflags = run_command('bash -c \'%s\'' % (cmd) )
update_ldflags = "sed -i 's|^%%global ldflags .*$|%%global ldflags %s|' %s" % \
(ldflags, self.spec_file)
output = run_command(update_ldflags)

self.build_version += ".git." + str(self.commit_count) + "." + str(self.git_commit_id[:7])
self.ran_setup_test_specfile = True

45 changes: 45 additions & 0 deletions rel-eng/lib/openshift/tagger/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
"""
Code for tagging Openshift v3 packages
"""

from tito.common import get_latest_commit, run_command
from tito.tagger import VersionTagger

class OpenshiftTagger(VersionTagger):
"""
Tagger which defines a specfile global 'commit' with the git hash at
which the tag was created. This also defines ldflags by importing
hack/common.sh and executing os::build::ldflags Setting %commit isn't
currently used, but seems to be the norm for RPM packaging of golang apps.

Requires that your commit is written on one single line as:
%global commit 460abe2a3abe0fa22ac96c551fe71c0fc36f7475

And that your ldflags are similarly on a single line, ie:
%global ldflags -X foo -X bar

Used For:
- Openshift v3, probably not much else
"""

def _tag_release(self):
"""
Tag a new release of the package, add specfile global named commit. (ie:
x.y.z-r+1) and ldflags from hack/common.sh os::build::ldflags
"""
self._make_changelog()
new_version = self._bump_version(release=True)
git_hash = get_latest_commit()
update_commit = "sed -i 's/^%%global commit .*$/%%global commit %s/' %s" % \
(git_hash, self.spec_file)
output = run_command(update_commit)

cmd = '. ./hack/common.sh ; echo $(os::build::ldflags)'
ldflags = run_command('bash -c \'%s\'' % (cmd) )
update_ldflags = "sed -i 's|^%%global ldflags .*$|%%global ldflags %s|' %s" % \
(ldflags, self.spec_file)
output = run_command(update_ldflags)

self._check_tag_does_not_exist(self._get_new_tag(new_version))
self._update_changelog(new_version)
self._update_package_metadata(new_version)
2 changes: 1 addition & 1 deletion rel-eng/openshift-master.service
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Documentation=https://github.com/openshift/origin
[Service]
Type=simple
EnvironmentFile=-/etc/sysconfig/openshift-master
ExecStart=/usr/bin/openshift start $ROLE $OPTIONS
ExecStart=/usr/bin/openshift start $ROLE --images=${IMAGES} $OPTIONS
WorkingDirectory=/var/lib/openshift/

[Install]
Expand Down
1 change: 1 addition & 0 deletions rel-eng/openshift-master.sysconfig
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
ROLE="master"
OPTIONS="--loglevel=0"
IMAGES='openshift/origin-${component}:${version}'
2 changes: 1 addition & 1 deletion rel-eng/openshift-node.service
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Documentation=https://github.com/openshift/origin
[Service]
Type=simple
EnvironmentFile=-/etc/sysconfig/openshift-node
ExecStart=/usr/bin/openshift start $ROLE $OPTIONS
ExecStart=/usr/bin/openshift start $ROLE --images=${IMAGES} $OPTIONS
WorkingDirectory=/var/lib/openshift/

[Install]
Expand Down
1 change: 1 addition & 0 deletions rel-eng/openshift-node.sysconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ OPTIONS="--loglevel=0"
# If running node on a separate host please rsync the admin directory ie:
# rsync root@openshift-master:/var/lib/openshift/openshift.local.certificates/admin /var/lib/openshift/openshift.local.certificates/
KUBECONFIG="/var/lib/openshift/openshift.local.certificates/admin/.kubeconfig"
IMAGES='openshift/origin-${component}:${version}'
4 changes: 2 additions & 2 deletions rel-eng/tito.props
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[buildconfig]
builder = embeddedcommitbuilder.EmbeddedCommitBuilder
tagger = embeddedcommittagger.EmbeddedCommitTagger
builder = openshift.builder.OpenshiftBuilder
tagger = openshift.tagger.OpenshiftTagger
changelog_do_not_remove_cherrypick = 0
changelog_format = %s (%ae)
lib_dir = rel-eng/lib