[arch-commits] Commit in ceph/repos (24 files)
Sébastien Luttringer
seblu at archlinux.org
Fri Mar 31 23:18:13 UTC 2017
Date: Friday, March 31, 2017 @ 23:18:13
Author: seblu
Revision: 291958
db-move: moved ceph from [testing] to [extra] (i686, x86_64)
Added:
ceph/repos/extra-i686/01-ceph-detec-init.patch
(from rev 291957, ceph/repos/testing-i686/01-ceph-detec-init.patch)
ceph/repos/extra-i686/PKGBUILD
(from rev 291957, ceph/repos/testing-i686/PKGBUILD)
ceph/repos/extra-i686/PKGBUILD.v11
(from rev 291957, ceph/repos/testing-i686/PKGBUILD.v11)
ceph/repos/extra-i686/ceph.sysusers
(from rev 291957, ceph/repos/testing-i686/ceph.sysusers)
ceph/repos/extra-x86_64/01-ceph-detec-init.patch
(from rev 291957, ceph/repos/testing-x86_64/01-ceph-detec-init.patch)
ceph/repos/extra-x86_64/PKGBUILD
(from rev 291957, ceph/repos/testing-x86_64/PKGBUILD)
ceph/repos/extra-x86_64/PKGBUILD.v11
(from rev 291957, ceph/repos/testing-x86_64/PKGBUILD.v11)
ceph/repos/extra-x86_64/ceph.sysusers
(from rev 291957, ceph/repos/testing-x86_64/ceph.sysusers)
Deleted:
ceph/repos/extra-i686/01-virtualenv2.patch
ceph/repos/extra-i686/02-setup-python2.patch
ceph/repos/extra-i686/03-Revert-rgw-ldap-fix-ldap-bindpw-parsing.patch
ceph/repos/extra-i686/04-fix-686-build.patch
ceph/repos/extra-i686/PKGBUILD
ceph/repos/extra-i686/ceph.install
ceph/repos/extra-i686/ceph.sysusers
ceph/repos/extra-x86_64/01-virtualenv2.patch
ceph/repos/extra-x86_64/02-setup-python2.patch
ceph/repos/extra-x86_64/03-Revert-rgw-ldap-fix-ldap-bindpw-parsing.patch
ceph/repos/extra-x86_64/04-fix-686-build.patch
ceph/repos/extra-x86_64/PKGBUILD
ceph/repos/extra-x86_64/ceph.install
ceph/repos/extra-x86_64/ceph.sysusers
ceph/repos/testing-i686/
ceph/repos/testing-x86_64/
---------------------------------------------------------------+
/PKGBUILD | 190 ++++++
/ceph.sysusers | 2
extra-i686/01-ceph-detec-init.patch | 69 ++
extra-i686/01-virtualenv2.patch | 11
extra-i686/02-setup-python2.patch | 38 -
extra-i686/03-Revert-rgw-ldap-fix-ldap-bindpw-parsing.patch | 309 ----------
extra-i686/04-fix-686-build.patch | 199 ------
extra-i686/PKGBUILD | 91 --
extra-i686/PKGBUILD.v11 | 92 ++
extra-i686/ceph.install | 16
extra-i686/ceph.sysusers | 1
extra-x86_64/01-ceph-detec-init.patch | 69 ++
extra-x86_64/01-virtualenv2.patch | 11
extra-x86_64/02-setup-python2.patch | 38 -
extra-x86_64/03-Revert-rgw-ldap-fix-ldap-bindpw-parsing.patch | 309 ----------
extra-x86_64/04-fix-686-build.patch | 199 ------
extra-x86_64/PKGBUILD | 91 --
extra-x86_64/PKGBUILD.v11 | 92 ++
extra-x86_64/ceph.install | 16
extra-x86_64/ceph.sysusers | 1
20 files changed, 514 insertions(+), 1330 deletions(-)
Copied: ceph/repos/extra-i686/01-ceph-detec-init.patch (from rev 291957, ceph/repos/testing-i686/01-ceph-detec-init.patch)
===================================================================
--- extra-i686/01-ceph-detec-init.patch (rev 0)
+++ extra-i686/01-ceph-detec-init.patch 2017-03-31 23:18:13 UTC (rev 291958)
@@ -0,0 +1,69 @@
+commit c19cb3cd2756ba830edd92158a2913beaa6e24aa
+Author: Sébastien Luttringer <seblu at seblu.net>
+Date: Sun Mar 26 16:35:13 2017 +0200
+
+ Arch support
+
+diff --git a/src/ceph-detect-init/ceph_detect_init/__init__.py b/src/ceph-detect-init/ceph_detect_init/__init__.py
+index a2bcc7cf27..ca2f2d7975 100644
+--- a/src/ceph-detect-init/ceph_detect_init/__init__.py
++++ b/src/ceph-detect-init/ceph_detect_init/__init__.py
+@@ -13,6 +13,7 @@
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ # GNU Library Public License for more details.
+ #
++from ceph_detect_init import arch
+ from ceph_detect_init import centos
+ from ceph_detect_init import debian
+ from ceph_detect_init import exc
+@@ -21,6 +22,7 @@ from ceph_detect_init import rhel
+ from ceph_detect_init import suse
+ import logging
+ import platform
++import os
+
+
+ def get(use_rhceph=False):
+@@ -49,6 +51,7 @@ def _get_distro(distro, use_rhceph=False):
+
+ distro = _normalized_distro_name(distro)
+ distributions = {
++ 'arch': arch,
+ 'debian': debian,
+ 'ubuntu': debian,
+ 'linuxmint': debian,
+@@ -75,6 +78,8 @@ def _normalized_distro_name(distro):
+ return 'suse'
+ elif distro.startswith('centos'):
+ return 'centos'
++ elif distro.startswith('arch'):
++ return 'arch'
+ return distro
+
+
+@@ -103,6 +108,8 @@ def platform_information():
+ else:
+ codename = major
+
++ elif os.path.exists("/etc/arch-release"):
++ return ("arch", None, "arch")
+ return (
+ str(distro).rstrip(),
+ str(release).rstrip(),
+diff --git a/src/ceph-detect-init/ceph_detect_init/arch/__init__.py b/src/ceph-detect-init/ceph_detect_init/arch/__init__.py
+new file mode 100644
+index 0000000000..425ce50bb2
+--- /dev/null
++++ b/src/ceph-detect-init/ceph_detect_init/arch/__init__.py
+@@ -0,0 +1,11 @@
++distro = None
++release = None
++codename = None
++
++
++def choose_init():
++ """Select a init system
++
++ Returns the name of a init system (upstart, sysvinit ...).
++ """
++ return 'systemd'
Deleted: extra-i686/01-virtualenv2.patch
===================================================================
--- extra-i686/01-virtualenv2.patch 2017-03-31 23:18:06 UTC (rev 291957)
+++ extra-i686/01-virtualenv2.patch 2017-03-31 23:18:13 UTC (rev 291958)
@@ -1,11 +0,0 @@
---- a/src/tools/setup-virtualenv.sh 2016-06-14 13:43:58.000000000 +0200
-+++ b/src/tools/setup-virtualenv.sh 2016-08-18 02:13:31.418624320 +0200
-@@ -18,7 +18,7 @@
- DIR=$1
- rm -fr $DIR
- mkdir -p $DIR
--virtualenv --python python2.7 $DIR
-+virtualenv2 --python python2.7 $DIR
- . $DIR/bin/activate
- # older versions of pip will not install wrap_console scripts
- # when using wheel packages
Deleted: extra-i686/02-setup-python2.patch
===================================================================
--- extra-i686/02-setup-python2.patch 2017-03-31 23:18:06 UTC (rev 291957)
+++ extra-i686/02-setup-python2.patch 2017-03-31 23:18:13 UTC (rev 291958)
@@ -1,38 +0,0 @@
---- a/src/Makefile.in 2016-06-14 13:44:59.000000000 +0200
-+++ b/src/Makefile.in 2016-08-19 22:09:15.526703376 +0200
-@@ -32623,7 +32623,7 @@
- cd $(srcdir)/ceph-detect-init ; ../tools/setup-virtualenv.sh ${CEPH_DETECT_INIT_VIRTUALENV} ; test -d wheelhouse && export NO_INDEX=--no-index ; ${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install $$NO_INDEX --use-wheel --find-links=file://$$(pwd)/wheelhouse -e .
-
- ceph-detect-init-clean:
-- cd $(srcdir)/ceph-detect-init ; python setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DETECT_INIT_VIRTUALENV} .coverage *.egg-info
-+ cd $(srcdir)/ceph-detect-init ; python2 setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DETECT_INIT_VIRTUALENV} .coverage *.egg-info
-
- ceph-detect-init-install-data:
- cd $(srcdir)/ceph-detect-init ; \
-@@ -32635,7 +32635,7 @@
- fi ; \
- root="--root=$(DESTDIR)" ; \
- fi ; \
-- python setup.py install $$root $$options
-+ python2 setup.py install $$root $$options
-
- export CEPH_DISK_VIRTUALENV = ${CEPH_BUILD_VIRTUALENV}/ceph-disk-virtualenv
-
-@@ -32645,7 +32645,7 @@
- cd $(srcdir)/ceph-disk ; ../tools/setup-virtualenv.sh ${CEPH_DISK_VIRTUALENV} ; test -d wheelhouse && export NO_INDEX=--no-index ; ${CEPH_DISK_VIRTUALENV}/bin/pip install $$NO_INDEX --use-wheel --find-links=file://$$(pwd)/wheelhouse -e .
-
- ceph-disk-clean:
-- cd $(srcdir)/ceph-disk ; python setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DISK_VIRTUALENV} .coverage *.egg-info
-+ cd $(srcdir)/ceph-disk ; python2 setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DISK_VIRTUALENV} .coverage *.egg-info
-
- ceph-disk-install-data:
- cd $(srcdir)/ceph-disk ; \
-@@ -32657,7 +32657,7 @@
- fi ; \
- root="--root=$(DESTDIR) --install-script=/usr/sbin" ; \
- fi ; \
-- python setup.py install $$root $$options
-+ python2 setup.py install $$root $$options
-
- #crush_includedir = $(includedir)/crush
- #crush_include_DATA = \
Deleted: extra-i686/03-Revert-rgw-ldap-fix-ldap-bindpw-parsing.patch
===================================================================
--- extra-i686/03-Revert-rgw-ldap-fix-ldap-bindpw-parsing.patch 2017-03-31 23:18:06 UTC (rev 291957)
+++ extra-i686/03-Revert-rgw-ldap-fix-ldap-bindpw-parsing.patch 2017-03-31 23:18:13 UTC (rev 291958)
@@ -1,309 +0,0 @@
-From b1099e8edcda1ab658eaac424bd2e09d6e7cbabd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?S=C3=A9bastien=20Luttringer?= <seblu at seblu.net>
-Date: Sun, 9 Oct 2016 01:53:36 +0200
-Subject: [PATCH] Revert "rgw ldap: fix ldap bindpw parsing"
-
-This reverts commit fe57aceeb02ad9163feb2d196589b5927cedfa0f.
----
- src/rgw/librgw.cc | 6 ++--
- src/rgw/rgw_ldap.cc | 35 ---------------------
- src/rgw/rgw_ldap.h | 54 ++++++++-------------------------
- src/rgw/rgw_rest_s3.cc | 77 +++++++++++------------------------------------
- src/test/test_rgw_ldap.cc | 4 +--
- 5 files changed, 34 insertions(+), 142 deletions(-)
-
-diff --git a/src/rgw/librgw.cc b/src/rgw/librgw.cc
-index c476129..37414fc 100644
---- a/src/rgw/librgw.cc
-+++ b/src/rgw/librgw.cc
-@@ -52,7 +52,6 @@
- #include <string.h>
- #include <mutex>
-
--
- #define dout_subsys ceph_subsys_rgw
-
- bool global_stop = false;
-@@ -470,10 +469,9 @@ namespace rgw {
- const string& ldap_searchdn = store->ctx()->_conf->rgw_ldap_searchdn;
- const string& ldap_dnattr =
- store->ctx()->_conf->rgw_ldap_dnattr;
-- std::string ldap_bindpw = parse_rgw_ldap_bindpw(store->ctx());
-
-- ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_bindpw.c_str(),
-- ldap_searchdn, ldap_dnattr);
-+ ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_searchdn,
-+ ldap_dnattr);
- ldh->init();
- ldh->bind();
-
-diff --git a/src/rgw/rgw_ldap.cc b/src/rgw/rgw_ldap.cc
-index 6cca3b8..ac420e3 100644
---- a/src/rgw/rgw_ldap.cc
-+++ b/src/rgw/rgw_ldap.cc
-@@ -2,38 +2,3 @@
- // vim: ts=8 sw=2 smarttab
-
- #include "rgw_ldap.h"
--
--#include "common/ceph_context.h"
--#include "common/common_init.h"
--#include "common/dout.h"
--#include "common/safe_io.h"
--#include <boost/algorithm/string.hpp>
--
--#include "include/assert.h"
--
--#define dout_subsys ceph_subsys_rgw
--
--std::string parse_rgw_ldap_bindpw(CephContext* ctx)
--{
-- string ldap_bindpw;
-- string ldap_secret = ctx->_conf->rgw_ldap_secret;
--
-- if (ldap_secret.empty()) {
-- ldout(ctx, 10)
-- << __func__ << " LDAP auth no rgw_ldap_secret file found in conf"
-- << dendl;
-- } else {
-- char bindpw[1024];
-- memset(bindpw, 0, 1024);
-- int pwlen = safe_read_file("" /* base */, ldap_secret.c_str(),
-- bindpw, 1023);
-- if (pwlen) {
-- ldap_bindpw = bindpw;
-- boost::algorithm::trim(ldap_bindpw);
-- if (ldap_bindpw.back() == '\n')
-- ldap_bindpw.pop_back();
-- }
-- }
--
-- return std::move(ldap_bindpw);
--}
-diff --git a/src/rgw/rgw_ldap.h b/src/rgw/rgw_ldap.h
-index b29e33ad..02eb61e 100644
---- a/src/rgw/rgw_ldap.h
-+++ b/src/rgw/rgw_ldap.h
-@@ -23,38 +23,27 @@ namespace rgw {
- {
- std::string uri;
- std::string binddn;
-- std::string bindpw;
- std::string searchdn;
- std::string dnattr;
- LDAP *ldap;
-- bool msad = false; /* TODO: possible future specialization */
-
- public:
-- LDAPHelper(std::string _uri, std::string _binddn, std::string _bindpw,
-- std::string _searchdn, std::string _dnattr)
-- : uri(std::move(_uri)), binddn(std::move(_binddn)),
-- bindpw(std::move(_bindpw)), searchdn(_searchdn), dnattr(_dnattr),
-- ldap(nullptr) {
-+ LDAPHelper(std::string _uri, std::string _binddn, std::string _searchdn,
-+ std::string _dnattr)
-+ : uri(std::move(_uri)), binddn(std::move(_binddn)), searchdn(_searchdn),
-+ dnattr(_dnattr), ldap(nullptr) {
- // nothing
- }
-
- int init() {
- int ret;
- ret = ldap_initialize(&ldap, uri.c_str());
-- if (ret == LDAP_SUCCESS) {
-- unsigned long ldap_ver = LDAP_VERSION3;
-- ret = ldap_set_option(ldap, LDAP_OPT_PROTOCOL_VERSION,
-- (void*) &ldap_ver);
-- }
-- if (ret == LDAP_SUCCESS) {
-- ret = ldap_set_option(ldap, LDAP_OPT_REFERRALS, LDAP_OPT_OFF);
-- }
- return (ret == LDAP_SUCCESS) ? ret : -EINVAL;
- }
-
- int bind() {
- int ret;
-- ret = ldap_simple_bind_s(ldap, binddn.c_str(), bindpw.c_str());
-+ ret = ldap_simple_bind_s(ldap, nullptr, nullptr);
- return (ret == LDAP_SUCCESS) ? ret : -EINVAL;
- }
-
-@@ -71,18 +60,11 @@ namespace rgw {
- int auth(const std::string uid, const std::string pwd) {
- int ret;
- std::string filter;
-- if (msad) {
-- filter = "(&(objectClass=user)(sAMAccountName=";
-- filter += uid;
-- filter += "))";
-- } else {
-- /* openldap */
-- filter = "(";
-- filter += dnattr;
-- filter += "=";
-- filter += uid;
-- filter += ")";
-- }
-+ filter = "(";
-+ filter += dnattr;
-+ filter += "=";
-+ filter += uid;
-+ filter += ")";
- char *attrs[] = { const_cast<char*>(dnattr.c_str()), nullptr };
- LDAPMessage *answer = nullptr, *entry = nullptr;
- ret = ldap_search_s(ldap, searchdn.c_str(), LDAP_SCOPE_SUBTREE,
-@@ -113,8 +95,8 @@ namespace rgw {
- class LDAPHelper
- {
- public:
-- LDAPHelper(std::string _uri, std::string _binddn, std::string _bindpw,
-- std::string _searchdn, std::string _dnattr)
-+ LDAPHelper(std::string _uri, std::string _binddn, std::string _searchdn,
-+ std::string _dnattr)
- {}
-
- int init() {
-@@ -135,17 +117,7 @@ namespace rgw {
-
-
- #endif /* HAVE_OPENLDAP */
--
--} /* namespace rgw */
--
--#include "common/ceph_context.h"
--#include "common/common_init.h"
--#include "common/dout.h"
--#include "common/safe_io.h"
--#include <boost/algorithm/string.hpp>
-
--#include "include/assert.h"
--
--std::string parse_rgw_ldap_bindpw(CephContext* ctx);
-+} /* namespace rgw */
-
- #endif /* RGW_LDAP_H */
-diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc
-index e9f24f3..bd952db 100644
---- a/src/rgw/rgw_rest_s3.cc
-+++ b/src/rgw/rgw_rest_s3.cc
-@@ -8,8 +8,6 @@
- #include "common/Formatter.h"
- #include "common/utf8.h"
- #include "common/ceph_json.h"
--#include "common/safe_io.h"
--#include <boost/algorithm/string.hpp>
-
- #include "rgw_rest.h"
- #include "rgw_rest_s3.h"
-@@ -1747,32 +1745,10 @@ int RGWPostObj_ObjStore_S3::get_policy()
- s->perm_mask = RGW_PERM_FULL_CONTROL;
- }
- } else if (store->ctx()->_conf->rgw_s3_auth_use_ldap &&
-- (! store->ctx()->_conf->rgw_ldap_uri.empty())) {
--
-- ldout(store->ctx(), 15)
-- << __func__ << " LDAP auth uri="
-- << store->ctx()->_conf->rgw_ldap_uri
-- << dendl;
--
-+ store->ctx()->_conf->rgw_ldap_uri.empty()) {
- RGWToken token{from_base64(s3_access_key)};
-- if (! token.valid())
-- return -EACCES;
--
- rgw::LDAPHelper *ldh = RGW_Auth_S3::get_ldap_ctx(store);
-- if (unlikely(!ldh)) {
-- ldout(store->ctx(), 0)
-- << __func__ << " RGW_Auth_S3::get_ldap_ctx() failed"
-- << dendl;
-- return -EACCES;
-- }
--
-- ldout(store->ctx(), 10)
-- << __func__ << " try LDAP auth uri="
-- << store->ctx()->_conf->rgw_ldap_uri
-- << " token.id=" << token.id
-- << dendl;
--
-- if (ldh->auth(token.id, token.key) != 0)
-+ if ((! token.valid()) || ldh->auth(token.id, token.key) != 0)
- return -EACCES;
-
- /* ok, succeeded */
-@@ -3091,10 +3067,9 @@ void RGW_Auth_S3::init_impl(RGWRados* store)
- const string& ldap_searchdn = store->ctx()->_conf->rgw_ldap_searchdn;
- const string& ldap_dnattr =
- store->ctx()->_conf->rgw_ldap_dnattr;
-- std::string ldap_bindpw = parse_rgw_ldap_bindpw(store->ctx());
-
-- ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_bindpw,
-- ldap_searchdn, ldap_dnattr);
-+ ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_searchdn,
-+ ldap_dnattr);
-
- ldh->init();
- ldh->bind();
-@@ -3935,45 +3910,29 @@ int RGW_Auth_S3::authorize_v2(RGWRados *store, struct req_state *s)
-
- RGW_Auth_S3::init(store);
-
-- ldout(store->ctx(), 15)
-- << __func__ << " LDAP auth uri="
-- << store->ctx()->_conf->rgw_ldap_uri
-- << dendl;
--
- RGWToken token{from_base64(auth_id)};
--
-- if (! token.valid())
-+ if ((! token.valid()) || ldh->auth(token.id, token.key) != 0)
- external_auth_result = -EACCES;
- else {
-- ldout(store->ctx(), 10)
-- << __func__ << " try LDAP auth uri="
-- << store->ctx()->_conf->rgw_ldap_uri
-- << " token.id=" << token.id
-- << dendl;
--
-- if (ldh->auth(token.id, token.key) != 0)
-- external_auth_result = -EACCES;
-- else {
-- /* ok, succeeded */
-- external_auth_result = 0;
-+ /* ok, succeeded */
-+ external_auth_result = 0;
-
-- /* create local account, if none exists */
-- s->user->user_id = token.id;
-- s->user->display_name = token.id; // cn?
-- int ret = rgw_get_user_info_by_uid(store, s->user->user_id, *(s->user));
-+ /* create local account, if none exists */
-+ s->user->user_id = token.id;
-+ s->user->display_name = token.id; // cn?
-+ int ret = rgw_get_user_info_by_uid(store, s->user->user_id, *(s->user));
-+ if (ret < 0) {
-+ ret = rgw_store_user_info(store, *(s->user), nullptr, nullptr,
-+ real_time(), true);
- if (ret < 0) {
-- ret = rgw_store_user_info(store, *(s->user), nullptr, nullptr,
-- real_time(), true);
-- if (ret < 0) {
-- dout(10) << "NOTICE: failed to store new user's info: ret=" << ret
-- << dendl;
-- }
-+ dout(10) << "NOTICE: failed to store new user's info: ret=" << ret
-+ << dendl;
- }
-+ }
-
- /* set request perms */
- s->perm_mask = RGW_PERM_FULL_CONTROL;
-- } /* success */
-- } /* token */
-+ } /* success */
- } /* ldap */
-
- /* keystone failed (or not enabled); check if we want to use rados backend */
-
---
-2.10.0
-
Deleted: extra-i686/04-fix-686-build.patch
===================================================================
--- extra-i686/04-fix-686-build.patch 2017-03-31 23:18:06 UTC (rev 291957)
+++ extra-i686/04-fix-686-build.patch 2017-03-31 23:18:13 UTC (rev 291958)
@@ -1,199 +0,0 @@
-# https://github.com/ceph/ceph/pull/10855
-From 518883d939f34ec0afa03aea1bac35960fb579f2 Mon Sep 17 00:00:00 2001
-From: Loic Dachary <ldachary at redhat.com>
-Date: Thu, 25 Aug 2016 09:09:40 +0200
-Subject: [PATCH 1/4] Revert "common: add int64_t template for
- strict_si_cast()"
-
-This reverts commit e3a99c082e3ebd56d5b40d7d94d98e35629df81e.
----
- src/common/strtol.cc | 2 --
- src/test/strtol.cc | 15 ---------------
- 2 files changed, 17 deletions(-)
-
-diff --git a/src/common/strtol.cc b/src/common/strtol.cc
-index f43d661..50598b9 100644
---- a/src/common/strtol.cc
-+++ b/src/common/strtol.cc
-@@ -189,8 +189,6 @@ template int strict_si_cast<int>(const char *str, std::string *err);
-
- template long long strict_si_cast<long long>(const char *str, std::string *err);
-
--template int64_t strict_si_cast<int64_t>(const char *str, std::string *err);
--
- template uint64_t strict_si_cast<uint64_t>(const char *str, std::string *err);
-
- uint64_t strict_sistrtoll(const char *str, std::string *err)
-diff --git a/src/test/strtol.cc b/src/test/strtol.cc
-index 3946736..646c055 100644
---- a/src/test/strtol.cc
-+++ b/src/test/strtol.cc
-@@ -234,21 +234,6 @@ TEST(StrictSICast, Error) {
- (void)strict_si_cast<int>("1T", &err);
- ASSERT_NE(err, "");
- }
-- {
-- std::string err;
-- (void)strict_si_cast<int64_t>("2E", &err);
-- ASSERT_EQ(err, "");
-- }
-- {
-- std::string err;
-- (void)strict_si_cast<int64_t>("-2E", &err);
-- ASSERT_EQ(err, "");
-- }
-- {
-- std::string err;
-- (void)strict_si_cast<int64_t>("1T", &err);
-- ASSERT_EQ(err, "");
-- }
- }
-
- /*
-
-From f7cd28460147530cfd265a593b32d02adb93abe6 Mon Sep 17 00:00:00 2001
-From: Kefu Chai <tchaikov at gmail.com>
-Date: Sat, 30 Apr 2016 18:31:37 +0800
-Subject: [PATCH 2/4] common/config: cast OPT_U32 options using uint32_t
-
-the OPT_U32 options was translated using strict_si_cast<int>(), and then
-cast the converted result to uint32_t. this could cause integer
-underflow. we could have lifted the burden of checking invalid input
-from the user of this option to the strict_si_cast<>() function. so in
-this change, we use strict_si_cast<uint32_t>() instead, before casting
-the converted value into `uint32_t`.
-
-Signed-off-by: Kefu Chai <tchaikov at gmail.com>
-(cherry picked from commit b7babd6aa671d688eef0af61ca17fd11eec22773)
----
- src/common/config.cc | 2 +-
- src/common/strtol.cc | 3 +--
- 2 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/src/common/config.cc b/src/common/config.cc
-index 622e237..d27bfbf 100644
---- a/src/common/config.cc
-+++ b/src/common/config.cc
-@@ -994,7 +994,7 @@ int md_config_t::set_val_raw(const char *val, const config_option *opt)
- return 0;
- case OPT_U32: {
- std::string err;
-- int f = strict_si_cast<int>(val, &err);
-+ int f = strict_si_cast<uint32_t>(val, &err);
- if (!err.empty())
- return -EINVAL;
- *(uint32_t*)opt->conf_ptr(this) = f;
-diff --git a/src/common/strtol.cc b/src/common/strtol.cc
-index 50598b9..bc5ccc7 100644
---- a/src/common/strtol.cc
-+++ b/src/common/strtol.cc
-@@ -186,10 +186,9 @@ T strict_si_cast(const char *str, std::string *err)
- }
-
- template int strict_si_cast<int>(const char *str, std::string *err);
--
- template long long strict_si_cast<long long>(const char *str, std::string *err);
--
- template uint64_t strict_si_cast<uint64_t>(const char *str, std::string *err);
-+template uint32_t strict_si_cast<uint32_t>(const char *str, std::string *err);
-
- uint64_t strict_sistrtoll(const char *str, std::string *err)
- {
-
-From d93eda88048d2bcefe4be3ea0aaa6ca0289eabbf Mon Sep 17 00:00:00 2001
-From: Vikhyat Umrao <vumrao at redhat.com>
-Date: Thu, 26 May 2016 23:30:25 +0530
-Subject: [PATCH 3/4] common: add int64_t template for strict_si_cast()
-
-Signed-off-by: Vikhyat Umrao <vumrao at redhat.com>
-(cherry picked from commit 8e429d05370fbe7935212d0ae9608e7547f39860)
----
- src/common/strtol.cc | 1 +
- src/test/strtol.cc | 15 +++++++++++++++
- 2 files changed, 16 insertions(+)
-
-diff --git a/src/common/strtol.cc b/src/common/strtol.cc
-index bc5ccc7..0e7ea7d 100644
---- a/src/common/strtol.cc
-+++ b/src/common/strtol.cc
-@@ -187,6 +187,7 @@ T strict_si_cast(const char *str, std::string *err)
-
- template int strict_si_cast<int>(const char *str, std::string *err);
- template long long strict_si_cast<long long>(const char *str, std::string *err);
-+template int64_t strict_si_cast<int64_t>(const char *str, std::string *err);
- template uint64_t strict_si_cast<uint64_t>(const char *str, std::string *err);
- template uint32_t strict_si_cast<uint32_t>(const char *str, std::string *err);
-
-diff --git a/src/test/strtol.cc b/src/test/strtol.cc
-index 646c055..3946736 100644
---- a/src/test/strtol.cc
-+++ b/src/test/strtol.cc
-@@ -234,6 +234,21 @@ TEST(StrictSICast, Error) {
- (void)strict_si_cast<int>("1T", &err);
- ASSERT_NE(err, "");
- }
-+ {
-+ std::string err;
-+ (void)strict_si_cast<int64_t>("2E", &err);
-+ ASSERT_EQ(err, "");
-+ }
-+ {
-+ std::string err;
-+ (void)strict_si_cast<int64_t>("-2E", &err);
-+ ASSERT_EQ(err, "");
-+ }
-+ {
-+ std::string err;
-+ (void)strict_si_cast<int64_t>("1T", &err);
-+ ASSERT_EQ(err, "");
-+ }
- }
-
- /*
-
-From 117aa35094c059dbf5770b01ac13a583471e54aa Mon Sep 17 00:00:00 2001
-From: Kefu Chai <kchai at redhat.com>
-Date: Sun, 26 Jun 2016 01:02:03 +0800
-Subject: [PATCH 4/4] common: instantiate strict_si_cast<long> not
- strict_si_cast<int64_t>
-
-this fixes the build on armf.
-
-on 32bit platforms, cstdint is very likely to
-
- typedef long long int int64_t;
-
-this results in compilation error like
-
- `common/strtol.cc:190:75: error: duplicate explicit instantiation of 'T
- strict_si_cast(const char, std::string) [with T = long long int;
- std::string = std::basic_string]'
-
- [-fpermissive]
- template int64_t strict_si_cast(const char *str, std::string *err);
- ^`
-
-we can address this by instantiate the primitive type of `long long`
-instead of `in64_t`.
-
-Fixes: http://tracker.ceph.com/issues/16398
-Signed-off-by: Kefu Chai <kchai at redhat.com>
-(cherry picked from commit 31db4c5f9f725e13e38f3c90744e299e023d02a4)
----
- src/common/strtol.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/common/strtol.cc b/src/common/strtol.cc
-index 0e7ea7d..321521d 100644
---- a/src/common/strtol.cc
-+++ b/src/common/strtol.cc
-@@ -186,8 +186,8 @@ T strict_si_cast(const char *str, std::string *err)
- }
-
- template int strict_si_cast<int>(const char *str, std::string *err);
-+template long strict_si_cast<long>(const char *str, std::string *err);
- template long long strict_si_cast<long long>(const char *str, std::string *err);
--template int64_t strict_si_cast<int64_t>(const char *str, std::string *err);
- template uint64_t strict_si_cast<uint64_t>(const char *str, std::string *err);
- template uint32_t strict_si_cast<uint32_t>(const char *str, std::string *err);
-
Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD 2017-03-31 23:18:06 UTC (rev 291957)
+++ extra-i686/PKGBUILD 2017-03-31 23:18:13 UTC (rev 291958)
@@ -1,91 +0,0 @@
-# $Id$
-# Maintainer: Sébastien "Seblu" Luttringer <seblu at archlinux.org>
-
-pkgname=ceph
-pkgver=10.2.3
-pkgrel=2
-pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system'
-arch=('x86_64' 'i686')
-url='https://ceph.com/'
-license=('GPL')
-makedepends=('boost' 'systemd' 'xfsprogs' 'python2-setuptools' 'python2-sphinx'
- 'python2-virtualenv' 'cython2')
-depends=('boost-libs' 'curl' 'expat' 'fcgi' 'fuse2' 'gcc-libs' 'glibc'
- 'gperftools' 'keyutils' 'leveldb' 'libaio' 'libatomic_ops' 'libedit'
- 'libsystemd' 'libutil-linux' 'ncurses' 'nss' 'python2' 'snappy')
-optdepends=('xfsprogs: support xfs backend')
-options=('emptydirs')
-install=ceph.install
-source=("https://ceph.com/download/$pkgname-$pkgver.tar.gz"
- 'ceph.sysusers'
- '01-virtualenv2.patch'
- '02-setup-python2.patch'
- '03-Revert-rgw-ldap-fix-ldap-bindpw-parsing.patch'
- '04-fix-686-build.patch')
-md5sums=('5d660c78a211f6d53161e197729aebd2'
- 'b3e24e3aa005a657ab475f84bfe3291a'
- 'a3f72dc8e97f9fd5708d52256bcd9e75'
- 'f11582acceeb6c1790518c3a5a29bb18'
- '6c4cbe6288858421832e751164617774'
- 'e8fbd2dfb359a8f6d2738d46441fbffa')
-
-prepare() {
- cd $pkgname-$pkgver
- # apply patch from the source array (should be a pacman feature)
- local filename
- for filename in "${source[@]}"; do
- if [[ "$filename" =~ \.patch$ ]]; then
- msg2 "Applying patch ${filename##*/}"
- patch -p1 -N -i "$srcdir/${filename##*/}"
- fi
- done
- :
-}
-
-build() {
- cd $pkgname-$pkgver
- ./configure \
- --prefix=/usr \
- --sbindir=/usr/bin \
- --libexecdir=/usr/lib \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --with-man-pages \
- --with-radosgw \
- --without-openldap \
- PYTHON=/usr/bin/python2 \
- CYTHON_CHECK=yes \
- PYTHON_CONFIG_CHECK=yes \
- SPHINX_BUILD=sphinx-build2
- make
-}
-
-package() {
- cd $pkgname-$pkgver
-
- make DESTDIR="$pkgdir" install
-
- # install tmpfiles.d
- install -Dm644 systemd/ceph.tmpfiles.d "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
- install -Dm644 "$srcdir"/ceph.sysusers "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
-
- cd "$pkgdir"
-
- # fix sbin path
- msg2 'Fix sbin paths'
- mv -v usr/sbin/* usr/bin
- rmdir -v usr/sbin
-
- # fix bash completions path
- msg2 'Fix bash completion path'
- install -d -m 755 usr/share/bash-completion
- mv etc/bash_completion.d usr/share/bash-completion/completions
-
- # fix python2 shebang, did not do it in prepare() anymore because it
- # confuse automake
- msg2 'Fix python2 shebang'
- find . -type f -executable -exec \
- sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \;
-}
-
-# vim:set ts=2 sw=2 et:
Copied: ceph/repos/extra-i686/PKGBUILD (from rev 291957, ceph/repos/testing-i686/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD (rev 0)
+++ extra-i686/PKGBUILD 2017-03-31 23:18:13 UTC (rev 291958)
@@ -0,0 +1,95 @@
+# $Id$
+# Maintainer: Sébastien "Seblu" Luttringer <seblu at archlinux.org>
+
+pkgname=ceph
+pkgver=10.2.5
+pkgrel=1
+pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system'
+arch=('x86_64' 'i686')
+url='https://ceph.com/'
+license=('GPL')
+makedepends=('boost' 'systemd' 'xfsprogs' 'python2-sphinx' 'cython2' 'sed')
+depends=('boost-libs' 'curl' 'expat' 'fcgi' 'fuse2' 'gcc-libs' 'glibc'
+ 'gperftools' 'keyutils' 'leveldb' 'libaio' 'libatomic_ops' 'libedit'
+ 'libsystemd' 'libutil-linux' 'ncurses' 'nss' 'python2' 'snappy'
+ 'python2-setuptools' 'xfsprogs')
+options=('emptydirs')
+source=("https://ceph.com/download/$pkgname-$pkgver.tar.gz"
+ 'ceph.sysusers'
+ '01-ceph-detec-init.patch')
+md5sums=('772bf99f4360774f5948191a7b012c88'
+ 'b3e24e3aa005a657ab475f84bfe3291a'
+ 'da25c78ae413dc134cc99fe9818f6ff1')
+
+prepare() {
+ cd $pkgname-$pkgver
+ # apply patch from the source array (should be a pacman feature)
+ local filename
+ for filename in "${source[@]}"; do
+ if [[ "$filename" =~ \.patch$ ]]; then
+ msg2 "Applying patch ${filename##*/}"
+ patch -p1 -N -i "$srcdir/${filename##*/}"
+ fi
+ done
+ :
+}
+
+build() {
+ cd $pkgname-$pkgver
+ # fix xfs.h failure in configure on i686
+ [[ $CARCH == i686 ]] && export CXXFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64"
+ # don't use autotools for ceph-disk, ceph-detect and tests
+ sed -ri 's,include (ceph-disk|ceph-detect-init|test)/Makefile.am,,' src/Makefile.am
+ # regen configure
+ ./autogen.sh
+ # fix python-config binary name
+ sed -i 's,python-config,python2-config,g' configure
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --libexecdir=/usr/lib \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-man-pages \
+ --without-radosgw \
+ --without-openldap \
+ PYTHON=/usr/bin/python2 \
+ CYTHON_CHECK=yes \
+ PYTHON_CONFIG_CHECK=yes \
+ SPHINX_BUILD=sphinx-build2
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ # main install
+ make DESTDIR="$pkgdir" install
+
+ # ceph-disk
+ pushd src/ceph-disk
+ python2 setup.py install --root "$pkgdir" --prefix=/usr
+ popd
+
+ # ceph-detect-init
+ pushd src/ceph-detect-init
+ python2 setup.py install --root "$pkgdir" --prefix=/usr
+ popd
+
+ # systemd stuff
+ install -Dm644 systemd/ceph.tmpfiles.d "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+ install -Dm644 "$srcdir"/ceph.sysusers "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
+
+ # fix bash completions path
+ msg2 'Fix bash completion path'
+ install -d -m 755 "$pkgdir"/usr/share/bash-completion
+ mv "$pkgdir"/{etc/bash_completion.d,usr/share/bash-completion/completions}
+
+ # fix python2 shebang, did not do it in prepare() anymore because it
+ # confuse automake
+ msg2 'Fix python2 shebang'
+ find "$pkgdir" -type f -executable -exec \
+ sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \;
+}
+
+# vim:set ts=2 sw=2 et:
Copied: ceph/repos/extra-i686/PKGBUILD.v11 (from rev 291957, ceph/repos/testing-i686/PKGBUILD.v11)
===================================================================
--- extra-i686/PKGBUILD.v11 (rev 0)
+++ extra-i686/PKGBUILD.v11 2017-03-31 23:18:13 UTC (rev 291958)
@@ -0,0 +1,92 @@
+# $Id: PKGBUILD 287115 2017-01-22 01:54:44Z seblu $
+# Maintainer: Sébastien "Seblu" Luttringer <seblu at archlinux.org>
+
+pkgname=ceph
+pkgver=11.2.0
+pkgrel=0.1
+pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system'
+arch=('x86_64' 'i686')
+url='https://ceph.com/'
+license=('GPL')
+makedepends=('boost' 'systemd' 'xfsprogs' 'python2-sphinx' 'python2-virtualenv'
+ 'cython2' 'cmake' 'yasm')
+depends=('boost-libs' 'curl' 'expat' 'fcgi' 'fuse2' 'gcc-libs' 'glibc'
+ 'gperftools' 'keyutils' 'leveldb' 'libaio' 'libatomic_ops' 'libedit'
+ 'libsystemd' 'libutil-linux' 'ncurses' 'nss' 'python2' 'snappy'
+ 'python2-setuptools' 'xfsprogs')
+options=('!emptydirs')
+source=("https://download.ceph.com/tarballs/ceph-$pkgver.tar.gz"
+ 'ceph.sysusers'
+ '14099.patch')
+md5sums=('1e394a69820d71e5df19abe38ef647a6'
+ 'b3e24e3aa005a657ab475f84bfe3291a'
+ '9d376f1f6d06be71c2cc6aa267a67869')
+
+prepare() {
+ cd $pkgname-$pkgver
+ # apply patch from the source array (should be a pacman feature)
+ local filename
+ for filename in "${source[@]}"; do
+ if [[ "$filename" =~ \.patch$ ]]; then
+ msg2 "Applying patch ${filename##*/}"
+ patch -p1 -N -i "$srcdir/${filename##*/}"
+ fi
+ done
+ :
+}
+
+build() {
+ cd $pkgname-$pkgver
+ [[ -d build ]] || mkdir build
+ cd build
+ # list of options defaults: grep ^option CMakeLists.txt
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc \
+ -DCMAKE_INSTALL_SBINDIR=/usr/bin \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib \
+ -DSPHINX_BUILD=/usr/bin/sphinx-build2 \
+ -DWITH_SYSTEM_BOOST=ON \
+ -DWITH_SYSTEMD=ON \
+ -DWITH_EMBEDDED=OFF \
+ -DWITH_OPENLDAP=OFF \
+ -DWITH_LTTNG=OFF \
+ -DHAVE_BABELTRACE=OFF \
+ -DWITH_TESTS=OFF \
+ ..
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver/build
+
+ make DESTDIR="$pkgdir" install
+
+ cd "$pkgdir"
+
+ # install tmpfiles.d
+ install -Dm644 "$srcdir"/$pkgname-$pkgver/systemd/ceph.tmpfiles.d \
+ usr/lib/tmpfiles.d/$pkgname.conf
+ install -Dm644 "$srcdir"/ceph.sysusers \
+ usr/lib/sysusers.d/$pkgname.conf
+
+ # fix sbin path
+ msg2 'Fix sbin paths'
+ mv -v usr/sbin/* usr/bin
+
+ # fix bash completions path
+ msg2 'Fix bash completion path'
+ install -d -m 755 usr/share/bash-completion
+ mv -v etc/bash_completion.d usr/share/bash-completion/completions
+
+ # remove debian init
+ rm -v etc/init.d/ceph
+
+ # fix python2 shebang, did not do it in prepare() because cmake remplace some
+ msg2 'Fix python2 shebang'
+ find usr/bin -type f -executable -exec \
+ sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \;
+}
+
+# vim:set ts=2 sw=2 et:
Deleted: extra-i686/ceph.install
===================================================================
--- extra-i686/ceph.install 2017-03-31 23:18:06 UTC (rev 291957)
+++ extra-i686/ceph.install 2017-03-31 23:18:13 UTC (rev 291958)
@@ -1,16 +0,0 @@
-# vim: ft=sh ts=2 sw=2 et:
-
-# arg 1: the new package version
-post_install() {
- systemd-sysusers ceph.conf
- systemd-tmpfiles --create ceph.conf
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade() {
- if (( "$(vercmp $2 '10.2.2-1')" < 0 )); then
- systemd-sysusers ceph.conf
- systemd-tmpfiles --create ceph.conf
- fi
-}
Deleted: extra-i686/ceph.sysusers
===================================================================
--- extra-i686/ceph.sysusers 2017-03-31 23:18:06 UTC (rev 291957)
+++ extra-i686/ceph.sysusers 2017-03-31 23:18:13 UTC (rev 291958)
@@ -1 +0,0 @@
-u ceph - - /run/ceph
Copied: ceph/repos/extra-i686/ceph.sysusers (from rev 291957, ceph/repos/testing-i686/ceph.sysusers)
===================================================================
--- extra-i686/ceph.sysusers (rev 0)
+++ extra-i686/ceph.sysusers 2017-03-31 23:18:13 UTC (rev 291958)
@@ -0,0 +1 @@
+u ceph - - /run/ceph
Copied: ceph/repos/extra-x86_64/01-ceph-detec-init.patch (from rev 291957, ceph/repos/testing-x86_64/01-ceph-detec-init.patch)
===================================================================
--- extra-x86_64/01-ceph-detec-init.patch (rev 0)
+++ extra-x86_64/01-ceph-detec-init.patch 2017-03-31 23:18:13 UTC (rev 291958)
@@ -0,0 +1,69 @@
+commit c19cb3cd2756ba830edd92158a2913beaa6e24aa
+Author: Sébastien Luttringer <seblu at seblu.net>
+Date: Sun Mar 26 16:35:13 2017 +0200
+
+ Arch support
+
+diff --git a/src/ceph-detect-init/ceph_detect_init/__init__.py b/src/ceph-detect-init/ceph_detect_init/__init__.py
+index a2bcc7cf27..ca2f2d7975 100644
+--- a/src/ceph-detect-init/ceph_detect_init/__init__.py
++++ b/src/ceph-detect-init/ceph_detect_init/__init__.py
+@@ -13,6 +13,7 @@
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ # GNU Library Public License for more details.
+ #
++from ceph_detect_init import arch
+ from ceph_detect_init import centos
+ from ceph_detect_init import debian
+ from ceph_detect_init import exc
+@@ -21,6 +22,7 @@ from ceph_detect_init import rhel
+ from ceph_detect_init import suse
+ import logging
+ import platform
++import os
+
+
+ def get(use_rhceph=False):
+@@ -49,6 +51,7 @@ def _get_distro(distro, use_rhceph=False):
+
+ distro = _normalized_distro_name(distro)
+ distributions = {
++ 'arch': arch,
+ 'debian': debian,
+ 'ubuntu': debian,
+ 'linuxmint': debian,
+@@ -75,6 +78,8 @@ def _normalized_distro_name(distro):
+ return 'suse'
+ elif distro.startswith('centos'):
+ return 'centos'
++ elif distro.startswith('arch'):
++ return 'arch'
+ return distro
+
+
+@@ -103,6 +108,8 @@ def platform_information():
+ else:
+ codename = major
+
++ elif os.path.exists("/etc/arch-release"):
++ return ("arch", None, "arch")
+ return (
+ str(distro).rstrip(),
+ str(release).rstrip(),
+diff --git a/src/ceph-detect-init/ceph_detect_init/arch/__init__.py b/src/ceph-detect-init/ceph_detect_init/arch/__init__.py
+new file mode 100644
+index 0000000000..425ce50bb2
+--- /dev/null
++++ b/src/ceph-detect-init/ceph_detect_init/arch/__init__.py
+@@ -0,0 +1,11 @@
++distro = None
++release = None
++codename = None
++
++
++def choose_init():
++ """Select a init system
++
++ Returns the name of a init system (upstart, sysvinit ...).
++ """
++ return 'systemd'
Deleted: extra-x86_64/01-virtualenv2.patch
===================================================================
--- extra-x86_64/01-virtualenv2.patch 2017-03-31 23:18:06 UTC (rev 291957)
+++ extra-x86_64/01-virtualenv2.patch 2017-03-31 23:18:13 UTC (rev 291958)
@@ -1,11 +0,0 @@
---- a/src/tools/setup-virtualenv.sh 2016-06-14 13:43:58.000000000 +0200
-+++ b/src/tools/setup-virtualenv.sh 2016-08-18 02:13:31.418624320 +0200
-@@ -18,7 +18,7 @@
- DIR=$1
- rm -fr $DIR
- mkdir -p $DIR
--virtualenv --python python2.7 $DIR
-+virtualenv2 --python python2.7 $DIR
- . $DIR/bin/activate
- # older versions of pip will not install wrap_console scripts
- # when using wheel packages
Deleted: extra-x86_64/02-setup-python2.patch
===================================================================
--- extra-x86_64/02-setup-python2.patch 2017-03-31 23:18:06 UTC (rev 291957)
+++ extra-x86_64/02-setup-python2.patch 2017-03-31 23:18:13 UTC (rev 291958)
@@ -1,38 +0,0 @@
---- a/src/Makefile.in 2016-06-14 13:44:59.000000000 +0200
-+++ b/src/Makefile.in 2016-08-19 22:09:15.526703376 +0200
-@@ -32623,7 +32623,7 @@
- cd $(srcdir)/ceph-detect-init ; ../tools/setup-virtualenv.sh ${CEPH_DETECT_INIT_VIRTUALENV} ; test -d wheelhouse && export NO_INDEX=--no-index ; ${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install $$NO_INDEX --use-wheel --find-links=file://$$(pwd)/wheelhouse -e .
-
- ceph-detect-init-clean:
-- cd $(srcdir)/ceph-detect-init ; python setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DETECT_INIT_VIRTUALENV} .coverage *.egg-info
-+ cd $(srcdir)/ceph-detect-init ; python2 setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DETECT_INIT_VIRTUALENV} .coverage *.egg-info
-
- ceph-detect-init-install-data:
- cd $(srcdir)/ceph-detect-init ; \
-@@ -32635,7 +32635,7 @@
- fi ; \
- root="--root=$(DESTDIR)" ; \
- fi ; \
-- python setup.py install $$root $$options
-+ python2 setup.py install $$root $$options
-
- export CEPH_DISK_VIRTUALENV = ${CEPH_BUILD_VIRTUALENV}/ceph-disk-virtualenv
-
-@@ -32645,7 +32645,7 @@
- cd $(srcdir)/ceph-disk ; ../tools/setup-virtualenv.sh ${CEPH_DISK_VIRTUALENV} ; test -d wheelhouse && export NO_INDEX=--no-index ; ${CEPH_DISK_VIRTUALENV}/bin/pip install $$NO_INDEX --use-wheel --find-links=file://$$(pwd)/wheelhouse -e .
-
- ceph-disk-clean:
-- cd $(srcdir)/ceph-disk ; python setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DISK_VIRTUALENV} .coverage *.egg-info
-+ cd $(srcdir)/ceph-disk ; python2 setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DISK_VIRTUALENV} .coverage *.egg-info
-
- ceph-disk-install-data:
- cd $(srcdir)/ceph-disk ; \
-@@ -32657,7 +32657,7 @@
- fi ; \
- root="--root=$(DESTDIR) --install-script=/usr/sbin" ; \
- fi ; \
-- python setup.py install $$root $$options
-+ python2 setup.py install $$root $$options
-
- #crush_includedir = $(includedir)/crush
- #crush_include_DATA = \
Deleted: extra-x86_64/03-Revert-rgw-ldap-fix-ldap-bindpw-parsing.patch
===================================================================
--- extra-x86_64/03-Revert-rgw-ldap-fix-ldap-bindpw-parsing.patch 2017-03-31 23:18:06 UTC (rev 291957)
+++ extra-x86_64/03-Revert-rgw-ldap-fix-ldap-bindpw-parsing.patch 2017-03-31 23:18:13 UTC (rev 291958)
@@ -1,309 +0,0 @@
-From b1099e8edcda1ab658eaac424bd2e09d6e7cbabd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?S=C3=A9bastien=20Luttringer?= <seblu at seblu.net>
-Date: Sun, 9 Oct 2016 01:53:36 +0200
-Subject: [PATCH] Revert "rgw ldap: fix ldap bindpw parsing"
-
-This reverts commit fe57aceeb02ad9163feb2d196589b5927cedfa0f.
----
- src/rgw/librgw.cc | 6 ++--
- src/rgw/rgw_ldap.cc | 35 ---------------------
- src/rgw/rgw_ldap.h | 54 ++++++++-------------------------
- src/rgw/rgw_rest_s3.cc | 77 +++++++++++------------------------------------
- src/test/test_rgw_ldap.cc | 4 +--
- 5 files changed, 34 insertions(+), 142 deletions(-)
-
-diff --git a/src/rgw/librgw.cc b/src/rgw/librgw.cc
-index c476129..37414fc 100644
---- a/src/rgw/librgw.cc
-+++ b/src/rgw/librgw.cc
-@@ -52,7 +52,6 @@
- #include <string.h>
- #include <mutex>
-
--
- #define dout_subsys ceph_subsys_rgw
-
- bool global_stop = false;
-@@ -470,10 +469,9 @@ namespace rgw {
- const string& ldap_searchdn = store->ctx()->_conf->rgw_ldap_searchdn;
- const string& ldap_dnattr =
- store->ctx()->_conf->rgw_ldap_dnattr;
-- std::string ldap_bindpw = parse_rgw_ldap_bindpw(store->ctx());
-
-- ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_bindpw.c_str(),
-- ldap_searchdn, ldap_dnattr);
-+ ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_searchdn,
-+ ldap_dnattr);
- ldh->init();
- ldh->bind();
-
-diff --git a/src/rgw/rgw_ldap.cc b/src/rgw/rgw_ldap.cc
-index 6cca3b8..ac420e3 100644
---- a/src/rgw/rgw_ldap.cc
-+++ b/src/rgw/rgw_ldap.cc
-@@ -2,38 +2,3 @@
- // vim: ts=8 sw=2 smarttab
-
- #include "rgw_ldap.h"
--
--#include "common/ceph_context.h"
--#include "common/common_init.h"
--#include "common/dout.h"
--#include "common/safe_io.h"
--#include <boost/algorithm/string.hpp>
--
--#include "include/assert.h"
--
--#define dout_subsys ceph_subsys_rgw
--
--std::string parse_rgw_ldap_bindpw(CephContext* ctx)
--{
-- string ldap_bindpw;
-- string ldap_secret = ctx->_conf->rgw_ldap_secret;
--
-- if (ldap_secret.empty()) {
-- ldout(ctx, 10)
-- << __func__ << " LDAP auth no rgw_ldap_secret file found in conf"
-- << dendl;
-- } else {
-- char bindpw[1024];
-- memset(bindpw, 0, 1024);
-- int pwlen = safe_read_file("" /* base */, ldap_secret.c_str(),
-- bindpw, 1023);
-- if (pwlen) {
-- ldap_bindpw = bindpw;
-- boost::algorithm::trim(ldap_bindpw);
-- if (ldap_bindpw.back() == '\n')
-- ldap_bindpw.pop_back();
-- }
-- }
--
-- return std::move(ldap_bindpw);
--}
-diff --git a/src/rgw/rgw_ldap.h b/src/rgw/rgw_ldap.h
-index b29e33ad..02eb61e 100644
---- a/src/rgw/rgw_ldap.h
-+++ b/src/rgw/rgw_ldap.h
-@@ -23,38 +23,27 @@ namespace rgw {
- {
- std::string uri;
- std::string binddn;
-- std::string bindpw;
- std::string searchdn;
- std::string dnattr;
- LDAP *ldap;
-- bool msad = false; /* TODO: possible future specialization */
-
- public:
-- LDAPHelper(std::string _uri, std::string _binddn, std::string _bindpw,
-- std::string _searchdn, std::string _dnattr)
-- : uri(std::move(_uri)), binddn(std::move(_binddn)),
-- bindpw(std::move(_bindpw)), searchdn(_searchdn), dnattr(_dnattr),
-- ldap(nullptr) {
-+ LDAPHelper(std::string _uri, std::string _binddn, std::string _searchdn,
-+ std::string _dnattr)
-+ : uri(std::move(_uri)), binddn(std::move(_binddn)), searchdn(_searchdn),
-+ dnattr(_dnattr), ldap(nullptr) {
- // nothing
- }
-
- int init() {
- int ret;
- ret = ldap_initialize(&ldap, uri.c_str());
-- if (ret == LDAP_SUCCESS) {
-- unsigned long ldap_ver = LDAP_VERSION3;
-- ret = ldap_set_option(ldap, LDAP_OPT_PROTOCOL_VERSION,
-- (void*) &ldap_ver);
-- }
-- if (ret == LDAP_SUCCESS) {
-- ret = ldap_set_option(ldap, LDAP_OPT_REFERRALS, LDAP_OPT_OFF);
-- }
- return (ret == LDAP_SUCCESS) ? ret : -EINVAL;
- }
-
- int bind() {
- int ret;
-- ret = ldap_simple_bind_s(ldap, binddn.c_str(), bindpw.c_str());
-+ ret = ldap_simple_bind_s(ldap, nullptr, nullptr);
- return (ret == LDAP_SUCCESS) ? ret : -EINVAL;
- }
-
-@@ -71,18 +60,11 @@ namespace rgw {
- int auth(const std::string uid, const std::string pwd) {
- int ret;
- std::string filter;
-- if (msad) {
-- filter = "(&(objectClass=user)(sAMAccountName=";
-- filter += uid;
-- filter += "))";
-- } else {
-- /* openldap */
-- filter = "(";
-- filter += dnattr;
-- filter += "=";
-- filter += uid;
-- filter += ")";
-- }
-+ filter = "(";
-+ filter += dnattr;
-+ filter += "=";
-+ filter += uid;
-+ filter += ")";
- char *attrs[] = { const_cast<char*>(dnattr.c_str()), nullptr };
- LDAPMessage *answer = nullptr, *entry = nullptr;
- ret = ldap_search_s(ldap, searchdn.c_str(), LDAP_SCOPE_SUBTREE,
-@@ -113,8 +95,8 @@ namespace rgw {
- class LDAPHelper
- {
- public:
-- LDAPHelper(std::string _uri, std::string _binddn, std::string _bindpw,
-- std::string _searchdn, std::string _dnattr)
-+ LDAPHelper(std::string _uri, std::string _binddn, std::string _searchdn,
-+ std::string _dnattr)
- {}
-
- int init() {
-@@ -135,17 +117,7 @@ namespace rgw {
-
-
- #endif /* HAVE_OPENLDAP */
--
--} /* namespace rgw */
--
--#include "common/ceph_context.h"
--#include "common/common_init.h"
--#include "common/dout.h"
--#include "common/safe_io.h"
--#include <boost/algorithm/string.hpp>
-
--#include "include/assert.h"
--
--std::string parse_rgw_ldap_bindpw(CephContext* ctx);
-+} /* namespace rgw */
-
- #endif /* RGW_LDAP_H */
-diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc
-index e9f24f3..bd952db 100644
---- a/src/rgw/rgw_rest_s3.cc
-+++ b/src/rgw/rgw_rest_s3.cc
-@@ -8,8 +8,6 @@
- #include "common/Formatter.h"
- #include "common/utf8.h"
- #include "common/ceph_json.h"
--#include "common/safe_io.h"
--#include <boost/algorithm/string.hpp>
-
- #include "rgw_rest.h"
- #include "rgw_rest_s3.h"
-@@ -1747,32 +1745,10 @@ int RGWPostObj_ObjStore_S3::get_policy()
- s->perm_mask = RGW_PERM_FULL_CONTROL;
- }
- } else if (store->ctx()->_conf->rgw_s3_auth_use_ldap &&
-- (! store->ctx()->_conf->rgw_ldap_uri.empty())) {
--
-- ldout(store->ctx(), 15)
-- << __func__ << " LDAP auth uri="
-- << store->ctx()->_conf->rgw_ldap_uri
-- << dendl;
--
-+ store->ctx()->_conf->rgw_ldap_uri.empty()) {
- RGWToken token{from_base64(s3_access_key)};
-- if (! token.valid())
-- return -EACCES;
--
- rgw::LDAPHelper *ldh = RGW_Auth_S3::get_ldap_ctx(store);
-- if (unlikely(!ldh)) {
-- ldout(store->ctx(), 0)
-- << __func__ << " RGW_Auth_S3::get_ldap_ctx() failed"
-- << dendl;
-- return -EACCES;
-- }
--
-- ldout(store->ctx(), 10)
-- << __func__ << " try LDAP auth uri="
-- << store->ctx()->_conf->rgw_ldap_uri
-- << " token.id=" << token.id
-- << dendl;
--
-- if (ldh->auth(token.id, token.key) != 0)
-+ if ((! token.valid()) || ldh->auth(token.id, token.key) != 0)
- return -EACCES;
-
- /* ok, succeeded */
-@@ -3091,10 +3067,9 @@ void RGW_Auth_S3::init_impl(RGWRados* store)
- const string& ldap_searchdn = store->ctx()->_conf->rgw_ldap_searchdn;
- const string& ldap_dnattr =
- store->ctx()->_conf->rgw_ldap_dnattr;
-- std::string ldap_bindpw = parse_rgw_ldap_bindpw(store->ctx());
-
-- ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_bindpw,
-- ldap_searchdn, ldap_dnattr);
-+ ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_searchdn,
-+ ldap_dnattr);
-
- ldh->init();
- ldh->bind();
-@@ -3935,45 +3910,29 @@ int RGW_Auth_S3::authorize_v2(RGWRados *store, struct req_state *s)
-
- RGW_Auth_S3::init(store);
-
-- ldout(store->ctx(), 15)
-- << __func__ << " LDAP auth uri="
-- << store->ctx()->_conf->rgw_ldap_uri
-- << dendl;
--
- RGWToken token{from_base64(auth_id)};
--
-- if (! token.valid())
-+ if ((! token.valid()) || ldh->auth(token.id, token.key) != 0)
- external_auth_result = -EACCES;
- else {
-- ldout(store->ctx(), 10)
-- << __func__ << " try LDAP auth uri="
-- << store->ctx()->_conf->rgw_ldap_uri
-- << " token.id=" << token.id
-- << dendl;
--
-- if (ldh->auth(token.id, token.key) != 0)
-- external_auth_result = -EACCES;
-- else {
-- /* ok, succeeded */
-- external_auth_result = 0;
-+ /* ok, succeeded */
-+ external_auth_result = 0;
-
-- /* create local account, if none exists */
-- s->user->user_id = token.id;
-- s->user->display_name = token.id; // cn?
-- int ret = rgw_get_user_info_by_uid(store, s->user->user_id, *(s->user));
-+ /* create local account, if none exists */
-+ s->user->user_id = token.id;
-+ s->user->display_name = token.id; // cn?
-+ int ret = rgw_get_user_info_by_uid(store, s->user->user_id, *(s->user));
-+ if (ret < 0) {
-+ ret = rgw_store_user_info(store, *(s->user), nullptr, nullptr,
-+ real_time(), true);
- if (ret < 0) {
-- ret = rgw_store_user_info(store, *(s->user), nullptr, nullptr,
-- real_time(), true);
-- if (ret < 0) {
-- dout(10) << "NOTICE: failed to store new user's info: ret=" << ret
-- << dendl;
-- }
-+ dout(10) << "NOTICE: failed to store new user's info: ret=" << ret
-+ << dendl;
- }
-+ }
-
- /* set request perms */
- s->perm_mask = RGW_PERM_FULL_CONTROL;
-- } /* success */
-- } /* token */
-+ } /* success */
- } /* ldap */
-
- /* keystone failed (or not enabled); check if we want to use rados backend */
-
---
-2.10.0
-
Deleted: extra-x86_64/04-fix-686-build.patch
===================================================================
--- extra-x86_64/04-fix-686-build.patch 2017-03-31 23:18:06 UTC (rev 291957)
+++ extra-x86_64/04-fix-686-build.patch 2017-03-31 23:18:13 UTC (rev 291958)
@@ -1,199 +0,0 @@
-# https://github.com/ceph/ceph/pull/10855
-From 518883d939f34ec0afa03aea1bac35960fb579f2 Mon Sep 17 00:00:00 2001
-From: Loic Dachary <ldachary at redhat.com>
-Date: Thu, 25 Aug 2016 09:09:40 +0200
-Subject: [PATCH 1/4] Revert "common: add int64_t template for
- strict_si_cast()"
-
-This reverts commit e3a99c082e3ebd56d5b40d7d94d98e35629df81e.
----
- src/common/strtol.cc | 2 --
- src/test/strtol.cc | 15 ---------------
- 2 files changed, 17 deletions(-)
-
-diff --git a/src/common/strtol.cc b/src/common/strtol.cc
-index f43d661..50598b9 100644
---- a/src/common/strtol.cc
-+++ b/src/common/strtol.cc
-@@ -189,8 +189,6 @@ template int strict_si_cast<int>(const char *str, std::string *err);
-
- template long long strict_si_cast<long long>(const char *str, std::string *err);
-
--template int64_t strict_si_cast<int64_t>(const char *str, std::string *err);
--
- template uint64_t strict_si_cast<uint64_t>(const char *str, std::string *err);
-
- uint64_t strict_sistrtoll(const char *str, std::string *err)
-diff --git a/src/test/strtol.cc b/src/test/strtol.cc
-index 3946736..646c055 100644
---- a/src/test/strtol.cc
-+++ b/src/test/strtol.cc
-@@ -234,21 +234,6 @@ TEST(StrictSICast, Error) {
- (void)strict_si_cast<int>("1T", &err);
- ASSERT_NE(err, "");
- }
-- {
-- std::string err;
-- (void)strict_si_cast<int64_t>("2E", &err);
-- ASSERT_EQ(err, "");
-- }
-- {
-- std::string err;
-- (void)strict_si_cast<int64_t>("-2E", &err);
-- ASSERT_EQ(err, "");
-- }
-- {
-- std::string err;
-- (void)strict_si_cast<int64_t>("1T", &err);
-- ASSERT_EQ(err, "");
-- }
- }
-
- /*
-
-From f7cd28460147530cfd265a593b32d02adb93abe6 Mon Sep 17 00:00:00 2001
-From: Kefu Chai <tchaikov at gmail.com>
-Date: Sat, 30 Apr 2016 18:31:37 +0800
-Subject: [PATCH 2/4] common/config: cast OPT_U32 options using uint32_t
-
-the OPT_U32 options was translated using strict_si_cast<int>(), and then
-cast the converted result to uint32_t. this could cause integer
-underflow. we could have lifted the burden of checking invalid input
-from the user of this option to the strict_si_cast<>() function. so in
-this change, we use strict_si_cast<uint32_t>() instead, before casting
-the converted value into `uint32_t`.
-
-Signed-off-by: Kefu Chai <tchaikov at gmail.com>
-(cherry picked from commit b7babd6aa671d688eef0af61ca17fd11eec22773)
----
- src/common/config.cc | 2 +-
- src/common/strtol.cc | 3 +--
- 2 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/src/common/config.cc b/src/common/config.cc
-index 622e237..d27bfbf 100644
---- a/src/common/config.cc
-+++ b/src/common/config.cc
-@@ -994,7 +994,7 @@ int md_config_t::set_val_raw(const char *val, const config_option *opt)
- return 0;
- case OPT_U32: {
- std::string err;
-- int f = strict_si_cast<int>(val, &err);
-+ int f = strict_si_cast<uint32_t>(val, &err);
- if (!err.empty())
- return -EINVAL;
- *(uint32_t*)opt->conf_ptr(this) = f;
-diff --git a/src/common/strtol.cc b/src/common/strtol.cc
-index 50598b9..bc5ccc7 100644
---- a/src/common/strtol.cc
-+++ b/src/common/strtol.cc
-@@ -186,10 +186,9 @@ T strict_si_cast(const char *str, std::string *err)
- }
-
- template int strict_si_cast<int>(const char *str, std::string *err);
--
- template long long strict_si_cast<long long>(const char *str, std::string *err);
--
- template uint64_t strict_si_cast<uint64_t>(const char *str, std::string *err);
-+template uint32_t strict_si_cast<uint32_t>(const char *str, std::string *err);
-
- uint64_t strict_sistrtoll(const char *str, std::string *err)
- {
-
-From d93eda88048d2bcefe4be3ea0aaa6ca0289eabbf Mon Sep 17 00:00:00 2001
-From: Vikhyat Umrao <vumrao at redhat.com>
-Date: Thu, 26 May 2016 23:30:25 +0530
-Subject: [PATCH 3/4] common: add int64_t template for strict_si_cast()
-
-Signed-off-by: Vikhyat Umrao <vumrao at redhat.com>
-(cherry picked from commit 8e429d05370fbe7935212d0ae9608e7547f39860)
----
- src/common/strtol.cc | 1 +
- src/test/strtol.cc | 15 +++++++++++++++
- 2 files changed, 16 insertions(+)
-
-diff --git a/src/common/strtol.cc b/src/common/strtol.cc
-index bc5ccc7..0e7ea7d 100644
---- a/src/common/strtol.cc
-+++ b/src/common/strtol.cc
-@@ -187,6 +187,7 @@ T strict_si_cast(const char *str, std::string *err)
-
- template int strict_si_cast<int>(const char *str, std::string *err);
- template long long strict_si_cast<long long>(const char *str, std::string *err);
-+template int64_t strict_si_cast<int64_t>(const char *str, std::string *err);
- template uint64_t strict_si_cast<uint64_t>(const char *str, std::string *err);
- template uint32_t strict_si_cast<uint32_t>(const char *str, std::string *err);
-
-diff --git a/src/test/strtol.cc b/src/test/strtol.cc
-index 646c055..3946736 100644
---- a/src/test/strtol.cc
-+++ b/src/test/strtol.cc
-@@ -234,6 +234,21 @@ TEST(StrictSICast, Error) {
- (void)strict_si_cast<int>("1T", &err);
- ASSERT_NE(err, "");
- }
-+ {
-+ std::string err;
-+ (void)strict_si_cast<int64_t>("2E", &err);
-+ ASSERT_EQ(err, "");
-+ }
-+ {
-+ std::string err;
-+ (void)strict_si_cast<int64_t>("-2E", &err);
-+ ASSERT_EQ(err, "");
-+ }
-+ {
-+ std::string err;
-+ (void)strict_si_cast<int64_t>("1T", &err);
-+ ASSERT_EQ(err, "");
-+ }
- }
-
- /*
-
-From 117aa35094c059dbf5770b01ac13a583471e54aa Mon Sep 17 00:00:00 2001
-From: Kefu Chai <kchai at redhat.com>
-Date: Sun, 26 Jun 2016 01:02:03 +0800
-Subject: [PATCH 4/4] common: instantiate strict_si_cast<long> not
- strict_si_cast<int64_t>
-
-this fixes the build on armf.
-
-on 32bit platforms, cstdint is very likely to
-
- typedef long long int int64_t;
-
-this results in compilation error like
-
- `common/strtol.cc:190:75: error: duplicate explicit instantiation of 'T
- strict_si_cast(const char, std::string) [with T = long long int;
- std::string = std::basic_string]'
-
- [-fpermissive]
- template int64_t strict_si_cast(const char *str, std::string *err);
- ^`
-
-we can address this by instantiate the primitive type of `long long`
-instead of `in64_t`.
-
-Fixes: http://tracker.ceph.com/issues/16398
-Signed-off-by: Kefu Chai <kchai at redhat.com>
-(cherry picked from commit 31db4c5f9f725e13e38f3c90744e299e023d02a4)
----
- src/common/strtol.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/common/strtol.cc b/src/common/strtol.cc
-index 0e7ea7d..321521d 100644
---- a/src/common/strtol.cc
-+++ b/src/common/strtol.cc
-@@ -186,8 +186,8 @@ T strict_si_cast(const char *str, std::string *err)
- }
-
- template int strict_si_cast<int>(const char *str, std::string *err);
-+template long strict_si_cast<long>(const char *str, std::string *err);
- template long long strict_si_cast<long long>(const char *str, std::string *err);
--template int64_t strict_si_cast<int64_t>(const char *str, std::string *err);
- template uint64_t strict_si_cast<uint64_t>(const char *str, std::string *err);
- template uint32_t strict_si_cast<uint32_t>(const char *str, std::string *err);
-
Deleted: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD 2017-03-31 23:18:06 UTC (rev 291957)
+++ extra-x86_64/PKGBUILD 2017-03-31 23:18:13 UTC (rev 291958)
@@ -1,91 +0,0 @@
-# $Id$
-# Maintainer: Sébastien "Seblu" Luttringer <seblu at archlinux.org>
-
-pkgname=ceph
-pkgver=10.2.3
-pkgrel=2
-pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system'
-arch=('x86_64' 'i686')
-url='https://ceph.com/'
-license=('GPL')
-makedepends=('boost' 'systemd' 'xfsprogs' 'python2-setuptools' 'python2-sphinx'
- 'python2-virtualenv' 'cython2')
-depends=('boost-libs' 'curl' 'expat' 'fcgi' 'fuse2' 'gcc-libs' 'glibc'
- 'gperftools' 'keyutils' 'leveldb' 'libaio' 'libatomic_ops' 'libedit'
- 'libsystemd' 'libutil-linux' 'ncurses' 'nss' 'python2' 'snappy')
-optdepends=('xfsprogs: support xfs backend')
-options=('emptydirs')
-install=ceph.install
-source=("https://ceph.com/download/$pkgname-$pkgver.tar.gz"
- 'ceph.sysusers'
- '01-virtualenv2.patch'
- '02-setup-python2.patch'
- '03-Revert-rgw-ldap-fix-ldap-bindpw-parsing.patch'
- '04-fix-686-build.patch')
-md5sums=('5d660c78a211f6d53161e197729aebd2'
- 'b3e24e3aa005a657ab475f84bfe3291a'
- 'a3f72dc8e97f9fd5708d52256bcd9e75'
- 'f11582acceeb6c1790518c3a5a29bb18'
- '6c4cbe6288858421832e751164617774'
- 'e8fbd2dfb359a8f6d2738d46441fbffa')
-
-prepare() {
- cd $pkgname-$pkgver
- # apply patch from the source array (should be a pacman feature)
- local filename
- for filename in "${source[@]}"; do
- if [[ "$filename" =~ \.patch$ ]]; then
- msg2 "Applying patch ${filename##*/}"
- patch -p1 -N -i "$srcdir/${filename##*/}"
- fi
- done
- :
-}
-
-build() {
- cd $pkgname-$pkgver
- ./configure \
- --prefix=/usr \
- --sbindir=/usr/bin \
- --libexecdir=/usr/lib \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --with-man-pages \
- --with-radosgw \
- --without-openldap \
- PYTHON=/usr/bin/python2 \
- CYTHON_CHECK=yes \
- PYTHON_CONFIG_CHECK=yes \
- SPHINX_BUILD=sphinx-build2
- make
-}
-
-package() {
- cd $pkgname-$pkgver
-
- make DESTDIR="$pkgdir" install
-
- # install tmpfiles.d
- install -Dm644 systemd/ceph.tmpfiles.d "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
- install -Dm644 "$srcdir"/ceph.sysusers "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
-
- cd "$pkgdir"
-
- # fix sbin path
- msg2 'Fix sbin paths'
- mv -v usr/sbin/* usr/bin
- rmdir -v usr/sbin
-
- # fix bash completions path
- msg2 'Fix bash completion path'
- install -d -m 755 usr/share/bash-completion
- mv etc/bash_completion.d usr/share/bash-completion/completions
-
- # fix python2 shebang, did not do it in prepare() anymore because it
- # confuse automake
- msg2 'Fix python2 shebang'
- find . -type f -executable -exec \
- sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \;
-}
-
-# vim:set ts=2 sw=2 et:
Copied: ceph/repos/extra-x86_64/PKGBUILD (from rev 291957, ceph/repos/testing-x86_64/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD (rev 0)
+++ extra-x86_64/PKGBUILD 2017-03-31 23:18:13 UTC (rev 291958)
@@ -0,0 +1,95 @@
+# $Id$
+# Maintainer: Sébastien "Seblu" Luttringer <seblu at archlinux.org>
+
+pkgname=ceph
+pkgver=10.2.5
+pkgrel=1
+pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system'
+arch=('x86_64' 'i686')
+url='https://ceph.com/'
+license=('GPL')
+makedepends=('boost' 'systemd' 'xfsprogs' 'python2-sphinx' 'cython2' 'sed')
+depends=('boost-libs' 'curl' 'expat' 'fcgi' 'fuse2' 'gcc-libs' 'glibc'
+ 'gperftools' 'keyutils' 'leveldb' 'libaio' 'libatomic_ops' 'libedit'
+ 'libsystemd' 'libutil-linux' 'ncurses' 'nss' 'python2' 'snappy'
+ 'python2-setuptools' 'xfsprogs')
+options=('emptydirs')
+source=("https://ceph.com/download/$pkgname-$pkgver.tar.gz"
+ 'ceph.sysusers'
+ '01-ceph-detec-init.patch')
+md5sums=('772bf99f4360774f5948191a7b012c88'
+ 'b3e24e3aa005a657ab475f84bfe3291a'
+ 'da25c78ae413dc134cc99fe9818f6ff1')
+
+prepare() {
+ cd $pkgname-$pkgver
+ # apply patch from the source array (should be a pacman feature)
+ local filename
+ for filename in "${source[@]}"; do
+ if [[ "$filename" =~ \.patch$ ]]; then
+ msg2 "Applying patch ${filename##*/}"
+ patch -p1 -N -i "$srcdir/${filename##*/}"
+ fi
+ done
+ :
+}
+
+build() {
+ cd $pkgname-$pkgver
+ # fix xfs.h failure in configure on i686
+ [[ $CARCH == i686 ]] && export CXXFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64"
+ # don't use autotools for ceph-disk, ceph-detect and tests
+ sed -ri 's,include (ceph-disk|ceph-detect-init|test)/Makefile.am,,' src/Makefile.am
+ # regen configure
+ ./autogen.sh
+ # fix python-config binary name
+ sed -i 's,python-config,python2-config,g' configure
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --libexecdir=/usr/lib \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-man-pages \
+ --without-radosgw \
+ --without-openldap \
+ PYTHON=/usr/bin/python2 \
+ CYTHON_CHECK=yes \
+ PYTHON_CONFIG_CHECK=yes \
+ SPHINX_BUILD=sphinx-build2
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ # main install
+ make DESTDIR="$pkgdir" install
+
+ # ceph-disk
+ pushd src/ceph-disk
+ python2 setup.py install --root "$pkgdir" --prefix=/usr
+ popd
+
+ # ceph-detect-init
+ pushd src/ceph-detect-init
+ python2 setup.py install --root "$pkgdir" --prefix=/usr
+ popd
+
+ # systemd stuff
+ install -Dm644 systemd/ceph.tmpfiles.d "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+ install -Dm644 "$srcdir"/ceph.sysusers "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
+
+ # fix bash completions path
+ msg2 'Fix bash completion path'
+ install -d -m 755 "$pkgdir"/usr/share/bash-completion
+ mv "$pkgdir"/{etc/bash_completion.d,usr/share/bash-completion/completions}
+
+ # fix python2 shebang, did not do it in prepare() anymore because it
+ # confuse automake
+ msg2 'Fix python2 shebang'
+ find "$pkgdir" -type f -executable -exec \
+ sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \;
+}
+
+# vim:set ts=2 sw=2 et:
Copied: ceph/repos/extra-x86_64/PKGBUILD.v11 (from rev 291957, ceph/repos/testing-x86_64/PKGBUILD.v11)
===================================================================
--- extra-x86_64/PKGBUILD.v11 (rev 0)
+++ extra-x86_64/PKGBUILD.v11 2017-03-31 23:18:13 UTC (rev 291958)
@@ -0,0 +1,92 @@
+# $Id: PKGBUILD 287115 2017-01-22 01:54:44Z seblu $
+# Maintainer: Sébastien "Seblu" Luttringer <seblu at archlinux.org>
+
+pkgname=ceph
+pkgver=11.2.0
+pkgrel=0.1
+pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system'
+arch=('x86_64' 'i686')
+url='https://ceph.com/'
+license=('GPL')
+makedepends=('boost' 'systemd' 'xfsprogs' 'python2-sphinx' 'python2-virtualenv'
+ 'cython2' 'cmake' 'yasm')
+depends=('boost-libs' 'curl' 'expat' 'fcgi' 'fuse2' 'gcc-libs' 'glibc'
+ 'gperftools' 'keyutils' 'leveldb' 'libaio' 'libatomic_ops' 'libedit'
+ 'libsystemd' 'libutil-linux' 'ncurses' 'nss' 'python2' 'snappy'
+ 'python2-setuptools' 'xfsprogs')
+options=('!emptydirs')
+source=("https://download.ceph.com/tarballs/ceph-$pkgver.tar.gz"
+ 'ceph.sysusers'
+ '14099.patch')
+md5sums=('1e394a69820d71e5df19abe38ef647a6'
+ 'b3e24e3aa005a657ab475f84bfe3291a'
+ '9d376f1f6d06be71c2cc6aa267a67869')
+
+prepare() {
+ cd $pkgname-$pkgver
+ # apply patch from the source array (should be a pacman feature)
+ local filename
+ for filename in "${source[@]}"; do
+ if [[ "$filename" =~ \.patch$ ]]; then
+ msg2 "Applying patch ${filename##*/}"
+ patch -p1 -N -i "$srcdir/${filename##*/}"
+ fi
+ done
+ :
+}
+
+build() {
+ cd $pkgname-$pkgver
+ [[ -d build ]] || mkdir build
+ cd build
+ # list of options defaults: grep ^option CMakeLists.txt
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc \
+ -DCMAKE_INSTALL_SBINDIR=/usr/bin \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib \
+ -DSPHINX_BUILD=/usr/bin/sphinx-build2 \
+ -DWITH_SYSTEM_BOOST=ON \
+ -DWITH_SYSTEMD=ON \
+ -DWITH_EMBEDDED=OFF \
+ -DWITH_OPENLDAP=OFF \
+ -DWITH_LTTNG=OFF \
+ -DHAVE_BABELTRACE=OFF \
+ -DWITH_TESTS=OFF \
+ ..
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver/build
+
+ make DESTDIR="$pkgdir" install
+
+ cd "$pkgdir"
+
+ # install tmpfiles.d
+ install -Dm644 "$srcdir"/$pkgname-$pkgver/systemd/ceph.tmpfiles.d \
+ usr/lib/tmpfiles.d/$pkgname.conf
+ install -Dm644 "$srcdir"/ceph.sysusers \
+ usr/lib/sysusers.d/$pkgname.conf
+
+ # fix sbin path
+ msg2 'Fix sbin paths'
+ mv -v usr/sbin/* usr/bin
+
+ # fix bash completions path
+ msg2 'Fix bash completion path'
+ install -d -m 755 usr/share/bash-completion
+ mv -v etc/bash_completion.d usr/share/bash-completion/completions
+
+ # remove debian init
+ rm -v etc/init.d/ceph
+
+ # fix python2 shebang, did not do it in prepare() because cmake remplace some
+ msg2 'Fix python2 shebang'
+ find usr/bin -type f -executable -exec \
+ sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \;
+}
+
+# vim:set ts=2 sw=2 et:
Deleted: extra-x86_64/ceph.install
===================================================================
--- extra-x86_64/ceph.install 2017-03-31 23:18:06 UTC (rev 291957)
+++ extra-x86_64/ceph.install 2017-03-31 23:18:13 UTC (rev 291958)
@@ -1,16 +0,0 @@
-# vim: ft=sh ts=2 sw=2 et:
-
-# arg 1: the new package version
-post_install() {
- systemd-sysusers ceph.conf
- systemd-tmpfiles --create ceph.conf
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade() {
- if (( "$(vercmp $2 '10.2.2-1')" < 0 )); then
- systemd-sysusers ceph.conf
- systemd-tmpfiles --create ceph.conf
- fi
-}
Deleted: extra-x86_64/ceph.sysusers
===================================================================
--- extra-x86_64/ceph.sysusers 2017-03-31 23:18:06 UTC (rev 291957)
+++ extra-x86_64/ceph.sysusers 2017-03-31 23:18:13 UTC (rev 291958)
@@ -1 +0,0 @@
-u ceph - - /run/ceph
Copied: ceph/repos/extra-x86_64/ceph.sysusers (from rev 291957, ceph/repos/testing-x86_64/ceph.sysusers)
===================================================================
--- extra-x86_64/ceph.sysusers (rev 0)
+++ extra-x86_64/ceph.sysusers 2017-03-31 23:18:13 UTC (rev 291958)
@@ -0,0 +1 @@
+u ceph - - /run/ceph
More information about the arch-commits
mailing list