Compare commits

...
Sign in to create a new pull request.

47 commits

Author SHA1 Message Date
Thomas Moschny
2cc4cd8a8c Update for current users and groups guidelines. 2025-08-28 08:17:38 +02:00
Fedora Release Engineering
9e3dc22dd8 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 22:19:41 +00:00
Fedora Release Engineering
0b22da6506 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 19:03:53 +00:00
Miroslav Suchý
b62767eb94 convert GPLv2+ license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-07-26 01:27:12 +02:00
Fedora Release Engineering
cf5795268b Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 18:37:12 +00:00
Fedora Release Engineering
3a511adf44 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 08:00:16 +00:00
Fedora Release Engineering
cff8a0c8df Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 08:36:50 +00:00
Fedora Release Engineering
2113bfe62a Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 15:45:50 +00:00
Fedora Release Engineering
d9caf4d74e Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 20:41:30 +00:00
Jitka Plesnikova
10f4603d1a Remove perl(MODULE_COMPAT), it will be replaced by generators 2023-01-13 09:49:03 +01:00
Fedora Release Engineering
4b5250c284 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 23:42:30 +00:00
Jitka Plesnikova
0a9e571e25 Perl 5.36 rebuild 2022-05-30 19:35:25 +02:00
Fedora Release Engineering
d7f20cf9cc - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 20:23:26 +00:00
Fedora Release Engineering
678adf0cf2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 15:20:57 +00:00
Jitka Plesnikova
f0fcfb9758 Perl 5.34 rebuild 2021-05-21 12:05:46 +02:00
Thomas Moschny
29a6d5c12d Move bash completions to /usr/share/bash-completion/completions (bz#1855768). 2021-02-08 20:37:02 +01:00
Fedora Release Engineering
f19bfbabd2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 20:47:14 +00:00
Fedora Release Engineering
8c5082acbf - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 04:33:42 +00:00
Fedora Release Engineering
b77d129bc2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 08:24:28 +00:00
Jerry James
35721b6e63 Fix FTBFS in Rawhide.
- Add lua-ql patch due to removal of LUA_QL from lua
- Add boost patch to fix single-letter macro name clash (bz 1851313)
- Add string-overflow patch to fix a potential buffer overflow
- Add catch patch to silence a large number of compiler warnings
2020-06-30 13:57:47 -06:00
Jitka Plesnikova
c3b3eab61d Perl 5.32 rebuild 2020-06-22 19:31:51 +02:00
Fedora Release Engineering
5634cdb3fe - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 14:00:16 +00:00
Thomas Moschny
52b25d5c59 Patch extra/mtn-hooks/monotone-ciabot.py to use Python3 (bz#1738073). 2019-08-10 09:15:06 +02:00
Fedora Release Engineering
7d0e717329 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 17:39:59 +00:00
Jitka Plesnikova
2cc4b62aed Perl 5.30 rebuild 2019-05-30 13:34:28 +02:00
Thomas Moschny
cfaf00aa09 Fix F30 FTBFS. 2019-02-09 08:39:35 +01:00
Fedora Release Engineering
b14cb97c35 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 11:26:14 +00:00
Igor Gnatenko
c645355ff9 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:17 +01:00
Igor Gnatenko
ed2f1a5f76
Remove obsolete scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-27 19:39:21 +01:00
Fedora Release Engineering
ce01523b60 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 10:59:59 +00:00
Thomas Moschny
d68e01734a Add BR on make. 2018-07-10 19:53:44 +02:00
Igor Gnatenko
51b370a3da add BuildRequires: gcc-c++
Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
2018-07-10 16:15:28 +02:00
Jitka Plesnikova
a4660e2572 Perl 5.28 rebuild 2018-06-27 20:25:09 +02:00
Thomas Moschny
a0a83818ee Add patch for PCRE >= 8.42 (rhbz#1555231, thanks P. Pisar). 2018-05-22 21:28:13 +02:00
Fedora Release Engineering
73e3ebf529 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-08 03:11:49 +00:00
Fedora Release Engineering
8363ada4f4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 03:33:18 +00:00
Fedora Release Engineering
33a2030d7d - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 22:13:33 +00:00
Jitka Plesnikova
51ddc5568e Perl 5.26 rebuild 2017-06-04 13:56:10 +02:00
Fedora Release Engineering
9fb90c2522 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild 2017-05-15 20:02:27 +00:00
Fedora Release Engineering
6e7c959bac - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-10 21:40:26 +00:00
Jonathan Wakely
dc0af99793 Rebuilt for Boost 1.63 2017-01-27 16:47:02 +00:00
Jonathan Wakely
0803b3b464 Rebuilt for Boost 1.63 2017-01-27 09:24:06 +00:00
Ville Skyttä
3e275c8601 Bump for koji rebuild over the previous one that ended up in a weird state 2017-01-14 12:20:25 +02:00
Ville Skyttä
b56c6e0326 Move tmpfiles.d config to %{_tmpfilesdir} 2017-01-14 09:27:56 +02:00
Petr Písař
92fc046ae4 Mandatory Perl build-requires added <https://fedoraproject.org/wiki/Changes/Build_Root_Without_Perl> 2016-06-24 09:56:12 +02:00
Jitka Plesnikova
4de6adc760 Perl 5.24 rebuild 2016-05-15 02:05:29 +02:00
Thomas Moschny
023522457b Switch monotone-server to systemd (#789901).
- Mark COPYING as %license.
- Do not own /etc/bash_completion.d.
- Update README.monotone-server.
2016-02-15 21:07:46 +01:00
16 changed files with 1207 additions and 328 deletions

View file

@ -1,42 +1,38 @@
The Fedora Extras build of monotone provides an extra RPM monotone-server.
This package is intended to make it easy to set up an unattended server
The Fedora build of monotone provides an extra RPM "monotone-server". This
package is intended to make it easy to set up an unattended server
installation for Monotone's Netsync protocol (i.e. "monotone serve").
The package a standard Fedora-style init.d script with chkconfig support
for running the server, installed as /usr/sbin/monotone-server.
(This is just a symlink to monotone that the init script runs instead.
This enables matching "monotone-server" processes with ps to distinguish
server instances from people using monotone.)
The package contains a systemd service unit for running the server, installed
as /usr/sbin/monotone-server. (This is just a symlink to monotone that the
systemd runs instead. This enables matching "monotone-server" processes with
ps to distinguish server instances from people using monotone.)
The /etc/monotone directory serves as ~/.monotone for the server. This
directory and its contents are not writable by the "monotone" user ID under
which the network server runs. The database lives in /var/lib/monotone,
which the "monotone" user ID must write to.
which the network server runs. The database lives in /var/lib/monotone, which
the "monotone" user ID must write to.
The init.d script will generate a private key for the server to use, if
none exists yet. The key identification will be the host's FQDN (from
/bin/hostname -f). You can use "service monotone genkey [IDENT]" to
generate the private key by hand and set up the unattended server to use
it, supplying a different key identification string if you like.
On startup, the systemd service will generate a private key for the
server to use, if none exists yet, using
/usr/libexec/monotone-server-genkey. The key identification will
contain the host's FQDN (from /bin/hostname -f).
Before starting the server, the script will migrate an old database
format if you had a previous version of the monotone-server installation.
(This includes converting private keys from the old format.)
You can always do this explicitly with "service monotone migrate".
Access to the server is controlled by the /etc/monotone/read-permissions and
/etc/monotone/write-permissions files, unless you write your own Lua hooks
in /etc/monotone/monotonerc. These files are not created or editted by the
RPM scripts, you must create them. These files refer to key identification
/etc/monotone/write-permissions files, unless you write your own Lua hooks in
/etc/monotone/monotonerc. These files are not created or edited by the RPM
scripts, you must create them. These files refer to key identification
strings for keys already the database. Anyone allowed write access by the
netwrok server can put new keys in the database with "monotone push" using
the --key-to-push option. To bootstrap this, /etc/monotone/write-permission
must allow some key and that key must be in the database already. You can
put a key in the server's database easily with "service monotone import",
network server can put new keys in the database with "monotone push" using the
--key-to-push option. To bootstrap this, /etc/monotone/write-permission must
allow some key and that key must be in the database already. You can put a
key in the server's database easily with /usr/libexec/monotone-server-import,
e.g. to import the public key for a private key in ~/.monotone/keys:
mtn pubkey me@my.com | sudo service monotone import
mtn pubkey me@my.com | sudo /usr/libexec/monotone-server-import
For problems with this package or its scripts, please file bugs
at http://bugzilla.redhat.com/ for the "monotone" component
in th "Fedora Extras" product.
For problems with this package or its scripts, please file bugs at
http://bugzilla.redhat.com/ for the "monotone" component in the "Fedora"
product.

555
monotone-1.1-boost.patch Normal file
View file

@ -0,0 +1,555 @@
A function macro named E clashes with internal boost definitions. Rearrange
the order of header inclusion so that affected boost headers are included
before monotone defines the macro.
Also, stop bundling boost/circular_buffer, which is available in current
versions of boost.
diff -up monotone-1.1/Makefile.in.orig monotone-1.1/Makefile.in
--- monotone-1.1/Makefile.in.orig 2014-05-04 03:18:01.000000000 -0600
+++ monotone-1.1/Makefile.in 2020-06-30 10:02:57.849746309 -0600
@@ -156,10 +156,7 @@ am__v_AR_1 =
src_lib3rdparty_a_AR = $(AR) $(ARFLAGS)
src_lib3rdparty_a_LIBADD =
am__src_lib3rdparty_a_SOURCES_DIST = \
- src/boost/circular_buffer_adaptor.hpp \
- src/boost/circular_buffer_base.hpp \
- src/boost/circular_buffer_fwd.hpp \
- src/boost/circular_buffer.hpp src/netxx/accept.cxx \
+ src/netxx/accept.cxx \
src/netxx/accept.h src/netxx/address.cxx src/netxx/common.h \
src/netxx/compat.h src/netxx/datagram.cxx \
src/netxx/datagramserver.cxx src/netxx/osutil.cxx \
@@ -933,12 +930,6 @@ NETXX_SOURCES = \
src/netxx/stream.h src/netxx/streambase.h \
src/netxx/streamserver.h src/netxx/timeout.h src/netxx/types.h
-BOOST_SANDBOX_SOURCES = \
- src/boost/circular_buffer_adaptor.hpp \
- src/boost/circular_buffer_base.hpp \
- src/boost/circular_buffer_fwd.hpp \
- src/boost/circular_buffer.hpp
-
UNIX_PLATFORM_SOURCES = \
src/unix/read_password.cc src/unix/get_system_flavour.cc \
src/unix/process.cc src/unix/terminal.cc src/unix/inodeprint.cc \
@@ -1026,7 +1017,7 @@ nodist_test_bin_tester_SOURCES = test/sr
noinst_LIBRARIES = src/libplatform.a src/lib3rdparty.a
src_libplatform_a_SOURCES = src/platform.hh $(am__append_1) \
$(am__append_6)
-src_lib3rdparty_a_SOURCES = $(BOOST_SANDBOX_SOURCES) $(NETXX_SOURCES) \
+src_lib3rdparty_a_SOURCES = $(NETXX_SOURCES) \
$(am__append_9) $(am__append_11) $(am__append_13) \
$(am__append_14)
bashcompdir = $(sysconfdir)/bash_completion.d
diff -up monotone-1.1/src/ancestry.cc.orig monotone-1.1/src/ancestry.cc
--- monotone-1.1/src/ancestry.cc.orig 2014-05-04 03:15:15.000000000 -0600
+++ monotone-1.1/src/ancestry.cc 2020-06-30 11:34:52.796544704 -0600
@@ -8,8 +8,8 @@
// PURPOSE.
#include "base.hh"
-#include "sanity.hh"
#include "revision.hh"
+#include "sanity.hh"
#include "rev_height.hh"
#include "roster.hh"
diff -up monotone-1.1/src/asciik.hh.orig monotone-1.1/src/asciik.hh
--- monotone-1.1/src/asciik.hh.orig 2014-05-04 03:15:15.000000000 -0600
+++ monotone-1.1/src/asciik.hh 2020-06-30 10:15:12.007654082 -0600
@@ -11,8 +11,8 @@
#define __ASCIIK_HH__
#include <set>
-#include "vector.hh"
#include "vocab.hh"
+#include "vector.hh"
class asciik
{
diff -up monotone-1.1/src/automate.cc.orig monotone-1.1/src/automate.cc
--- monotone-1.1/src/automate.cc.orig 2014-05-04 03:15:16.000000000 -0600
+++ monotone-1.1/src/automate.cc 2020-06-30 11:38:43.421264711 -0600
@@ -13,12 +13,12 @@
#include <iterator>
#include <sstream>
#include <unistd.h>
-#include "vector.hh"
#include <boost/bind.hpp>
#include <boost/function.hpp>
#include "lexical_cast.hh"
#include <boost/tuple/tuple.hpp>
+#include "vector.hh"
#include "app_state.hh"
#include "automate_stdio_helpers.hh"
diff -up monotone-1.1/src/basic_io.hh.orig monotone-1.1/src/basic_io.hh
--- monotone-1.1/src/basic_io.hh.orig 2014-05-04 03:15:16.000000000 -0600
+++ monotone-1.1/src/basic_io.hh 2020-06-30 09:47:13.560973524 -0600
@@ -11,11 +11,11 @@
#ifndef __BASIC_IO_HH__
#define __BASIC_IO_HH__
-#include "vector.hh"
#include <map>
#include "paths.hh"
#include "sanity.hh"
+#include "vector.hh"
#include "vocab.hh"
#include "numeric_vocab.hh"
#include "char_classifiers.hh"
diff -up monotone-1.1/src/charset.cc.orig monotone-1.1/src/charset.cc
--- monotone-1.1/src/charset.cc.orig 2014-05-04 03:15:16.000000000 -0600
+++ monotone-1.1/src/charset.cc 2020-06-30 09:37:09.073857197 -0600
@@ -7,13 +7,13 @@
// implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
// PURPOSE.
-#include "base.hh"
-#include "vector.hh"
-
#include <boost/tokenizer.hpp>
#include <idna.h>
#include <stringprep.h>
+#include "base.hh"
+#include "vector.hh"
+
#include "charset.hh"
#include "numeric_vocab.hh"
#include "sanity.hh"
diff -up monotone-1.1/src/cmd_list.cc.orig monotone-1.1/src/cmd_list.cc
--- monotone-1.1/src/cmd_list.cc.orig 2014-05-04 03:15:16.000000000 -0600
+++ monotone-1.1/src/cmd_list.cc 2020-06-30 10:12:30.695874287 -0600
@@ -10,7 +10,6 @@
#include "base.hh"
#include <algorithm>
-#include "safe_map.hh"
#include <utility>
#include <iostream>
#include <iterator>
@@ -18,6 +17,7 @@
#include <boost/tuple/tuple.hpp>
#include "basic_io.hh"
+#include "safe_map.hh"
#include "cert.hh"
#include "charset.hh"
#include "cmd.hh"
diff -up monotone-1.1/src/commands.hh.orig monotone-1.1/src/commands.hh
--- monotone-1.1/src/commands.hh.orig 2014-05-04 03:15:16.000000000 -0600
+++ monotone-1.1/src/commands.hh 2020-06-30 10:09:04.000156549 -0600
@@ -10,8 +10,8 @@
#ifndef __COMMANDS_HH__
#define __COMMANDS_HH__
-#include "vector.hh"
#include "options.hh"
+#include "vector.hh"
class app_state;
class utf8;
diff -up monotone-1.1/src/database.cc.orig monotone-1.1/src/database.cc
--- monotone-1.1/src/database.cc.orig 2014-05-04 03:15:16.000000000 -0600
+++ monotone-1.1/src/database.cc 2020-06-30 11:07:31.767911489 -0600
@@ -17,13 +17,13 @@
#include <numeric>
#include <set>
#include <sstream>
-#include "vector.hh"
#include <string.h>
#include <boost/bind.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/tuple/tuple.hpp>
#include <boost/tuple/tuple_comparison.hpp>
+#include "vector.hh"
#include <botan/botan.h>
#include <botan/rsa.h>
diff -up monotone-1.1/src/database.hh.orig monotone-1.1/src/database.hh
--- monotone-1.1/src/database.hh.orig 2014-05-04 03:15:16.000000000 -0600
+++ monotone-1.1/src/database.hh 2020-06-30 11:39:49.533184469 -0600
@@ -11,10 +11,10 @@
#ifndef __DATABASE_HH__
#define __DATABASE_HH__
-#include "vector.hh"
#include <set>
#include <boost/function.hpp>
#include <boost/shared_ptr.hpp>
+#include "vector.hh"
#include "rev_types.hh"
#include "cert.hh"
diff -up monotone-1.1/src/enumerator.cc.orig monotone-1.1/src/enumerator.cc
--- monotone-1.1/src/enumerator.cc.orig 2014-05-04 03:15:16.000000000 -0600
+++ monotone-1.1/src/enumerator.cc 2020-06-30 11:17:48.813031155 -0600
@@ -11,9 +11,9 @@
#include <deque>
#include <map>
#include <set>
-#include "vector.hh"
#include "cset.hh"
+#include "vector.hh"
#include "enumerator.hh"
#include "revision.hh"
#include "vocab.hh"
diff -up monotone-1.1/src/file_io.cc.orig monotone-1.1/src/file_io.cc
--- monotone-1.1/src/file_io.cc.orig 2014-05-04 03:15:16.000000000 -0600
+++ monotone-1.1/src/file_io.cc 2020-06-30 09:50:13.560669858 -0600
@@ -12,9 +12,9 @@
#include <fstream>
#include <botan/botan.h>
-#include "botan_pipe_cache.hh"
#include "file_io.hh"
+#include "botan_pipe_cache.hh"
#include "sanity.hh"
#include "simplestring_xform.hh"
#include "charset.hh"
diff -up monotone-1.1/src/globish.cc.orig monotone-1.1/src/globish.cc
--- monotone-1.1/src/globish.cc.orig 2014-05-04 03:15:16.000000000 -0600
+++ monotone-1.1/src/globish.cc 2020-06-30 09:56:22.529324520 -0600
@@ -9,9 +9,9 @@
// PURPOSE.
#include "base.hh"
+#include "option.hh" // for arg_type
#include "sanity.hh"
#include "globish.hh"
-#include "option.hh" // for arg_type
#include "numeric_vocab.hh"
#include <iterator>
diff -up monotone-1.1/src/hmac.cc.orig monotone-1.1/src/hmac.cc
--- monotone-1.1/src/hmac.cc.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/hmac.cc 2020-06-30 11:43:21.171953985 -0600
@@ -10,9 +10,9 @@
#include "base.hh"
#include <botan/botan.h>
-#include "sanity.hh"
#include "hmac.hh"
#include "vocab.hh"
+#include "sanity.hh"
#include "constants.hh"
using std::string;
diff -up monotone-1.1/src/key_store.hh.orig monotone-1.1/src/key_store.hh
--- monotone-1.1/src/key_store.hh.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/key_store.hh 2020-06-30 11:06:22.925984151 -0600
@@ -19,8 +19,8 @@
#include <botan/libstate.h>
#endif
-#include "vector.hh"
#include "vocab.hh"
+#include "vector.hh"
#include "paths.hh"
class app_state;
diff -up monotone-1.1/src/migrate_work.cc.orig monotone-1.1/src/migrate_work.cc
--- monotone-1.1/src/migrate_work.cc.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/migrate_work.cc 2020-06-30 10:57:13.325615053 -0600
@@ -8,8 +8,8 @@
// PURPOSE.
#include "base.hh"
-#include "sanity.hh"
#include "cset.hh"
+#include "sanity.hh"
#include "simplestring_xform.hh"
#include "revision.hh"
#include "file_io.hh"
diff -up monotone-1.1/src/netcmd.cc.orig monotone-1.1/src/netcmd.cc
--- monotone-1.1/src/netcmd.cc.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/netcmd.cc 2020-06-30 11:29:04.877013138 -0600
@@ -8,11 +8,11 @@
// PURPOSE.
#include "base.hh"
-#include "vector.hh"
#include <utility>
#include "constants.hh"
#include "netcmd.hh"
+#include "vector.hh"
#include "netio.hh"
#include "numeric_vocab.hh"
#include "sanity.hh"
diff -up monotone-1.1/src/netcmd.hh.orig monotone-1.1/src/netcmd.hh
--- monotone-1.1/src/netcmd.hh.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/netcmd.hh 2020-06-30 11:25:11.916333993 -0600
@@ -10,13 +10,13 @@
#ifndef __NETCMD_HH__
#define __NETCMD_HH__
-#include "vector.hh"
#include <list>
#include <utility>
#include <iostream>
-#include "globish.hh"
#include "merkle_tree.hh"
+#include "vector.hh"
+#include "globish.hh"
#include "numeric_vocab.hh"
#include "uri.hh"
#include "vocab.hh"
diff -up monotone-1.1/src/network/listener_base.hh.orig monotone-1.1/src/network/listener_base.hh
--- monotone-1.1/src/network/listener_base.hh.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/network/listener_base.hh 2020-06-30 11:19:34.500864837 -0600
@@ -11,10 +11,10 @@
#ifndef __LISTENER_BASE_HH__
#define __LISTENER_BASE_HH__
-#include "reactable.hh"
-
#include <boost/shared_ptr.hpp>
+#include "reactable.hh"
+
// This is not currently needed because there's only one kind of listener.
// But it's already here and not hurting anything, and might be useful if
// we want to add another kind of listener later (something that accepts
diff -up monotone-1.1/src/option.hh.orig monotone-1.1/src/option.hh
--- monotone-1.1/src/option.hh.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/option.hh 2020-06-30 09:23:18.706152659 -0600
@@ -22,9 +22,9 @@
#include <stdexcept>
#include <map>
#include <set>
-#include "vector.hh"
-
#include <boost/function.hpp>
+
+#include "vector.hh"
#include "lexical_cast.hh"
#include "sanity.hh"
diff -up monotone-1.1/src/project.cc.orig monotone-1.1/src/project.cc
--- monotone-1.1/src/project.cc.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/project.cc 2020-06-30 10:58:34.582498413 -0600
@@ -8,9 +8,9 @@
// PURPOSE.
#include "base.hh"
-#include "vector.hh"
#include "cert.hh"
+#include "vector.hh"
#include "database.hh"
#include "date_format.hh"
#include "project.hh"
diff -up monotone-1.1/src/rcs_file.cc.orig monotone-1.1/src/rcs_file.cc
--- monotone-1.1/src/rcs_file.cc.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/rcs_file.cc 2020-06-30 11:10:45.213647993 -0600
@@ -10,7 +10,6 @@
#include "base.hh"
#include <fstream>
-#include "vector.hh"
#ifdef WIN32
#include <windows.h>
@@ -32,6 +31,7 @@
#endif
#include "rcs_file.hh"
+#include "vector.hh"
#include "sanity.hh"
#include "char_classifiers.hh"
diff -up monotone-1.1/src/rcs_file.hh.orig monotone-1.1/src/rcs_file.hh
--- monotone-1.1/src/rcs_file.hh.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/rcs_file.hh 2020-06-30 11:14:24.238333814 -0600
@@ -10,9 +10,9 @@
#ifndef __RCS_FILE_HH__
#define __RCS_FILE_HH__
-#include "vector.hh"
#include <map>
#include <boost/shared_ptr.hpp>
+#include "vector.hh"
struct rcs_admin
{
diff -up monotone-1.1/src/rcs_import.cc.orig monotone-1.1/src/rcs_import.cc
--- monotone-1.1/src/rcs_import.cc.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/rcs_import.cc 2020-06-30 11:29:44.579958676 -0600
@@ -16,13 +16,13 @@
#include <sstream>
#include <stack>
#include <stdexcept>
-#include "vector.hh"
#include <cstring> // memset
#include <boost/shared_ptr.hpp>
#include <boost/scoped_ptr.hpp>
#include "lexical_cast.hh"
#include <boost/tokenizer.hpp>
+#include "vector.hh"
#include "cert.hh"
#include "constants.hh"
diff -up monotone-1.1/src/restrictions.cc.orig monotone-1.1/src/restrictions.cc
--- monotone-1.1/src/restrictions.cc.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/restrictions.cc 2020-06-30 11:43:53.380932870 -0600
@@ -8,9 +8,9 @@
// PURPOSE.
#include "base.hh"
+#include "restrictions.hh"
#include "safe_map.hh"
#include "vector.hh"
-#include "restrictions.hh"
#include "file_io.hh"
#include "roster.hh"
#include "database.hh" // for parent_roster
diff -up monotone-1.1/src/revision.hh.orig monotone-1.1/src/revision.hh
--- monotone-1.1/src/revision.hh.orig 2014-05-04 03:15:18.000000000 -0600
+++ monotone-1.1/src/revision.hh 2020-06-30 11:18:10.388997198 -0600
@@ -11,8 +11,8 @@
#define __REVISION_HH__
#include <set>
-#include "vector.hh"
#include "rev_types.hh"
+#include "vector.hh"
class key_store;
class node_restriction;
diff -up monotone-1.1/src/roster.cc.orig monotone-1.1/src/roster.cc
--- monotone-1.1/src/roster.cc.orig 2014-05-04 03:15:18.000000000 -0600
+++ monotone-1.1/src/roster.cc 2020-06-30 11:35:20.489511075 -0600
@@ -11,10 +11,10 @@
#include "base.hh"
#include <algorithm>
#include <set>
-#include "vector.hh"
#include <sstream>
#include "basic_io.hh"
+#include "vector.hh"
#include "cset.hh"
#include "database.hh"
#include "platform-wrapped.hh"
diff -up monotone-1.1/src/sanity.cc.orig monotone-1.1/src/sanity.cc
--- monotone-1.1/src/sanity.cc.orig 2014-05-04 03:15:18.000000000 -0600
+++ monotone-1.1/src/sanity.cc 2020-06-30 09:32:43.994207307 -0600
@@ -12,12 +12,11 @@
#include <iterator>
#include <fstream>
#include <sstream>
-#include "vector.hh"
-
#include <boost/format.hpp>
-// circular_buffer is not in Boost 1.34; it's in monotone/boost.
-#include "boost/circular_buffer.hpp"
+#include "vector.hh"
+
+#include <boost/circular_buffer.hpp>
#include "lexical_cast.hh"
#include "constants.hh"
diff -up monotone-1.1/src/sanity.hh.orig monotone-1.1/src/sanity.hh
--- monotone-1.1/src/sanity.hh.orig 2014-05-04 03:15:18.000000000 -0600
+++ monotone-1.1/src/sanity.hh 2020-06-30 09:31:59.698281778 -0600
@@ -14,7 +14,7 @@
#include <ostream>
#include <cstdio>
-#include "boost/current_function.hpp"
+#include <boost/current_function.hpp>
#include "numeric_vocab.hh"
#include "origin_type.hh"
diff -up monotone-1.1/src/sha1.cc.orig monotone-1.1/src/sha1.cc
--- monotone-1.1/src/sha1.cc.orig 2014-05-04 03:15:18.000000000 -0600
+++ monotone-1.1/src/sha1.cc 2020-06-30 11:51:10.427645711 -0600
@@ -22,10 +22,10 @@
#include <botan/benchmark.h>
#endif
-#include "sanity.hh"
-#include "ui.hh"
#include "platform.hh"
#include "cmd.hh"
+#include "sanity.hh"
+#include "ui.hh"
#include "transforms.hh"
using std::string;
diff -up monotone-1.1/src/transforms.cc.orig monotone-1.1/src/transforms.cc
--- monotone-1.1/src/transforms.cc.orig 2014-05-04 03:15:18.000000000 -0600
+++ monotone-1.1/src/transforms.cc 2020-06-30 10:19:25.976307371 -0600
@@ -12,12 +12,12 @@
#include <botan/botan.h>
#include <botan/sha160.h>
-#include "botan_pipe_cache.hh"
-#include "gzip.hh"
-
#include "transforms.hh"
#include "char_classifiers.hh"
+#include "botan_pipe_cache.hh"
+#include "gzip.hh"
+
using std::string;
using Botan::Pipe;
using Botan::Base64_Encoder;
diff -up monotone-1.1/src/update.cc.orig monotone-1.1/src/update.cc
--- monotone-1.1/src/update.cc.orig 2014-05-04 03:15:18.000000000 -0600
+++ monotone-1.1/src/update.cc 2020-06-30 11:03:03.726194356 -0600
@@ -9,9 +9,9 @@
#include "base.hh"
#include <set>
+#include "lexical_cast.hh"
#include "safe_map.hh"
#include "vector.hh"
-#include "lexical_cast.hh"
#include "database.hh"
#include "sanity.hh"
diff -up monotone-1.1/src/vocab.cc.orig monotone-1.1/src/vocab.cc
--- monotone-1.1/src/vocab.cc.orig 2014-05-04 03:15:18.000000000 -0600
+++ monotone-1.1/src/vocab.cc 2020-06-30 09:36:18.769919254 -0600
@@ -11,8 +11,8 @@
#include "base.hh"
#include "constants.hh"
#include "hash_map.hh"
-#include "sanity.hh"
#include "vocab.hh"
+#include "sanity.hh"
#include "char_classifiers.hh"
#include "transforms.hh"
diff -up monotone-1.1/src/xdelta.cc.orig monotone-1.1/src/xdelta.cc
--- monotone-1.1/src/xdelta.cc.orig 2014-05-04 03:15:19.000000000 -0600
+++ monotone-1.1/src/xdelta.cc 2020-06-30 11:13:38.014400075 -0600
@@ -26,7 +26,6 @@
#include "base.hh"
#include <algorithm>
-#include "vector.hh"
#include <set>
#include <sstream>
#include <cstring> // memcmp
@@ -34,6 +33,7 @@
#include <boost/shared_ptr.hpp>
#include <boost/version.hpp>
+#include "vector.hh"
#include "adler32.hh"
#include "hash_map.hh"
#include "numeric_vocab.hh"

111
monotone-1.1-catch.patch Normal file
View file

@ -0,0 +1,111 @@
Do not catch exceptions of polymorphic type by value, as that requires the
compiler to slice the exceptions. Catching them by reference allows the
compiler to emit more efficient code.
--- monotone-1.1/src/dates.cc.orig 2014-05-04 03:15:16.000000000 -0600
+++ monotone-1.1/src/dates.cc 2020-06-30 12:15:35.765139561 -0600
@@ -652,7 +652,7 @@ date_t::date_t(string const & s)
d = our_timegm(t);
}
- catch (std::out_of_range)
+ catch (std::out_of_range &)
{
E(false, origin::user,
F("unrecognized date (monotone only understands ISO 8601 format)"));
--- monotone-1.1/src/key_packet.cc.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/key_packet.cc 2020-06-30 12:14:15.581206185 -0600
@@ -139,7 +139,7 @@ namespace
}
// since we do not want to prompt for a password to decode it finally,
// we ignore all other exceptions
- catch (Botan::Invalid_Argument) {}
+ catch (Botan::Invalid_Argument &) {}
}
void validate_no_more_args(istringstream & iss) const
{
--- monotone-1.1/src/key_store.cc.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/key_store.cc 2020-06-30 12:14:36.965188418 -0600
@@ -622,7 +622,7 @@ key_store_state::decrypt_private_key(key
break;
}
#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,4)
- catch (Botan::Invalid_Argument)
+ catch (Botan::Invalid_Argument &)
#else
catch (Botan::Exception & e)
#endif
--- monotone-1.1/src/network/session.cc.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/network/session.cc 2020-06-30 12:15:10.949160179 -0600
@@ -362,7 +362,7 @@ bool session::do_work(transaction_guard
% errmsg.substr(4));
}
}
- catch (boost::bad_lexical_cast)
+ catch (boost::bad_lexical_cast &)
{ // ok, so it wasn't a number
}
}
--- monotone-1.1/src/option.cc.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/option.cc 2020-06-30 12:12:46.420100297 -0600
@@ -522,7 +522,7 @@ void concrete_option_set::from_command_l
o.resetter();
}
}
- catch (boost::bad_lexical_cast)
+ catch (boost::bad_lexical_cast &)
{
throw bad_arg(o.longname, arg);
}
@@ -567,7 +567,7 @@ void concrete_option_set::from_key_value
o.resetter();
}
}
- catch (boost::bad_lexical_cast)
+ catch (boost::bad_lexical_cast &)
{
throw bad_arg(o.longname, value);
}
--- monotone-1.1/src/packet.cc.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/packet.cc 2020-06-30 12:13:54.197195613 -0600
@@ -192,9 +192,9 @@ namespace
// since we do not want to prompt for a password to decode it finally,
// we ignore all other exceptions
#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11)
- catch (Passphrase_Required) {}
+ catch (Passphrase_Required &) {}
#else
- catch (Botan::Invalid_Argument) {}
+ catch (Botan::Invalid_Argument &) {}
#endif
}
void validate_certname(string const & cn) const
--- monotone-1.1/src/paths.hh.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/paths.hh 2020-06-30 12:12:29.845076986 -0600
@@ -424,7 +424,7 @@ bool safe_compose(T const & p, char cons
result = p / path_component(s);
return true;
}
- catch (std::logic_error)
+ catch (std::logic_error &)
{
report_failed_path_composition(p, s, isdir);
return false;
--- monotone-1.1/src/sanity.cc.orig 2020-06-30 09:32:43.994207307 -0600
+++ monotone-1.1/src/sanity.cc 2020-06-30 12:13:32.165164632 -0600
@@ -433,13 +433,13 @@ sanity::gasp()
(*i)->gasp(tmp);
out << tmp;
}
- catch (logic_error)
+ catch (logic_error &)
{
out << tmp;
out << "<caught logic_error>\n";
L(FL("ignoring error trigged by saving work set to debug log"));
}
- catch (recoverable_failure)
+ catch (recoverable_failure &)
{
out << tmp;
out << "<caught informative_failure>\n";

15
monotone-1.1-lua-ql.patch Normal file
View file

@ -0,0 +1,15 @@
The LUA_QL macro was removed in lua 5.4.0. Make the same transformation
as was made in the lua code itself.
diff -up monotone-1.1/src/lua_hooks.cc.orig monotone-1.1/src/lua_hooks.cc
--- monotone-1.1/src/lua_hooks.cc.orig 2014-05-04 03:15:17.000000000 -0600
+++ monotone-1.1/src/lua_hooks.cc 2020-06-30 10:22:58.480017092 -0600
@@ -90,7 +90,7 @@ extern "C"
s = lua_tostring(LS, -1);
if (s == NULL)
return luaL_error(
- LS, LUA_QL("tostring") " must return a string to ", LUA_QL("print")
+ LS, "'tostring' must return a string to 'print'"
);
if (i > 1)

66
monotone-1.1-pcre.patch Normal file
View file

@ -0,0 +1,66 @@
From 70f209ad582121750d54e3692b1e62c7f36af6f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Mon, 7 May 2018 14:09:06 +0200
Subject: [PATCH] Adapt to changes in pcre-8.42
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
pcre-8.42 replaced internal real_pcre with real_pcre8_or_16. This
broke monotone that decided not to use the public "pcre" type.
This patch adapts monotone to the pcre >= 8.42.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
src/pcrewrap.cc | 4 ++--
src/pcrewrap.hh | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/pcrewrap.cc b/src/pcrewrap.cc
index 8c0c9d1..30bafff 100644
--- a/src/pcrewrap.cc
+++ b/src/pcrewrap.cc
@@ -74,7 +74,7 @@ get_capturecount(void const * bd)
namespace pcre
{
typedef map<char const *,
- pair<struct real_pcre const *, struct pcre_extra const *> >
+ pair<struct real_pcre8_or_16 const *, struct pcre_extra const *> >
regex_cache;
class regex_cache_manager
@@ -86,7 +86,7 @@ public:
}
void store(char const * pattern,
- pair<struct real_pcre const *, struct pcre_extra const *>
+ pair<struct real_pcre8_or_16 const *, struct pcre_extra const *>
data)
{
cache[pattern] = data;
diff --git a/src/pcrewrap.hh b/src/pcrewrap.hh
index 3359cdd..5008e88 100644
--- a/src/pcrewrap.hh
+++ b/src/pcrewrap.hh
@@ -18,7 +18,7 @@
// definitions and so we don't actually expose it here. Unfortunately, this
// means we have to hope this pair of forward declarations will not change...
-struct real_pcre;
+struct real_pcre8_or_16;
struct pcre_extra;
namespace pcre
@@ -61,7 +61,7 @@ namespace pcre
regex & operator=(regex const &);
// data
- struct real_pcre const * basedat;
+ struct real_pcre8_or_16 const * basedat;
struct pcre_extra const * extradat;
// used by constructors
--
2.14.3

23
monotone-1.1-py3.patch Normal file
View file

@ -0,0 +1,23 @@
diff -up monotone-1.1/extra/mtn-hooks/monotone-ciabot.py.orig monotone-1.1/extra/mtn-hooks/monotone-ciabot.py
--- monotone-1.1/extra/mtn-hooks/monotone-ciabot.py.orig 2019-08-10 09:00:03.203454091 +0200
+++ monotone-1.1/extra/mtn-hooks/monotone-ciabot.py 2019-08-10 09:07:13.873700583 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# Copyright (C) Nathaniel Smith <njs@pobox.com>
# Timothy Brownawell <tbrownaw@gmail.com>
@@ -192,10 +192,10 @@ def escape_for_xml(text, is_attrib=0):
def send_message(message, c):
if c.delivery == "debug":
- print message
+ print(message)
elif c.delivery == "xmlrpc":
- import xmlrpclib
- xmlrpclib.ServerProxy(c.xmlrpc_server).hub.deliver(message)
+ import xmlrpc.client
+ xmlrpc.client.ServerProxy(c.xmlrpc_server).hub.deliver(message)
elif c.delivery == "email":
import smtplib
smtp = smtplib.SMTP(c.smtp_server)

View file

@ -0,0 +1,28 @@
Ensure that the string in SSH_AUTH_SOCK is not too large to fit in a Unix
sockaddr, and only copy the bytes of the supplied string. The original code
goes on to copy bytes beyond the end of the string.
--- monotone-1.1/src/unix/ssh_agent_platform.cc.orig 2014-05-04 03:15:18.000000000 -0600
+++ monotone-1.1/src/unix/ssh_agent_platform.cc 2020-06-30 12:25:54.068518536 -0600
@@ -35,8 +35,9 @@ static int
connect_to_agent()
{
const char *authsocket = getenv("SSH_AUTH_SOCK");
+ struct sockaddr_un addr;
- if (!authsocket || !*authsocket)
+ if (!authsocket || !*authsocket || strlen(authsocket) >= sizeof(addr.sun_path))
{
L(FL("ssh_agent: no agent"));
return -1;
@@ -57,9 +58,8 @@ connect_to_agent()
return -1;
}
- struct sockaddr_un addr;
addr.sun_family = AF_UNIX;
- strncpy(addr.sun_path, authsocket, sizeof(addr.sun_path));
+ strcpy(addr.sun_path, authsocket);
if (::connect(sock, (struct sockaddr *)&addr, sizeof addr))
{

62
monotone-server-genkey Executable file
View file

@ -0,0 +1,62 @@
#!/bin/sh
#
# Generate a new private server key for the Monotone Server, if needed
#
# Author: Thomas Moschny <thomas.moschny@gmx.de>
#
set -eu
MONOTONE_CONFDIR="${MONOTONE_CONFDIR:-/etc/monotone}"
MONOTONE_KEYDIR="${MONOTONE_KEYDIR:-/etc/monotone/private-keys}"
MONOTONE_DBFILE="${MONOTONE_DBFILE:-/var/lib/monotone/server.mtn}"
MONOTONE_PPFILE="${MONOTONE_PPFILE:-/etc/monotone/passphrase.lua}"
MONOTONE_KEYID="${MONOTONE_KEYID:-monotone@$(hostname -f)}"
MONOTONE_HOME="${MONOTONE_HOME:-/var/lib/monotone}"
cd "${MONOTONE_HOME}"
# check for existing keys
for key in "${MONOTONE_KEYDIR}/${MONOTONE_KEYID}"* ; do
if [ -e "${key}" ] ; then
echo $"Found private key $key"
exit
fi
done
# check for existing rc file
if [ -s "${MONOTONE_PPFILE}" ] ; then
echo >&2 $"Not overwriting passphrase file ${MONOTONE_PPFILE}"
exit 1
fi
# no key found, let's generate one
echo $"Generating key for server ${MONOTONE_KEYID}"
# generate random passphrase
passphrase="$(dd 2>/dev/null if=/dev/urandom bs=1 count=16 | hexdump -ve '/1 "%02x"')"
# generate keypair, needs to be run as root
{ echo "${passphrase}"; echo "${passphrase}" ; } |
mtn --confdir="${MONOTONE_CONFDIR}" --db="${MONOTONE_DBFILE}" \
--keydir="${MONOTONE_KEYDIR}" --force-duplicate-key \
genkey "${MONOTONE_KEYID}"
# fix permissions
for key in "${MONOTONE_KEYDIR}/${MONOTONE_KEYID}"* ; do
if [ -e "${key}" ] ; then
chgrp monotone "${key}"
chmod 0640 "${key}"
break
fi
echo >&2 $"No key found, key generation failed?"
exit 1
done
# generate rc file
install -o root -g monotone -m 0440 /dev/null "${MONOTONE_PPFILE}"
cat > "${MONOTONE_PPFILE}" <<EOF
function get_passphrase(keyid)
return "${passphrase}"
end
EOF

23
monotone-server-import Executable file
View file

@ -0,0 +1,23 @@
#!/bin/sh
#
# Import packages into the Monotone Server database
#
# Author: Thomas Moschny <thomas.moschny@gmx.de>
#
set -eu
MONOTONE_CONFDIR="${MONOTONE_CONFDIR:-/etc/monotone}"
MONOTONE_KEYDIR="${MONOTONE_KEYDIR:-/etc/monotone/private-keys}"
MONOTONE_DBFILE="${MONOTONE_DBFILE:-/var/lib/monotone/server.mtn}"
MONOTONE_PPFILE="${MONOTONE_PPFILE:-/etc/monotone/passphrase.lua}"
MONOTONE_KEYID="${MONOTONE_KEYID:-monotone@$(hostname -f)}"
MONOTONE_HOME="${MONOTONE_HOME:-/var/lib/monotone}"
cd "${MONOTONE_HOME}"
echo $"Importing packets into ${MONOTONE_DBFILE}"
runuser -u monotone -- mtn --confdir="${MONOTONE_CONFDIR}" \
--db="${MONOTONE_DBFILE}" --keydir="${MONOTONE_KEYDIR}" \
read

34
monotone-server-initdb Executable file
View file

@ -0,0 +1,34 @@
#!/bin/sh
#
# Initialize a new database for the Monotone Server, if needed
#
# Author: Thomas Moschny <thomas.moschny@gmx.de>
#
set -eu
MONOTONE_CONFDIR="${MONOTONE_CONFDIR:-/etc/monotone}"
MONOTONE_KEYDIR="${MONOTONE_KEYDIR:-/etc/monotone/private-keys}"
MONOTONE_DBFILE="${MONOTONE_DBFILE:-/var/lib/monotone/server.mtn}"
MONOTONE_PPFILE="${MONOTONE_PPFILE:-/etc/monotone/passphrase.lua}"
MONOTONE_KEYID="${MONOTONE_KEYID:-monotone@$(hostname -f)}"
MONOTONE_HOME="${MONOTONE_HOME:-/var/lib/monotone}"
cd "${MONOTONE_HOME}"
# check for existing database
if [ -s "${MONOTONE_DBFILE}" ] ; then
echo $"Found database ${MONOTONE_DBFILE}"
exit
fi
# no db found
echo $"Creating dababase ${MONOTONE_DBFILE}"
# create database
runuser -u monotone -- mtn --confdir="${MONOTONE_CONFDIR}" \
--db="${MONOTONE_DBFILE}" --keydir="${MONOTONE_KEYDIR}" \
db init
# fix permissions
chmod 0640 "${MONOTONE_DBFILE}"

41
monotone-server-migratedb Executable file
View file

@ -0,0 +1,41 @@
#!/bin/sh
#
# Migrate the Monotone Server database, if needed
#
# Author: Thomas Moschny <thomas.moschny@gmx.de>
#
set -eu
MONOTONE_CONFDIR="${MONOTONE_CONFDIR:-/etc/monotone}"
MONOTONE_KEYDIR="${MONOTONE_KEYDIR:-/etc/monotone/private-keys}"
MONOTONE_DBFILE="${MONOTONE_DBFILE:-/var/lib/monotone/server.mtn}"
MONOTONE_PPFILE="${MONOTONE_PPFILE:-/etc/monotone/passphrase.lua}"
MONOTONE_KEYID="${MONOTONE_KEYID:-monotone@$(hostname -f)}"
MONOTONE_HOME="${MONOTONE_HOME:-/var/lib/monotone}"
cd "${MONOTONE_HOME}"
# check database
version="$(LC_ALL=C runuser -u monotone -- mtn \
--confdir="${MONOTONE_CONFDIR}" --db="${MONOTONE_DBFILE}" \
--keydir="${MONOTONE_KEYDIR}" db version)"
case ${version} in
*"("usable")"*)
echo $"Database is usable"
exit
;;
esac
# database needs migration
echo $"Migrating dababase ${MONOTONE_DBFILE}"
# migrate database
runuser -u monotone -- mtn --confdir="${MONOTONE_CONFDIR}" \
--db="${MONOTONE_DBFILE}" --keydir="${MONOTONE_KEYDIR}" \
db migrate
runuser -u monotone -- mtn --confdir="${MONOTONE_CONFDIR}" \
--db="${MONOTONE_DBFILE}" --keydir="${MONOTONE_KEYDIR}" \
db regenerate_caches

View file

@ -0,0 +1,2 @@
#Type Name ID GECOS Home directory Shell
u monotone - "Monotone Netsync Server" /var/lib/monotone

View file

@ -1,231 +0,0 @@
#!/bin/sh
#
# This script starts and stops the monotone server.
#
# chkconfig: - 90 10
# description: Monotone netsync protocol server
# processname: monotone-server
# pidfile: /var/run/monotone/monotone-server.pid
# config: /etc/sysconfig/monotone
# config: /etc/monotone/monotonerc
#
### BEGIN INIT INFO
# Provides: monotone
# Required-Start: $local_fs $network $named $time
# Required-Stop: $local_fs $network
# Short-Description: start and stop Monotone netsync protocol server
# Description: Monotone is a free, distributed version control system.
# It provides fully disconnected operation, manages complete
# tree versions, keeps its state in a local transactional
# database, supports overlapping branches and extensible
# metadata, exchanges work over plain network protocols,
# performs history-sensitive merging, and delegates trust
# functions to client-side RSA certificates.
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# Get configuration settings.
[ -f /etc/sysconfig/monotone ] && . /etc/sysconfig/monotone
# By default it's all good
RETVAL=0
MT=/usr/bin/mtn
MTSERVER=/usr/sbin/monotone-server
MONOTONE_PIDFILE=/var/run/monotone/monotone-server.pid
MONOTONE_LOGFILE=${MONOTONE_LOGFILE:-/var/log/monotone.log}
MONOTONE_OLDDB=/var/db/monotone/server.db
MONOTONE_OLDDBFILE=/var/db/monotone/server.mtn
MONOTONE_OLDPPFILE=/var/db/monotone/passphrase.lua
random_passphrase()
{
# As of 0.22, 32 chars is the maximum pass phrase length.
dd if=/dev/urandom bs=32 count=1 2> /dev/null | md5sum |
{ read sum rest; echo $sum; }
}
umask 077
check_db_version()
{
db_version=`runuser -s /bin/bash - ${MONOTONE_USER:-monotone} \
-c "LC_ALL=C \
$MT $MONOTONE_RCOPTS $MONOTONE_DBOPTS \
db version"` || exit 2
set -- $db_version
[ "$5" == "(usable)" ]
return $?
}
# See how we were called.
case "$1" in
start)
if [ -e $MONOTONE_OLDDBFILE -a ! -e $MONOTONE_DBFILE ]; then
echo -n $"Moving" "$MONOTONE_OLDDBFILE" $"to" "$MONOTONE_DBFILE"
if mv "$MONOTONE_OLDDBFILE" "$MONOTONE_DBFILE"; then
failure
echo
exit
else
success
echo
fi
rmdir 2> /dev/null /var/db/monotone
fi
if [ -e $MONOTONE_DBFILE ]; then
check_db_version || $0 migrate
elif [ -e $MONOTONE_OLDDB ]; then
echo -n $"Pre-0.26 monotone database must be migrated by hand: "
failure
echo
false
else
$0 init
fi
RETVAL=$?
if [ $RETVAL = 0 ] && [ "x`ls $MONOTONE_KEYDIR`" = x ]; then
$0 genkey
RETVAL=$?
fi
if [ $RETVAL = 0 ]; then
# Start daemon.
echo -n $"Starting monotone server: "
{
exec 3>> $MONOTONE_LOGFILE &&
echo >&3 "Server restart at `date`" &&
daemon --user=${MONOTONE_USER:-monotone} \
--pidfile $MONOTONE_PIDFILE \
$MTSERVER \
$MONOTONE_RCOPTS $MONOTONE_DBOPTS $MONOTONE_PPOPTS \
serve --pid-file=$MONOTONE_PIDFILE \
"$MONOTONE_SERVE_OPTS" ">&3 2>&3 &"
} && success || failure
RETVAL=$?
echo
fi
[ $RETVAL = 0 ] && touch /var/lock/subsys/monotone
;;
stop)
# Stop daemons.
echo -n $"Stopping monotone server: "
killproc -p $MONOTONE_PIDFILE $MTSERVER
RETVAL=$?
rm -f $MONOTONE_PIDFILE
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/monotone
echo
;;
restart|force-reload)
$0 stop
$0 start
;;
condrestart|try-restart)
[ -e /var/lock/subsys/monotone ] && $0 restart
;;
status)
status -p $MONOTONE_PIDFILE monotone-server
RETVAL=$?
;;
init)
echo -n $"Initializing database" "${MONOTONE_DBFILE}: "
{ [ -d /var/lib/monotone ] ||
/usr/bin/install -o ${MONOTONE_USER:-monotone} \
-g ${MONOTONE_GROUP:-monotone} \
-m 0770 -d /var/lib/monotone; } &&
runuser -s /bin/bash - ${MONOTONE_USER:-monotone} -c "umask 007; \
$MT $MONOTONE_RCOPTS $MONOTONE_DBOPTS db init" &&
success $"database initialization" ||
failure $"database initialization"
RETVAL=$?
echo
;;
genkey)
MONOTONE_KEYID=${2:-${MONOTONE_KEYID:-monotone@`/bin/hostname -f`}}
MONOTONE_PPFILE=${MONOTONE_PPFILE:-/etc/monotone/passphrase.lua}
if [ -s "$MONOTONE_PPFILE" -a -s "$MONOTONE_KEYDIR/$MONOTONE_KEYID" ]
then
echo >&2 "$0:" $"Server key already installed"
echo >&2 "$0:" $"To lose old key remove file" "$MONOTONE_PPFILE"
exit 1
fi
echo -n $"Generating RSA key for server $MONOTONE_KEYID"
tmp=/tmp/mtserver$$
if
passphrase=`random_passphrase` &&
{ echo $passphrase; echo $passphrase; } |
(umask 027; $MT $MONOTONE_RCOPTS $MONOTONE_DBOPTS \
genkey $MONOTONE_KEYID > /dev/null 2>&1) &&
/bin/chgrp ${MONOTONE_GROUP:-monotone} \
"$MONOTONE_KEYDIR/$MONOTONE_KEYID" &&
/bin/chmod 0640 "$MONOTONE_KEYDIR/$MONOTONE_KEYID" &&
cat > $tmp <<EOF &&
function get_passphrase(keyid)
return "$passphrase"
end
EOF
/usr/bin/install -o root -g ${MONOTONE_GROUP:-monotone} \
-m 0440 $tmp ${MONOTONE_PPFILE}
then
success $"key generation"
else
failure $"key generation"
fi
RETVAL=$?
rm -f $tmp
echo
;;
migrate)
RETVAL=0
if [ ! -e $MONOTONE_PPFILE ] && [ -e $MONOTONE_OLDPPFILE ]; then
echo -n $"Moving old server passphrase file to new location: "
/usr/bin/install -o root -g ${MONOTONE_GROUP:-monotone} \
-m 0440 \
$MONOTONE_OLDPPFILE ${MONOTONE_PPFILE} &&
success $"move passphrase file" ||
failure $"move passphrase file"
RETVAL=$?
echo
fi
[ $RETVAL -eq 0 ] || exit $RETVAL
# Note this must run as root in case migration is writing
# into /etc/monotone/private-keys.
echo $"Checking database format in" "${MONOTONE_DBFILE}:"
(umask 027
$MT $MONOTONE_RCOPTS $MONOTONE_DBOPTS $MONOTONE_PPOPTS db migrate &&
$MT $MONOTONE_RCOPTS $MONOTONE_DBOPTS $MONOTONE_PPOPTS db regenerate_caches &&
/bin/chgrp -R ${MONOTONE_GROUP:-monotone} $MONOTONE_KEYDIR)
success $"database check" ||
failure $"database check"
RETVAL=$?
echo
;;
# Use "monotone pubkey me@my.com | service monotone import"
# to import the first keys to enable in /etc/monotone/write-permission.
# Thereafter, those with write permission can add other keys via
# netsync with "monotone push --key-to-push=IDENT" and then IDENT
# can be used in the read-permission and write-permission files.
import)
echo -n $"Importing packets to monotone database: "
runuser -s /bin/bash - ${MONOTONE_USER:-monotone} -c "umask 007; \
$MT $MONOTONE_RCOPTS $MONOTONE_DBOPTS read" &&
success $"packet import" ||
failure $"packet import"
RETVAL=$?
echo
;;
*)
echo "\
Usage: $0 {start|stop|restart|status|condrestart|init|import|genkey [IDENT]}"
RETVAL=1
;;
esac
exit $RETVAL

22
monotone.service Normal file
View file

@ -0,0 +1,22 @@
[Unit]
Description=Monotone DVCS Server
After=local-fs.target
After=network-online.target
[Service]
User=monotone
Group=monotone
PermissionsStartOnly=yes
Environment=MONOTONE_PPFILE=/etc/monotone/passphrase.lua
Environment=MONOTONE_KEYDIR=/etc/monotone/private-keys
Environment=MONOTONE_CONFDIR=/etc/monotone
Environment=MONOTONE_DBFILE=/var/lib/monotone/server.mtn
EnvironmentFile=-/etc/sysconfig/monotone
ExecStartPre=/usr/libexec/monotone-server-initdb
ExecStartPre=/usr/libexec/monotone-server-migratedb
ExecStartPre=/usr/libexec/monotone-server-genkey
PIDFile=/run/monotone/monotone-server.pid
ExecStart=/usr/sbin/monotone-server --confdir=${MONOTONE_CONFDIR} --db=${MONOTONE_DBFILE} --keydir=${MONOTONE_KEYDIR} --rcfile=${MONOTONE_PPFILE} --pid-file=/run/monotone/monotone-server.pid serve
[Install]
WantedBy=multi-user.target

View file

@ -1,18 +1,32 @@
Name: monotone
Version: 1.1
Release: 13%{?dist}
Release: 53%{?dist}
Summary: A free, distributed version control system
Group: Development/Tools
License: GPLv2+
# Automatically converted from old format: GPLv2+ - review is highly recommended.
License: GPL-2.0-or-later
URL: http://monotone.ca/
Source0: http://monotone.ca/downloads/%{version}/%{name}-%{version}.tar.bz2
Source1: monotone.init
Source1: monotone.service
Source2: monotone.sysconfig
Source3: README.monotone-server
Source4: monotone-server-tmpfiles.conf
Source5: monotone-server-initdb
Source6: monotone-server-migratedb
Source7: monotone-server-genkey
Source8: monotone-server-import
Source9: monotone-server-sysusers.conf
Patch0: monotone-1.0-stacktrace-on-crash.patch
Patch1: monotone-1.1-iostream.patch
Patch2: monotone-1.1-lua-integer.patch
Patch3: monotone-1.1-pcre.patch
Patch4: monotone-1.1-py3.patch
Patch5: monotone-1.1-lua-ql.patch
Patch6: monotone-1.1-boost.patch
Patch7: monotone-1.1-string-overflow.patch
Patch8: monotone-1.1-catch.patch
BuildRequires: gcc-c++
BuildRequires: make
BuildRequires: perl-generators
BuildRequires: zlib-devel
BuildRequires: boost-devel >= 1.33.1
BuildRequires: botan-devel >= 1.6.3
@ -20,12 +34,15 @@ BuildRequires: pcre-devel >= 7.4
BuildRequires: sqlite-devel >= 3.3.8
BuildRequires: lua-devel >= 5.1
BuildRequires: libidn-devel
BuildRequires: systemd
BuildRequires: systemd-rpm-macros
%{?sysusers_requires_compat}
# Required by the test suite:
BuildRequires: cvs
BuildRequires: bash-completion
BuildRequires: expect
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
# Filter unwanted dependencies
%{?perl_default_filter}
@ -44,10 +61,9 @@ functions to client-side RSA certificates.
Summary: Standalone server setup for monotone
Requires: monotone = %{version}-%{release}
Requires(pre): shadow-utils
Requires(post): chkconfig
Requires(preun): initscripts, chkconfig
Requires(postun): initscripts
Group: Development/Tools
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%description server
@ -57,8 +73,6 @@ This package provides an easy-to-use standalone server setup for monotone.
%package -n perl-Monotone
Summary: Perl Module for monotone
Requires: monotone = %{version}-%{release}
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Group: Development/Tools
%description -n perl-Monotone
@ -67,28 +81,25 @@ and then pass commands to it.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%autosetup -p1
%build
export LC_MESSAGES=en_US
%configure
make %{?_smp_mflags}
%make_build
%check
export LC_MESSAGES=en_US
export DISABLE_NETWORK_TESTS=1
export MTN_STACKTRACE_ON_CRASH=1
make check || { head -n-0 test/work/*.log; false; }
#export LC_MESSAGES=en_US
#export DISABLE_NETWORK_TESTS=1
#export MTN_STACKTRACE_ON_CRASH=1
#make check || { head -n-0 test/work/*.log; false; }
%install
export LC_MESSAGES=en_US
make install DESTDIR=%{buildroot}
%make_install
rm -f %{buildroot}%{_infodir}/dir
mv %{buildroot}%{_datadir}/doc/%{name} _doc
@ -98,17 +109,20 @@ mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{_localstatedir}/lib
ln -snf ../bin/mtn %{buildroot}%{_sbindir}/monotone-server
ln -snf mtn.1 %{buildroot}%{_mandir}/man1/monotone-server.1
install -D -m 0755 -p %{SOURCE1} \
%{buildroot}%{_sysconfdir}/rc.d/init.d/monotone
install -D -m 0644 -p %{SOURCE1} %{buildroot}%{_unitdir}/monotone.service
install -D -m 0644 -p %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/monotone
install -d -m 0755 %{buildroot}%{_sysconfdir}/monotone
install -d -m 0750 %{buildroot}%{_sysconfdir}/monotone/private-keys
install -d -m 0770 %{buildroot}%{_localstatedir}/lib/monotone
install -d -m 0755 %{buildroot}%{_localstatedir}/run/monotone
%if 0%{?fedora} >= 15
install -D -m 0644 %{SOURCE4} \
%{buildroot}%{_sysconfdir}/tmpfiles.d/monotone.conf
%endif
%{buildroot}%{_tmpfilesdir}/monotone.conf
install -D -m 0755 -p %{SOURCE5} %{buildroot}%{_libexecdir}/monotone-server-initdb
install -D -m 0755 -p %{SOURCE6} %{buildroot}%{_libexecdir}/monotone-server-migratedb
install -D -m 0755 -p %{SOURCE7} %{buildroot}%{_libexecdir}/monotone-server-genkey
install -D -m 0755 -p %{SOURCE8} %{buildroot}%{_libexecdir}/monotone-server-import
# These do not actually wind up in the package, due to %%ghost.
install -m 0440 /dev/null \
@ -127,29 +141,24 @@ install -m 0644 -p %{SOURCE3} .
install -D -m 0644 -p contrib/Monotone.pm \
%{buildroot}%{perl_vendorlib}/Monotone.pm
mkdir -p %{buildroot}%{_datadir}/bash-completion/completions
mv %{buildroot}%{_sysconfdir}/bash_completion.d/monotone.bash_completion \
%{buildroot}%{_datadir}/bash-completion/completions/%{name}.bash_completion
%post
if [ $1 -eq 1 ]
then
/sbin/install-info %{_infodir}/monotone.info %{_infodir}/dir > /dev/null 2>&1 || :
fi
%preun
if [ $1 -eq 0 ]
then
/sbin/install-info --delete %{_infodir}/monotone.info %{_infodir}/dir > /dev/null 2>&1 || :
fi
install -p -D -m 0644 %{SOURCE9} %{buildroot}%{_sysusersdir}/monotone-server.conf
%files -f %{name}.lang
%doc AUTHORS COPYING NEWS README UPGRADE
%doc AUTHORS NEWS README UPGRADE
%doc _doc/*
%license COPYING
%{_bindir}/mtn
%{_bindir}/mtnopt
%{_bindir}/mtn-cleanup
%{_infodir}/monotone.info*
%{_sysconfdir}/bash_completion.d
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/%{name}.bash_completion
%{_mandir}/man1/mtn.1*
%{_mandir}/man1/mtnopt.1*
%{_mandir}/man1/mtn-cleanup.1*
@ -164,12 +173,13 @@ fi
%doc README.monotone-server
%{_sbindir}/monotone-server
%{_mandir}/man1/monotone-server.1*
%{_sysconfdir}/rc.d/init.d/monotone
%{_unitdir}/monotone.service
%{_libexecdir}/monotone-server-initdb
%{_libexecdir}/monotone-server-migratedb
%{_libexecdir}/monotone-server-genkey
%{_libexecdir}/monotone-server-import
%dir %attr(0755,monotone,monotone) %{_localstatedir}/run/monotone
%if 0%{?fedora} >= 15
# https://fedoraproject.org/wiki/Packaging:Tmpfiles.d
%config(noreplace) %{_sysconfdir}/tmpfiles.d/monotone.conf
%endif
%{_tmpfilesdir}/monotone.conf
%config(noreplace) %{_sysconfdir}/sysconfig/monotone
%dir %attr(0755,root,monotone) %{_sysconfdir}/monotone
%dir %attr(0750,root,monotone) %{_sysconfdir}/monotone/private-keys
@ -179,37 +189,153 @@ fi
%attr(0640,root,monotone) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_sysconfdir}/monotone/write-permissions
%dir %attr(0770,monotone,monotone) %{_localstatedir}/lib/monotone
%attr(0660,monotone,monotone) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_localstatedir}/lib/monotone/server.mtn
%{_sysusersdir}/monotone-server.conf
%pre server
# Add "monotone" user per http://fedoraproject.org/wiki/Packaging/UsersAndGroups
getent group monotone > /dev/null || groupadd -r monotone
getent passwd monotone > /dev/null ||
useradd -r -g monotone -r -d %{_localstatedir}/lib/monotone -s /sbin/nologin \
-c "Monotone Netsync Server" monotone
exit 0
%sysusers_create_compat %{SOURCE9}
%post server
# Register the monotone service
/sbin/chkconfig --add monotone
%systemd_post monotone.service
%preun server
if [ $1 -eq 0 ]; then
/sbin/service monotone stop > /dev/null 2>&1
/sbin/chkconfig --del monotone
fi
%systemd_preun monotone.service
%postun server
if [ $1 -ge 1 ]; then
# Restart the running server: updates its db format when needed.
/sbin/service monotone condrestart > /dev/null 2>&1 || :
fi
%systemd_postun monotone.service
%changelog
* Thu Aug 28 2025 Thomas Moschny <thomas.moschny@gmx.de> - 1.1-53
- Update for current users and groups guidelines.
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-52
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-51
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 1.1-50
- convert license to SPDX
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-49
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-48
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-47
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-46
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-45
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon May 30 2022 Jitka Plesnikova <jplesnik@redhat.com> - 1.1-43
- Perl 5.36 rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-41
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 1.1-40
- Perl 5.34 rebuild
* Mon Feb 8 2021 Thomas Moschny <thomas.moschny@gmx.de> - 1.1-39
- Move bash completions to /usr/share/bash-completion/completions (bz#1855768).
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-38
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-37
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-36
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jun 30 2020 Jerry James <loganjerry@gmail.com> - 1.1-35
- Add lua-ql patch due to removal of LUA_QL from lua
- Add boost patch to fix single-letter macro name clash (bz 1851313)
- Add string-overflow patch to fix a potential buffer overflow
- Add catch patch to silence a large number of compiler warnings
* Mon Jun 22 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1.1-35
- Perl 5.32 rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-34
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Aug 10 2019 Thomas Moschny <thomas.moschny@gmx.de> - 1.1-33
- Patch extra/mtn-hooks/monotone-ciabot.py to use Python3 (bz#1738073).
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-32
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu May 30 2019 Jitka Plesnikova <jplesnik@redhat.com> - 1.1-31
- Perl 5.30 rebuild
* Sat Feb 9 2019 Thomas Moschny <thomas.moschny@gmx.de> - 1.1-30
- Fix F30 FTBFS.
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Jun 27 2018 Jitka Plesnikova <jplesnik@redhat.com> - 1.1-27
- Perl 5.28 rebuild
* Tue May 22 2018 Thomas Moschny <thomas.moschny@gmx.de> - 1.1-26
- Add patch for PCRE >= 8.42 (rhbz#1555231, thanks P. Pisar).
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sun Jun 04 2017 Jitka Plesnikova <jplesnik@redhat.com> - 1.1-22
- Perl 5.26 rebuild
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Jan 27 2017 Jonathan Wakely <jwakely@redhat.com> - 1.1-19
- Rebuilt for Boost 1.63
* Fri Jan 27 2017 Jonathan Wakely <jwakely@redhat.com> - 1.1-18
- Rebuilt for Boost 1.63
* Sat Jan 14 2017 Ville Skyttä <ville.skytta@iki.fi> - 1.1-17
- Move tmpfiles.d config to %%{_tmpfilesdir}
* Sun May 15 2016 Jitka Plesnikova <jplesnik@redhat.com> - 1.1-15
- Perl 5.24 rebuild
* Sun Feb 14 2016 Thomas Moschny <thomas.moschny@gmx.de> - 1.1-14
- Switch monotone-server to systemd (#789901).
- Mark COPYING as %%license.
- Do not own /etc/bash_completion.d.
- Update README.monotone-server.
* Mon Feb 8 2016 Thomas Moschny <thomas.moschny@gmx.de> - 1.1-13
- Rebuild for Botan 1.10.12.

View file

@ -1,10 +1,16 @@
MONOTONE_CONFDIR=/etc/monotone
MONOTONE_KEYDIR=/etc/monotone/private-keys
MONOTONE_DBFILE=/var/lib/monotone/server.mtn
MONOTONE_PPFILE=/etc/monotone/passphrase.lua
# Options for the Monotone DVCS Server
#
# options can be changed here, or (better) within override files in
# /etc/systemd/system/monotone.service.d
MONOTONE_RCOPTS="--confdir=$MONOTONE_CONFDIR"
MONOTONE_DBOPTS="--db=$MONOTONE_DBFILE --keydir=$MONOTONE_KEYDIR"
MONOTONE_PPOPTS="--rcfile=$MONOTONE_PPFILE"
# --confdir: location of the configuration directory
#MONOTONE_CONFDIR=/etc/monotone
MONOTONE_SERVE_OPTS=""
# --keydir: location of the key store
#MONOTONE_KEYDIR=/etc/monotone/private-keys
# --db: name of the database file
#MONOTONE_DBFILE=/var/lib/monotone/server.mtn
# --rcfile: used to pass the passphrase of the server's private key
#MONOTONE_PPFILE=/etc/monotone/passphrase.lua