[PATCH 0/5] gnu: Remove mongodb.

  • Done
  • quality assurance status badge
Details
2 participants
  • Léo Le Bouter
  • Christopher Baines
Owner
unassigned
Submitted by
Léo Le Bouter
Severity
normal
L
L
Léo Le Bouter wrote on 12 Mar 2021 01:56
(address . guix-patches@gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210312005632.13690-1-lle-bout@zaclys.net
mongodb 3.4.10 has unpatched CVEs and mongodb 3.4.24 has some files in the
release tarball under the SSPL, therefore we cannot provide mongodb while
upholding to good security standards.

Léo Le Bouter (5):
gnu: Remove mongo-tools.
doc: Remove mongodb-service-type.
tests: databases: Remove mongodb test.
services: Remove mongodb service.
gnu: Remove mongodb.

doc/guix.texi | 28 -----
gnu/packages/databases.scm | 252 -------------------------------------
gnu/services/databases.scm | 88 -------------
gnu/tests/databases.scm | 83 ------------
4 files changed, 451 deletions(-)

--
2.30.2
L
L
Léo Le Bouter wrote on 12 Mar 2021 01:57
[PATCH 1/5] gnu: Remove mongo-tools.
(address . 47081@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210312005715.13881-1-lle-bout@zaclys.net
Preparing for mongodb removal, first it's dependents must be removed.

* gnu/packages/databases.scm (mongo-tools): Remove.
---
gnu/packages/databases.scm | 115 -------------------------------------
1 file changed, 115 deletions(-)

Toggle diff (128 lines)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 437449174f..2330f9fd26 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3640,121 +3640,6 @@ transforms idiomatic python function calls to well-formed SQL queries.")
the SQL language using a syntax that reflects the resulting query.")
(license license:asl2.0)))
-(define-public mongo-tools
- (package
- (name "mongo-tools")
- (version "3.4.0")
- (source
- (origin (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mongodb/mongo-tools")
- (commit (string-append "r" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1bcsz5cvj39a7nsxsfqmz9igrw33j6yli9kffigqyscs52amw7x1"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/mongodb/mongo-tools"
- #:modules ((srfi srfi-1)
- (guix build go-build-system)
- (guix build utils))
- #:install-source? #f
- #:phases
- (let ((all-tools
- '("bsondump" "mongodump" "mongoexport" "mongofiles"
- "mongoimport" "mongooplog" "mongorestore"
- "mongostat" "mongotop")))
- (modify-phases %standard-phases
- (add-after 'unpack 'delete-bundled-source-code
- (lambda _
- (delete-file-recursively
- "src/github.com/mongodb/mongo-tools/vendor")
- #t))
- (add-after 'delete-bundled-source-code 'patch-source
- (lambda _
- ;; Remove a redundant argument that causes compilation to fail.
- (substitute*
- "src/github.com/mongodb/mongo-tools/mongorestore/filepath.go"
- (("skipping restore of system.profile collection\", db)")
- "skipping restore of system.profile collection\")"))
- #t))
- (replace 'build
- (lambda _
- (for-each (lambda (tool)
- (let ((command
- `("go" "build"
- ;; This is where the tests expect to find the
- ;; executables
- "-o" ,(string-append
- "src/github.com/mongodb/mongo-tools/bin/"
- tool)
- "-v"
- "-tags=\"ssl sasl\""
- "-ldflags"
- "-extldflags=-Wl,-z,now,-z,relro"
- ,(string-append
- "src/github.com/mongodb/mongo-tools/"
- tool "/main/" tool ".go"))))
- (simple-format #t "build: running ~A\n"
- (string-join command))
- (apply invoke command)))
- all-tools)
- #t))
- (replace 'check
- (lambda _
- (with-directory-excursion "src"
- (for-each (lambda (tool)
- (invoke
- "go" "test" "-v"
- (string-append "github.com/mongodb/mongo-tools/"
- tool)))
- all-tools))
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (for-each (lambda (tool)
- (install-file
- (string-append "src/github.com/mongodb/mongo-tools/bin/"
- tool)
- (string-append (assoc-ref outputs "out")
- "/bin")))
- all-tools)
- #t))))))
- (native-inputs
- `(("go-github.com-howeyc-gopass" ,go-github.com-howeyc-gopass)
- ("go-github.com-jessevdk-go-flags" ,go-github.com-jessevdk-go-flags)
- ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
- ("go-gopkg.in-mgo.v2" ,go-gopkg.in-mgo.v2)
- ("go-gopkg.in-tomb.v2" ,go-gopkg.in-tomb.v2)
- ("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)
- ("go-github.com-smartystreets-goconvey" ,go-github.com-smartystreets-goconvey)))
- (home-page "https://github.com/mongodb/mongo-tools")
- (synopsis "Various tools for interacting with MongoDB and BSON")
- (description
- "This package includes a collection of tools related to MongoDB.
-@table @code
-@item bsondump
-Display BSON files in a human-readable format
-@item mongoimport
-Convert data from JSON, TSV or CSV and insert them into a collection
-@item mongoexport
-Write an existing collection to CSV or JSON format
-@item mongodump/mongorestore
-Dump MongoDB backups to disk in the BSON format
-@item mongorestore
-Read MongoDB backups in the BSON format, and restore them to a live database
-@item mongostat
-Monitor live MongoDB servers, replica sets, or sharded clusters
-@item mongofiles
-Read, write, delete, or update files in GridFS
-@item mongooplog
-Replay oplog entries between MongoDB servers
-@item mongotop
-Monitor read/write activity on a mongo server
-@end table")
- (license license:asl2.0)))
-
;; There are many wrappers for this in other languages. When touching, please
;; be sure to ensure all dependencies continue to build.
(define-public apache-arrow
--
2.30.2
L
L
Léo Le Bouter wrote on 12 Mar 2021 01:57
[PATCH 2/5] doc: Remove mongodb-service-type.
(address . 47081@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210312005715.13881-2-lle-bout@zaclys.net
* doc/guix.texi (mongodb-service-type): Remove.
---
doc/guix.texi | 28 ----------------------------
1 file changed, 28 deletions(-)

Toggle diff (41 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 77aafafd97..bd51f7bf81 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -19804,34 +19804,6 @@ Additional command line options to pass to @code{memcached}.
@end table
@end deftp
-@subsubheading MongoDB
-
-@defvr {Scheme Variable} mongodb-service-type
-This is the service type for @uref{https://www.mongodb.com/, MongoDB}.
-The value for the service type is a @code{mongodb-configuration} object.
-@end defvr
-
-@lisp
-(service mongodb-service-type)
-@end lisp
-
-@deftp {Data Type} mongodb-configuration
-Data type representing the configuration of mongodb.
-
-@table @asis
-@item @code{mongodb} (default: @code{mongodb})
-The MongoDB package to use.
-
-@item @code{config-file} (default: @code{%default-mongodb-configuration-file})
-The configuration file for MongoDB.
-
-@item @code{data-directory} (default: @code{"/var/lib/mongodb"})
-This value is used to create the directory, so that it exists and is
-owned by the mongodb user. It should match the data-directory which
-MongoDB is configured to use through the configuration file.
-@end table
-@end deftp
-
@subsubheading Redis
@defvr {Scheme Variable} redis-service-type
--
2.30.2
L
L
Léo Le Bouter wrote on 12 Mar 2021 01:57
[PATCH 3/5] tests: databases: Remove mongodb test.
(address . 47081@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210312005715.13881-3-lle-bout@zaclys.net
* gnu/tests/databases.scm (%test-mongodb, %mongodb-os, run-mongodb-test):
Remove.
---
gnu/tests/databases.scm | 83 -----------------------------------------
1 file changed, 83 deletions(-)

Toggle diff (103 lines)
diff --git a/gnu/tests/databases.scm b/gnu/tests/databases.scm
index e831d69f5a..4bfe4ee282 100644
--- a/gnu/tests/databases.scm
+++ b/gnu/tests/databases.scm
@@ -30,7 +30,6 @@
#:use-module (guix gexp)
#:use-module (guix store)
#:export (%test-memcached
- %test-mongodb
%test-postgresql
%test-mysql))
@@ -127,88 +126,6 @@
(description "Connect to a running MEMCACHED server.")
(value (run-memcached-test))))
-(define %mongodb-os
- (operating-system
- (inherit
- (simple-operating-system
- (service dhcp-client-service-type)
- (service mongodb-service-type)))
- (packages (cons* mongodb
- %base-packages))))
-
-(define* (run-mongodb-test #:optional (port 27017))
- "Run tests in %MONGODB-OS, forwarding PORT."
- (define os
- (marionette-operating-system
- %mongodb-os
- #:imported-modules '((gnu services herd)
- (guix combinators))))
-
- (define vm
- (virtual-machine
- (operating-system os)
- (memory-size 1024)
- (disk-image-size (* 1024 (expt 2 20)))
- (port-forwardings `((27017 . ,port)))))
-
- (define test
- (with-imported-modules '((gnu build marionette))
- #~(begin
- (use-modules (srfi srfi-11) (srfi srfi-64)
- (gnu build marionette)
- (ice-9 popen)
- (ice-9 rdelim))
-
- (define marionette
- (make-marionette (list #$vm)))
-
- (mkdir #$output)
- (chdir #$output)
-
- (test-begin "mongodb")
-
- (test-assert "service running"
- (marionette-eval
- '(begin
- (use-modules (gnu services herd))
- (match (start-service 'mongodb)
- (#f #f)
- (('service response-parts ...)
- (match (assq-ref response-parts 'running)
- ((pid) (number? pid))))))
- marionette))
-
- (test-eq "test insert"
- 0
- (system* (string-append #$mongodb "/bin/mongo")
- "test"
- "--eval"
- "db.testCollection.insert({data: 'test-data'})"))
-
- (test-equal "test find"
- "test-data"
- (let* ((port (open-pipe*
- OPEN_READ
- (string-append #$mongodb "/bin/mongo")
- "test"
- "--quiet"
- "--eval"
- "db.testCollection.findOne().data"))
- (output (read-line port))
- (status (close-pipe port)))
- output))
-
- (test-end)
- (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
-
- (gexp->derivation "mongodb-test" test))
-
-(define %test-mongodb
- (system-test
- (name "mongodb")
- (description "Connect to a running MONGODB server.")
- (value (run-mongodb-test))))
-
;;;
;;; The PostgreSQL service.
--
2.30.2
L
L
Léo Le Bouter wrote on 12 Mar 2021 01:57
[PATCH 4/5] services: Remove mongodb service.
(address . 47081@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210312005715.13881-4-lle-bout@zaclys.net
* gnu/services/databases.scm (mongodb-configuration, mongodb-configuration?,
mongodb-configuration-mongodb, mongodb-configuration-config-file,
mongodb-configuration-data-directory, mongodb-service-type,
%default-mongodb-configuration-file, %mongodb-accounts, mongodb-activation,
mongodb-shepherd-service): Remove.
---
gnu/services/databases.scm | 88 --------------------------------------
1 file changed, 88 deletions(-)

Toggle diff (108 lines)
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 979f3dd6c8..a841e7a50e 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -79,13 +79,6 @@
memcached-configuration-udp-port
memcached-configuration-additional-options
- mongodb-configuration
- mongodb-configuration?
- mongodb-configuration-mongodb
- mongodb-configuration-config-file
- mongodb-configuration-data-directory
- mongodb-service-type
-
mysql-service
mysql-service-type
mysql-configuration
@@ -521,87 +514,6 @@ created after the PostgreSQL database is started.")))
(const %memcached-accounts))))
(default-value (memcached-configuration))))
-
-;;;
-;;; MongoDB
-;;;
-
-(define %default-mongodb-configuration-file
- (plain-file
- "mongodb.yaml"
- "# GNU Guix: MongoDB default configuration file
-processManagement:
- pidFilePath: /var/run/mongodb/pid
-storage:
- dbPath: /var/lib/mongodb
-"))
-
-
-(define-record-type* <mongodb-configuration>
- mongodb-configuration make-mongodb-configuration
- mongodb-configuration?
- (mongodb mongodb-configuration-mongodb
- (default mongodb))
- (config-file mongodb-configuration-config-file
- (default %default-mongodb-configuration-file))
- (data-directory mongodb-configuration-data-directory
- (default "/var/lib/mongodb")))
-
-(define %mongodb-accounts
- (list (user-group (name "mongodb") (system? #t))
- (user-account
- (name "mongodb")
- (group "mongodb")
- (system? #t)
- (comment "Mongodb server user")
- (home-directory "/var/lib/mongodb")
- (shell (file-append shadow "/sbin/nologin")))))
-
-(define mongodb-activation
- (match-lambda
- (($ <mongodb-configuration> mongodb config-file data-directory)
- #~(begin
- (use-modules (guix build utils))
- (let ((user (getpwnam "mongodb")))
- (for-each
- (lambda (directory)
- (mkdir-p directory)
- (chown directory
- (passwd:uid user) (passwd:gid user)))
- '("/var/run/mongodb" #$data-directory)))))))
-
-(define mongodb-shepherd-service
- (match-lambda
- (($ <mongodb-configuration> mongodb config-file data-directory)
- (shepherd-service
- (provision '(mongodb))
- (documentation "Run the Mongodb daemon.")
- (requirement '(user-processes loopback))
- (start #~(make-forkexec-constructor
- `(,(string-append #$mongodb "/bin/mongod")
- "--config"
- ,#$config-file)
- #:user "mongodb"
- #:group "mongodb"
- #:pid-file "/var/run/mongodb/pid"
- #:log-file "/var/log/mongodb.log"))
- (stop #~(make-kill-destructor))))))
-
-(define mongodb-service-type
- (service-type
- (name 'mongodb)
- (description "Run the MongoDB document database server.")
- (extensions
- (list (service-extension shepherd-root-service-type
- (compose list
- mongodb-shepherd-service))
- (service-extension activation-service-type
- mongodb-activation)
- (service-extension account-service-type
- (const %mongodb-accounts))))
- (default-value
- (mongodb-configuration))))
-
;;;
;;; MySQL.
--
2.30.2
L
L
Léo Le Bouter wrote on 12 Mar 2021 01:57
[PATCH 5/5] gnu: Remove mongodb.
(address . 47081@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210312005715.13881-5-lle-bout@zaclys.net
mongodb 3.4.10 has unpatched CVEs and mongodb 3.4.24 has some files in the
release tarball under the SSPL, therefore we cannot provide mongodb while
upholding to good security standards.

* gnu/packages/databases.scm (mongodb): Remove.
---
gnu/packages/databases.scm | 137 -------------------------------------
1 file changed, 137 deletions(-)

Toggle diff (150 lines)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 2330f9fd26..5249aa0d10 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -615,143 +615,6 @@ replacement for the code@{python-memcached} library.")
(define-public python2-pylibmc
(package-with-python2 python-pylibmc))
-;; There is a point at which mongodb switched to the Server Side Public
-;; License (SSPL), which is not a FOSS license. As such, be careful
-;; when updating this package.
-(define-public mongodb
- (package
- (name "mongodb")
- (version "3.4.24")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/mongodb/mongo/archive/r"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0y1669sqj8wyf0y0njhxs4qhn1qzjhrs2h2qllya5samxrlrjhkg"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (for-each (lambda (dir)
- (delete-file-recursively
- (string-append "src/third_party/" dir)))
- '("pcre-8.42" "scons-2.5.0" "snappy-1.1.3"
- "valgrind-3.11.0" "wiredtiger"
- "yaml-cpp-0.6.2" "zlib-1.2.11"))
- #t))))
- (build-system scons-build-system)
- (inputs
- `(("openssl" ,openssl-1.0)
- ("pcre" ,pcre)
- ,@(match (%current-system)
- ((or "x86_64-linux" "aarch64-linux" "mips64el-linux")
- `(("wiredtiger" ,wiredtiger)))
- (_ `()))
- ("yaml-cpp" ,yaml-cpp)
- ("zlib" ,zlib)
- ("snappy" ,snappy)))
- (native-inputs
- `(("valgrind" ,valgrind)
- ("perl" ,perl)
- ("python" ,python-2)
- ("python2-pymongo" ,python2-pymongo)
- ("python2-pyyaml" ,python2-pyyaml)
- ("tzdata" ,tzdata-for-tests)))
- (arguments
- `(#:scons ,scons-python2
- #:phases
- (let ((common-options
- `(;; "--use-system-tcmalloc" TODO: Missing gperftools
- "--use-system-pcre"
- ;; wiredtiger is 64-bit only
- ,,(if (any (cute string-prefix? <> (or (%current-target-system)
- (%current-system)))
- '("i686-linux" "armhf-linux"))
- ``"--wiredtiger=off"
- ``"--use-system-wiredtiger")
- ;; TODO
- ;; build/opt/mongo/db/fts/unicode/string.o failed: Error 1
- ;; --use-system-boost
- "--use-system-snappy"
- "--use-system-zlib"
- "--use-system-valgrind"
- ;; "--use-system-stemmer" TODO: Missing relevant package
- "--use-system-yaml"
- "--disable-warnings-as-errors"
- ,(format #f "--jobs=~a" (parallel-job-count))
- "--ssl")))
- (modify-phases %standard-phases
- (add-after 'unpack 'patch
- (lambda _
- ;; Remove use of GNU extensions in parse_number_test.cpp, to
- ;; allow compiling with GCC 7 or later
- ;; https://jira.mongodb.org/browse/SERVER-28063
- (substitute* "src/mongo/base/parse_number_test.cpp"
- (("0xabcab\\.defdefP-10")
- "687.16784283419838"))
- #t))
- (add-after 'unpack 'scons-propagate-environment
- (lambda _
- ;; Modify the SConstruct file to arrange for
- ;; environment variables to be propagated.
- (substitute* "SConstruct"
- (("^env = Environment\\(")
- "env = Environment(ENV=os.environ, "))
- #t))
- (add-after 'unpack 'create-version-file
- (lambda _
- (call-with-output-file "version.json"
- (lambda (port)
- (display ,(simple-format #f "{
- \"version\": \"~A\"
-}" version) port)))
- #t))
- (replace 'build
- (lambda _
- (apply invoke `("scons"
- ,@common-options
- "mongod" "mongo" "mongos"))))
- (replace 'check
- (lambda* (#:key tests? inputs #:allow-other-keys)
- (setenv "TZDIR"
- (string-append (assoc-ref inputs "tzdata")
- "/share/zoneinfo"))
- (when tests?
- ;; Note that with the tests, especially the unittests, the
- ;; build can take up to ~45GB of space, as many tests are
- ;; individual executable files, with some being hundreds of
- ;; megabytes in size.
- (apply invoke `("scons" ,@common-options "dbtest" "unittests"))
- (substitute* "build/unittests.txt"
- ;; TODO: Don't run the async_stream_test, as it hangs
- (("^build\\/opt\\/mongo\\/executor\\/async\\_stream\\_test\n$")
- "")
- ;; TODO: This test fails
- ;; Expected 0UL != disks.size() (0 != 0) @src/mongo/util/procparser_test.cpp:476
- (("^build\\/opt\\/mongo\\/util\\/procparser\\_test\n$")
- ""))
- (invoke "python" "buildscripts/resmoke.py"
- "--suites=dbtest,unittests"
- (format #f "--jobs=~a" (parallel-job-count))))
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
- (install-file "mongod" bin)
- (install-file "mongos" bin)
- (install-file "mongo" bin))
- #t))))))
- (home-page "https://www.mongodb.org/")
- (synopsis "High performance and high availability document database")
- (description
- "Mongo is a high-performance, high availability, schema-free
-document-oriented database. A key goal of MongoDB is to bridge the gap
-between key/value stores (which are fast and highly scalable) and traditional
-RDBMS systems (which are deep in functionality).")
- (license (list license:agpl3
- ;; Some parts are licensed under the Apache License
- license:asl2.0))))
-
(define-public mycli
(package
(name "mycli")
--
2.30.2
L
L
Léo Le Bouter wrote on 12 Mar 2021 01:59
[PATCH v2 1/6] gnu: Remove go-gopkg.in-mgo.v2.
(address . 47081@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210312005915.14100-1-lle-bout@zaclys.net
Preparing for mongodb removal, first it's dependents must be removed.

* gnu/packages/databases.scm (go-gopkg.in-mgo.v2): Remove.
---
gnu/packages/databases.scm | 46 --------------------------------------
1 file changed, 46 deletions(-)

Toggle diff (59 lines)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 8705cd2be4..437449174f 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -193,52 +193,6 @@
either single machines or networked clusters.")
(license license:gpl3+)))
-(define-public go-gopkg.in-mgo.v2
- (package
- (name "go-gopkg.in-mgo.v2")
- (version "2016.08.01")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/go-mgo/mgo")
- (commit (string-append "r" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0rwbi1z63w43b0z9srm8m7iz1fdwx7bq7n2mz862d6liiaqa59jd"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "gopkg.in/mgo.v2"
- ;; TODO: The tests fail as MongoDB fails to start
- ;; Error parsing command line: unrecognised option '--chunkSize'
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (delete 'reset-gzip-timestamps)
- (add-before 'check 'start-mongodb
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion "src/gopkg.in/mgo.v2"
- (invoke "make" "startdb")))
- #t))
- (add-after 'check 'stop'mongodb
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion "src/gopkg.in/mgo.v2"
- (invoke "make" "stopdb")))
- #t)))))
- (native-inputs
- `(("go-gopkg.in-check.v1" ,go-gopkg.in-check.v1)
- ("mongodb" ,mongodb)
- ("daemontools" ,daemontools)))
- (synopsis "@code{mgo} offers a rich MongoDB driver for Go.")
- (description
- "@code{mgo} (pronounced as mango) is a MongoDB driver for the Go language.
-It implements a rich selection of features under a simple API following
-standard Go idioms.")
- (home-page "https://labix.org/mgo")
- (license license:bsd-2)))
-
(define-public ephemeralpg
(package
(name "ephemeralpg")
--
2.30.2
L
L
Léo Le Bouter wrote on 12 Mar 2021 01:59
[PATCH v2 2/6] gnu: Remove mongo-tools.
(address . 47081@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210312005915.14100-2-lle-bout@zaclys.net
Preparing for mongodb removal, first it's dependents must be removed.

* gnu/packages/databases.scm (mongo-tools): Remove.
---
gnu/packages/databases.scm | 115 -------------------------------------
1 file changed, 115 deletions(-)

Toggle diff (128 lines)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 437449174f..2330f9fd26 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3640,121 +3640,6 @@ transforms idiomatic python function calls to well-formed SQL queries.")
the SQL language using a syntax that reflects the resulting query.")
(license license:asl2.0)))
-(define-public mongo-tools
- (package
- (name "mongo-tools")
- (version "3.4.0")
- (source
- (origin (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mongodb/mongo-tools")
- (commit (string-append "r" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1bcsz5cvj39a7nsxsfqmz9igrw33j6yli9kffigqyscs52amw7x1"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/mongodb/mongo-tools"
- #:modules ((srfi srfi-1)
- (guix build go-build-system)
- (guix build utils))
- #:install-source? #f
- #:phases
- (let ((all-tools
- '("bsondump" "mongodump" "mongoexport" "mongofiles"
- "mongoimport" "mongooplog" "mongorestore"
- "mongostat" "mongotop")))
- (modify-phases %standard-phases
- (add-after 'unpack 'delete-bundled-source-code
- (lambda _
- (delete-file-recursively
- "src/github.com/mongodb/mongo-tools/vendor")
- #t))
- (add-after 'delete-bundled-source-code 'patch-source
- (lambda _
- ;; Remove a redundant argument that causes compilation to fail.
- (substitute*
- "src/github.com/mongodb/mongo-tools/mongorestore/filepath.go"
- (("skipping restore of system.profile collection\", db)")
- "skipping restore of system.profile collection\")"))
- #t))
- (replace 'build
- (lambda _
- (for-each (lambda (tool)
- (let ((command
- `("go" "build"
- ;; This is where the tests expect to find the
- ;; executables
- "-o" ,(string-append
- "src/github.com/mongodb/mongo-tools/bin/"
- tool)
- "-v"
- "-tags=\"ssl sasl\""
- "-ldflags"
- "-extldflags=-Wl,-z,now,-z,relro"
- ,(string-append
- "src/github.com/mongodb/mongo-tools/"
- tool "/main/" tool ".go"))))
- (simple-format #t "build: running ~A\n"
- (string-join command))
- (apply invoke command)))
- all-tools)
- #t))
- (replace 'check
- (lambda _
- (with-directory-excursion "src"
- (for-each (lambda (tool)
- (invoke
- "go" "test" "-v"
- (string-append "github.com/mongodb/mongo-tools/"
- tool)))
- all-tools))
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (for-each (lambda (tool)
- (install-file
- (string-append "src/github.com/mongodb/mongo-tools/bin/"
- tool)
- (string-append (assoc-ref outputs "out")
- "/bin")))
- all-tools)
- #t))))))
- (native-inputs
- `(("go-github.com-howeyc-gopass" ,go-github.com-howeyc-gopass)
- ("go-github.com-jessevdk-go-flags" ,go-github.com-jessevdk-go-flags)
- ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
- ("go-gopkg.in-mgo.v2" ,go-gopkg.in-mgo.v2)
- ("go-gopkg.in-tomb.v2" ,go-gopkg.in-tomb.v2)
- ("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)
- ("go-github.com-smartystreets-goconvey" ,go-github.com-smartystreets-goconvey)))
- (home-page "https://github.com/mongodb/mongo-tools")
- (synopsis "Various tools for interacting with MongoDB and BSON")
- (description
- "This package includes a collection of tools related to MongoDB.
-@table @code
-@item bsondump
-Display BSON files in a human-readable format
-@item mongoimport
-Convert data from JSON, TSV or CSV and insert them into a collection
-@item mongoexport
-Write an existing collection to CSV or JSON format
-@item mongodump/mongorestore
-Dump MongoDB backups to disk in the BSON format
-@item mongorestore
-Read MongoDB backups in the BSON format, and restore them to a live database
-@item mongostat
-Monitor live MongoDB servers, replica sets, or sharded clusters
-@item mongofiles
-Read, write, delete, or update files in GridFS
-@item mongooplog
-Replay oplog entries between MongoDB servers
-@item mongotop
-Monitor read/write activity on a mongo server
-@end table")
- (license license:asl2.0)))
-
;; There are many wrappers for this in other languages. When touching, please
;; be sure to ensure all dependencies continue to build.
(define-public apache-arrow
--
2.30.2
L
L
Léo Le Bouter wrote on 12 Mar 2021 01:59
[PATCH v2 4/6] tests: databases: Remove mongodb test.
(address . 47081@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210312005915.14100-4-lle-bout@zaclys.net
* gnu/tests/databases.scm (%test-mongodb, %mongodb-os, run-mongodb-test):
Remove.
---
gnu/tests/databases.scm | 83 -----------------------------------------
1 file changed, 83 deletions(-)

Toggle diff (103 lines)
diff --git a/gnu/tests/databases.scm b/gnu/tests/databases.scm
index e831d69f5a..4bfe4ee282 100644
--- a/gnu/tests/databases.scm
+++ b/gnu/tests/databases.scm
@@ -30,7 +30,6 @@
#:use-module (guix gexp)
#:use-module (guix store)
#:export (%test-memcached
- %test-mongodb
%test-postgresql
%test-mysql))
@@ -127,88 +126,6 @@
(description "Connect to a running MEMCACHED server.")
(value (run-memcached-test))))
-(define %mongodb-os
- (operating-system
- (inherit
- (simple-operating-system
- (service dhcp-client-service-type)
- (service mongodb-service-type)))
- (packages (cons* mongodb
- %base-packages))))
-
-(define* (run-mongodb-test #:optional (port 27017))
- "Run tests in %MONGODB-OS, forwarding PORT."
- (define os
- (marionette-operating-system
- %mongodb-os
- #:imported-modules '((gnu services herd)
- (guix combinators))))
-
- (define vm
- (virtual-machine
- (operating-system os)
- (memory-size 1024)
- (disk-image-size (* 1024 (expt 2 20)))
- (port-forwardings `((27017 . ,port)))))
-
- (define test
- (with-imported-modules '((gnu build marionette))
- #~(begin
- (use-modules (srfi srfi-11) (srfi srfi-64)
- (gnu build marionette)
- (ice-9 popen)
- (ice-9 rdelim))
-
- (define marionette
- (make-marionette (list #$vm)))
-
- (mkdir #$output)
- (chdir #$output)
-
- (test-begin "mongodb")
-
- (test-assert "service running"
- (marionette-eval
- '(begin
- (use-modules (gnu services herd))
- (match (start-service 'mongodb)
- (#f #f)
- (('service response-parts ...)
- (match (assq-ref response-parts 'running)
- ((pid) (number? pid))))))
- marionette))
-
- (test-eq "test insert"
- 0
- (system* (string-append #$mongodb "/bin/mongo")
- "test"
- "--eval"
- "db.testCollection.insert({data: 'test-data'})"))
-
- (test-equal "test find"
- "test-data"
- (let* ((port (open-pipe*
- OPEN_READ
- (string-append #$mongodb "/bin/mongo")
- "test"
- "--quiet"
- "--eval"
- "db.testCollection.findOne().data"))
- (output (read-line port))
- (status (close-pipe port)))
- output))
-
- (test-end)
- (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
-
- (gexp->derivation "mongodb-test" test))
-
-(define %test-mongodb
- (system-test
- (name "mongodb")
- (description "Connect to a running MONGODB server.")
- (value (run-mongodb-test))))
-
;;;
;;; The PostgreSQL service.
--
2.30.2
L
L
Léo Le Bouter wrote on 12 Mar 2021 01:59
[PATCH v2 5/6] services: Remove mongodb service.
(address . 47081@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210312005915.14100-5-lle-bout@zaclys.net
* gnu/services/databases.scm (mongodb-configuration, mongodb-configuration?,
mongodb-configuration-mongodb, mongodb-configuration-config-file,
mongodb-configuration-data-directory, mongodb-service-type,
%default-mongodb-configuration-file, %mongodb-accounts, mongodb-activation,
mongodb-shepherd-service): Remove.
---
gnu/services/databases.scm | 88 --------------------------------------
1 file changed, 88 deletions(-)

Toggle diff (108 lines)
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 979f3dd6c8..a841e7a50e 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -79,13 +79,6 @@
memcached-configuration-udp-port
memcached-configuration-additional-options
- mongodb-configuration
- mongodb-configuration?
- mongodb-configuration-mongodb
- mongodb-configuration-config-file
- mongodb-configuration-data-directory
- mongodb-service-type
-
mysql-service
mysql-service-type
mysql-configuration
@@ -521,87 +514,6 @@ created after the PostgreSQL database is started.")))
(const %memcached-accounts))))
(default-value (memcached-configuration))))
-
-;;;
-;;; MongoDB
-;;;
-
-(define %default-mongodb-configuration-file
- (plain-file
- "mongodb.yaml"
- "# GNU Guix: MongoDB default configuration file
-processManagement:
- pidFilePath: /var/run/mongodb/pid
-storage:
- dbPath: /var/lib/mongodb
-"))
-
-
-(define-record-type* <mongodb-configuration>
- mongodb-configuration make-mongodb-configuration
- mongodb-configuration?
- (mongodb mongodb-configuration-mongodb
- (default mongodb))
- (config-file mongodb-configuration-config-file
- (default %default-mongodb-configuration-file))
- (data-directory mongodb-configuration-data-directory
- (default "/var/lib/mongodb")))
-
-(define %mongodb-accounts
- (list (user-group (name "mongodb") (system? #t))
- (user-account
- (name "mongodb")
- (group "mongodb")
- (system? #t)
- (comment "Mongodb server user")
- (home-directory "/var/lib/mongodb")
- (shell (file-append shadow "/sbin/nologin")))))
-
-(define mongodb-activation
- (match-lambda
- (($ <mongodb-configuration> mongodb config-file data-directory)
- #~(begin
- (use-modules (guix build utils))
- (let ((user (getpwnam "mongodb")))
- (for-each
- (lambda (directory)
- (mkdir-p directory)
- (chown directory
- (passwd:uid user) (passwd:gid user)))
- '("/var/run/mongodb" #$data-directory)))))))
-
-(define mongodb-shepherd-service
- (match-lambda
- (($ <mongodb-configuration> mongodb config-file data-directory)
- (shepherd-service
- (provision '(mongodb))
- (documentation "Run the Mongodb daemon.")
- (requirement '(user-processes loopback))
- (start #~(make-forkexec-constructor
- `(,(string-append #$mongodb "/bin/mongod")
- "--config"
- ,#$config-file)
- #:user "mongodb"
- #:group "mongodb"
- #:pid-file "/var/run/mongodb/pid"
- #:log-file "/var/log/mongodb.log"))
- (stop #~(make-kill-destructor))))))
-
-(define mongodb-service-type
- (service-type
- (name 'mongodb)
- (description "Run the MongoDB document database server.")
- (extensions
- (list (service-extension shepherd-root-service-type
- (compose list
- mongodb-shepherd-service))
- (service-extension activation-service-type
- mongodb-activation)
- (service-extension account-service-type
- (const %mongodb-accounts))))
- (default-value
- (mongodb-configuration))))
-
;;;
;;; MySQL.
--
2.30.2
L
L
Léo Le Bouter wrote on 12 Mar 2021 01:59
[PATCH v2 6/6] gnu: Remove mongodb.
(address . 47081@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210312005915.14100-6-lle-bout@zaclys.net
mongodb 3.4.10 has unpatched CVEs and mongodb 3.4.24 has some files in the
release tarball under the SSPL, therefore we cannot provide mongodb while
upholding to good security standards.

* gnu/packages/databases.scm (mongodb): Remove.
---
gnu/packages/databases.scm | 137 -------------------------------------
1 file changed, 137 deletions(-)

Toggle diff (150 lines)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 2330f9fd26..5249aa0d10 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -615,143 +615,6 @@ replacement for the code@{python-memcached} library.")
(define-public python2-pylibmc
(package-with-python2 python-pylibmc))
-;; There is a point at which mongodb switched to the Server Side Public
-;; License (SSPL), which is not a FOSS license. As such, be careful
-;; when updating this package.
-(define-public mongodb
- (package
- (name "mongodb")
- (version "3.4.24")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/mongodb/mongo/archive/r"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0y1669sqj8wyf0y0njhxs4qhn1qzjhrs2h2qllya5samxrlrjhkg"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (for-each (lambda (dir)
- (delete-file-recursively
- (string-append "src/third_party/" dir)))
- '("pcre-8.42" "scons-2.5.0" "snappy-1.1.3"
- "valgrind-3.11.0" "wiredtiger"
- "yaml-cpp-0.6.2" "zlib-1.2.11"))
- #t))))
- (build-system scons-build-system)
- (inputs
- `(("openssl" ,openssl-1.0)
- ("pcre" ,pcre)
- ,@(match (%current-system)
- ((or "x86_64-linux" "aarch64-linux" "mips64el-linux")
- `(("wiredtiger" ,wiredtiger)))
- (_ `()))
- ("yaml-cpp" ,yaml-cpp)
- ("zlib" ,zlib)
- ("snappy" ,snappy)))
- (native-inputs
- `(("valgrind" ,valgrind)
- ("perl" ,perl)
- ("python" ,python-2)
- ("python2-pymongo" ,python2-pymongo)
- ("python2-pyyaml" ,python2-pyyaml)
- ("tzdata" ,tzdata-for-tests)))
- (arguments
- `(#:scons ,scons-python2
- #:phases
- (let ((common-options
- `(;; "--use-system-tcmalloc" TODO: Missing gperftools
- "--use-system-pcre"
- ;; wiredtiger is 64-bit only
- ,,(if (any (cute string-prefix? <> (or (%current-target-system)
- (%current-system)))
- '("i686-linux" "armhf-linux"))
- ``"--wiredtiger=off"
- ``"--use-system-wiredtiger")
- ;; TODO
- ;; build/opt/mongo/db/fts/unicode/string.o failed: Error 1
- ;; --use-system-boost
- "--use-system-snappy"
- "--use-system-zlib"
- "--use-system-valgrind"
- ;; "--use-system-stemmer" TODO: Missing relevant package
- "--use-system-yaml"
- "--disable-warnings-as-errors"
- ,(format #f "--jobs=~a" (parallel-job-count))
- "--ssl")))
- (modify-phases %standard-phases
- (add-after 'unpack 'patch
- (lambda _
- ;; Remove use of GNU extensions in parse_number_test.cpp, to
- ;; allow compiling with GCC 7 or later
- ;; https://jira.mongodb.org/browse/SERVER-28063
- (substitute* "src/mongo/base/parse_number_test.cpp"
- (("0xabcab\\.defdefP-10")
- "687.16784283419838"))
- #t))
- (add-after 'unpack 'scons-propagate-environment
- (lambda _
- ;; Modify the SConstruct file to arrange for
- ;; environment variables to be propagated.
- (substitute* "SConstruct"
- (("^env = Environment\\(")
- "env = Environment(ENV=os.environ, "))
- #t))
- (add-after 'unpack 'create-version-file
- (lambda _
- (call-with-output-file "version.json"
- (lambda (port)
- (display ,(simple-format #f "{
- \"version\": \"~A\"
-}" version) port)))
- #t))
- (replace 'build
- (lambda _
- (apply invoke `("scons"
- ,@common-options
- "mongod" "mongo" "mongos"))))
- (replace 'check
- (lambda* (#:key tests? inputs #:allow-other-keys)
- (setenv "TZDIR"
- (string-append (assoc-ref inputs "tzdata")
- "/share/zoneinfo"))
- (when tests?
- ;; Note that with the tests, especially the unittests, the
- ;; build can take up to ~45GB of space, as many tests are
- ;; individual executable files, with some being hundreds of
- ;; megabytes in size.
- (apply invoke `("scons" ,@common-options "dbtest" "unittests"))
- (substitute* "build/unittests.txt"
- ;; TODO: Don't run the async_stream_test, as it hangs
- (("^build\\/opt\\/mongo\\/executor\\/async\\_stream\\_test\n$")
- "")
- ;; TODO: This test fails
- ;; Expected 0UL != disks.size() (0 != 0) @src/mongo/util/procparser_test.cpp:476
- (("^build\\/opt\\/mongo\\/util\\/procparser\\_test\n$")
- ""))
- (invoke "python" "buildscripts/resmoke.py"
- "--suites=dbtest,unittests"
- (format #f "--jobs=~a" (parallel-job-count))))
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
- (install-file "mongod" bin)
- (install-file "mongos" bin)
- (install-file "mongo" bin))
- #t))))))
- (home-page "https://www.mongodb.org/")
- (synopsis "High performance and high availability document database")
- (description
- "Mongo is a high-performance, high availability, schema-free
-document-oriented database. A key goal of MongoDB is to bridge the gap
-between key/value stores (which are fast and highly scalable) and traditional
-RDBMS systems (which are deep in functionality).")
- (license (list license:agpl3
- ;; Some parts are licensed under the Apache License
- license:asl2.0))))
-
(define-public mycli
(package
(name "mycli")
--
2.30.2
L
L
Léo Le Bouter wrote on 12 Mar 2021 01:59
[PATCH v2 3/6] doc: Remove mongodb-service-type.
(address . 47081@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210312005915.14100-3-lle-bout@zaclys.net
* doc/guix.texi (mongodb-service-type): Remove.
---
doc/guix.texi | 28 ----------------------------
1 file changed, 28 deletions(-)

Toggle diff (41 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 77aafafd97..bd51f7bf81 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -19804,34 +19804,6 @@ Additional command line options to pass to @code{memcached}.
@end table
@end deftp
-@subsubheading MongoDB
-
-@defvr {Scheme Variable} mongodb-service-type
-This is the service type for @uref{https://www.mongodb.com/, MongoDB}.
-The value for the service type is a @code{mongodb-configuration} object.
-@end defvr
-
-@lisp
-(service mongodb-service-type)
-@end lisp
-
-@deftp {Data Type} mongodb-configuration
-Data type representing the configuration of mongodb.
-
-@table @asis
-@item @code{mongodb} (default: @code{mongodb})
-The MongoDB package to use.
-
-@item @code{config-file} (default: @code{%default-mongodb-configuration-file})
-The configuration file for MongoDB.
-
-@item @code{data-directory} (default: @code{"/var/lib/mongodb"})
-This value is used to create the directory, so that it exists and is
-owned by the mongodb user. It should match the data-directory which
-MongoDB is configured to use through the configuration file.
-@end table
-@end deftp
-
@subsubheading Redis
@defvr {Scheme Variable} redis-service-type
--
2.30.2
C
C
Christopher Baines wrote on 14 Mar 2021 15:54
Re: [bug#47081] [PATCH v2 5/6] services: Remove mongodb service.
(name . Léo Le Bouter)(address . lle-bout@zaclys.net)(address . 47081@debbugs.gnu.org)
87ft0xg50b.fsf@cbaines.net
Léo Le Bouter via Guix-patches via <guix-patches@gnu.org> writes:

Toggle quote (9 lines)
> * gnu/services/databases.scm (mongodb-configuration, mongodb-configuration?,
> mongodb-configuration-mongodb, mongodb-configuration-config-file,
> mongodb-configuration-data-directory, mongodb-service-type,
> %default-mongodb-configuration-file, %mongodb-accounts, mongodb-activation,
> mongodb-shepherd-service): Remove.
> ---
> gnu/services/databases.scm | 88 --------------------------------------
> 1 file changed, 88 deletions(-)

I think it would be better to squash this commit in with the two
previous commits, so there just one commit to remove the service,
including the tests and documentation. That's a better "atomic" change,
since all three bits (service itself, test and docs) are one thing in my
opinion.
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmBOI6RfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XeQfA//QpJp65KOma45CjVEbnBK5OqNkmVLR98c
OoJfyYNG4eZls04DrLLWzn3EmIxunxenrBbr9m8jyc5q/Ti5IGWaIfXn3ffF0DIa
bEZgJZTDql1tfQXIN50hr53RgpMuIDQBiEo+G//JhrB3cZqbDfYV8gF6OW1bzvEp
9QfP8wYQ7KceM0HFeF3jLirxY9wS5qJKmy3NDxphzhHK/BwHAcT9HqZKJQaM73Sh
XKst/d+ZlqG3sbx3FbrMlMZGVTBigUlOgnGN6JRARJw/9UDzQOs37lbLO0iIDdrf
3V9ybpxQfe/rOFDyKzW/jTPEnlS9cU4SxWMqJAjtQdrENJVzWqm2Hn7cMj7bsk9W
O73yrHIp3t5mCb3q2CMBlVe3PpqxupSCYvawmidS2DWcSdP5mkqacP87BuXaqaK9
SiPazePG4P/Wkw50FWrhjy0t+rHojQ5KgAImp2Ad3OUlMsJKt2015uEwiy9YQXWn
RLOzVjR34FVnfFcs4Kz9gMaFITDSsnIM3Szta0q//vRiVDo2cT9yPFmqcEOjDsLA
jDPjcsfyNOPDewg/KWW9bZb1KutwPUBov7hwxMXE3zDXFp/POrcKH8aAXVnM6t3U
WMtzZeAQeE8Y1h3v33tJ7+0szmktkDaanZpDXX90uHdUuMbjhIxRAquEQQ2CcUEX
KmtkQMoTydY=
=MKYE
-----END PGP SIGNATURE-----

L
L
Léo Le Bouter wrote on 14 Mar 2021 15:58
(name . Christopher Baines)(address . mail@cbaines.net)(address . 47081@debbugs.gnu.org)
fcd86fcd5d3b8b64ea14d86f46e18e6ec66f887e.camel@zaclys.net
On Sun, 2021-03-14 at 14:54 +0000, Christopher Baines wrote:
Toggle quote (8 lines)
> I think it would be better to squash this commit in with the two
> previous commits, so there just one commit to remove the service,
> including the tests and documentation. That's a better "atomic"
> change,
> since all three bits (service itself, test and docs) are one thing in
> my
> opinion.

Oh no, then all the individual commits and ordering work (so no single
commit breaks GNU Guix or makes it inconsistent) is useless now :-(

I will try squashing ASAP, but what do you recommend as title then? It
seems to me this kind of violates GNU commit message guidelines.
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEFIvLi9gL+xax3g6RRaix6GvNEKYFAmBOJK4ACgkQRaix6GvN
EKbeuw//ZqjeIxOoQ9BJlINu/KEFNRdQC5rYa64XL1Jfb6sGwxC/blTXVo0AHQsl
ISA74cYpTeVC21rvIYFRdcwxn1H9Vkl8uCqHN6Z1A3oT5AfhtD4O84VAupbJ5R0W
HWa5ohjQlKJKOUNV/J7zIrfIMYehFX4grJkp69/gUoPD7Kvs9T3HOxd5E6Mw/doo
+fPcwDSqGA3X7uMPDIbDF2V/y+3XxEciZUWqZFd1ubd142niWYECD+oN9wKOR2Dk
q7XsIBt/R/scUmveO2ySadizXblGWn/RVrX6zFjs5sop9vsTtKKFvWegBPRL3a52
yZStAiNGDfgyewURLrKwjsFKfhg3UjGt/8DbeG8E2bsHvf6FiYfEKXBW8DGwGNiJ
jtoJWMuAMLwLy9A+6twou3NyybjlwRbnBLXI1Wp2AwGiakq+vX/MfFaNZz8tprxn
mFQLnh3L0YeAdujfBk1MOq8NewPzpcuxkfeOv3i9L0YPeD4CY2wLA+WLeQsD/CZa
vDXu1DUgZRt88zfdIEq/5HH3Mt0b7BFweATMbZhl5jXDvDd6K8DkV2jbJBF5cBV6
XoTLanr+cPtPdWHpcnqXZMK+BQ77VWWqzlZ8qRkgI4W8/ZVbWtEJ+BcZvErI333i
qfWHEMyT9wAUgKpIm5NDIpBKCf4ICYofCbV/FO5Rri0K9eNtXLw=
=JP6+
-----END PGP SIGNATURE-----


C
C
Christopher Baines wrote on 14 Mar 2021 16:31
(name . Léo Le Bouter)(address . lle-bout@zaclys.net)(address . 47081@debbugs.gnu.org)
87czw1g39z.fsf@cbaines.net
Léo Le Bouter <lle-bout@zaclys.net> writes:

Toggle quote (12 lines)
> On Sun, 2021-03-14 at 14:54 +0000, Christopher Baines wrote:
>> I think it would be better to squash this commit in with the two
>> previous commits, so there just one commit to remove the service,
>> including the tests and documentation. That's a better "atomic"
>> change,
>> since all three bits (service itself, test and docs) are one thing in
>> my
>> opinion.
>
> Oh no, then all the individual commits and ordering work (so no single
> commit breaks GNU Guix or makes it inconsistent) is useless now :-(

I don't think there's going to be any problems with combining the
commits I'm suggesting. Given they're contiguous, there's no chance of
it breaking something, right?

Toggle quote (3 lines)
> I will try squashing ASAP, but what do you recommend as title then? It
> seems to me this kind of violates GNU commit message guidelines.

I'm no expert at writing commit messages in the Guix/GNU style, but
maybe take a look at the commit that added the service [1]. I think
"services: Remove MongoDB." would be a reasonable title.

-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmBOLGhfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xc7eRAAhMcxHwZmmDT4ebxJ3y1gdvmalCKmwmV/
f3scXN4nJz92BL7mwWAwAlBk/VTT7bQPM+A1lk0Zyy7E+Z9x/B407GL0xJJDoN1Q
DgVle+KHX4Tj0kRXoUm3vltHxf2qayvuFeUp2lMmb62goP8V+GTaIdREurSHRkQp
pijHiCA+dYq39Ony4HDcX15yLw9W4Mo170suMxgPmd0j69304HK5j6nP783AAaVD
qe3O1SRtwUbyQbEXfqYPeVLCEO3LxfwMi3EpcQfyWa8PktAYoEqP0FpztfhfFqfT
cisC3Mz7JI/HjKca10hsoV5rZG4YX5ZhK7NFsJ1mzUbPAAwkK0BHUFGsKmU2ArPJ
3ZySOtb6pf8IPneViE1xJ9+ZFTS/TknJsrlGLXBG811yiWMqq+eCxYdXeWCKkP/6
Gf6pJjcTHipNjlLRpjJmF8aNIIEptFsuRm/lM5Y78vX1qkPnl+VaLBexOm8ujEuM
FEj2PkCoA64T5p7NBnk5mCPj4sIu3H8YkEedDZVryz5tJAk0Bv4FQa/wxu0wq8ux
e0IuyNvrpMsmDXoJrqHYDT5kwl0SuR8bYNFstKHtCEGOfRZrKaefXKmwzb7vYO1O
4uYmxw8wvRihKgKFbwo+i5kPEUCffoRwij4ujlp6ZdYAYdUlUFLVabGX/o/w9bqO
6Zu6zBrUC0I=
=08x3
-----END PGP SIGNATURE-----

L
L
Léo Le Bouter wrote on 16 Mar 2021 11:11
(name . Christopher Baines)(address . mail@cbaines.net)(address . 47081-done@debbugs.gnu.org)
aaef3d7bf15314201ea51649e1d736ba76586806.camel@zaclys.net
I squashed and pushed as 097cf21d1d34f4f66a403c3fb6e15b6709c4dd8a.

Hope everything is alright :-D
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEFIvLi9gL+xax3g6RRaix6GvNEKYFAmBQhEQACgkQRaix6GvN
EKaSHg//dxIdpGrRP5FVY5ZZEV0bZIJMlZc7IWaKq+FTJqkanjNIYqN3qVwMRKPy
2KXoK5q1XsoPU8m7IThU4eI2o8zl/cR8Sc8YnpPc3d1SCRapM7ipdPy5kZIPCNh9
plE/PKKWllvvAH5cvPR/bl6iD6EMlpnN27YIlZhx3n+Bda8Xpc+//uqKFTiluuV7
SowREAbzeeEGFjcruN/jFAecf/3kiyA6JM4d5kKH3iBh3Qyt5L+7oxcl90zI0DQD
Rr/u1+Zo+AlPFxN8Xpm7C6+7rVMETvXzOVbx+CMtsD9X6rg5G6LwUn0wCyYrmHeI
rvfi9YcnnjCwf2m3B9cOkAn8mcedJNtZug/RuMnM5pfJYSJzYKU7FJJjNrJSLE0S
XfS4s10n5Jg1prJn76vI5L+4bE/V18AmrTcbzDVGNUBNBA0rJFGA+5Fd9M6de2NR
A3N1IbxhuEgu0RLFC5H5nUEwHkKCT70Wo2RCwvaKtGm2rUYASRmYEXqRY+dJNWdZ
/W17fG/yfDnlMt7W+99vKdFiZj9Clx+/cG24eetbxP+EcQfWfBqIsmNdKTZgrTv8
YOMKixAo16YMUgB53Xz9ZtLy5jnhD/T5lye3AJfEPl5XSV2QB3Yi5KVqFxLQO7Qu
w8acqmPcvgJvjH1EM66BIKsH3Y2KkKXqtAYndavVnU3cliGvzJw=
=ntSL
-----END PGP SIGNATURE-----


Closed
?