From 1cbaf49c460def0447d502a3420ad61492d9c9a8f2437caef8e31c5a33667e21 Mon Sep 17 00:00:00 2001 From: Nathan Cutler Date: Fri, 27 Apr 2018 07:50:25 +0000 Subject: [PATCH] Accepting request 601836 from filesystems:ceph:mimic 13.0.2-1874 OBS-URL: https://build.opensuse.org/request/show/601836 OBS-URL: https://build.opensuse.org/package/show/filesystems:ceph/ceph?expand=0&rev=183 --- README-ceph-test.txt | 33 +++++++++++++++------------- ceph-13.0.2-1874-ge31585919b.tar.bz2 | 3 +++ ceph-13.0.2-984-g852d3f1411.tar.bz2 | 3 --- ceph-test.changes | 17 ++++++++++++++ ceph-test.spec | 14 ++++++------ ceph.changes | 17 ++++++++++++++ ceph.spec | 22 +++++++++---------- checkin.sh | 17 ++++++-------- 8 files changed, 80 insertions(+), 46 deletions(-) create mode 100644 ceph-13.0.2-1874-ge31585919b.tar.bz2 delete mode 100644 ceph-13.0.2-984-g852d3f1411.tar.bz2 diff --git a/README-ceph-test.txt b/README-ceph-test.txt index bfb98e1..3338b5a 100644 --- a/README-ceph-test.txt +++ b/README-ceph-test.txt @@ -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 diff --git a/ceph-13.0.2-1874-ge31585919b.tar.bz2 b/ceph-13.0.2-1874-ge31585919b.tar.bz2 new file mode 100644 index 0000000..c7c319a --- /dev/null +++ b/ceph-13.0.2-1874-ge31585919b.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c59d8abb7ee90636dd415ad461f3211a8915a7f738c9a4032e1be0271d005974 +size 72157649 diff --git a/ceph-13.0.2-984-g852d3f1411.tar.bz2 b/ceph-13.0.2-984-g852d3f1411.tar.bz2 deleted file mode 100644 index 2197350..0000000 --- a/ceph-13.0.2-984-g852d3f1411.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:77f8176659198bd1c9a1b4b29d260156bcae6a5717725a3fb4d16b1ad7807092 -size 71153341 diff --git a/ceph-test.changes b/ceph-test.changes index 110f9ac..5066401 100644 --- a/ceph-test.changes +++ b/ceph-test.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Thu Apr 26 21:27:17 UTC 2018 - ncutler@suse.com + +- Update to 13.0.2-1874-ge31585919b: + + based on upstream master 510762f51e346836492a0a8f83a056944ee6e046 + +------------------------------------------------------------------- +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 diff --git a/ceph-test.spec b/ceph-test.spec index 2a03b94..bd59dda 100644 --- a/ceph-test.spec +++ b/ceph-test.spec @@ -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 diff --git a/ceph.changes b/ceph.changes index 110f9ac..5066401 100644 --- a/ceph.changes +++ b/ceph.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Thu Apr 26 21:27:17 UTC 2018 - ncutler@suse.com + +- Update to 13.0.2-1874-ge31585919b: + + based on upstream master 510762f51e346836492a0a8f83a056944ee6e046 + +------------------------------------------------------------------- +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 diff --git a/ceph.spec b/ceph.spec index 03c2eeb..18672e2 100644 --- a/ceph.spec +++ b/ceph.spec @@ -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 diff --git a/checkin.sh b/checkin.sh index 1016254..6c030fa 100644 --- a/checkin.sh +++ b/checkin.sh @@ -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." -