public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/inn] epel10: fix building using parallel make (#1558586)
@ 2026-08-26  8:07 Dominik 'Rathann' Mierzejewski
  0 siblings, 0 replies; only message in thread
From: Dominik 'Rathann' Mierzejewski @ 2026-08-26  8:07 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/inn
Branch : epel10
Commit : f84f35608686a55baeac53bd3ce022e2a8ac9609
Author : Dominik 'Rathann' Mierzejewski <dominik@greysector.net>
Date   : 2021-10-22T00:45:17+02:00
Stats  : +125/-1 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/inn/c/f84f35608686a55baeac53bd3ce022e2a8ac9609?branch=epel10

Log:
fix building using parallel make (#1558586)

---
diff --git a/208.patch b/208.patch
new file mode 100644
index 0000000..71338df
--- /dev/null
+++ b/208.patch
@@ -0,0 +1,119 @@
+From 8e3d894a9cc0d5848834ad19c71a063dc0c39002 Mon Sep 17 00:00:00 2001
+From: Richard Kettlewell <rjk@greenend.org.uk>
+Date: Thu, 21 Oct 2021 14:20:07 +0100
+Subject: [PATCH] Build concurrency fixes
+
+We serialize build of top-level subdirectories. The previous attempt
+to support make -j was broken, since the subdirectories have dependencies
+between them and attempt to cross-invoke one another, leading to multiple
+concurrent make invocations on the same directory.
+
+A couple of missing dependencies are also added. The sql-init.h
+dependency should be generated by makedepend, but it's confused about
+object code extensions. This change is a stopgap until that is
+addressed.
+---
+ Makefile                     | 58 +++++++++++++++---------------------
+ storage/Makefile             |  6 ++++
+ storage/ovsqlite/ovmethod.mk |  2 +-
+ 3 files changed, 31 insertions(+), 35 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index b8b8486e9..6bd42a6ab 100644
+--- a/Makefile
++++ b/Makefile
+@@ -38,40 +38,30 @@ SNAPDIRS    = -e 1,2d -e '/(Directory)/!d' -e 's/ .*//' -e 's;^;$(SNAPDIR)/;'
+ DISTFILES   = -e 1,2d -e '/(Directory)/d' -e 's/ .*//'
+ 
+ 
+-##  Major target -- build everything.  Rather than just looping through
+-##  all the directories, use a set of parallel rules so that make -j can
+-##  work on more than one directory at a time.
+-##  Be careful of a non-GNU make:  after a completed command, it does not
+-##  necessarily return the script back to the starting directory.
+-all: all-include all-libraries all-programs
+-	cd doc     && $(MAKE) all || exit 1 ; cd ..
+-	cd samples && $(MAKE) all || exit 1 ; cd ..
+-	cd site    && $(MAKE) all || exit 1 ; cd ..
+-
+-all-include:			; cd include   && $(MAKE) all
+-
+-all-libraries:	all-lib all-storage all-history
+-
+-all-lib:	all-include	; cd lib       && $(MAKE) all
+-all-storage:	all-lib		; cd storage   && $(MAKE) library
+-all-history:	all-storage	; cd history   && $(MAKE) all
+-
+-all-programs:	all-innd all-nnrpd all-innfeed all-control all-expire \
+-		all-frontends all-backends all-authprogs all-scripts \
+-		all-perl all-store-util
+-
+-all-authprogs:	all-lib		; cd authprogs && $(MAKE) all
+-all-backends:	all-libraries	; cd backends  && $(MAKE) all
+-all-control:			; cd control   && $(MAKE) all
+-all-expire:	all-libraries	; cd expire    && $(MAKE) all
+-all-frontends:	all-libraries	; cd frontends && $(MAKE) all
+-all-innd:	all-libraries	; cd innd      && $(MAKE) all
+-all-innfeed:	all-libraries	; cd innfeed   && $(MAKE) all
+-all-nnrpd:	all-libraries	; cd nnrpd     && $(MAKE) all
+-all-perl:			; cd perl      && $(MAKE) all
+-all-scripts:			; cd scripts   && $(MAKE) all
+-all-store-util:	all-libraries	; cd storage   && $(MAKE) programs
+-
++##  Major target -- build everything.
++##
++## libstorage depends on libinnhist, but some of the storage/...
++## programs depend on libinnhist, hence the two calls into
++## storage.
++all:
++	$(MAKE) -C include
++	$(MAKE) -C lib
++	$(MAKE) -C storage library
++	$(MAKE) -C history
++	$(MAKE) -C innd
++	$(MAKE) -C nnrpd
++	$(MAKE) -C innfeed
++	$(MAKE) -C control
++	$(MAKE) -C expire
++	$(MAKE) -C frontends
++	$(MAKE) -C backends
++	$(MAKE) -C authprogs
++	$(MAKE) -C scripts
++	$(MAKE) -C perl
++	$(MAKE) -C storage programs
++	$(MAKE) -C doc
++	$(MAKE) -C samples
++	$(MAKE) -C site
+ 
+ ##  If someone tries to run make before running configure, tell them to run
+ ##  configure first.
+diff --git a/storage/Makefile b/storage/Makefile
+index 854222c99..c62516c92 100644
+--- a/storage/Makefile
++++ b/storage/Makefile
+@@ -101,6 +101,12 @@ libstorage$(PROFSUFFIX).a: $(SOURCES)
+ 	rm -f $(OBJECTS)
+ 
+ 
++# TODO bodge in missing dependency. This isn't a full solution
++# but it works for now.
++#
++# See https://github.com/InterNetNews/inn/issues/206
++ovsqlite/ovsqlite-server.lo: ovsqlite/sql-init.h
++
+ ##  Dependencies.  Default list, below, is probably good enough.
+ 
+ depend:	Makefile $(SOURCES) $(EXTRA_SOURCES)
+diff --git a/storage/ovsqlite/ovmethod.mk b/storage/ovsqlite/ovmethod.mk
+index 8ab11dc47..3982f698d 100644
+--- a/storage/ovsqlite/ovmethod.mk
++++ b/storage/ovsqlite/ovmethod.mk
+@@ -3,7 +3,7 @@ OVSQLITEOBJECTS = ovsqlite/ovsqlite-server.o ovsqlite/sql-main.o \
+ 	ovsqlite/ovsqlite-private.o
+ OVSQLITELOBJECTS = $(OVSQLITEOBJECTS:.o=.lo)
+ 
+-ovsqlite/ovsqlite-server: $(OVSQLITEOBJECTS) $(OVSQLITELOBJECTS)
++ovsqlite/ovsqlite-server: $(OVSQLITEOBJECTS) $(LIBSTORAGE)
+ 	$(LIBLD) $(LDFLAGS) $(SQLITE3_LDFLAGS) -o $@ $(OVSQLITELOBJECTS) \
+ 	$(LIBSTORAGE) $(LIBHIST) $(LIBINN) $(STORAGE_LIBS) $(SQLITE3_LIBS) \
+ 	$(LIBS)

diff --git a/inn.spec b/inn.spec
index 597a147..eec2f46 100644
--- a/inn.spec
+++ b/inn.spec
@@ -3,7 +3,7 @@
 Summary: The InterNetNews system, an Usenet news server
 Name: inn
 Version: 2.6.4
-Release: 9%{?dist}
+Release: 10%{?dist}
 #see LICENSE file for details
 License: GPLv2+ and BSD and MIT and Public Domain
 URL: https://www.eyrie.org/~eagle/software/inn/
@@ -24,6 +24,8 @@ Source26: innd-rnews.timer
 Source30: inn.rsyslog
 Patch1: inn-2.6.4-rh.patch
 Patch2: https://inn.eyrie.org/trac/changeset/10541?format=diff&new=10541#/inn-2.6.4-changeset-10541.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=1558586
+Patch3: https://github.com/InterNetNews/inn/pull/208.patch
 BuildRequires: autoconf
 BuildRequires: byacc
 BuildRequires: cyrus-sasl-devel
@@ -559,6 +561,9 @@ fi
 %{_mandir}/man1/inews*
 
 %changelog
+* Thu Oct 21 2021 Dominik Mierzejewski <rpm@greysector.net> - 2.6.4-10
+- fix building using parallel make (#1558586)
+
 * Wed Sep 29 2021 Dominik Mierzejewski <rpm@greysector.net> - 2.6.4-9
 - drop uucp from BuildRequires (not required for build) and make it a weak dep
 

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-26  8:07 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-26  8:07 [rpms/inn] epel10: fix building using parallel make (#1558586) Dominik 'Rathann' Mierzejewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox