Skip to content

Commit 6b6dc15

Browse files
Merge pull request openshift#1572 from richm/rsyslog-vendor-in-source
vendor in rsyslog source code
2 parents 043870e + 6ad2947 commit 6b6dc15

File tree

3,297 files changed

+769842
-8
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,297 files changed

+769842
-8
lines changed

hack/update-rsyslog-vendor-src.sh

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
#!/bin/bash
2+
3+
set -euo pipefail
4+
5+
for cmd in rhpkg rpmspec ; do
6+
if ! type -p $cmd > /dev/null ; then
7+
echo ERROR: $cmd not installed - please install $cmd
8+
exit 1
9+
fi
10+
done
11+
12+
curbranch=$( git rev-parse --abbrev-ref HEAD )
13+
14+
pushd $( dirname $0 ) > /dev/null
15+
cd ..
16+
oaldir=$( pwd )
17+
popd > /dev/null
18+
19+
RH_DIST_GIT=${RH_DIST_GIT:-$HOME/rh-dist-git}
20+
if [ ! -d $RH_DIST_GIT ] ; then
21+
echo INFO: you do not have a local dist-git, so will use a temporary one
22+
RH_DIST_GIT=$( mktemp -d )
23+
fi
24+
SRC_BRANCH=${SRC_BRANCH:-rhel-8.0.0}
25+
RSYSLOG_VENDOR_DIR=${RSYSLOG_VENDOR_DIR:-$oaldir/rsyslog/vendored_src}
26+
RSYSLOG_VENDOR_BRANCH=${RSYSLOG_VENDOR_BRANCH:-rsyslog-vendor}
27+
pushd $oaldir > /dev/null
28+
git checkout $RSYSLOG_VENDOR_BRANCH
29+
popd > /dev/null
30+
31+
echo This will grab the latest source for rsyslog and dependent packages
32+
echo vendor it into $RSYSLOG_VENDOR_BRANCH, and merge the vendored
33+
echo source into $curbranch
34+
35+
# rsyslog and dependent packages - listed in dependency order
36+
# order doesn't matter here, but does matter at build/install time
37+
# keep it the same for consistency
38+
packages="librelp libestr libfastjson liblognorm librdkafka rsyslog"
39+
40+
for pkg in $packages ; do
41+
if [ ! -d $RH_DIST_GIT/$pkg ] ; then
42+
cd $RH_DIST_GIT
43+
rhpkg co $pkg
44+
cd $pkg
45+
else
46+
cd $RH_DIST_GIT/$pkg
47+
# make sure we have the latest branches
48+
git pull
49+
fi
50+
rhpkg switch-branch $SRC_BRANCH
51+
version=$( rpmspec -q --qf '%{version}\n' $pkg.spec | head -1 ) || :
52+
if [ -z "$version" ] ; then
53+
echo ERROR: unable to determine version from $pkg.spec
54+
rpmspec -q --qf '%{version}\n' $pkg.spec
55+
exit 1
56+
fi
57+
rm -rf $pkg-$version
58+
# unpack src, apply patches, etc. - creates directory $pkg-$version with source
59+
rhpkg prep
60+
if [ ! -d $RSYSLOG_VENDOR_DIR ] ; then
61+
mkdir -p $RSYSLOG_VENDOR_DIR
62+
fi
63+
cd $RSYSLOG_VENDOR_DIR
64+
rm -rf $pkg
65+
mkdir -p $pkg
66+
for file in $( git --git-dir=$RH_DIST_GIT/$pkg/.git ls-files ) ; do
67+
dirname=$( dirname $file )
68+
if [ ! -d "$pkg/$dirname" ] ; then
69+
mkdir -p $pkg/$dirname
70+
fi
71+
cp $RH_DIST_GIT/$pkg/$file $pkg/$file
72+
done
73+
cp -r $RH_DIST_GIT/$pkg/$pkg-$version $pkg
74+
mv $pkg/$pkg-$version $pkg/$pkg
75+
done
76+
77+
if git diff --exit-code ; then
78+
echo INFO: rsyslog-vendor source is up-to-date
79+
else
80+
git commit -a -m "Vendor in latest rsyslog source"
81+
echo INFO: remember to push rsyslog-vendor branch
82+
fi
83+
git checkout $curbranch
84+
git merge $RSYSLOG_VENDOR_BRANCH

openshift/ci-operator/build-image/setup-logging-for-e2e.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,8 @@ if [ -n "${OPENSHIFT_BUILD_NAMESPACE:-}" -a -n "${IMAGE_FORMAT:-}" ] ; then
124124
sed -e 's,docker.io/openshift/origin-logging-\(..*\):latest,'"$imageprefix"'pipeline:logging-\1,' \
125125
-e 's,quay.io/openshift/origin-logging-\(..*\):latest,'"$imageprefix"'pipeline:logging-\1,' | \
126126
oc set env -e - deploy/cluster-logging-operator
127+
# special handling for rsyslog for now
128+
oc set env deploy/cluster-logging-operator RSYSLOG_IMAGE=${imageprefix}pipeline:logging-rsyslog
127129
testimage=${imageprefix}pipeline:src
128130
testroot=$( pwd )
129131
else
@@ -135,6 +137,8 @@ else
135137
sed -e '/docker.io\/openshift\/origin-logging-/ {s,docker.io/openshift/origin-,'"$registry"',}' \
136138
-e '/quay.io\/openshift\/origin-logging-/ {s,quay.io/openshift/origin-,'"$registry"',}' | \
137139
oc set env -e - deploy/cluster-logging-operator
140+
# special handling for rsyslog for now
141+
oc set env deploy/cluster-logging-operator RSYSLOG_IMAGE=${registry}logging-rsyslog:latest
138142
testimage=${registry}logging-ci-test-runner:latest
139143
testroot=/go/src/github.com/openshift/origin-aggregated-logging
140144
fi

rsyslog/Dockerfile

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,28 @@
1+
FROM registry.svc.ci.openshift.org/ocp/4.0:base as builder
2+
3+
# get pkg list from rpmspec -q --buildrequires vendored_src/*/*.spec | sort -u
4+
RUN yum install -y --setopt=tsflags=nodocs \
5+
make redhat-rpm-config rpm-build \
6+
autoconf automake bison chrpath cyrus-sasl-devel \
7+
flex gcc gcc-c++ gnutls-devel krb5-devel libcurl-devel \
8+
libgcrypt-devel libtool libuuid-devel lz4-devel \
9+
mariadb-devel mariadb-connector-c-devel net-snmp-devel \
10+
pcre-devel pkgconfig postgresql-devel python-sphinx \
11+
python3 python3-docutils python3-sphinx \
12+
systemd-devel zlib-devel && \
13+
yum clean all
14+
15+
ADD vendored_src/ /vendored_src/
16+
ADD install-from-src.sh /vendored_src/
17+
RUN cd /vendored_src && ./install-from-src.sh
18+
119
FROM registry.svc.ci.openshift.org/ocp/4.0:base
220

3-
RUN yum-config-manager --enable rhel-7-server-ose-4.1-rpms && \
4-
INSTALL_PKGS="rsyslog rsyslog-elasticsearch \
5-
rsyslog-mmkubernetes rsyslog-mmjsonparse rsyslog-kafka \
6-
rsyslog-mmnormalize rsyslog-relp rsyslog-gssapi" && \
7-
yum install -y --setopt=tsflags=nodocs $INSTALL_PKGS && \
8-
rpm -V $INSTALL_PKGS && \
9-
yum clean all
21+
COPY --from=builder /vendored_src/RPMS/ /RPMS/
22+
23+
RUN yum -y install /RPMS/*/*.rpm && \
24+
rm -rf /RPMS && \
25+
yum clean all
1026

1127
ADD install.sh /bin/install.sh
1228
ADD rsyslog.sh /bin/rsyslog.sh

rsyslog/install-from-src.sh

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/bin/bash
2+
3+
set -euxo pipefail
4+
5+
# must be listed in dependency order
6+
packages="librelp libestr libfastjson liblognorm librdkafka rsyslog"
7+
8+
rpmtopdir=$( pwd )
9+
for pkg in $packages ; do
10+
cd $pkg
11+
# SourceN and PatchN should already have been removed from the spec file
12+
# remove %prep section from rpm spec
13+
sed -e '/^%prep/,/^%build/{/^%build/!d}' -i $pkg.spec
14+
# put RPMS in ../RPMS - use source code from $pkg dir and build in that dir as well
15+
rpmbuild -bb --define "_topdir $rpmtopdir" --define "_builddir $(pwd)/$pkg" --define "_sourcedir $(pwd)" $pkg.spec
16+
cd ..
17+
# install rpms for next round of dependencies
18+
yum -y install RPMS/*/*.rpm
19+
done
20+
21+
# remove all RPM files except those needed at runtime
22+
for pkg in $packages ; do
23+
find RPMS -name ${pkg}-devel-\*.rpm -exec rm -f {} /dev/null \;
24+
find RPMS -name ${pkg}-doc-\*.rpm -exec rm -f {} /dev/null \;
25+
find RPMS -name \*.src.rpm -exec rm -f {} /dev/null \;
26+
done
27+
#ls -alrRtF RPMS
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/libestr-0.1.3.tar.gz
2+
/libestr-0.1.4.tar.gz
3+
/libestr-0.1.5.tar.gz
4+
/libestr-0.1.9.tar.gz
5+
/libestr-0.1.10.tar.gz
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
Name: libestr
2+
Version: 0.1.10
3+
Release: 1%{?dist}
4+
Summary: String handling essentials library
5+
6+
License: LGPLv2+
7+
URL: http://libestr.adiscon.com/
8+
9+
BuildRequires: autoconf
10+
BuildRequires: automake
11+
BuildRequires: libtool
12+
13+
%description
14+
This package compiles the string handling essentials library
15+
used by the Rsyslog daemon.
16+
17+
%package devel
18+
Summary: Development files for %{name}
19+
Requires: %{name}%{?_isa} = %{version}-%{release}
20+
21+
%description devel
22+
The package contains libraries and header files for
23+
developing applications that use libestr.
24+
25+
%prep
26+
%setup -q
27+
28+
%build
29+
autoreconf -if
30+
%configure --disable-static --with-pic
31+
V=1 make %{?_smp_mflags}
32+
33+
%install
34+
make install INSTALL="install -p" DESTDIR=%{buildroot}
35+
rm -f %{buildroot}/%{_libdir}/*.{a,la}
36+
37+
%post -p /sbin/ldconfig
38+
39+
%postun -p /sbin/ldconfig
40+
41+
%files
42+
%{!?_licensedir:%global license %%doc}
43+
%license COPYING
44+
%doc README AUTHORS ChangeLog
45+
%{_libdir}/lib*.so.*
46+
47+
%files devel
48+
%{_includedir}/libestr.h
49+
%{_libdir}/*.so
50+
%{_libdir}/pkgconfig/libestr.pc
51+
52+
%changelog
53+
* Fri Aug 10 2018 Jiri Vymazal <[email protected]> - 0.1.10-1
54+
- rebase to v0.1.10
55+
resolves: rhbz#1614724
56+
57+
* Wed Feb 07 2018 Fedora Release Engineering <[email protected]> - 0.1.9-10
58+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
59+
60+
* Thu Aug 03 2017 Fedora Release Engineering <[email protected]> - 0.1.9-9
61+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
62+
63+
* Wed Jul 26 2017 Fedora Release Engineering <[email protected]> - 0.1.9-8
64+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
65+
66+
* Fri Feb 10 2017 Fedora Release Engineering <[email protected]> - 0.1.9-7
67+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
68+
69+
* Thu Feb 04 2016 Fedora Release Engineering <[email protected]> - 0.1.9-6
70+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
71+
72+
* Wed Jun 17 2015 Fedora Release Engineering <[email protected]> - 0.1.9-5
73+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
74+
75+
* Sun Aug 17 2014 Fedora Release Engineering <[email protected]> - 0.1.9-4
76+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
77+
78+
* Thu Jul 17 2014 Tom Callaway <[email protected]> - 0.1.9-3
79+
- fix license handling
80+
81+
* Sat Jun 07 2014 Fedora Release Engineering <[email protected]> - 0.1.9-2
82+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
83+
84+
* Tue Jan 07 2014 Tomas Heinrich <[email protected]> - 0.1.9-1
85+
- rebase to 0.1.9
86+
- remove patch 0; doesn't seem to be necessary anymore
87+
88+
* Sat Aug 03 2013 Fedora Release Engineering <[email protected]> - 0.1.5-2
89+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
90+
91+
* Tue Apr 02 2013 Tomas Heinrich <[email protected]> - 0.1.5-1
92+
- rebase to 0.1.5
93+
94+
* Wed Dec 12 2012 Mahaveer Darade <[email protected]> - 0.1.4-1
95+
- upgrade to upstream version 0.1.4
96+
- correct an impossible timestamp in an older changelog entry
97+
98+
* Thu Sep 20 2012 mdarade <[email protected]> - 0.1.3-3
99+
- Fixed broken configure script
100+
101+
* Mon Aug 27 2012 mdarade <[email protected]> - 0.1.3-2
102+
- Removed unnecessary macros in spec file.
103+
104+
* Tue Aug 7 2012 Mahaveer Darade <[email protected]> - 0.1.3-1
105+
- Initial port libestr-0.1.3
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Rainer Gerhards <[email protected]>, Adiscon GmbH

0 commit comments

Comments
 (0)