Hello community,

here is the log from the commit of package leafnode for openSUSE:Factory 
checked in at 2019-12-27 13:43:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/leafnode (Old)
 and      /work/SRC/openSUSE:Factory/.leafnode.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "leafnode"

Fri Dec 27 13:43:52 2019 rev:11 rq:753993 version:2.0.0+git.1527241185.66da754

Changes:
--------
--- /work/SRC/openSUSE:Factory/leafnode/leafnode.changes        2019-11-07 
23:18:40.196674340 +0100
+++ /work/SRC/openSUSE:Factory/.leafnode.new.6675/leafnode.changes      
2019-12-27 13:43:59.144258851 +0100
@@ -1,0 +2,27 @@
+Wed Dec  4 14:22:18 CET 2019 - Matej Cepl <[email protected]>
+
+- Add Conflicts: inn, because of conflicting moderators(5)
+  manpage and really, these shouldn't be on one system together.
+
+-------------------------------------------------------------------
+Mon Nov 18 16:40:43 CET 2019 - Matej Cepl <[email protected]>
+
+- Replace leafnode-1 with leafnode-2 (original leafnode-2
+  changelog is interspersed among the records of this changelog).
+  Details of the change are available in the file
+  CHANGES-FROM-LEAFNODE-1 packaged as a documentation file within
+  the package.
+- Add README-SUSE.rst for more information on the status of the
+  package in the openSUSE world.
+- Add systemd-timers.patch to switch from cron to systemd-timers
+  (bsc#1115443)
+- Remove leafnode-1.11.6-spooldir-permissions.diff patch which is
+  not relevant for the rebased leafnode.
+
+-------------------------------------------------------------------
+Mon Nov 11 16:31:30 CET 2019 - Matej Cepl <[email protected]>
+
+- Remove support for cron and xinetd
+- Silence rpmlint
+
+-------------------------------------------------------------------
@@ -14,0 +42,26 @@
+Sun May 27 21:56:45 UTC 2018 - [email protected]
+
+- Clean up SPEC and setup _service, remove unnecessary RHEL/Fedora
+  conditionals.
+
+-------------------------------------------------------------------
+Sun May 27 21:17:34 UTC 2018 - [email protected]
+
+- Update to version 2.0.0+git.1527241185.66da754:
+  * Convert manpages to UTF8 and mark them a such.
+  * Fixes autotools on systemd-based systems.
+  * #define _DEFAULT_SOURCE for newer glibc features.h
+  * Avoid crash on missing/empty authentication file.
+  * Gitorious -> GitLab.
+  * Replace defunct URLs by those that work.
+  * Replace COPYING.LGPL with a fresh copy.
+  * Apparently leafnode-2 as of now builds with autoconf 2.63
+  * Convert to UTF-8. Suggested by Matěj Cepl.
+  * Add Lloyd Zusman and Robert Grimm to authors file.
+
+-------------------------------------------------------------------
+Fri Mar 16 00:00:00 UTC 2018 - [email protected]
+
+- Port to OpenSUSE (as well)
+
+-------------------------------------------------------------------
@@ -21,0 +75,6 @@
+Tue Nov 22 00:00:00 UTC 2016 - [email protected]
+
+- systemd unit files are not executable anymore
+- rebase on the top of the upstream Gitlab checkout.
+
+-------------------------------------------------------------------
@@ -39,0 +99,32 @@
+Thu Jan  8 00:00:00 UTC 2015 - [email protected]
+
+- Make cronjobs into proper scripts and add proper configuration
+  file.
+
+-------------------------------------------------------------------
+Mon Dec 29 00:00:00 UTC 2014 - [email protected]
+
+- Add patch converting fetchnews(8) to UTF-8.
+
+-------------------------------------------------------------------
+Sat Dec 27 00:00:00 UTC 2014 - [email protected]
+
+- Make it buildable on RHEL-6 (apparently just decreasing required
+  autoconf is enough).
+
+-------------------------------------------------------------------
+Fri Dec 26 00:00:00 UTC 2014 - [email protected]
+
+- Set run_as_user parameter in /etc/leafnode/config explicitly.
+
+-------------------------------------------------------------------
+Mon Dec 15 00:00:00 UTC 2014 - [email protected]
+
+- [leafnode 2] Update to the latest upstream
+
+-------------------------------------------------------------------
+Thu Jul 24 00:00:00 UTC 2014 - [email protected]
+
+- [leafnode 2] Update to the latest upstream
+
+-------------------------------------------------------------------
@@ -204,0 +296,19 @@
+Wed May 23 00:00:00 UTC 2007 - [email protected]
+
+- [leafnode 2] Added support for croning of texpire daily
+
+-------------------------------------------------------------------
+Thu Apr 26 00:00:00 UTC 2007 - [email protected]
+
+- [leafnode 2] Add pcre-devel to Build-Requires; thanks
+  build.opensuse.org for catching this.
+- Add /etc/leafnode/local.groups
+
+
+-------------------------------------------------------------------
+Fri Mar 23 00:00:00 UTC 2007 - [email protected]
+
+- [leafnode 2] new upstream release
+- enabled pam
+
+-------------------------------------------------------------------
@@ -242,0 +353,5 @@
+
+-------------------------------------------------------------------
+Mon Jan  2 00:00:00 UTC 2006 - [email protected]
+
+- [leafnode 2] experimental build

Old:
----
  README.SUSE
  filters
  fix_overflow.diff
  leafnode-1.11.11.tar.xz
  leafnode-1.11.11.tar.xz.asc
  leafnode-1.11.6-spooldir-permissions.diff
  leafnode-fetch.cron
  leafnode.cron.daily
  leafnode.keyring
  leafnode.socket
  [email protected]

New:
----
  README-SUSE.rst
  _service
  _servicedata
  leafnode-2.0.0+git.1527241185.66da754.tar.xz
  systemd-timers.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ leafnode.spec ++++++
--- /var/tmp/diff_new_pack.EMRmnL/_old  2019-12-27 13:43:59.968259437 +0100
+++ /var/tmp/diff_new_pack.EMRmnL/_new  2019-12-27 13:43:59.972259439 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package leafnode
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,123 +16,160 @@
 #
 
 
-Name:           leafnode
-Version:        1.11.11
+%define spooldir    %{_localstatedir}/spool/news
+%define confdir     %{_sysconfdir}/leafnode
+%define runas_user  news
+%define runas_group news
+%define upname leafnode
+Name:           %{upname}
+Version:        2.0.0+git.1527241185.66da754
 Release:        0
-Summary:        A Leaf Site NNTP Server
-License:        LGPL-2.1-or-later AND SUSE-Public-Domain AND MIT
-Group:          Productivity/Networking/News/Servers
-Url:            http://sourceforge.net/projects/leafnode/
-Source0:        
http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.xz
-Source1:        README.SUSE
-Source2:        leafnode.cron.daily
-Source3:        filters
-Source4:        [email protected]
-Source5:        leafnode-fetch.cron
-Source6:        
http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.xz.asc
-# 
https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/pgpkeys-developers.html#pgpkey-mandree
-Source7:        leafnode.keyring
-Source8:        leafnode.socket
-Patch0:         leafnode-1.11.6-spooldir-permissions.diff
-Patch1:         fix_overflow.diff
-BuildRequires:  cron
-BuildRequires:  pcre-devel >= 2.06
-BuildRequires:  systemd-rpm-macros
-Requires:       cron
-Conflicts:      cnews
+Summary:        Leaf site NNTP server
+License:        MIT
+Summary(de):    Ein offline-Newsserver
+URL:            http://www.dt.e-technik.uni-dortmund.de/~ma/leafnode/beta/
+# Use checkout from the git repo at
+# https://gitlab.com/leafnode-2/leafnode-2/
+Source0:        %{name}-%{version}.tar.xz
+Source1:        README-SUSE.rst
+# PATCH-FEATURE-UPSTREAM name-of-file.patch bsc#1115443 [email protected]
+# Replace /etc/cron.daily/leafnode with systemd timer
+Patch0:         systemd-timers.patch
+BuildRequires:  autoconf >= 2.68
+BuildRequires:  automake
+BuildRequires:  gettext
+BuildRequires:  intltool
+BuildRequires:  libtool
+BuildRequires:  pam-devel
+BuildRequires:  pcre-devel
+BuildRequires:  perl
+BuildRequires:  pkg-config
+BuildRequires:  pkgconfig(systemd)
+Requires(post): coreutils
+Requires(post): systemd
+Requires(postun): systemd
+Requires(preun): systemd
+Obsoletes:      leafnode < %{version}
+Provides:       leafnode = %{version}-%{release}
+# Because of moderators(5) manpage, and really these two
+# shouldn't be on one system at once.
 Conflicts:      inn
-Provides:       nntp_daemon
-%{?systemd_requires}
-%if 0%{?suse_version} >= 1330
-Requires(pre):  group(news)
-%endif
+BuildRequires:  shadow
+Requires(pre):  permissions
+Requires(pre):  shadow
 
 %description
 Leafnode is a small NNTP server for leaf sites without permanent
-connections to the Internet. It supports a subset of NNTP and is able
-to automatically fetch the newsgroups the user reads regularly from the
-ISP's news server.
+connection to the internet. It supports a subset of NNTP and is able to
+automatically fetch the newsgroups the user reads regularly from the
+newsserver of the ISP and additionally offer local (site-specific)
+groups to a LAN.
+
+%description -l de
+Leafnode ist ein offline-Newsserver, der vor allem für den typischen
+Einzelnutzer-Rechner ohne permanente Internetanbindung geeignet ist.
+Leafnode bezieht automatisch die Newsgroups, die der oder die Nutzer
+regelmäßig lesen, vom Newsserver des Providers. Weiter erlaubt es, lokale
+(Standort-spezifische) Newsgruppen im LAN anzubieten.
 
 %prep
-%setup -q
-%patch0
-%patch1 -p1
+%autosetup -p1 -n %{name}-%{version}
+
+autoreconf -v -i
+
+cp -p %{SOURCE1} .
 
 %build
-%configure\
-  --with-ipv6 \
-  --sysconfdir=%{_sysconfdir}/%{name} \
-  --with-spooldir=%{_localstatedir}/spool/news \
-  --with-lockfile=%{_localstatedir}/spool/news/leaf.node/lock.file
+%configure \
+ --disable-silent-rules \
+ --enable-spooldir=%{spooldir} \
+ --enable-runas-user=$(id -un) \
+ --sysconfdir=%{_sysconfdir}/%{upname} --with-pam
 make %{?_smp_mflags}
 
 %check
 make %{?_smp_mflags} check
 
 %install
+# first clean out any prior aborted runs
 %make_install
-mkdir -p %{buildroot}/%{_sysconfdir}/cron.daily
-install -m 755 %{SOURCE2} %{buildroot}/%{_sysconfdir}/cron.daily/%{name}
-mv %{buildroot}/%{_sysconfdir}/%{name}/config.example 
%{buildroot}/%{_sysconfdir}/%{name}/config
-install -m 644 %{SOURCE1} .
-install -m 640 %{SOURCE3} %{buildroot}/%{_sysconfdir}/%{name}
-install -d -m 755 %{buildroot}%{_mandir}/de/man1
-install -d -m 755 %{buildroot}%{_mandir}/de/man8
-install -D -m 644 %{SOURCE4} %{buildroot}/%{_unitdir}/[email protected]
-install -D -m 644 %{SOURCE8} %{buildroot}/%{_unitdir}/leafnode.socket
-
-# Get rid of files we don't want to package or package with doc below
-rm -f %{buildroot}/%{_sysconfdir}/%{name}/*.dist
-rm -f %{buildroot}/%{_sysconfdir}/%{name}/UNINSTALL-daemontools
-rm -f %{buildroot}/%{_sysconfdir}/%{name}/filters.example
-mkdir examples
-cp -a update.sh tools examples
-cp %{SOURCE5} examples
+
+# We actually do not want filters to be installed in /etc/leafnode
+rm %{buildroot}/%{_sysconfdir}/leafnode/filters*
+
+# install systemd units
+install -D -m 644 -t %{buildroot}%{_unitdir} systemd/*
+
+for file in %{buildroot}/%{_sysconfdir}/leafnode/*.example ; do
+   NEWFN=$(basename $file .example);
+   mv $file %{buildroot}/%{_sysconfdir}/leafnode/$NEWFN
+done
+
+# When building without runas_user, then we need to set this
+# parameter explicitly.
+sed -i -e "s/^#\s*run_as_user.*\$/run_as_user = %{runas_user}/" \
+    %{buildroot}/%{_sysconfdir}/leafnode/config
+
+cat >%{buildroot}/%{_sysconfdir}/leafnode/local.groups << EOS
+# List of all local groups
+# The format of the file containing the local groups is
+# news.group.name[tab]status[tab]Description
+# where
+# status could be y, n, or m letter, where
+# y - "Local postings are allowed",
+# m - "The group is moderated and all postings must be approved.",
+# n - "No local postings are allowed, only articles from peers."
+EOS
 
 %pre
-%service_add_pre [email protected] leafnode.socket
+%service_add_pre leafnode.service leafnode.socket [email protected] 
leafnode-daily.service leafnode-hourly.service leafnode-daily.timer 
leafnode-hourly.timer
+
+# create daemon group, if not existing
+getent group %{runas_group} >/dev/null || groupadd -r %{runas_group}  
2>/dev/null || :
+# create daemon user, if not existing
+getent passwd %{runas_user} >/dev/null || \
+    useradd -r -g %{runas_group} -s /bin/false -c "leafnode daemon" \
+        -d %{spooldir} %{runas_user}  2>/dev/null || :
+exit 0
 
 %post
-%service_add_post [email protected] leafnode.socket
+%set_permissions %{spooldir}/leaf.node
+%service_add_post leafnode.service leafnode.socket [email protected] 
leafnode-daily.service leafnode-hourly.service leafnode-daily.timer 
leafnode-hourly.timer
+
+if [ $1 -eq 1 ] ; then
+    chown -R news:news %{spooldir}
+    chmod -R 775 %{spooldir}
+fi
 
 %preun
-%service_del_preun [email protected] leafnode.socket
+%service_del_preun leafnode.service leafnode.socket [email protected] 
leafnode-daily.service leafnode-hourly.service leafnode-daily.timer 
leafnode-hourly.timer
 
 %postun
-%service_del_postun [email protected] leafnode.socket
+%service_del_postun leafnode.service leafnode.socket [email protected] 
leafnode-daily.service leafnode-hourly.service leafnode-daily.timer 
leafnode-hourly.timer
 
 %files
-%defattr(-,root,root)
-%attr(640,root,news) %config(noreplace) %{_sysconfdir}/%{name}/config
-%attr(640,root,news) %config(noreplace) %{_sysconfdir}/%{name}/filters
-%attr(755,root,root) %config(noreplace) %{_sysconfdir}/cron.daily/%{name}
-%attr(750,root,news) %dir %{_sysconfdir}/%{name}
-%license COPYING
-%doc ChangeLog CREDITS NEWS FAQ.txt FAQ.pdf
-%doc README README.SUSE README-FQDN
-%doc filters.example
-%doc ADD-ONS KNOWNBUGS
-%doc doc_german/INSTALL_de
-%doc doc_german/LIESMICH-daemontools
-%doc doc_german/README
-%doc doc_german/README_de
-%doc examples/
-%{_mandir}/man1/newsq.1%{ext_man}
-%{_mandir}/man1/leafnode-version.1%{ext_man}
-%{_mandir}/man8/applyfilter.8%{ext_man}
-%{_mandir}/man8/checkgroups.8%{ext_man}
-%{_mandir}/man8/fetchnews.8%{ext_man}
-%{_mandir}/man8/leafnode.8%{ext_man}
-%{_mandir}/man8/texpire.8%{ext_man}
-%{_bindir}/newsq
-%{_bindir}/leafnode-version
-%{_sbindir}/applyfilter
-%{_sbindir}/checkgroups
-%{_sbindir}/fetchnews
-%{_sbindir}/leafnode
-%{_sbindir}/texpire
-%attr(775,news,news) %{_localstatedir}/spool/news
-%{_unitdir}/leafnode.socket
-%{_unitdir}/[email protected]
+%license COPYING COPYING.LGPL
+%doc config.example filters.example CREDITS README-SUSE.rst
+%doc DEBUGGING ENVIRONMENT FAQ.tex CHANGES-FROM-LEAFNODE-1 NEWS
+%doc README-FQDN.tex TODO ChangeLog AUTHORS README-leaf.node README.html
+
+%config %{_sysconfdir}/leafnode/
+%attr(644,root,root) %{_unitdir}/%{upname}*
+%config(noreplace) %attr(640,root,news) %{_sysconfdir}/leafnode/uucp
+%config(noreplace) %attr(640,root,news) %{_sysconfdir}/leafnode/local.groups
+%attr(755,root,root) %{_bindir}/leafnode-version
+%attr(755,root,root) %{_bindir}/lsmac.pl
+%attr(755,root,root) %{_bindir}/newsq
+%attr(755,root,root) %{_sbindir}/applyfilter
+%attr(755,root,root) %{_sbindir}/checkgroups
+%attr(755,root,root) %{_sbindir}/fetchnews
+%attr(755,root,root) %{_sbindir}/leafnode
+%attr(755,root,root) %{_sbindir}/rnews
+%attr(755,root,root) %{_sbindir}/sendbatch.bash
+%attr(755,root,root) %{_sbindir}/texpire
+%{_mandir}/man1/*
+%{_mandir}/man5/*
+%{_mandir}/man8/*
+%attr(775,%{runas_user},%{runas_group}) %{spooldir}
 
 %changelog

++++++ README-SUSE.rst ++++++
This is package of the latest snapshot of the upstream git
repository on https://gitlab.com/leafnode-2/leafnode-2 . It seems 
strange to use git checkout for the stable server package, but 
the development has stalled (as of today 2019-11-18, the last 
commit is a year old and it is mine), but the upstream maintainer 
for whatever reasons doesn’t want to make official release.

There are no scripts or any method of converting the currently 
existed leafnode-1 instance to leafnode-2. This is `what I got`_ 
from the upstream maintainer:

    Leafnode-2 has some minor update aids in place, one of the 
    most important parts is running "texpire -r" to rebuild the 
    hashes, and "fetchnews -f" to re-fetch the active files. See 
    README.html for other migration information regarding 
    configuration settings.

.. _`what I got`:
    
http://krusty.dt.e-technik.uni-dortmund.de/pipermail/leafnode-list/2018q1/002780.html

For better orientation the package changelog has interspersed 
records from leafnode-2 package in the originally leafnode-1 one. 
They are all from me (mcepl@something) and they are marked as 
``[leafnode-2]`` in the first line of the record.
++++++ _service ++++++
<services>
  <service name="tar_scm" mode="disabled">
    <param name="versionprefix">2.0.0+git</param>
    <param name="url">https://gitlab.com/leafnode-2/leafnode-2.git/</param>
    <param name="scm">git</param>
    <param name="exclude">.git*</param>
    <param name="changesgenerate">enable</param>
    <param name="filename">leafnode</param>
  </service>
  <service name="recompress" mode="disabled">
    <param name="compression">xz</param>
    <param name="file">*.tar</param>
  </service>
  <service name="set_version" mode="disabled"/>
</services>
++++++ _servicedata ++++++
<servicedata>
<service name="tar_scm">
                <param 
name="url">https://gitlab.com/leafnode-2/leafnode-2/</param>
              <param 
name="changesrevision">85d54cad829ded8cb566631933467f70fd5b9a4e</param></service><service
 name="tar_scm">
                <param 
name="url">https://gitlab.com/leafnode-2/leafnode-2.git/</param>
              <param 
name="changesrevision">85d54cad829ded8cb566631933467f70fd5b9a4e</param></service></servicedata>++++++
 systemd-timers.patch ++++++
--- /dev/null
+++ b/systemd/leafnode-daily.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Daily maintenance of news spool
+After=network.target
+
+[Service]
+User=news
+ExecStart=/usr/sbin/texpire
+
+[Install]
+WantedBy=multi-user.target
--- /dev/null
+++ b/systemd/leafnode-daily.timer
@@ -0,0 +1,9 @@
+[Unit]
+Description=Daily maintenance of news spool
+
+[Timer]
+OnCalendar=*-*-* 04:26:00
+Persistent=false
+
+[Install]
+WantedBy=timers.target
--- /dev/null
+++ b/systemd/leafnode-hourly.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=fetching news messages spool hourly
+After=network.target
+
+[Service]
+User=news
+ExecStart=/usr/sbin/fetchnews
+
+[Install]
+WantedBy=multi-user.target
--- /dev/null
+++ b/systemd/leafnode-hourly.timer
@@ -0,0 +1,9 @@
+[Unit]
+Description=fetching news messages spool hourly
+
+[Timer]
+OnBootSec=15min
+OnUnitActiveSec=1h
+
+[Install]
+WantedBy=timers.target

Reply via email to