diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..01f4eb3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +/mesos-0.16.0-afe9947.tar.gz +/mesos-0.18.0-a411a4b.tar.gz +/mesos-0.18.2-453b973.tar.gz +/mesos-0.20.0-f421ffd.tar.gz +/mesos-0.21.0-ab8fa65.tar.gz +/mesos-0.22.0-c513126.tar.gz +/mesos-0.22.0-e890e24.tar.gz +/mesos-0.22.1-d6309f9.tar.gz +/mesos-0.23.0-4ce5475.tar.gz diff --git a/dead.package b/dead.package deleted file mode 100644 index 68e3daf..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -Unmaintained diff --git a/mesos-0.21-integ.patch b/mesos-0.21-integ.patch new file mode 100644 index 0000000..ecfec1e --- /dev/null +++ b/mesos-0.21-integ.patch @@ -0,0 +1,161 @@ +diff --git a/3rdparty/Makefile.am b/3rdparty/Makefile.am +index 7cf0c88..6df5526 100644 +--- a/3rdparty/Makefile.am ++++ b/3rdparty/Makefile.am +@@ -94,10 +94,6 @@ if WITH_BUNDLED_ZOOKEEPER + $(MAKE) $(AM_MAKEFLAGS) + + ALL_LOCAL += $(ZOOKEEPER)/src/c/libzookeeper_mt.la +-else +- # No matter what, we need to extract ZooKeeper so that we can run +- # 'make check' (some of our tests need the ZooKeeper JAR). +- ALL_LOCAL += $(ZOOKEEPER)-stamp + endif + + all-local: $(ALL_LOCAL) +diff --git a/configure.ac b/configure.ac +index 86d448c..75e494c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -19,6 +19,12 @@ + + AC_PREREQ([2.61]) + AC_INIT([mesos], [0.23.0]) ++MAJOR_VER=0 ++MINOR_VER=23 ++PATCH_VER=0 ++AC_SUBST(MAJOR_VER) ++AC_SUBST(MINOR_VER) ++AC_SUBST(PATCH_VER) + + # Have autoconf setup some variables related to the system. + AC_CANONICAL_HOST +@@ -216,6 +222,8 @@ AC_ARG_VAR([MAVEN_HOME], [looks for mvn at MAVEN_HOME/bin/mvn]) + + AC_ARG_VAR([PROTOBUF_JAR], [full path to protobuf jar on prefixed builds]) + ++AC_ARG_VAR([ZOOKEEPER_JAR], [full path to zookeeper jar on prefixed builds]) ++ + AC_ARG_VAR([PYTHON], [which Python interpreter to use]) + + AC_MSG_NOTICE([Setting up build environment for ${target_cpu} ${target_os}]) +@@ -284,8 +296,18 @@ fi + if test -n "`echo $with_zookeeper`"; then + CPPFLAGS="$CPPFLAGS -I${with_zookeeper}/include/zookeeper" + LDFLAGS="$LDFLAGS -L${with_zookeeper}/lib" ++ if test -z "`echo ZOOKEEPER_JAR`"; then ++ ZOOKEEPER_JAR="${with_zookeeper}/zookeeper.jar" ++ fi + elif test "x$enable_bundled" = "xno"; then + CPPFLAGS="$CPPFLAGS -I/usr/include/zookeeper" ++ if test -z "`echo ZOOKEEPER_JAR`"; then ++ ZOOKEEPER_JAR="/usr/share/java/zookeeper/zookeeper.jar" ++ fi ++else ++ if test -z "`echo ZOOKEEPER_JAR`"; then ++ ZOOKEEPER_JAR="3rdparty/zookeeper-3.4.5/zookeeper-3.4.5.jar" ++ fi + fi + + +@@ -400,6 +422,7 @@ fi + AM_CONDITIONAL([WITH_BUNDLED_ZOOKEEPER], + [test "x$with_bundled_zookeeper" = "xyes"]) + ++AC_SUBST([ZOOKEEPER_JAR]) + + # Check if user has asked us to use a preinstalled protobuf, or if + # they asked us to ignore all bundled libraries while compiling and +diff --git a/src/Makefile.am b/src/Makefile.am +index b821a3b..17fac25 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -27,8 +27,6 @@ include ../3rdparty/libprocess/3rdparty/versions.am + # them include $(top_builddir) as appropriate. + DISTRIBUTE = 3rdparty/distribute-$(DISTRIBUTE_VERSION) + LEVELDB = 3rdparty/leveldb +-ZOOKEEPER = 3rdparty/zookeeper-$(ZOOKEEPER_VERSION)/src/c +-ZOOKEEPER_JAR = 3rdparty/zookeeper-$(ZOOKEEPER_VERSION)/zookeeper-$(ZOOKEEPER_VERSION).jar + LIBPROCESS = 3rdparty/libprocess + STOUT = $(LIBPROCESS)/3rdparty/stout + BOOST = $(LIBPROCESS)/3rdparty/boost-$(BOOST_VERSION) +@@ -38,6 +36,10 @@ GTEST = $(GMOCK)/gtest + PROTOBUF = $(LIBPROCESS)/3rdparty/protobuf-$(PROTOBUF_VERSION) + PICOJSON = $(LIBPROCESS)/3rdparty/picojson-$(PICOJSON_VERSION) + ++if WITH_BUNDLED_ZOOKEEPER ++ ZOOKEEPER = 3rdparty/zookeeper-$(ZOOKEEPER_VERSION)/src/c ++endif ++ + + # Unfortunatley, 'pkglibexecdir' and 'pkgsysconfdir' are not set + # before automake 1.11, so we need to set them manually (until we in +@@ -564,7 +566,7 @@ lib_LTLIBRARIES += libmesos.la + # Include as part of the distribution. + libmesos_la_SOURCES = $(MESOS_PROTO) $(CONTAINERIZER_PROTO) $(SCHEDULER_PROTO) + +-libmesos_la_LDFLAGS = -release $(PACKAGE_VERSION) ++libmesos_la_LDFLAGS = -version-info $(MINOR_VER):$(MAJOR_VER):0 + + # Since we just include the convenience library (and no sources), we + # need to tell libtool to build this as a C++ library. +@@ -909,7 +911,7 @@ $(EXAMPLES_JAR): $(EXAMPLES_SOURCE) + @echo "Building examples.jar ..." + $(MKDIR_P) examples/java + $(JAVA_HOME)/bin/javac -source 1.6 -target 1.6 \ +- -cp ../$(ZOOKEEPER_JAR):@PROTOBUF_JAR@:$(MESOS_JAR):$(srcdir)/examples/java \ ++ -cp @ZOOKEEPER_JAR@:@PROTOBUF_JAR@:$(MESOS_JAR):$(srcdir)/examples/java \ + -sourcepath $(srcdir)/examples/java -d examples/java \ + $(srcdir)/examples/java/*.java + $(JAVA_HOME)/bin/jar cf $@ -C examples/java . +@@ -1160,6 +1162,7 @@ if HAS_JAVA + + mesos_tests_CPPFLAGS += $(JAVA_CPPFLAGS) + mesos_tests_CPPFLAGS += -DZOOKEEPER_VERSION=\"$(ZOOKEEPER_VERSION)\" ++ mesos_tests_CPPFLAGS += -DZOOKEEPER_JAR=\"@ZOOKEEPER_JAR@\" + mesos_tests_LDFLAGS = $(AM_LDFLAGS) + mesos_tests_DEPENDENCIES += $(EXAMPLES_JAR) + +diff --git a/src/examples/java/test-log.in b/src/examples/java/test-log.in +index 4c8547a..7723e73 100644 +--- a/src/examples/java/test-log.in ++++ b/src/examples/java/test-log.in +@@ -21,11 +21,10 @@ test ! -e ${PROTOBUF_JAR} && \ + + # TODO(vinod): Deduce the zookeeper version. + ZOOKEEPER=${MESOS_BUILD_DIR}/3rdparty/zookeeper-3.4.5 +-ZOOKEEPER_JAR=${ZOOKEEPER}/zookeeper-3.4.5.jar ++ZOOKEEPER_JAR=@ZOOKEEPER_JAR@ + + test ! -e ${ZOOKEEPER_JAR} && \ +- echo "${RED}Failed to find ${ZOOKEEPER_JAR}${NORMAL}" && \ +- exit 1 ++ echo "${RED}Failed to find ${ZOOKEEPER_JAR}${NORMAL}" + + MESOS_JAR=${MESOS_BUILD_DIR}/src/java/target/mesos-@PACKAGE_VERSION@.jar + +diff --git a/src/tests/zookeeper.cpp b/src/tests/zookeeper.cpp +index 08cab86..1e6e315 100644 +--- a/src/tests/zookeeper.cpp ++++ b/src/tests/zookeeper.cpp +@@ -56,16 +56,17 @@ const Duration ZooKeeperTest::NO_TIMEOUT = Seconds(10); + void ZooKeeperTest::SetUpTestCase() + { + if (!Jvm::created()) { ++ string classpath = "-Djava.class.path=" ZOOKEEPER_JAR; ++ ++#ifdef BUNDLED + string zkHome = + path::join(flags.build_dir, "/3rdparty/zookeeper-" ZOOKEEPER_VERSION); + +- string classpath = "-Djava.class.path=" + +- path::join(zkHome, "zookeeper-" ZOOKEEPER_VERSION ".jar"); +- + // Now add all the libraries in 'lib' too. + Try > jars = os::glob(path::join(zkHome, "lib", "*.jar")); + + CHECK_SOME(jars); ++#endif + + foreach (const string& jar, jars.get()) { + classpath += ":" + jar; diff --git a/mesos-0.21.0-http-parser.patch b/mesos-0.21.0-http-parser.patch new file mode 100644 index 0000000..1ff7216 --- /dev/null +++ b/mesos-0.21.0-http-parser.patch @@ -0,0 +1,13 @@ +diff --git a/src/python/native/ext_modules.py.in b/src/python/native/ext_modules.py.in +index 4825fe4..b9fb7b9 100644 +--- a/src/python/native/ext_modules.py.in ++++ b/src/python/native/ext_modules.py.in +@@ -102,6 +102,8 @@ if os.path.exists(libprotobuf): + else: + EXTRA_OBJECTS.append('-lprotobuf') + ++EXTRA_OBJECTS.append('-lhttp_parser') ++ + # For gperftools, we need to check for the presence of libprofiler.a, since + # it is possible to disable perftools inside libprocess. + libprofiler = os.path.join( diff --git a/mesos-master b/mesos-master new file mode 100644 index 0000000..a40ec32 --- /dev/null +++ b/mesos-master @@ -0,0 +1,12 @@ +# This file contains environment variables that are passed to mesos-master. +# To get a description of all options run mesos-master --help; any option +# supported as a command-line option is also supported as an environment +# variable. + +# Some options you're likely to want to set: +MESOS_log_dir=/var/log/mesos +MESOS_work_dir=/var/run/mesos +MESOS_port=5050 + +# For isolated sandbox testing +#MESOS_ip=127.0.0.1 diff --git a/mesos-master.service b/mesos-master.service new file mode 100644 index 0000000..5434bc1 --- /dev/null +++ b/mesos-master.service @@ -0,0 +1,39 @@ + +[Unit] +Description=Mesos Cluster Manager +After=network.target +Wants=network.target + +[Service] +EnvironmentFile=/etc/sysconfig/mesos-master +ExecStart=/usr/sbin/mesos-master $MESOS_MASTER_OPTS +ExecStop=/usr/bin/killall -s 15 mesos-master +ExecReload=/bin/kill -HUP $MAINPID +User=root +Group=mesos +Restart=always +RestartSec=20 +LimitNOFILE=16384 + +####################################### +# Note: Below are cgroup options +####################################### +#Slice=mesos +#CPUAccounting=true +#CPUShares=1024 + +################## +#MemoryAccounting=true +#TBD: MemoryLimit=bytes, MemorySoftLimit=bytes +################## +#BlockIOAccounting=true +#BlockIOWeight=?? +#BlockIODeviceWeight=?? +#TBD: BlockIOReadBandwidth=bytes, BlockIOWriteBandwidth=bytes + +#DeviceAllow= +#DevicePolicy=auto|closed|strict + +[Install] +WantedBy=multi-user.target + diff --git a/mesos-slave b/mesos-slave new file mode 100644 index 0000000..096e94e --- /dev/null +++ b/mesos-slave @@ -0,0 +1,21 @@ +# This file contains environment variables that are passed to mesos-slave. +# To get a description of all options run mesos-slave --help; any option +# supported as a command-line option is also supported as an environment +# variable. + +# The mesos master URL to contact. Should be host:port for +# non-ZooKeeper based masters, otherwise a zk:// or file:// URL. +MESOS_master=$HOSTNAME:5050 + +# For isolated sandbox testing +#MESOS_master=127.0.0.1:5050 + +# For a complete listing of options execute 'mesos-slave --help' +MESOS_log_dir=/var/log/mesos +MESOS_work_dir=/var/run/mesos +MESOS_containerizers=docker,mesos + +# systemd cgroup integration +MESOS_isolation='cgroups/cpu,cgroups/mem' +MESOS_cgroups_root='system.slice/mesos-slave.service' +MESOS_cgroups_hierarchy=/sys/fs/cgroup diff --git a/mesos-slave.service b/mesos-slave.service new file mode 100644 index 0000000..2df6bd2 --- /dev/null +++ b/mesos-slave.service @@ -0,0 +1,45 @@ + +[Unit] +Description=Mesos Cluster Manager +After=network.target +Wants=network.target + +[Service] +EnvironmentFile=/etc/sysconfig/mesos-slave +ExecStart=/usr/sbin/mesos-slave $MESOS_SLAVE_OPTS +ExecStop=/usr/bin/killall -s 15 mesos-slave +ExecReload=/bin/kill -HUP $MAINPID +####################################### +# NOTE: running as user mesos fails priv switching +####################################### +User=root +Group=mesos +Restart=always +RestartSec=20 +LimitNOFILE=16384 + +####################################### +# NOTE: Below are cgroup options +####################################### +Slice=mesos +CPUAccounting=true +####################################### +# NOTE: Adjust as needed +####################################### +CPUShares=1024 + +################## +MemoryAccounting=true +#TBD: MemoryLimit=bytes, MemorySoftLimit=bytes +################## +#BlockIOAccounting=true +#BlockIOWeight=?? +#BlockIODeviceWeight=?? +#TBD: BlockIOReadBandwidth=bytes, BlockIOWriteBandwidth=bytes + +#DeviceAllow= +#DevicePolicy=auto|closed|strict + +[Install] +WantedBy=multi-user.target + diff --git a/mesos-tmpfiles.conf b/mesos-tmpfiles.conf new file mode 100644 index 0000000..2d444e0 --- /dev/null +++ b/mesos-tmpfiles.conf @@ -0,0 +1 @@ +d /var/run/mesos 0775 mesos mesos - diff --git a/mesos.spec b/mesos.spec new file mode 100644 index 0000000..048df31 --- /dev/null +++ b/mesos.spec @@ -0,0 +1,510 @@ +# This package depends on automagic byte compilation +# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2 +%global _python_bytecompile_extra 1 + +%global commit 4ce5475346a0abb7ef4b7ffc9836c5836d7c7a66 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global tag 0.23.0 +%global skiptests 1 +%global libevver 4.15 +%global py_version 2.7 + +# build unbundled for fedora but enable +# bundled builds for others. +%if 0%{?fedora} >= 20 +%global unbundled 1 +%else +%global unbundled 0 +%endif + +%global systemmvn 1 + +Name: mesos +Version: 0.23.0 +Release: 0.%{shortcommit}%{?dist}.13 +Summary: Cluster manager for sharing distributed application frameworks +License: ASL 2.0 +URL: http://mesos.apache.org/ + +# missing pivot_root on builds.?.? +ExclusiveArch: x86_64 + +Source0: https://github.com/apache/mesos/archive/%{commit}/%{name}-%{version}-%{shortcommit}.tar.gz +Source1: %{name}-tmpfiles.conf +Source2: %{name}-master.service +Source3: %{name}-slave.service +Source4: %{name}-master +Source5: %{name}-slave + +#################################### +Patch0: mesos-0.21-integ.patch +Patch1: mesos-0.21.0-http-parser.patch + +BuildRequires: libtool +BuildRequires: automake +BuildRequires: autoconf +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: java-devel +BuildRequires: zlib-devel +BuildRequires: libcurl-devel +BuildRequires: python-setuptools +BuildRequires: python2-devel +BuildRequires: openssl-devel +BuildRequires: cyrus-sasl-devel +BuildRequires: cyrus-sasl-md5 +BuildRequires: systemd + +%if %systemmvn +BuildRequires: maven-local +BuildRequires: maven-plugin-bundle +BuildRequires: maven-gpg-plugin +BuildRequires: maven-clean-plugin +BuildRequires: maven-shade-plugin +BuildRequires: maven-dependency-plugin +BuildRequires: exec-maven-plugin +BuildRequires: maven-remote-resources-plugin +BuildRequires: maven-site-plugin +%endif + +%if %unbundled +BuildRequires: boost-devel +BuildRequires: glog-devel +BuildRequires: gmock-devel +BuildRequires: gflags-devel +BuildRequires: gtest-devel +%ifnarch s390 s390x +BuildRequires: gperftools-devel +%endif +BuildRequires: libev-source +BuildRequires: leveldb-devel +BuildRequires: protobuf-python +BuildRequires: protobuf-java +BuildRequires: zookeeper-devel +BuildRequires: protobuf-devel +BuildRequires: picojson-devel +BuildRequires: python-pip +BuildRequires: python-wheel + +Requires: protobuf-python +Requires: python-boto +Requires: python-pip +Requires: python-wheel +%endif + +BuildRequires: apr-devel +BuildRequires: subversion-devel +BuildRequires: http-parser-devel + +Requires: python-boto +Requires: cyrus-sasl-md5 +Requires: docker + +# The slaves will indirectly require time syncing with the master +# nodes so just call out the dependency. +Requires: ntpdate + +%description +Apache Mesos is a cluster manager that provides efficient resource +isolation and sharing across distributed applications, or frameworks. +It can run Hadoop, MPI, Hypertable, Spark, and other applications on +a dynamically shared pool of nodes. + +############################################## +%package devel +Summary: Header files for Mesos development +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +Provides header and development files for %{name}. + +############################################## +%package java +Summary: Java interface for %{name} +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description java +The %{name}-java package contains Java bindings for %{name}. + +############################################## +%package -n python2-%{name} +%{?python_provide:%python_provide python2-%{name}} +Summary: Python support for %{name} +BuildRequires: python2-devel +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python2 + +%description -n python2-%{name} +The python-%{name} package contains Python bindings for %{name}. + +############################################## + +%prep +%setup -q -n %{name}-%{commit} +%patch0 -p1 -F2 +%patch1 -p1 -F2 + +%if %unbundled +# remove all bundled elements prior to build +rm -f `find . | grep [.]tar` + +###################################### +# We need to rebuild libev and bind statically +# See https://bugzilla.redhat.com/show_bug.cgi?id=1049554 for details +###################################### +cp -r %{_datadir}/libev-source libev-%{libevver} +cd libev-%{libevver} +autoreconf -i +%endif + +%build + +echo "CXXFLAGS=$CXXFLAGS" +###################################### +# We need to rebuild libev and bind statically +# See https://bugzilla.redhat.com/show_bug.cgi?id=1049554 for details +%if %unbundled +cd libev-%{libevver} +export CFLAGS="$RPM_OPT_FLAGS -DEV_CHILD_ENABLE=0 -I$PWD" +export CXXFLAGS="$RPM_OPT_FLAGS -DEV_CHILD_ENABLE=0 -I$PWD" +%configure --enable-shared=no --with-pic +make libev.la +cd ../ +###################################### +export M2_HOME=/usr/share/xmvn +autoreconf -vfi + +%ifarch x86_64 +export LDFLAGS="$RPM_LD_FLAGS -std=c++11 -L$PWD/libev-%{libevver}/.libs" +%else +export LDFLAGS="$RPM_LD_FLAGS -L$PWD/libev-%{libevver}/.libs" +%endif + +ZOOKEEPER_JAR="/usr/share/java/zookeeper/zookeeper.jar:/usr/share/java/slf4j/api.jar:/usr/share/java/slf4j/log4j12.jar:/usr/share/java/log4j.jar" %configure --disable-bundled --disable-static +%else +autoreconf -vfi +%configure --disable-static +%endif + +make +#%{?_smp_mflags} + +%check +###################################### +# NOTE: as of 0.16.0 &> there has been a change in the startup routines which +# cause a substantial number of tests to fail/hang under mock. However, they +# run fine under a local environment so they are disabled by default at this +# time. +###################################### +%if %skiptests + echo "Skipping tests, do to mock issues" +%else + export LD_LIBRARY_PATH=`pwd`/src/.libs + make check +%endif + +%install +%make_install + +###################################### +# NOTE: https://issues.apache.org/jira/browse/MESOS-899 +%if %unbundled +export CFLAGS="$RPM_OPT_FLAGS -DEV_CHILD_ENABLE=0 -I$PWD -std=c++11" +export CXXFLAGS="$RPM_OPT_FLAGS -DEV_CHILD_ENABLE=0 -I$PWD -std=c++11" +export LDFLAGS="$RPM_LD_FLAGS -L$PWD/libev-%{libevver}/.libs -std=c++11" +%else +export CFLAGS="$RPM_OPT_FLAGS -std=c++11" +export CXXFLAGS="$RPM_OPT_FLAGS -std=c++11" +export LDFLAGS="$RPM_LD_FLAGS -std=c++11" +%endif + +export PYTHONPATH=%{buildroot}%{python_sitearch} +mkdir -p %{buildroot}%{python_sitearch} +pushd src/python +python setup.py install --root=%{buildroot} --prefix=/usr +popd + +mkdir -p %{buildroot}%{python_sitelib} +cp -rf %{buildroot}%{_libexecdir}/%{name}/python/%{name}/* %{buildroot}%{python_sitelib} +rm -rf %{buildroot}%{_libexecdir}/%{name}/python + +pushd src/python/native +python setup.py install --root=%{buildroot} --prefix=/usr --install-lib=%{python_sitearch} +popd + +rm -rf %{buildroot}%{python_sitearch}/*.pth + +pushd src/python/interface +python setup.py install --root=%{buildroot} --prefix=/usr +popd +###################################### + +# fedora guidelines no .a|.la +rm -f %{buildroot}%{_libdir}/*.la +rm -f %{buildroot}%{_libdir}/libexamplemodule* +rm -f %{buildroot}%{_libdir}/libtest* + +# Move the inclusions under mesos folder for developers +mv -f %{buildroot}%{_includedir}/stout %{buildroot}%{_includedir}/%{name} +mv -f %{buildroot}%{_includedir}/process %{buildroot}%{_includedir}/%{name} + +# system integration sysconfig setting +mkdir -p %{buildroot}%{_sysconfdir}/%{name} + +mkdir -p %{buildroot}%{_sysconfdir}/tmpfiles.d +install -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/tmpfiles.d/%{name}.conf + +mkdir -p %{buildroot}%{_sysconfdir}/sysconfig +install -m 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig +install -m 0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/sysconfig + +# NOTE: The following removes the deployment scripts and tooling. +# It's still debatable if we should use it. +rm -rf %{buildroot}%{_sysconfdir}/%{name} +rm -f %{buildroot}%{_sbindir}/mesos-*.sh + +mkdir -p -m0755 %{buildroot}/%{_var}/log/%{name} +mkdir -p -m0755 %{buildroot}/%{_var}/lib/%{name} +mkdir -p %{buildroot}%{_unitdir} +install -m 0644 %{SOURCE2} %{SOURCE3} %{buildroot}%{_unitdir}/ + +###################### +# install java bindings +###################### +%mvn_artifact src/java/%{name}.pom src/java/target/%{name}-%{version}.jar +%mvn_install + +###################### +# install the examples +###################### +make clean +mkdir -p %{buildroot}%{_datadir}/%{name} +cp -rf src/examples %{buildroot}%{_datadir}/%{name} + +############################################ +%files +%doc LICENSE NOTICE +%{_libdir}/libmesos.so.* +%{_libdir}/libfixed_resource_estimator-%{version}.so +%{_bindir}/mesos* +%{_sbindir}/mesos-* +%{_datadir}/%{name}/ +%{_libexecdir}/%{name}/ +#system integration files +%{python2_sitelib}/%{name}/ +%attr(0755,mesos,mesos) %{_var}/log/%{name}/ +%attr(0755,mesos,mesos) %{_var}/lib/%{name}/ +%config(noreplace) %{_sysconfdir}/tmpfiles.d/%{name}.conf +%config(noreplace) %{_sysconfdir}/sysconfig/%{name}* +%{_unitdir}/%{name}*.service + +###################### +%files devel +%doc LICENSE NOTICE +%{_includedir}/mesos/ +%{_libdir}/libmesos.so +%{_libdir}/libfixed_resource_estimator.so +%{_libdir}/pkgconfig/%{name}.pc + +###################### +%files java +%doc LICENSE NOTICE +%{_jnidir}/%{name}/%{name}.jar +%if 0%{?fedora} >= 21 +%{_datadir}/maven-metadata/%{name}.xml +%{_datadir}/maven-poms/%{name}/%{name}.pom +%else +%{_mavenpomdir}/JPP.%{name}-%{name}.pom +%{_mavendepmapfragdir}/%{name}.xml +%endif + +###################### +%files -n python2-%{name} +%doc LICENSE NOTICE +%{python2_sitelib}/* +%{python2_sitearch}/* +############################################ + +%pre +getent group mesos >/dev/null || groupadd -f -r mesos +if ! getent passwd mesos >/dev/null ; then + useradd -r -g mesos -d %{_sharedstatedir}/%{name} -s /sbin/nologin \ + -c "%{name} daemon account" mesos +fi +exit 0 + +%post +%systemd_post %{name}-slave.service %{name}-master.service +/sbin/ldconfig + +%preun +%systemd_preun %{name}-slave.service %{name}-master.service + +%postun +%systemd_postun_with_restart %{name}-slave.service %{name}-master.service +/sbin/ldconfig + +%changelog +* Tue Jan 15 2019 Björn Esser - 0.23.0-0.4ce5475.13 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Fri Jul 13 2018 Fedora Release Engineering - 0.23.0-0.4ce5475.12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Feb 08 2018 Fedora Release Engineering - 0.23.0-0.4ce5475.11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 20 2018 Björn Esser - 0.23.0-0.4ce5475.10 +- Rebuilt for switch to libxcrypt + +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 0.23.0-0.4ce5475.9 +- Python 2 binary package renamed to python2-mesos + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Thu Aug 03 2017 Fedora Release Engineering - 0.23.0-0.4ce5475.8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.23.0-0.4ce5475.7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 0.23.0-0.4ce5475.6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sun Aug 07 2016 Igor Gnatenko - 0.23.0-0.4ce5475.5 +- Rebuild for LevelDB 1.18 + +* Tue Jul 19 2016 Fedora Release Engineering - 0.23.0-0.4ce5475.4 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Thu Feb 04 2016 Fedora Release Engineering - 0.23.0-0.4ce5475.3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Aug 28 2015 Timothy St. Clair - 0.23.0-1.4ce5475.0 +- change docker-io to just docker dependency BZ1257832 + +* Thu Aug 27 2015 Jonathan Wakely - 0.23.0-0.4ce5475.1 +- Rebuilt for Boost 1.59 + +* Wed Aug 5 2015 Timothy St. Clair - 0.23.0-0.4ce5475.0 +- Build for latest release + +* Wed Jul 29 2015 Fedora Release Engineering - 0.22.1-0.d6309f9.3 +- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 + +* Wed Jul 22 2015 David Tardon - 0.22.1-0.d6309f9.2 +- rebuild for Boost 1.58 + +* Wed Jun 17 2015 Fedora Release Engineering - 0.22.1-0.d6309f9.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed May 6 2015 Timothy St. Clair - 0.22.1-0.d6309f9 +- Build for latest patch release + +* Wed Apr 29 2015 Kalev Lember - 0.22.0-4.e890e24.1 +- Rebuilt for protobuf soname bump + +* Mon Apr 20 2015 Timothy St. Clair - 0.22.0-3.e890e24 +- Fix for .so build version + +* Thu Mar 19 2015 Timothy St. Clair - 0.22.0-2.e890e24 +- Update to 0.22.0 official release + +* Sat Feb 14 2015 Timothy St. Clair - 0.22.0-1.SNAPSHOT.033c062 +- Update to track next release + +* Mon Jan 26 2015 Petr Machata - 0.22.0-SNAPSHOT.1.c513126.1 +- Rebuild for boost 1.57.0 + +* Tue Dec 9 2014 Timothy St. Clair - 0.21.0-6.ab8fa65 +- Fix for python bindings + +* Fri Nov 21 2014 Timothy St. Clair - 0.21.0-5.ab8fa65 +- Update to latest build + +* Thu Oct 23 2014 Timothy St. Clair - 0.21.0-4.SNAPSHOT.e960cdf +- Update to include examples + +* Thu Oct 9 2014 Timothy St. Clair - 0.21.0-3.SNAPSHOT.c96ba8f6 +- Update and shifting configs to latest. + +* Tue Sep 30 2014 Timothy St. Clair - 0.21.0-2.SNAPSHOT.3133734 +- Removing scripts and updating systemd settings. + +* Tue Sep 23 2014 Timothy St. Clair - 0.21.0-1.SNAPSHOT.3133734 +- Initial prototyping + +* Wed Aug 27 2014 Timothy St. Clair - 0.20.0-2.f421ffd +- Fixes for system integration + +* Wed Aug 20 2014 Timothy St. Clair - 0.20.0-1.f421ffd +- Rebase to new release 0.20 + +* Sun Aug 17 2014 Fedora Release Engineering - 0.18.2-6.453b973 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 0.18.2-5.453b973 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue May 27 2014 Dennis Gilmore - 0.18.2-4.453b973 +- add patch to enable building on all primary and secondary arches +- remove ExcludeArch %%{arm} + +* Tue May 27 2014 Timothy St. Clair - 0.18.2-3.453b973 +- Fixes for systemd + +* Fri May 23 2014 Petr Machata - 0.18.2-2.453b973 +- Rebuild for boost 1.55.0 + +* Wed May 14 2014 Timothy St. Clair - 0.18.2-1.453b973 +- Rebase to latest 0.18.2-rc1 + +* Thu Apr 3 2014 Timothy St. Clair - 0.18.0-2.185dba5 +- Updated to 0.18.0-rc6 +- Fixed MESOS-1126 - dlopen libjvm.so + +* Wed Mar 5 2014 Timothy St. Clair - 0.18.0-1.a411a4b +- Updated to 0.18.0-rc3 +- Included sub-packaging around language bindings (Java & Python) +- Improved systemd integration +- Itegration to rebuild libev-source w/-DEV_CHILD_ENABLE=0 + +* Mon Jan 20 2014 Timothy St. Clair - 0.16.0-3.afe9947 +- Updated to 0.16.0-rc3 + +* Mon Jan 13 2014 Timothy St. Clair - 0.16.0-2.d0cb03f +- Updating per review + +* Tue Nov 19 2013 Timothy St. Clair - 0.16.0-1.d3557e8 +- Update to latest upstream tip. + +* Thu Oct 31 2013 Timothy St. Clair - 0.15.0-4.42f8640 +- Merge in latest upstream developments + +* Fri Oct 18 2013 Timothy St. Clair - 0.15.0-4.464661f +- Package restructuring for subsuming library dependencies dependencies. + +* Thu Oct 3 2013 Timothy St. Clair - 0.15.0-3.8037f97 +- Cleaning package for review + +* Fri Sep 20 2013 Timothy St. Clair - 0.15.0-0.2.01ccdb +- Cleanup for system integration + +* Tue Sep 17 2013 Timothy St. Clair - 0.15.0-0.1.1bc2941 +- Update to the latest mesos HEAD + +* Wed Aug 14 2013 Igor Gnatenko - 0.12.1-0.4.dff92ff +- spec: cleanups and fixes +- spec: fix systemd daemon + +* Mon Aug 12 2013 Timothy St. Clair - 0.12.1-0.3.dff92ff +- Update and add install targets. + +* Fri Aug 9 2013 Igor Gnatenko - 0.12.1-0.2.cba04c1 +- Update to latest +- Add python-boto as BR +- other fixes + +* Thu Aug 1 2013 Igor Gnatenko - 0.12.1-0.1.eb17018 +- Initial release diff --git a/sources b/sources new file mode 100644 index 0000000..87006ef --- /dev/null +++ b/sources @@ -0,0 +1 @@ +74b0211690108fe16d3575e04e4f2083 mesos-0.23.0-4ce5475.tar.gz