Accepting request 601839 from filesystems:ceph

13.0.2-1874 (forwarded request 601838 from smithfarm)

OBS-URL: https://build.opensuse.org/request/show/601839
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ceph?expand=0&rev=33
This commit is contained in:
Dominique Leuenberger 2018-05-01 21:00:04 +00:00 committed by Git OBS Bridge
commit 23d665498d
8 changed files with 84 additions and 46 deletions

View File

@ -1,22 +1,25 @@
Packaging note
==============
ceph-test.spec apologia
=======================
The ceph-test.spec file is generated automatically by running pre_checkin.sh
Originally, the ceph-test RPM was generated by ceph.spec but this excessively
bloated the build and caused trouble in Factory/Leap when the ceph package was
added to Ring2 because qemu and libvirt depend on it.
Originally, the ceph-test RPM was built by ceph.spec as a subpackage.
The new ceph.spec file does not build ceph-test. This reduces the HW
constraints (less memory, less disk). Ring2 is more-or-less happy.
When ceph was first included in Ring1, the build time was too long and ceph
was blocking Factory builds. The ceph-test RPM - a non-user-facing subpackage
that is only used by CI tests - accounted for a significant portion of that
excessive build time. By spinning the ceph-test RPM off to a standalone spec
file spec file, the build time of ceph.spec was reduced and it was no longer
a problem to have ceph in Ring1.
The pre_checkin.sh script is run manually every time the package is updated.
This generates the ceph-test.spec from ceph.spec. The ceph-test.spec does
everything the original ceph.spec used to do (and hence the build constraints
are very high), but only generates the ceph-test RPM - everything else is
removed at the end of the %install phase.
A script, pre_checkin.sh, which is run before every commit, automatically
generates ceph-test.spec from ceph.spec. Thus, ceph-test.spec should be seen
as a "build artifact" whose purpose is to build the ceph-test RPM as it would
have been built had the original ceph.spec not been split.
The ceph-test package is implemented as a linkpac. Since the ceph-test RPM is
required only for teuthology, it doesn't matter so much that only a very few build
workers have enough power to build it.
Although this workflow results in a "not-pretty" ceph-test.spec, it has an
advantage in that ceph-test.spec is maintenance-free. Maintaining *two* spec
files for Ceph would be tricky, error-prone, and labor-intensive.
Nathan Cutler
April 17, 2017

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c59d8abb7ee90636dd415ad461f3211a8915a7f738c9a4032e1be0271d005974
size 72157649

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:77f8176659198bd1c9a1b4b29d260156bcae6a5717725a3fb4d16b1ad7807092
size 71153341

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Thu Apr 26 21:27:17 UTC 2018 - ncutler@suse.com
- Update to 13.0.2-1874-ge31585919b:
+ based on upstream master 510762f51e346836492a0a8f83a056944ee6e046
* add liblz4 build- and runtime dependency
* move ceph-disk runtime dependencies from ceph-osd to ceph-base
-------------------------------------------------------------------
Fri Apr 20 12:18:30 UTC 2018 - ncutler@suse.com
- Update to 13.0.2-992-g418baeac64:
+ fix ceph-detect-init for recent SUSEs (bsc#1090072)
-------------------------------------------------------------------
Mon Apr 16 12:46:25 UTC 2018 - ncutler@suse.com
- rewrite README-ceph-test.txt for clarity
-------------------------------------------------------------------
Thu Apr 12 19:06:20 UTC 2018 - ncutler@suse.com

View File

@ -76,7 +76,7 @@
# main package definition
#################################################################################
Name: ceph-test
Version: 13.0.2.984+g852d3f1411
Version: 13.0.2.1874+ge31585919b
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
@ -92,7 +92,7 @@ License: LGPL-2.1 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and
Group: System/Filesystems
%endif
URL: http://ceph.com/
Source0: %{?_remote_tarball_prefix}ceph-13.0.2-984-g852d3f1411.tar.bz2
Source0: %{?_remote_tarball_prefix}ceph-13.0.2-1874-ge31585919b.tar.bz2
%if 0%{?suse_version}
Source96: checkin.sh
Source97: README-checkin.txt
@ -197,6 +197,7 @@ BuildRequires: python%{_python_buildid}-Cython
BuildRequires: python%{_python_buildid}-PrettyTable
BuildRequires: python%{_python_buildid}-Sphinx
BuildRequires: rdma-core-devel
BuildRequires: liblz4-devel >= 1.7
%endif
%if 0%{?fedora} || 0%{?rhel}
@ -212,6 +213,7 @@ BuildRequires: redhat-lsb-core
BuildRequires: Cython%{_python_buildid}
BuildRequires: python%{_python_buildid}-prettytable
BuildRequires: python%{_python_buildid}-sphinx
BuildRequires: lz4-devel >= 1.7
%endif
# python34-... for RHEL, python3-... for all other supported distros
%if 0%{?rhel}
@ -282,6 +284,8 @@ This package contains Ceph benchmarks and test tools.
%endif
%if 0%{with selinux}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
@ -326,10 +330,6 @@ This package contains Ceph benchmarks and test tools.
%endif
%if 0%{?suse_version}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?rhel} || 0%{?fedora}
@ -411,7 +411,7 @@ This package contains Ceph benchmarks and test tools.
%endif
%endif
%prep
%autosetup -p1 -n ceph-13.0.2-984-g852d3f1411
%autosetup -p1 -n ceph-13.0.2-1874-ge31585919b
%build

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Thu Apr 26 21:27:17 UTC 2018 - ncutler@suse.com
- Update to 13.0.2-1874-ge31585919b:
+ based on upstream master 510762f51e346836492a0a8f83a056944ee6e046
* add liblz4 build- and runtime dependency
* move ceph-disk runtime dependencies from ceph-osd to ceph-base
-------------------------------------------------------------------
Fri Apr 20 12:18:30 UTC 2018 - ncutler@suse.com
- Update to 13.0.2-992-g418baeac64:
+ fix ceph-detect-init for recent SUSEs (bsc#1090072)
-------------------------------------------------------------------
Mon Apr 16 12:46:25 UTC 2018 - ncutler@suse.com
- rewrite README-ceph-test.txt for clarity
-------------------------------------------------------------------
Thu Apr 12 19:06:20 UTC 2018 - ncutler@suse.com

View File

@ -76,7 +76,7 @@
# main package definition
#################################################################################
Name: ceph
Version: 13.0.2.984+g852d3f1411
Version: 13.0.2.1874+ge31585919b
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
@ -92,7 +92,7 @@ License: LGPL-2.1 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and
Group: System/Filesystems
%endif
URL: http://ceph.com/
Source0: %{?_remote_tarball_prefix}ceph-13.0.2-984-g852d3f1411.tar.bz2
Source0: %{?_remote_tarball_prefix}ceph-13.0.2-1874-ge31585919b.tar.bz2
%if 0%{?suse_version}
# _insert_obs_source_lines_here
%if 0%{?is_opensuse}
@ -189,6 +189,7 @@ BuildRequires: python%{_python_buildid}-Cython
BuildRequires: python%{_python_buildid}-PrettyTable
BuildRequires: python%{_python_buildid}-Sphinx
BuildRequires: rdma-core-devel
BuildRequires: liblz4-devel >= 1.7
%endif
%if 0%{?fedora} || 0%{?rhel}
Requires: systemd
@ -204,6 +205,7 @@ BuildRequires: redhat-lsb-core
BuildRequires: Cython%{_python_buildid}
BuildRequires: python%{_python_buildid}-prettytable
BuildRequires: python%{_python_buildid}-sphinx
BuildRequires: lz4-devel >= 1.7
%endif
# python34-... for RHEL, python3-... for all other supported distros
%if 0%{?rhel}
@ -286,17 +288,23 @@ Requires: librgw2 = %{_epoch_prefix}%{version}-%{release}
Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release}
%endif
Requires: cryptsetup
Requires: e2fsprogs
Requires: findutils
Requires: grep
Requires: logrotate
Requires: parted
Requires: psmisc
Requires: python%{_python_buildid}-requests
Requires: python%{_python_buildid}-setuptools
Requires: util-linux
Requires: xfsprogs
Requires: which
%if 0%{?fedora} || 0%{?rhel}
Requires: gdisk
%endif
%if 0%{?suse_version}
Recommends: chrony
Requires: gptfdisk
Provides: libxio = 1.7
Obsoletes: libxio <= 1.7
%endif
@ -473,14 +481,6 @@ Summary: Ceph Object Storage Daemon
Group: System/Filesystems
%endif
Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
# for sgdisk, used by ceph-disk
%if 0%{?fedora} || 0%{?rhel}
Requires: gdisk
%endif
%if 0%{?suse_version}
Requires: gptfdisk
%endif
Requires: parted
Requires: lvm2
%description osd
ceph-osd is the object storage daemon for the Ceph distributed file
@ -845,7 +845,7 @@ python-rbd, python-rgw or python-cephfs instead.
# common
#################################################################################
%prep
%autosetup -p1 -n ceph-13.0.2-984-g852d3f1411
%autosetup -p1 -n ceph-13.0.2-1874-ge31585919b
%build

View File

@ -29,7 +29,7 @@ function usage {
}
function _error_exit {
echo $1
echo >&2 $1
exit $2
}
@ -50,14 +50,13 @@ function _verify_git_describe {
echo "Does this version number looks sane? y/[N]"
read a
if [ "x$a" != "xy" ] ; then
echo "Aborting!"
exit 1
_error_exit "Aborting!" 1
fi
}
GETOPT=$(getopt -o b:e:hr: --long "branch:,existing:,help,repo:" \
-n 'checkin.sh' -- "$@")
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
test "$?" -eq 0 || _error_exit "Terminating..." 1
eval set -- "$GETOPT"
EXISTING=""
@ -90,7 +89,8 @@ if [ -n "$EXISTING" ] ; then
CLONE="$EXISTING"
else
echo "Will make fresh clone of repo ->$REPO<- branch ->$BRANCH<-"
TMPDIR=$(mktemp -d --tmpdir=$BASEDIR)
#TMPDIR=$(mktemp -d --tmpdir=$BASEDIR)
TMPDIR=$(mktemp -d)
echo "Created temporary temporary $TMPDIR"
git clone --branch $BRANCH $REPO $TMPDIR
CLONE="$TMPDIR"
@ -111,13 +111,11 @@ echo "Running \"osc rm *bz2\" to nuke previous tarball"
if type osc > /dev/null 2>&1 ; then
osc rm *bz2
else
echo "ERROR: osc not installed"
exit 1
_error_exit "osc not installed - cannot continue" 1
fi
if stat --printf='' *.bz2 2>/dev/null ; then
echo "There are still files ending in bz2 in the current directory - clean up yourself!"
exit 1
_error_exit "There are still files ending in bz2 in the current directory - clean up yourself!" 1
fi
echo "Copying new spec file and tarball from $CLONE"
@ -139,4 +137,3 @@ else
fi
echo "Done! Run \"osc ci --noservice\" to commit."