Skip to content

Commit

Permalink
Finish up the initial work to get mock builds working well within the
Browse files Browse the repository at this point in the history
existing build environment.
  • Loading branch information
Quentin Barnes committed Apr 21, 2015
1 parent 04fe515 commit eea42f8
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 30 deletions.
2 changes: 1 addition & 1 deletion linux/Makefile.jenkins
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

def_make_args = \
USE_MOCK=1 \
PLATFORMS='rh$(BUILD_DIST).$(BUILD_ARCH)'
PLATFORMS='rh$(BUILD_DIST).$(BUILD_ARCH)' \
BUILD_NUMBER='$(BUILD_NUMBER)'

def_deploy_rpms_args = -f -T results_*
Expand Down
22 changes: 19 additions & 3 deletions linux/iptables-daddr.spec
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
%if 0%{!?rhel_version:1}
%if 0%{?dist:1}
%if "%{dist}" == ".EL"
%define rhel_version 406
%endif
%if "%{dist}" == ".el5"
%define rhel_version 505
%endif
%if "%{dist}" == ".el6"
%define rhel_version 600
%endif
%if "%{dist}" == ".el7"
%define rhel_version 700
%endif
%endif
%endif

%if 0%{!?kmod_name:1}
%define kmod_name iptables-daddr
%endif
Expand Down Expand Up @@ -102,9 +119,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%define _prefix %{nil}
Source0: %{name}-%{version}.tar.bz2

%if 0%{?kmodtool_list:1}
%{expand:%(i=1000;for f in %{kmodtool_list};do echo "Source$i: $f";let i=i+1;done)}
%endif
Source50: kmodtool.el5
Source51: kmodtool.el6

# Create a preinstall and preuninstall scripts as a macro for processing
# with sed that ensures any existing {ipt,xt}_DADDR module, if present, can
Expand Down
20 changes: 12 additions & 8 deletions linux/mk/Makefile.sub
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,25 @@ tarball_mkvars = \
SPECFILE TARBALLFILE \
$(PACKAGE_SUB_EXTRA_VARS)

srpmfile = $(PKGNAME)$(DIST).src.rpm
rpmfile = $(PKGNAME)$(DIST).$(PKGARCH).rpm
PKGNAME_ext = $(PKGNAME)$(if $(BUILD_NUMBER),.$(BUILD_NUMBER))$(DIST)
srpmfile = $(PKGNAME_ext).src.rpm
rpmfile = $(PKGNAME_ext).$(PKGARCH).rpm

tarball = $(TARBALLBUILDDIR)/$(TARBALLFILE)
starball = $(SRCBUILDDIR)/SOURCES/$(TARBALLFILE)
skmodtool_list = $(addprefix $(SRCBUILDDIR)/SOURCES/,$(KMODTOOL_LIST))
sspecfile = $(SRCBUILDDIR)/SPECS/$(SPECFILE)

ifeq ($(USE_MOCK),1)
ifneq ($(USE_MOCK),)
ssrpm = $(SRCBUILDDIR)/$(srpmfile)
srpm = $(BINBUILDDIR)/$(srpmfile)
rpm = $(BINBUILDDIR)/$(rpmfile)
else
ssrpm = $(SRCBUILDDIR)/SRPMS/$(srpmfile)
srpm = $(BINBUILDDIR)/SRPMS/$(srpmfile)
rpm = $(BINBUILDDIR)/RPMS/$(PKGARCH)/$(rpmfile)
endif

rpmtmppath ?= /var/tmp/rpm-$(LOGNAME)
endif

iptables_version_words = $(subst ., ,$(word 2,$(subst -, ,$(EXTENSIONSDIR))))
iptables_version_maj = $(word 1,$(iptables_version_words))
Expand All @@ -45,6 +45,7 @@ iptables_version_min = $(word 2,$(iptables_version_words))
build_defs = --define 'kmod_name $(PACKAGE)' \
--define 'kmod_driver_version $(VERSION)' \
--define 'kmod_rpm_release $(RELEASE)' \
$(if $(BUILD_NUMBER),--define 'build_number $(BUILD_NUMBER)') \
$(if $(KVARIANTS),--define 'kvariants $(subst ",\",$(KVARIANTS))') \
$(if $(OSMACRO),--define '$(OSMACRO) $(OSMACROVER)') \
$(if $(URL),--define 'url $(URL)') \
Expand All @@ -56,7 +57,7 @@ rpm_build_args = --define '_topdir $(topdir)' \
$(build_defs) \
$(rpm_build_extras)

mock_build_args = $(build_args) $(mock_build_extras)
mock_build_args = $(build_defs) $(mock_build_extras)

clean_files = $(rpm) $(srpm) $(ssrpm) \
$(tarball) $(starball) \
Expand All @@ -72,10 +73,12 @@ srpm: $(ssrpm)

tarball: $(tarball)

ifneq ($(USE_MOCK),)
$(rpm): topdir = $(PWD)/$(BINBUILDDIR)
endif

$(rpm): $(srpm)
$(call mkdirs_cmd_call,$(BINBUILDDIR))
$(call mkrpmdirs_cmd_call,$(BINBUILDDIR))
ifneq ($(USE_MOCK),)
$(MOCK) $(MOCK_RPM_ARGS) \
--define 'dist $(if $(DIST),$(DIST),%{nil})' \
Expand All @@ -85,6 +88,7 @@ ifneq ($(USE_MOCK),)
--no-clean \
--rebuild $(ssrpm)
else
$(call mkrpmdirs_cmd_call,$(BINBUILDDIR))
rpm -i --define '_topdir $(topdir)' '$(topdir)/SRPMS/$(<F)'
rpmbuild -bb \
--define 'dist $(if $(DIST),$(DIST),%{nil})' \
Expand All @@ -100,7 +104,7 @@ $(srpm): $(ssrpm)
$(ssrpm): topdir = $(PWD)/$(SRCBUILDDIR)
$(ssrpm): $(starball) $(sspecfile) $(skmodtool_list)
$(call mkdirs_cmd_call,$(@D))
ifeq ($(USE_MOCK),1)
ifneq ($(USE_MOCK),)
$(MOCK) $(MOCK_SRPM_ARGS) \
--target='noarch' \
$(mock_build_args) \
Expand Down
13 changes: 8 additions & 5 deletions linux/mk/Makefile.ybuild
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ ifneq ($(USE_MOCK),)
rootsh = \
$(pound)! /bin/bash\
\neval \"\$$@\"
krepohost = http://repo.linux.corp.yahoo.com/
krepourl = $(krepohost)rh$(patsubst .%,%,$(OSDIST))_kernels/$(PKGARCH)/
else
yinstcmd ?= /usr/local/bin/yinst
rootcmd ?= /home/y/bin/yroot
Expand Down Expand Up @@ -71,10 +73,10 @@ else
endif


kpkgs = $(if $(findstring "",$(KVARIANTS)),\
kernel-devel-$(KVERREL).$(PKGARCH)) \
$(foreach k,$(filter-out "",$(KVARIANTS)),\
kernel-$k-devel-$(KVERREL).$(PKGARCH))
kpkgs = $(if $(findstring "",$(KVARIANTS)),\
kernel-devel-$(KVERREL).$(PKGARCH)) \
$(foreach k,$(filter-out "",$(KVARIANTS)),\
kernel-$k-devel-$(KVERREL).$(PKGARCH))

yumpkgs = module-init-tools rpm-build iptables-devel
yumpkgsopt =
Expand Down Expand Up @@ -104,7 +106,8 @@ prep_buildenv: $(BUILDRUNCMD)
ifneq ($(USE_MOCK),)
$(MOCK) $(MOCK_SRPM_ARGS) --init
$(MOCK) $(MOCK_RPM_ARGS) --init
$(MOCK) $(MOCK_RPM_ARGS) --install $(yumpkgs) $(kpkgs)
$(MOCK) $(MOCK_RPM_ARGS) --install $(yumpkgs) \
$(addprefix $(krepourl),$(addsuffix .rpm,$(kpkgs)))
-$(MOCK) $(MOCK_RPM_ARGS) --install $(yumpkgsopt)
else
$(call rootyinst,yumbase)
Expand Down
28 changes: 15 additions & 13 deletions linux/package-yahoo.mk
Original file line number Diff line number Diff line change
Expand Up @@ -101,25 +101,27 @@ ifneq ($(USE_MOCK),)
$(eval \
$(foreach o,$(OSES),\
$(foreach a,$(ARCHES),\
osdistnd_$o = $(patsubst el%,%,$(OSDIST_$o))$(nl) \
osdistmajver_$o = $(word 1,$(subst 0, ,$(OSMACROVER_$o)))$(nl) \
SRCBUILDDIR_$o := results_$(mockprefix)-build-src$(nl) \
BINBUILDIR_$o.$a := results_$(mockprefix)-build-$o-$a$(nl) \
mock_chroot_$o.$a = \
-r 'epel-$(word 1,$(osdistmajver_$o))-$a-yahoo'$(nl) \
MOCK_SRPM_ARGS_$o.$a := $(mock_chroot_$o.$a) \
--uniqueext='$(mockprefix)-srpm' \
--resultdir='$(SRCBUILDDIR_$o)'$(nl) \
MOCK_RPM_ARGS_$o.$a := $(mock_chroot_$o.$a) \
--uniqueext='$(mockprefix)-rpm' \
--resultdir='$(BINBUILDIR_$o.$a)'$(nl) \
osdistnd_$o = $$(patsubst el%,%,$$(OSDIST_$o))$(nl) \
osdistmajver_$o = $$(word 1,$$(subst 0, ,$$(OSMACROVER_$o)))$(nl)\
SRCBUILDDIR_$o := results_$(mockprefix)-build-src$(nl) \
BINBUILDDIR_$o.$a := results_$(mockprefix)-build-$o-$a$(nl) \
mock_chroot_$o.$a = \
-r 'epel-$$(word 1,$$(osdistmajver_$o))-$a-yahoo'$(nl) \
MOCK_SRPM_ARGS_$o.$a := $$(mock_chroot_$o.$a) \
--uniqueext='$(mockprefix)-srpm' \
--resultdir='$$(SRCBUILDDIR_$o)'$(nl) \
MOCK_RPM_ARGS_$o.$a := $$(mock_chroot_$o.$a) \
--uniqueext='$(mockprefix)-rpm' \
--resultdir='$$(BINBUILDDIR_$o.$a)'$(nl) \
)\
)\
)
PACKAGE_SUB_EXTRA_VARS += USE_MOCK MOCK MOCK_SRPM_ARGS MOCK_RPM_ARGS
PACKAGE_SUB_EXTRA_VARS += BUILD_NUMBER
PACKAGE_ENVBUILD_EXTRA_VARS += USE_MOCK MOCK MOCK_SRPM_ARGS MOCK_RPM_ARGS
PACKAGE_vars += USE_MOCK MOCK
PACKAGE_vars += BUILD_NUMBER
PACKAGE_vars_osarch += MOCK_SRPM_ARGS MOCK_RPM_ARGS
PACKAGE_ENVBUILD_EXTRA_VARS += USE_MOCK MOCK MOCK_SRPM_ARGS MOCK_RPM_ARGS
else
ROOTIMG_rhel4 ?= 4.9-20110216
ROOTIMG_rhel5 ?= 5.8-20120221
Expand Down

0 comments on commit eea42f8

Please sign in to comment.