diff options
-rw-r--r-- | buildscripts/package_test/recipes/install_mongodb.rb | 15 | ||||
-rwxr-xr-x | buildscripts/packager.py | 75 | ||||
-rw-r--r-- | rpm/mongodb-enterprise-init.spec | 60 | ||||
-rw-r--r-- | rpm/mongodb-enterprise-unstable-init.spec | 60 | ||||
-rw-r--r-- | rpm/mongodb-enterprise-unstable.spec | 58 | ||||
-rw-r--r-- | rpm/mongodb-enterprise.spec | 60 | ||||
-rw-r--r-- | rpm/mongodb-org-init.spec | 60 | ||||
-rw-r--r-- | rpm/mongodb-org-unstable-init.spec | 60 | ||||
-rw-r--r-- | rpm/mongodb-org-unstable.spec | 61 | ||||
-rw-r--r-- | rpm/mongodb-org.spec | 59 |
10 files changed, 342 insertions, 226 deletions
diff --git a/buildscripts/package_test/recipes/install_mongodb.rb b/buildscripts/package_test/recipes/install_mongodb.rb index 7968a875f50..ba0a5bf1456 100644 --- a/buildscripts/package_test/recipes/install_mongodb.rb +++ b/buildscripts/package_test/recipes/install_mongodb.rb @@ -24,6 +24,7 @@ end execute 'extract artifacts' do command "tar xzvf #{artifacts_tarball}" + live_stream true cwd homedir end @@ -42,6 +43,7 @@ if platform_family? 'debian' execute 'apt-get update' do command 'apt-get update' + live_stream true end ENV['DEBIAN_FRONTEND'] = 'noninteractive' @@ -51,6 +53,7 @@ if platform_family? 'debian' # for enterprise builds. We install dependencies in the next block. execute 'install mongod' do command 'dpkg -i `find . -name "*server*.deb"`' + live_stream true cwd homedir returns [0, 1] end @@ -58,6 +61,7 @@ if platform_family? 'debian' # install the tools so we can test install_compass execute 'install mongo tools' do command 'dpkg -i `find . -name "*tools-extra*.deb"`' + live_stream true cwd homedir returns [0, 1] end @@ -67,16 +71,19 @@ if platform_family? 'debian' # to install dependencies after the fact. execute 'install dependencies' do command 'apt-get update && apt-get -y -f install' + live_stream true end # the ubuntu 16.04 image does not have python installed by default # and it is required for the install_compass script execute 'install python' do command 'apt-get install -y python' + live_stream true end execute 'install mongo shell' do command 'dpkg -i `find . -name "*shell*.deb"`' + live_stream true cwd homedir end end @@ -84,17 +91,20 @@ end if platform_family? 'rhel' execute 'install mongod' do command 'yum install -y `find . -name "*server*.rpm"`' + live_stream true cwd homedir end # install the tools so we can test install_compass execute 'install mongo tools' do command 'yum install -y `find . -name "*tools-extra*.rpm"`' + live_stream true cwd homedir end execute 'install mongo shell' do command 'yum install -y `find . -name "*shell*.rpm"`' + live_stream true cwd homedir end end @@ -114,21 +124,24 @@ if platform_family? 'suse' done exit 1 EOD + flags "-x" end execute 'install mongod' do command 'zypper --no-gpg-checks -n install `find . -name "*server*.rpm"`' + live_stream true cwd homedir end execute 'install mongo' do command 'zypper --no-gpg-checks -n install `find . -name "*shell*.rpm"`' + live_stream true cwd homedir end end inspec_wait = <<HEREDOC -#!/bin/bash +#!/bin/bash -x ulimit -v unlimited for i in {1..60} do diff --git a/buildscripts/packager.py b/buildscripts/packager.py index 43a1d54b5e0..c515301b895 100755 --- a/buildscripts/packager.py +++ b/buildscripts/packager.py @@ -775,50 +775,7 @@ def make_rpm(distro, build_os, arch, spec, srcdir): # pylint: disable=too-many- for subdir in ["BUILD", "RPMS", "SOURCES", "SPECS", "SRPMS"]: ensure_dir("%s/%s/" % (topdir, subdir)) distro_arch = distro.archname(arch) - # RPM tools take these macro files that define variables in - # RPMland. Unfortunately, there's no way to tell RPM tools to use - # a given file *in addition* to the files that it would already - # load, so we have to figure out what it would normally load, - # augment that list, and tell RPM to use the augmented list. To - # figure out what macrofiles ordinarily get loaded, older RPM - # versions had a parameter called "macrofiles" that could be - # extracted from "rpm --showrc". But newer RPM versions don't - # have this. To tell RPM what macros to use, older versions of - # RPM have a --macros option that doesn't work; on these versions, - # you can put a "macrofiles" parameter into an rpmrc file. But - # that "macrofiles" setting doesn't do anything for newer RPM - # versions, where you have to use the --macros flag instead. And - # all of this is to let us do our work with some guarantee that - # we're not clobbering anything that doesn't belong to us. - # - # On RHEL systems, --rcfile will generally be used and - # --macros will be used in Ubuntu. - # - macrofiles = [ - l for l in backtick(["rpm", "--showrc"]).decode('utf-8').split("\n") - if l.startswith("macrofiles") - ] - flags = [] - macropath = os.getcwd() + "/macros" - - write_rpm_macros_file(macropath, topdir, distro.release_dist(build_os)) - if macrofiles: - macrofiles = macrofiles[0] + ":" + macropath - rcfile = os.getcwd() + "/rpmrc" - write_rpmrc_file(rcfile, macrofiles) - flags = ["--rcfile", rcfile] - else: - # This hard-coded hooey came from some box running RPM - # 4.4.2.3. It may not work over time, but RPM isn't sanely - # configurable. - flags = [ - "--macros", - "/usr/lib/rpm/macros:/usr/lib/rpm/%s-linux/macros:/usr/lib/rpm/suse/macros:/etc/rpm/macros.*:/etc/rpm/macros:/etc/rpm/%s-linux/macros:~/.rpmmacros:%s" - % (distro_arch, distro_arch, macropath) - ] - # Put the specfile and the tar'd up binaries and stuff in - # place. - # + # The version of rpm and rpm tools in RHEL 5.5 can't interpolate the # %{dynamic_version} macro, so do it manually with open(specfile, "r") as spec_source: @@ -840,10 +797,18 @@ def make_rpm(distro, build_os, arch, spec, srcdir): # pylint: disable=too-many- os.chdir(oldcwd) # Do the build. - flags.extend([ - "-D", "dynamic_version " + spec.pversion(distro), "-D", - "dynamic_release " + spec.prelease(), "-D", "_topdir " + topdir - ]) + flags = [ + "-D", + f"_topdir {topdir}", + "-D", + f"dist .{distro.release_dist(build_os)}", + "-D", + f"_use_internal_dependency_generator 0", + "-D", + f"dynamic_version {spec.pversion(distro)}", + "-D", + f"dynamic_release {spec.prelease()}", + ] # Versions of RPM after 4.4 ignore our BuildRoot tag so we need to # specify it on the command line args to rpmbuild @@ -874,20 +839,6 @@ def make_rpm_repo(repo): os.chdir(oldpwd) -def write_rpmrc_file(path, string): - """Write the RPM rc file.""" - with open(path, 'w') as fh: - fh.write(string) - - -def write_rpm_macros_file(path, topdir, release_dist): - """Write the RPM macros file.""" - with open(path, 'w') as fh: - fh.write("%%_topdir %s\n" % topdir) - fh.write("%%dist .%s\n" % release_dist) - fh.write("%_use_internal_dependency_generator 0\n") - - def ensure_dir(filename): """Ensure that the dirname directory of filename exists, and return filename.""" dirpart = os.path.dirname(filename) diff --git a/rpm/mongodb-enterprise-init.spec b/rpm/mongodb-enterprise-init.spec index eecf19d0ef7..90a160c8e22 100644 --- a/rpm/mongodb-enterprise-init.spec +++ b/rpm/mongodb-enterprise-init.spec @@ -1,5 +1,11 @@ +%if ! %{defined _rundir} +%define _rundir %{_localstatedir}/run +%endif + Name: mongodb-enterprise Prefix: /usr +Prefix: /var +Prefix: /etc Conflicts: mongo-10gen, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools, mongodb-enterprise-unstable-cryptd, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools Obsoletes: mongodb-enterprise-unstable, mongo-enterprise-unstable, mongo-10gen-enterprise Provides: mongo-10gen-enterprise @@ -11,6 +17,10 @@ URL: http://www.mongodb.org Group: Applications/Databases Requires: mongodb-enterprise-server = %{version}, mongodb-enterprise-shell = %{version}, mongodb-enterprise-mongos = %{version}, mongodb-enterprise-tools = %{version}, mongodb-enterprise-cryptd = %{version} +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +BuildRequires: /usr/bin/pathfix.py, python3-devel +%endif + Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -215,27 +225,33 @@ MongoDB features: This package provides the MongoDB static library and header files needed to develop MongoDB client software. +#Release builds have no debug symbols, and this prevents packaging errors on RHEL 8.0 +%global debug_package %{nil} + %prep %setup +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +pathfix.py -pni "%{__python3} %{py3_shbang_opts}" bin/install_compass +%endif %build %install -mkdir -p $RPM_BUILD_ROOT/usr -cp -rv bin $RPM_BUILD_ROOT/usr -mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1 -cp debian/mongo{,d,s,ldap,kerberos}.1 $RPM_BUILD_ROOT/usr/share/man/man1/ -mkdir -p $RPM_BUILD_ROOT/etc/init.d -cp -v rpm/init.d-mongod $RPM_BUILD_ROOT/etc/init.d/mongod -chmod a+x $RPM_BUILD_ROOT/etc/init.d/mongod -mkdir -p $RPM_BUILD_ROOT/etc -cp -v rpm/mongod.conf $RPM_BUILD_ROOT/etc/mongod.conf -mkdir -p $RPM_BUILD_ROOT/etc/sysconfig -cp -v rpm/mongod.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/mongod -mkdir -p $RPM_BUILD_ROOT/var/lib/mongo -mkdir -p $RPM_BUILD_ROOT/var/log/mongodb -mkdir -p $RPM_BUILD_ROOT/var/run/mongodb -touch $RPM_BUILD_ROOT/var/log/mongodb/mongod.log +mkdir -p $RPM_BUILD_ROOT%{_prefix} +cp -rv bin $RPM_BUILD_ROOT%{_prefix} +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 +cp debian/mongo{,d,s,ldap,kerberos}.1 $RPM_BUILD_ROOT%{_mandir}/man1/ +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d +cp -v rpm/init.d-mongod $RPM_BUILD_ROOT%{_sysconfdir}/init.d/mongod +chmod a+x $RPM_BUILD_ROOT%{_sysconfdir}/init.d/mongod +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} +cp -v rpm/mongod.conf $RPM_BUILD_ROOT%{_sysconfdir}/mongod.conf +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig +cp -v rpm/mongod.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/mongod +mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/mongo +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb +mkdir -p $RPM_BUILD_ROOT%{_rundir}/mongodb +touch $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb/mongod.log %clean rm -rf $RPM_BUILD_ROOT @@ -270,15 +286,15 @@ fi %files server %defattr(-,root,root,-) -%config(noreplace) /etc/mongod.conf +%config(noreplace) %{_sysconfdir}/mongod.conf %{_bindir}/mongod %{_mandir}/man1/mongod.1* -/etc/init.d/mongod -%config(noreplace) /etc/sysconfig/mongod -%attr(0755,mongod,mongod) %dir /var/lib/mongo -%attr(0755,mongod,mongod) %dir /var/log/mongodb -%attr(0755,mongod,mongod) %dir /var/run/mongodb -%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) /var/log/mongodb/mongod.log +%{_sysconfdir}/init.d/mongod +%config(noreplace) %{_sysconfdir}/sysconfig/mongod +%attr(0755,mongod,mongod) %dir %{_sharedstatedir}/mongo +%attr(0755,mongod,mongod) %dir %{_localstatedir}/log/mongodb +%attr(0755,mongod,mongod) %dir %{_rundir}/mongodb +%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) %{_localstatedir}/log/mongodb/mongod.log %doc snmp/MONGOD-MIB.txt %doc snmp/MONGODBINC-MIB.txt %doc snmp/mongod.conf.master diff --git a/rpm/mongodb-enterprise-unstable-init.spec b/rpm/mongodb-enterprise-unstable-init.spec index 1e22519d5f6..68267b2542d 100644 --- a/rpm/mongodb-enterprise-unstable-init.spec +++ b/rpm/mongodb-enterprise-unstable-init.spec @@ -1,5 +1,11 @@ +%if ! %{defined _rundir} +%define _rundir %{_localstatedir}/run +%endif + Name: mongodb-enterprise-unstable Prefix: /usr +Prefix: /var +Prefix: /etc Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-enterprise-cryptd, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools Obsoletes: mongodb-enterprise-unstable,mongo-enterprise-unstable Version: %{dynamic_version} @@ -10,6 +16,10 @@ URL: http://www.mongodb.org Group: Applications/Databases Requires: mongodb-enterprise-unstable-server = %{version}, mongodb-enterprise-unstable-shell = %{version}, mongodb-enterprise-unstable-mongos = %{version}, mongodb-enterprise-unstable-tools = %{version}, mongodb-enterprise-unstable-cryptd = %{version} +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +BuildRequires: /usr/bin/pathfix.py, python3-devel +%endif + Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -204,27 +214,33 @@ MongoDB features: This package provides the MongoDB static library and header files needed to develop MongoDB client software. +#Release builds have no debug symbols, and this prevents packaging errors on RHEL 8.0 +%global debug_package %{nil} + %prep %setup +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +pathfix.py -pni "%{__python3} %{py3_shbang_opts}" bin/install_compass +%endif %build %install -mkdir -p $RPM_BUILD_ROOT/usr -cp -rv bin $RPM_BUILD_ROOT/usr -mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1 -cp debian/mongo{,d,s,ldap,kerberos}.1 $RPM_BUILD_ROOT/usr/share/man/man1/ -mkdir -p $RPM_BUILD_ROOT/etc/init.d -cp -v rpm/init.d-mongod $RPM_BUILD_ROOT/etc/init.d/mongod -chmod a+x $RPM_BUILD_ROOT/etc/init.d/mongod -mkdir -p $RPM_BUILD_ROOT/etc -cp -v rpm/mongod.conf $RPM_BUILD_ROOT/etc/mongod.conf -mkdir -p $RPM_BUILD_ROOT/etc/sysconfig -cp -v rpm/mongod.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/mongod -mkdir -p $RPM_BUILD_ROOT/var/lib/mongo -mkdir -p $RPM_BUILD_ROOT/var/log/mongodb -mkdir -p $RPM_BUILD_ROOT/var/run/mongodb -touch $RPM_BUILD_ROOT/var/log/mongodb/mongod.log +mkdir -p $RPM_BUILD_ROOT%{_prefix} +cp -rv bin $RPM_BUILD_ROOT%{_prefix} +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 +cp debian/mongo{,d,s,ldap,kerberos}.1 $RPM_BUILD_ROOT%{_mandir}/man1/ +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d +cp -v rpm/init.d-mongod $RPM_BUILD_ROOT%{_sysconfdir}/init.d/mongod +chmod a+x $RPM_BUILD_ROOT%{_sysconfdir}/init.d/mongod +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} +cp -v rpm/mongod.conf $RPM_BUILD_ROOT%{_sysconfdir}/mongod.conf +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig +cp -v rpm/mongod.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/mongod +mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/mongo +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb +mkdir -p $RPM_BUILD_ROOT%{_rundir}/mongodb +touch $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb/mongod.log @@ -261,15 +277,15 @@ fi %files server %defattr(-,root,root,-) -%config(noreplace) /etc/mongod.conf +%config(noreplace) %{_sysconfdir}/mongod.conf %{_bindir}/mongod %{_mandir}/man1/mongod.1* -/etc/init.d/mongod -%config(noreplace) /etc/sysconfig/mongod -%attr(0755,mongod,mongod) %dir /var/lib/mongo -%attr(0755,mongod,mongod) %dir /var/log/mongodb -%attr(0755,mongod,mongod) %dir /var/run/mongodb -%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) /var/log/mongodb/mongod.log +%{_sysconfdir}/init.d/mongod +%config(noreplace) %{_sysconfdir}/sysconfig/mongod +%attr(0755,mongod,mongod) %dir %{_sharedstatedir}/mongo +%attr(0755,mongod,mongod) %dir %{_localstatedir}/log/mongodb +%attr(0755,mongod,mongod) %dir %{_rundir}/mongodb +%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) %{_localstatedir}/log/mongodb/mongod.log %doc snmp/MONGOD-MIB.txt %doc snmp/MONGODBINC-MIB.txt %doc snmp/mongod.conf.master diff --git a/rpm/mongodb-enterprise-unstable.spec b/rpm/mongodb-enterprise-unstable.spec index 0ba3c87ab3e..24d61017a03 100644 --- a/rpm/mongodb-enterprise-unstable.spec +++ b/rpm/mongodb-enterprise-unstable.spec @@ -1,5 +1,11 @@ +%if ! %{defined _rundir} +%define _rundir %{_localstatedir}/run +%endif + Name: mongodb-enterprise-unstable Prefix: /usr +Prefix: /var +Prefix: /etc Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-enterprise-cryptd, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools Obsoletes: mongodb-enterprise-unstable,mongo-enterprise-unstable Version: %{dynamic_version} @@ -10,6 +16,10 @@ URL: http://www.mongodb.org Group: Applications/Databases Requires: mongodb-enterprise-unstable-server = %{version}, mongodb-enterprise-unstable-shell = %{version}, mongodb-enterprise-unstable-mongos = %{version}, mongodb-enterprise-unstable-tools = %{version}, mongodb-enterprise-unstable-cryptd = %{version} +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +BuildRequires: /usr/bin/pathfix.py, python3-devel +%endif + Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -44,7 +54,13 @@ Summary: MongoDB database server (enterprise) Group: Applications/Databases Requires: openssl, net-snmp, cyrus-sasl, cyrus-sasl-plain, cyrus-sasl-gssapi, %{timezone_pkg}, %{python_pkg} Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools + +%if 0%{?suse_version} >= 1210 || 0%{?rhel} >= 700 || 0%{?fedora} >= 15 +BuildRequires: systemd-rpm-macros +%else BuildRequires: systemd +%{?systemd_requires} +%endif %description server MongoDB is built for scalability, performance and high availability, scaling from single server deployments to large, complex multi-site architectures. By leveraging in-memory computing, MongoDB provides high performance for both reads and writes. MongoDB’s native replication and automated failover enable enterprise-grade reliability and operational flexibility. @@ -207,24 +223,30 @@ MongoDB features: This package provides the MongoDB static library and header files needed to develop MongoDB client software. +#Release builds have no debug symbols, and this prevents packaging errors on RHEL 8.0 +%global debug_package %{nil} + %prep %setup +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +pathfix.py -pni "%{__python3} %{py3_shbang_opts}" bin/install_compass +%endif %build %install -mkdir -p $RPM_BUILD_ROOT/usr -cp -rv bin $RPM_BUILD_ROOT/usr -mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1 -cp debian/mongo{,d,s,ldap,kerberos}.1 $RPM_BUILD_ROOT/usr/share/man/man1/ -mkdir -p $RPM_BUILD_ROOT/etc -cp -v rpm/mongod.conf $RPM_BUILD_ROOT/etc/mongod.conf -mkdir -p $RPM_BUILD_ROOT/lib/systemd/system -cp -v rpm/mongod.service $RPM_BUILD_ROOT/lib/systemd/system -mkdir -p $RPM_BUILD_ROOT/var/lib/mongo -mkdir -p $RPM_BUILD_ROOT/var/log/mongodb -mkdir -p $RPM_BUILD_ROOT/var/run/mongodb -touch $RPM_BUILD_ROOT/var/log/mongodb/mongod.log +mkdir -p $RPM_BUILD_ROOT%{_prefix} +cp -rv bin $RPM_BUILD_ROOT%{_prefix} +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 +cp debian/mongo{,d,s,ldap,kerberos}.1 $RPM_BUILD_ROOT%{_mandir}/man1/ +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} +cp -v rpm/mongod.conf $RPM_BUILD_ROOT%{_sysconfdir}/mongod.conf +mkdir -p $RPM_BUILD_ROOT%{_unitdir} +cp -v rpm/mongod.service $RPM_BUILD_ROOT%{_unitdir} +mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/mongo +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb +mkdir -p $RPM_BUILD_ROOT%{_rundir}/mongodb +touch $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb/mongod.log @@ -266,14 +288,14 @@ fi %files server %defattr(-,root,root,-) -%config(noreplace) /etc/mongod.conf +%config(noreplace) %{_sysconfdir}/mongod.conf %{_bindir}/mongod %{_mandir}/man1/mongod.1* -/lib/systemd/system/mongod.service -%attr(0755,mongod,mongod) %dir /var/lib/mongo -%attr(0755,mongod,mongod) %dir /var/log/mongodb -%attr(0755,mongod,mongod) %dir /var/run/mongodb -%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) /var/log/mongodb/mongod.log +%{_unitdir}/mongod.service +%attr(0755,mongod,mongod) %dir %{_sharedstatedir}/mongo +%attr(0755,mongod,mongod) %dir %{_localstatedir}/log/mongodb +%attr(0755,mongod,mongod) %dir %{_rundir}/mongodb +%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) %{_localstatedir}/log/mongodb/mongod.log %doc snmp/MONGOD-MIB.txt %doc snmp/MONGODBINC-MIB.txt %doc snmp/mongod.conf.master diff --git a/rpm/mongodb-enterprise.spec b/rpm/mongodb-enterprise.spec index b508a2f2e52..4dfb9df90ec 100644 --- a/rpm/mongodb-enterprise.spec +++ b/rpm/mongodb-enterprise.spec @@ -1,5 +1,11 @@ +%if ! %{defined _rundir} +%define _rundir %{_localstatedir}/run +%endif + Name: mongodb-enterprise Prefix: /usr +Prefix: /var +Prefix: /etc Conflicts: mongo-10gen, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools, mongodb-enterprise-unstable-cryptd, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools Obsoletes: mongodb-enterprise-unstable, mongo-enterprise-unstable, mongo-10gen-enterprise Provides: mongo-10gen-enterprise @@ -11,6 +17,10 @@ URL: http://www.mongodb.org Group: Applications/Databases Requires: mongodb-enterprise-server = %{version}, mongodb-enterprise-shell = %{version}, mongodb-enterprise-mongos = %{version}, mongodb-enterprise-tools = %{version}, mongodb-enterprise-cryptd = %{version} +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +BuildRequires: /usr/bin/pathfix.py, python3-devel +%endif + Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -48,6 +58,13 @@ Conflicts: mongo-10gen, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-un Obsoletes: mongo-10gen-enterprise-server Provides: mongo-10gen-enterprise-server +%if 0%{?suse_version} >= 1210 || 0%{?rhel} >= 700 || 0%{?fedora} >= 15 +BuildRequires: systemd-rpm-macros +%else +BuildRequires: systemd +%{?systemd_requires} +%endif + %description server MongoDB is built for scalability, performance and high availability, scaling from single server deployments to large, complex multi-site architectures. By leveraging in-memory computing, MongoDB provides high performance for both reads and writes. MongoDB’s native replication and automated failover enable enterprise-grade reliability and operational flexibility. @@ -217,25 +234,30 @@ MongoDB features: This package provides the MongoDB static library and header files needed to develop MongoDB client software. +#Release builds have no debug symbols, and this prevents packaging errors on RHEL 8.0 +%global debug_package %{nil} + %prep %setup +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +pathfix.py -pni "%{__python3} %{py3_shbang_opts}" bin/install_compass +%endif %build %install -mkdir -p $RPM_BUILD_ROOT/usr -cp -rv bin $RPM_BUILD_ROOT/usr -mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1 -cp debian/mongo{,d,s,ldap,kerberos}.1 $RPM_BUILD_ROOT/usr/share/man/man1/ -mkdir -p $RPM_BUILD_ROOT/etc -cp -v rpm/mongod.conf $RPM_BUILD_ROOT/etc/mongod.conf -mkdir -p $RPM_BUILD_ROOT/lib/systemd/system -cp -v rpm/mongod.service $RPM_BUILD_ROOT/lib/systemd/system -mkdir -p $RPM_BUILD_ROOT/var/lib/mongo -mkdir -p $RPM_BUILD_ROOT/var/log/mongodb -mkdir -p $RPM_BUILD_ROOT/var/run/mongodb -touch $RPM_BUILD_ROOT/var/log/mongodb/mongod.log - +mkdir -p $RPM_BUILD_ROOT%{_prefix} +cp -rv bin $RPM_BUILD_ROOT%{_prefix} +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 +cp debian/mongo{,d,s,ldap,kerberos}.1 $RPM_BUILD_ROOT%{_mandir}/man1/ +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} +cp -v rpm/mongod.conf $RPM_BUILD_ROOT%{_sysconfdir}/mongod.conf +mkdir -p $RPM_BUILD_ROOT%{_unitdir} +cp -v rpm/mongod.service $RPM_BUILD_ROOT%{_unitdir} +mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/mongo +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb +mkdir -p $RPM_BUILD_ROOT%{_rundir}/mongodb +touch $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb/mongod.log %clean rm -rf $RPM_BUILD_ROOT @@ -273,14 +295,14 @@ fi %files server %defattr(-,root,root,-) -%config(noreplace) /etc/mongod.conf +%config(noreplace) %{_sysconfdir}/mongod.conf %{_bindir}/mongod %{_mandir}/man1/mongod.1* -/lib/systemd/system/mongod.service -%attr(0755,mongod,mongod) %dir /var/lib/mongo -%attr(0755,mongod,mongod) %dir /var/log/mongodb -%attr(0755,mongod,mongod) %dir /var/run/mongodb -%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) /var/log/mongodb/mongod.log +%{_unitdir}/mongod.service +%attr(0755,mongod,mongod) %dir %{_sharedstatedir}/mongo +%attr(0755,mongod,mongod) %dir %{_localstatedir}/log/mongodb +%attr(0755,mongod,mongod) %dir %{_rundir}/mongodb +%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) %{_localstatedir}/log/mongodb/mongod.log %doc snmp/MONGOD-MIB.txt %doc snmp/MONGODBINC-MIB.txt %doc snmp/mongod.conf.master diff --git a/rpm/mongodb-org-init.spec b/rpm/mongodb-org-init.spec index 6c92c8c38ae..8c185ecbc31 100644 --- a/rpm/mongodb-org-init.spec +++ b/rpm/mongodb-org-init.spec @@ -1,5 +1,11 @@ +%if ! %{defined _rundir} +%define _rundir %{_localstatedir}/run +%endif + Name: mongodb-org Prefix: /usr +Prefix: /var +Prefix: /etc Conflicts: mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools Version: %{dynamic_version} Release: %{dynamic_release}%{?dist} @@ -11,6 +17,10 @@ URL: http://www.mongodb.org Group: Applications/Databases Requires: mongodb-org-server = %{version}, mongodb-org-shell = %{version}, mongodb-org-mongos = %{version}, mongodb-org-tools = %{version} +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +BuildRequires: /usr/bin/pathfix.py, python3-devel +%endif + Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -191,27 +201,33 @@ MongoDB features: This package provides the MongoDB static library and header files needed to develop MongoDB client software. +#Release builds have no debug symbols, and this prevents packaging errors on RHEL 8.0 +%global debug_package %{nil} + %prep %setup +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +pathfix.py -pni "%{__python3} %{py3_shbang_opts}" bin/install_compass +%endif %build %install -mkdir -p $RPM_BUILD_ROOT/usr -cp -rv bin $RPM_BUILD_ROOT/usr -mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1 -cp debian/mongo{,d,s}.1 $RPM_BUILD_ROOT/usr/share/man/man1/ -mkdir -p $RPM_BUILD_ROOT/etc/init.d -cp -v rpm/init.d-mongod $RPM_BUILD_ROOT/etc/init.d/mongod -chmod a+x $RPM_BUILD_ROOT/etc/init.d/mongod -mkdir -p $RPM_BUILD_ROOT/etc -cp -v rpm/mongod.conf $RPM_BUILD_ROOT/etc/mongod.conf -mkdir -p $RPM_BUILD_ROOT/etc/sysconfig -cp -v rpm/mongod.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/mongod -mkdir -p $RPM_BUILD_ROOT/var/lib/mongo -mkdir -p $RPM_BUILD_ROOT/var/log/mongodb -mkdir -p $RPM_BUILD_ROOT/var/run/mongodb -touch $RPM_BUILD_ROOT/var/log/mongodb/mongod.log +mkdir -p $RPM_BUILD_ROOT%{_prefix} +cp -rv bin $RPM_BUILD_ROOT%{_prefix} +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 +cp debian/mongo{,d,s}.1 $RPM_BUILD_ROOT%{_mandir}/man1/ +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d +cp -v rpm/init.d-mongod $RPM_BUILD_ROOT%{_sysconfdir}/init.d/mongod +chmod a+x $RPM_BUILD_ROOT%{_sysconfdir}/init.d/mongod +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} +cp -v rpm/mongod.conf $RPM_BUILD_ROOT%{_sysconfdir}/mongod.conf +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig +cp -v rpm/mongod.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/mongod +mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/mongo +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb +mkdir -p $RPM_BUILD_ROOT%{_rundir}/mongodb +touch $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb/mongod.log %clean rm -rf $RPM_BUILD_ROOT @@ -246,15 +262,15 @@ fi %files server %defattr(-,root,root,-) -%config(noreplace) /etc/mongod.conf +%config(noreplace) %{_sysconfdir}/mongod.conf %{_bindir}/mongod %{_mandir}/man1/mongod.1* -/etc/init.d/mongod -%config(noreplace) /etc/sysconfig/mongod -%attr(0755,mongod,mongod) %dir /var/lib/mongo -%attr(0755,mongod,mongod) %dir /var/log/mongodb -%attr(0755,mongod,mongod) %dir /var/run/mongodb -%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) /var/log/mongodb/mongod.log +%{_sysconfdir}/init.d/mongod +%config(noreplace) %{_sysconfdir}/sysconfig/mongod +%attr(0755,mongod,mongod) %dir %{_sharedstatedir}/mongo +%attr(0755,mongod,mongod) %dir %{_localstatedir}/log/mongodb +%attr(0755,mongod,mongod) %dir %{_rundir}/mongodb +%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) %{_localstatedir}/log/mongodb/mongod.log %doc LICENSE-Community.txt %doc README %doc THIRD-PARTY-NOTICES diff --git a/rpm/mongodb-org-unstable-init.spec b/rpm/mongodb-org-unstable-init.spec index 8ac74c9424c..219c355c111 100644 --- a/rpm/mongodb-org-unstable-init.spec +++ b/rpm/mongodb-org-unstable-init.spec @@ -1,5 +1,11 @@ +%if ! %{defined _rundir} +%define _rundir %{_localstatedir}/run +%endif + Name: mongodb-org-unstable Prefix: /usr +Prefix: /var +Prefix: /etc Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools Version: %{dynamic_version} Release: %{dynamic_release}%{?dist} @@ -9,6 +15,10 @@ URL: http://www.mongodb.org Group: Applications/Databases Requires: mongodb-org-unstable-server = %{version}, mongodb-org-unstable-shell = %{version}, mongodb-org-unstable-mongos = %{version}, mongodb-org-unstable-tools = %{version} +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +BuildRequires: /usr/bin/pathfix.py, python3-devel +%endif + Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -179,27 +189,33 @@ MongoDB features: This package provides the MongoDB static library and header files needed to develop MongoDB client software. +#Release builds have no debug symbols, and this prevents packaging errors on RHEL 8.0 +%global debug_package %{nil} + %prep %setup +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +pathfix.py -pni "%{__python3} %{py3_shbang_opts}" bin/install_compass +%endif %build %install -mkdir -p $RPM_BUILD_ROOT/usr -cp -rv bin $RPM_BUILD_ROOT/usr -mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1 -cp debian/mongo{,d,s}.1 $RPM_BUILD_ROOT/usr/share/man/man1/ -mkdir -p $RPM_BUILD_ROOT/etc/init.d -cp -v rpm/init.d-mongod $RPM_BUILD_ROOT/etc/init.d/mongod -chmod a+x $RPM_BUILD_ROOT/etc/init.d/mongod -mkdir -p $RPM_BUILD_ROOT/etc -cp -v rpm/mongod.conf $RPM_BUILD_ROOT/etc/mongod.conf -mkdir -p $RPM_BUILD_ROOT/etc/sysconfig -cp -v rpm/mongod.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/mongod -mkdir -p $RPM_BUILD_ROOT/var/lib/mongo -mkdir -p $RPM_BUILD_ROOT/var/log/mongodb -mkdir -p $RPM_BUILD_ROOT/var/run/mongodb -touch $RPM_BUILD_ROOT/var/log/mongodb/mongod.log +mkdir -p $RPM_BUILD_ROOT%{_prefix} +cp -rv bin $RPM_BUILD_ROOT%{_prefix} +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 +cp debian/mongo{,d,s}.1 $RPM_BUILD_ROOT%{_mandir}/man1/ +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d +cp -v rpm/init.d-mongod $RPM_BUILD_ROOT%{_sysconfdir}/init.d/mongod +chmod a+x $RPM_BUILD_ROOT%{_sysconfdir}/init.d/mongod +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} +cp -v rpm/mongod.conf $RPM_BUILD_ROOT%{_sysconfdir}/mongod.conf +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig +cp -v rpm/mongod.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/mongod +mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/mongo +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb +mkdir -p $RPM_BUILD_ROOT%{_rundir}/mongodb +touch $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb/mongod.log @@ -236,15 +252,15 @@ fi %files server %defattr(-,root,root,-) -%config(noreplace) /etc/mongod.conf +%config(noreplace) %{_sysconfdir}/mongod.conf %{_bindir}/mongod %{_mandir}/man1/mongod.1* -/etc/init.d/mongod -%config(noreplace) /etc/sysconfig/mongod -%attr(0755,mongod,mongod) %dir /var/lib/mongo -%attr(0755,mongod,mongod) %dir /var/log/mongodb -%attr(0755,mongod,mongod) %dir /var/run/mongodb -%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) /var/log/mongodb/mongod.log +%{_sysconfdir}/init.d/mongod +%config(noreplace) %{_sysconfdir}/sysconfig/mongod +%attr(0755,mongod,mongod) %dir %{_sharedstatedir}/mongo +%attr(0755,mongod,mongod) %dir %{_localstatedir}/log/mongodb +%attr(0755,mongod,mongod) %dir %{_rundir}/mongodb +%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) %{_localstatedir}/log/mongodb/mongod.log %doc LICENSE-Community.txt %doc README %doc THIRD-PARTY-NOTICES diff --git a/rpm/mongodb-org-unstable.spec b/rpm/mongodb-org-unstable.spec index 3a94a809993..1c9ca458b8c 100644 --- a/rpm/mongodb-org-unstable.spec +++ b/rpm/mongodb-org-unstable.spec @@ -1,5 +1,11 @@ +%if ! %{defined _rundir} +%define _rundir %{_localstatedir}/run +%endif + Name: mongodb-org-unstable Prefix: /usr +Prefix: /var +Prefix: /etc Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools Version: %{dynamic_version} Release: %{dynamic_release}%{?dist} @@ -9,6 +15,10 @@ URL: http://www.mongodb.org Group: Applications/Databases Requires: mongodb-org-unstable-server = %{version}, mongodb-org-unstable-shell = %{version}, mongodb-org-unstable-mongos = %{version}, mongodb-org-unstable-tools = %{version} +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +BuildRequires: /usr/bin/pathfix.py, python3-devel +%endif + Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -44,6 +54,13 @@ Group: Applications/Databases Requires: openssl, %{timezone_pkg}, %{python_pkg} Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools +%if 0%{?suse_version} >= 1210 || 0%{?rhel} >= 700 || 0%{?fedora} >= 15 +BuildRequires: systemd-rpm-macros +%else +BuildRequires: systemd +%{?systemd_requires} +%endif + %description server MongoDB is built for scalability, performance and high availability, scaling from single server deployments to large, complex multi-site architectures. By leveraging in-memory computing, MongoDB provides high performance for both reads and writes. MongoDB’s native replication and automated failover enable enterprise-grade reliability and operational flexibility. @@ -181,26 +198,30 @@ MongoDB features: This package provides the MongoDB static library and header files needed to develop MongoDB client software. +#Release builds have no debug symbols, and this prevents packaging errors on RHEL 8.0 +%global debug_package %{nil} + %prep %setup +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +pathfix.py -pni "%{__python3} %{py3_shbang_opts}" bin/install_compass +%endif %build %install -mkdir -p $RPM_BUILD_ROOT/usr -cp -rv bin $RPM_BUILD_ROOT/usr -mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1 -cp debian/mongo{,d,s}.1 $RPM_BUILD_ROOT/usr/share/man/man1/ -mkdir -p $RPM_BUILD_ROOT/etc -cp -v rpm/mongod.conf $RPM_BUILD_ROOT/etc/mongod.conf -mkdir -p $RPM_BUILD_ROOT/lib/systemd/system -cp -v rpm/mongod.service $RPM_BUILD_ROOT/lib/systemd/system -mkdir -p $RPM_BUILD_ROOT/var/lib/mongo -mkdir -p $RPM_BUILD_ROOT/var/log/mongodb -mkdir -p $RPM_BUILD_ROOT/var/run/mongodb -touch $RPM_BUILD_ROOT/var/log/mongodb/mongod.log - - +mkdir -p $RPM_BUILD_ROOT%{_prefix} +cp -rv bin $RPM_BUILD_ROOT%{_prefix} +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 +cp debian/mongo{,d,s}.1 $RPM_BUILD_ROOT%{_mandir}/man1/ +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} +cp -v rpm/mongod.conf $RPM_BUILD_ROOT%{_sysconfdir}/mongod.conf +mkdir -p $RPM_BUILD_ROOT%{_unitdir} +cp -v rpm/mongod.service $RPM_BUILD_ROOT%{_unitdir} +mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/mongo +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb +mkdir -p $RPM_BUILD_ROOT%{_rundir}/mongodb +touch $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb/mongod.log %clean rm -rf $RPM_BUILD_ROOT @@ -239,14 +260,14 @@ fi %files server %defattr(-,root,root,-) -%config(noreplace) /etc/mongod.conf +%config(noreplace) %{_sysconfdir}/mongod.conf %{_bindir}/mongod %{_mandir}/man1/mongod.1* -/lib/systemd/system/mongod.service -%attr(0755,mongod,mongod) %dir /var/lib/mongo -%attr(0755,mongod,mongod) %dir /var/log/mongodb -%attr(0755,mongod,mongod) %dir /var/run/mongodb -%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) /var/log/mongodb/mongod.log +%{_unitdir}/mongod.service +%attr(0755,mongod,mongod) %dir %{_sharedstatedir}/mongo +%attr(0755,mongod,mongod) %dir %{_localstatedir}/log/mongodb +%attr(0755,mongod,mongod) %dir %{_rundir}/mongodb +%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) %{_localstatedir}/log/mongodb/mongod.log %doc LICENSE-Community.txt %doc README %doc THIRD-PARTY-NOTICES diff --git a/rpm/mongodb-org.spec b/rpm/mongodb-org.spec index 0bf71b4a022..59c3314e490 100644 --- a/rpm/mongodb-org.spec +++ b/rpm/mongodb-org.spec @@ -1,5 +1,11 @@ +%if ! %{defined _rundir} +%define _rundir %{_localstatedir}/run +%endif + Name: mongodb-org Prefix: /usr +Prefix: /var +Prefix: /etc Conflicts: mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools Version: %{dynamic_version} Release: %{dynamic_release}%{?dist} @@ -11,6 +17,10 @@ URL: http://www.mongodb.org Group: Applications/Databases Requires: mongodb-org-server = %{version}, mongodb-org-shell = %{version}, mongodb-org-mongos = %{version}, mongodb-org-tools = %{version} +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +BuildRequires: /usr/bin/pathfix.py, python3-devel +%endif + Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -48,6 +58,13 @@ Conflicts: mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-un Obsoletes: mongo-10gen-server Provides: mongo-10gen-server +%if 0%{?suse_version} >= 1210 || 0%{?rhel} >= 700 || 0%{?fedora} >= 15 +BuildRequires: systemd-rpm-macros +%else +BuildRequires: systemd +%{?systemd_requires} +%endif + %description server MongoDB is built for scalability, performance and high availability, scaling from single server deployments to large, complex multi-site architectures. By leveraging in-memory computing, MongoDB provides high performance for both reads and writes. MongoDB’s native replication and automated failover enable enterprise-grade reliability and operational flexibility. @@ -193,24 +210,30 @@ MongoDB features: This package provides the MongoDB static library and header files needed to develop MongoDB client software. +#Release builds have no debug symbols, and this prevents packaging errors on RHEL 8.0 +%global debug_package %{nil} + %prep %setup +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +pathfix.py -pni "%{__python3} %{py3_shbang_opts}" bin/install_compass +%endif %build %install -mkdir -p $RPM_BUILD_ROOT/usr -cp -rv bin $RPM_BUILD_ROOT/usr -mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1 -cp debian/mongo{,d,s}.1 $RPM_BUILD_ROOT/usr/share/man/man1/ -mkdir -p $RPM_BUILD_ROOT/etc -cp -v rpm/mongod.conf $RPM_BUILD_ROOT/etc/mongod.conf -mkdir -p $RPM_BUILD_ROOT/lib/systemd/system -cp -v rpm/mongod.service $RPM_BUILD_ROOT/lib/systemd/system -mkdir -p $RPM_BUILD_ROOT/var/lib/mongo -mkdir -p $RPM_BUILD_ROOT/var/log/mongodb -mkdir -p $RPM_BUILD_ROOT/var/run/mongodb -touch $RPM_BUILD_ROOT/var/log/mongodb/mongod.log +mkdir -p $RPM_BUILD_ROOT%{_prefix} +cp -rv bin $RPM_BUILD_ROOT%{_prefix} +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 +cp debian/mongo{,d,s}.1 $RPM_BUILD_ROOT%{_mandir}/man1/ +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} +cp -v rpm/mongod.conf $RPM_BUILD_ROOT%{_sysconfdir}/mongod.conf +mkdir -p $RPM_BUILD_ROOT%{_unitdir} +cp -v rpm/mongod.service $RPM_BUILD_ROOT%{_unitdir} +mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/mongo +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb +mkdir -p $RPM_BUILD_ROOT%{_rundir}/mongodb +touch $RPM_BUILD_ROOT%{_localstatedir}/log/mongodb/mongod.log %clean rm -rf $RPM_BUILD_ROOT @@ -249,14 +272,14 @@ fi %files server %defattr(-,root,root,-) -%config(noreplace) /etc/mongod.conf +%config(noreplace) %{_sysconfdir}/mongod.conf %{_bindir}/mongod %{_mandir}/man1/mongod.1* -/lib/systemd/system/mongod.service -%attr(0755,mongod,mongod) %dir /var/lib/mongo -%attr(0755,mongod,mongod) %dir /var/log/mongodb -%attr(0755,mongod,mongod) %dir /var/run/mongodb -%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) /var/log/mongodb/mongod.log +%{_unitdir}/mongod.service +%attr(0755,mongod,mongod) %dir %{_sharedstatedir}/mongo +%attr(0755,mongod,mongod) %dir %{_localstatedir}/log/mongodb +%attr(0755,mongod,mongod) %dir %{_rundir}/mongodb +%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) %{_localstatedir}/log/mongodb/mongod.log %doc LICENSE-Community.txt %doc README %doc THIRD-PARTY-NOTICES |