Compare commits

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

56 commits

Author SHA1 Message Date
Fedora Release Engineering
a5694fcb74 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 22:50:08 +00:00
Zbigniew Jędrzejewski-Szmek
9e54e74838 Add sysusers.d config file to allow rpm to create users/groups automatically
See https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers.
2025-02-11 15:53:25 +01:00
Fedora Release Engineering
808b08080d Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 20:07:36 +00:00
Miroslav Suchý
392b136150 convert GPLv2+ license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-07-26 01:36:42 +02:00
Fedora Release Engineering
2b13b9a9c0 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 19:31:09 +00:00
Kevin Fenzi
9a87028352 Update to 27. Fixes rhbz#2274888
Clean up and drop old conditionals.
2024-05-12 09:56:43 -07:00
Fedora Release Engineering
192ca60181 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 08:59:01 +00:00
Fedora Release Engineering
271bc51dc4 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 09:42:05 +00:00
Fedora Release Engineering
308c277d69 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 16:40:22 +00:00
Florian Weimer
03c129c7ee Port configure script to C99
Related to:

  <https://fedoraproject.org/wiki/Changes/PortingToModernC>
  <https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
2023-02-02 10:05:23 +01:00
Fedora Release Engineering
d208086583 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 21:35:11 +00:00
Fedora Release Engineering
88cc4c9c8b Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 00:34:12 +00:00
Fedora Release Engineering
9afd6044fa - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 21:12:14 +00:00
Fedora Release Engineering
6fcfc97480 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 16:07:38 +00:00
Zbigniew Jędrzejewski-Szmek
2e47f2ec24 Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:13:18 +01:00
Fedora Release Engineering
36502e8dfe - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 21:31:04 +00:00
Tom Stellard
a86b679a79 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-07 05:50:51 +00:00
Kevin Fenzi
2d52847a9d Update to 26.1. rhbz#1912027 2021-01-03 14:39:12 -08:00
Fedora Release Engineering
73e2e58fbd - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 09:09:10 +00:00
Kevin Fenzi
a8e524deae Fix arch conditional for tests. :( 2020-06-28 16:07:28 -07:00
Kevin Fenzi
c268f77302 Drop gcc10 workaround (fixed upstream)
Disable tests on i686 for now as they seem sporadically broken. ( https://github.com/ngircd/ngircd/issues/280 )
2020-06-28 15:45:00 -07:00
Kevin Fenzi
d295d09828 Update to 26. Fixes bug 1849314 2020-06-24 20:55:01 -07:00
Kevin Fenzi
1f00213c5b rhel8 also has system cypher support, so add that before initial epel8 package. 2020-05-16 14:09:00 -07:00
Kevin Fenzi
e1905181c2 Build with -fcommon for now until upstream gcc10 fixes land. Fixes FTBFS bug #1799688 2020-03-29 10:55:59 -07:00
Fedora Release Engineering
873f25537a - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 14:58:50 +00:00
Orion Poplawski
d5f37ade2b Build without libident (bz#1790478) 2020-01-13 21:35:45 -07:00
Fedora Release Engineering
31aaadb6f1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 18:39:50 +00:00
Fedora Release Engineering
468994d734 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 12:20:40 +00:00
Kevin Fenzi
3a73d813a9 Update to 25. Fixes bug #1668960 2019-01-30 11:52:41 -08:00
Igor Gnatenko
74be36bf3e Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:18 +01:00
Fedora Release Engineering
6a2c8b0b05 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 11:36:22 +00:00
Igor Gnatenko
66c5af8768 add BuildRequires: gcc
Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
2018-07-09 19:06:49 +02:00
Igor Gnatenko
5b86b1d5e3
Remove %clean section
None of currently supported distributions need that.
Last one was EL5 which is EOL for a while.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-14 07:23:00 +01:00
Fedora Release Engineering
a80e9fc7a5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-08 04:12:46 +00:00
Kevin Fenzi
05dbb85015 Drop tcpwrappers support. Fixes bug #1518770 2017-12-02 15:58:07 -08:00
Fedora Release Engineering
ba2dc3c3e4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 03:58:28 +00:00
Fedora Release Engineering
e5175585d9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 22:56:31 +00:00
Fedora Release Engineering
032bcad5db - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-10 22:17:41 +00:00
Kevin Fenzi
854371eedc Update to 24. Fixes bug #1415350 2017-01-28 16:05:19 -07:00
Fedora Release Engineering
ae246aff53 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 09:20:58 +00:00
Orion Poplawski
2ee0acbb6b Fix runtime directory, service file permissions 2015-11-17 14:36:22 -07:00
Orion Poplawski
28a807ef4e Update to 23
- Update service file from upstream
- Base config file on upstream
- Use %license, upstream doc install
2015-11-17 13:59:35 -07:00
Orion Poplawski
13aa5ccc26 Substitute :ETCDIR:,:DOCDIR: in ngircd.conf 2015-11-17 09:53:46 -07:00
Orion Poplawski
1c9e764d3d Minor spec cleanup 2015-11-17 09:25:20 -07:00
Dennis Gilmore
2a965de9ee - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 21:48:49 +00:00
Kevin Fenzi
8673f1ce2a Update to 22.1 2015-04-06 19:48:17 -06:00
Kevin Fenzi
8125220271 Set default gnutls ciphers to "@SYSTEM". Fixes bug #1179328 2015-01-19 20:59:27 -07:00
Kevin Fenzi
ba4c4a01a7 Update to 22. Fixes bug #1152080 2014-10-13 09:45:51 -06:00
Kevin Fenzi
4159265779 Sync ngircd.conf with sample template version. Fixes bug #1149012 2014-10-03 16:07:04 -06:00
Peter Robinson
3a7b423821 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-17 11:49:51 +00:00
Kevin Fenzi
80445a0979 Set pam config to allow connections by default. 2014-08-11 14:24:00 -06:00
Dennis Gilmore
7f57ead43f - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-07 07:48:25 -05:00
Kevin Fenzi
77d5f63c05 Enable pam support. Fixes bug #1092706 2014-04-29 13:38:12 -06:00
Kevin Fenzi
31402aeca6 Update to 21.1 2014-03-26 09:16:25 -06:00
Kevin Fenzi
d1299fc3ba Update to 21 2013-11-01 13:33:08 -06:00
Kevin Fenzi
8a6e656861 Fix docs to not include Makefiles. Fixes bug #1004557 2013-09-04 18:18:44 -06:00
9 changed files with 339 additions and 284 deletions

10
.gitignore vendored
View file

@ -5,3 +5,13 @@ ngircd-16.tar.gz
/ngircd-20.1.tar.gz
/ngircd-20.2.tar.gz
/ngircd-20.3.tar.gz
/ngircd-21.tar.gz
/ngircd-21.1.tar.gz
/ngircd-22.tar.gz
/ngircd-22.1.tar.gz
/ngircd-23.tar.gz
/ngircd-24.tar.gz
/ngircd-25.tar.gz
/ngircd-26.tar.gz
/ngircd-26.1.tar.gz
/ngircd-27.tar.gz

21
ngircd-cipher.patch Normal file
View file

@ -0,0 +1,21 @@
diff -up ngircd-23/doc/sample-ngircd.conf.tmpl.cipher ngircd-23/doc/sample-ngircd.conf.tmpl
--- ngircd-23/doc/sample-ngircd.conf.tmpl.cipher 2015-08-20 08:29:56.000000000 -0600
+++ ngircd-23/doc/sample-ngircd.conf.tmpl 2015-11-17 10:30:10.124060823 -0700
@@ -246,7 +246,7 @@
# be used. (Default: not set)
;WebircPassword = xyz
-;[SSL]
+[SSL]
# SSL-related configuration options. Please note that this section
# is only available when ngIRCd is compiled with support for SSL!
# So don't forget to remove the ";" above if this is the case ...
@@ -262,6 +262,8 @@
;CipherList = HIGH:!aNULL:@STRENGTH:!SSLv3
# For GnuTLS:
;CipherList = SECURE128:-VERS-SSL3.0
+ # Set the default to use Fedora's site wide crypto policy.
+ CipherList = @SYSTEM
# Diffie-Hellman parameters
;DHFile = :ETCDIR:/ssl/dhparams.pem

View file

@ -0,0 +1,42 @@
Include <string.h> for memset in WORKING_GETADDRINFO probe.
Otherwise, the probe always fails with compilers which do not support
implicit function declarations.
Submitted upstream: <https://github.com/ngircd/ngircd/pull/305>
diff --git a/configure b/configure
index 4435369c657b6fd6..242230bc334f7d4e 100755
--- a/configure
+++ b/configure
@@ -6286,6 +6286,7 @@ else
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
+#include <string.h>
int
main(int argc, char **argv)
{
diff --git a/configure.ac b/configure.ac
index 609be364e0d03fef..1d98fd965a844808 100644
--- a/configure.ac
+++ b/configure.ac
@@ -101,6 +101,7 @@ AC_DEFUN([WORKING_GETADDRINFO],[
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
+#include <string.h>
int
main(int argc, char **argv)
{
diff --git a/configure.ng b/configure.ng
index 59d9d9fe8fd5e469..1195b9e53af2364c 100644
--- a/configure.ng
+++ b/configure.ng
@@ -101,6 +101,7 @@ AC_DEFUN([WORKING_GETADDRINFO],[
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
+#include <string.h>
int
main(int argc, char **argv)
{

27
ngircd-fedora.patch Normal file
View file

@ -0,0 +1,27 @@
diff --color -Nur ngircd-27.orig/doc/sample-ngircd.conf.tmpl ngircd-27/doc/sample-ngircd.conf.tmpl
--- ngircd-27.orig/doc/sample-ngircd.conf.tmpl 2024-05-11 16:18:32.156364779 -0700
+++ ngircd-27/doc/sample-ngircd.conf.tmpl 2024-05-11 16:19:47.972042211 -0700
@@ -49,6 +49,7 @@
# "0.0.0.0" or (if compiled with IPv6 support) "::,0.0.0.0"
# so the server listens on all IP addresses of the system by default.
;Listen = 127.0.0.1,192.168.0.1
+ Listen = 127.0.0.1
# Text file with the "message of the day" (MOTD). This message will
# be shown to all users connecting to the server: Default: a built-in
@@ -82,6 +83,7 @@
# of the group or the numerical ID. ATTENTION: For this to work the
# server must have been started with root privileges!
;ServerGID = 65534
+ ServerGID = ngircd
# User ID under which the server should run; you can use the name
# of the user or the numerical ID. ATTENTION: For this to work the
@@ -89,6 +91,7 @@
# the configuration and MOTD files must be readable by this user,
# otherwise RESTART and REHASH won't work!
;ServerUID = 65534
+ ServerUID = ngircd
[Limits]
# Define some limits and timeouts for this ngIRCd instance. Default

37
ngircd-service.patch Normal file
View file

@ -0,0 +1,37 @@
diff --color -Nur ngircd-27.orig/contrib/ngircd.service ngircd-27/contrib/ngircd.service
--- ngircd-27.orig/contrib/ngircd.service 2024-04-13 02:33:33.000000000 -0700
+++ ngircd-27/contrib/ngircd.service 2024-05-12 09:07:55.595471549 -0700
@@ -12,10 +12,10 @@
[Service]
Type=notify
-User=irc
-Group=irc
+User=ngircd
+Group=ngircd
# Settings & limits:
-CapabilityBoundingSet=CAP_SYS_CHROOT CAP_NET_BIND_SERVICE
+CapabilityBoundingSet=CAP_SYS_CHROOT CAP_NET_BIND_SERVICE CAP_KILL
MemoryDenyWriteExecute=yes
NoNewPrivileges=yes
PrivateDevices=yes
@@ -27,17 +27,12 @@
ProtectSystem=full
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
RestrictRealtime=yes
-RuntimeDirectory=ircd
+RuntimeDirectory=ngircd
RuntimeDirectoryMode=750
StandardError=journal
StandardOutput=journal
-# Try to load "default files" from any Debian package variant to keep this
-# unit generic.
-EnvironmentFile=-/etc/default/ngircd
-EnvironmentFile=-/etc/default/ngircd-full
-EnvironmentFile=-/etc/default/ngircd-full-dbg
# Start ngIRCd. Note: systemd doesn't allow to use $DAEMON here!
-ExecStart=/usr/sbin/ngircd --nodaemon --syslog $PARAMS
+ExecStart=/usr/sbin/ngircd --nodaemon --syslog
ExecReload=/bin/kill -HUP $MAINPID
# Error handling:
# ngIRCd tries to "ping" the service manager every 3 seconds.

View file

@ -1,221 +0,0 @@
# $Id$
#
# This is a sample configuration file for the ngIRCd, which must be adepted
# to the local preferences and needs.
#
# Comments are started with "#" or ";".
#
# A lot of configuration options in this file start with a ";". You have
# to remove the ";" in front of each variable to actually set a value!
# The disabled variables are shown with example values for completeness.
#
# Use "ngircd --configtest" (see manual page ngircd(8)) to validate that the
# server interprets the configuration file as expected!
#
[Global]
# The [Global] section of this file is used to define the main
# configuration of the server, like the server name and the ports
# on which the server should be listening.
# Server name in the IRC network, must contain at least one dot
# (".") and be unique in the IRC network. Required!
Name = irc.the.net
# Info text of the server. This will be shown by WHOIS and
# LINKS requests for example.
Info = Server Info Text
# Global password for all users needed to connect to the server
;Password = abc
# Information about the server and the administrator, used by the
# ADMIN command. Not required by server but by RFC!
;AdminInfo1 = Description
;AdminInfo2 = Location
;AdminEMail = admin@irc.server
# Ports on which the server should listen. There may be more than
# one port, separated with ",". (Default: 6667)
;Ports = 6667, 6668, 6669
# comma seperated list of IP addresses on which the server should
# listen. Default values are:
# "0.0.0.0" or (if compiled with IPv6 support) "::,0.0.0.0"
# so the server listens on all IP addresses of the system by default.
Listen = 127.0.0.1
# Text file with the "message of the day" (MOTD). This message will
# be shown to all users connecting to the server:
;MotdFile = /etc/ngircd.motd
# A simple Phrase (<256 chars) if you don't want to use a motd file.
# If it is set no MotdFile will be read at all.
;MotdPhrase = "Hello world!"
# User ID under which the server should run; you can use the name
# of the user or the numerical ID. ATTENTION: For this to work the
# server must have been started with root privileges! In addition,
# the configuration and MOTD files must be readable by this user,
# otherwise RESTART and REHASH won't work!
ServerUID = ngircd
# Group ID under which the ngircd should run; you can use the name
# of the group or the numerical ID. ATTENTION: For this to work the
# server must have been started with root privileges!
ServerGID = ngircd
# A directory to chroot in when everything is initialized. It
# doesn't need to be populated if ngIRCd is compiled as a static
# binary. By default ngIRCd won't use the chroot() feature.
# ATTENTION: For this to work the server must have been started
# with root privileges!
;ChrootDir = /var/empty
# This tells ngircd to write its current process id to a file.
# Note that the pidfile is written AFTER chroot and switching uid,
# i. e. the Directory the pidfile resides in must be writeable by
# the ngircd user and exist in the chroot directory.
PidFile = /var/run/ngircd/ngircd.pid
# After <PingTimeout> seconds of inactivity the server will send a
# PING to the peer to test whether it is alive or not.
;PingTimeout = 120
# If a client fails to answer a PING with a PONG within <PongTimeout>
# seconds, it will be disconnected by the server.
;PongTimeout = 20
# The server tries every <ConnectRetry> seconds to establish a link
# to not yet (or no longer) connected servers.
;ConnectRetry = 60
# Should IRC Operators be allowed to use the MODE command even if
# they are not(!) channel-operators?
;OperCanUseMode = no
# Mask IRC Operator mode requests as if they were coming from the
# server? (This is a compatibility hack for ircd-irc2 servers)
;OperServerMode = no
# Allow Pre-Defined Channels only (see Section [Channels])
;PredefChannelsOnly = no
# Don't do any DNS lookups when a client connects to the server.
;NoDNS = no
# try to connect to other irc servers using ipv4 and ipv6, if possible
;ConnectIPv6 = yes
;ConnectIPv4 = yes
# Maximum number of simultaneous connection the server is allowed
# to accept (0: unlimited):
;MaxConnections = 0
# Maximum number of simultaneous connections from a single IP address
# the server will accept (0: unlimited):
;MaxConnectionsIP = 5
# Maximum number of channels a user can be member of (0: no limit):
;MaxJoins = 10
# Maximum length of an user nick name (Default: 9, as in RFC 2812).
# Please note that all servers in an IRC network MUST use the same
# maximum nick name length!
;MaxNickLength = 9
[Operator]
# [Operator] sections are used to define IRC Operators. There may be
# more than one [Operator] block, one for each local operator.
# ID of the operator (may be different of the nick name)
;Name = TheOper
# Password of the IRC operator
;Password = ThePwd
# Optional Mask from which /OPER will be accepted
;Mask = *!ident@somewhere.example.com
[Operator]
# More [Operator] sections, if you like ...
[Server]
# Other servers are configured in [Server] sections. If you
# configure a port for the connection, then this ngircd tries to
# connect to to the other server on the given port; if not it waits
# for the other server to connect.
# There may be more than one server block, one for each server.
#
# Server Groups:
# The ngIRCd allows "server groups": You can assign an "ID" to every
# server with which you want this ngIRCd to link. If a server of a
# group won't answer, the ngIRCd tries to connect to the next server
# in the given group. But the ngircd never tries to connect to two
# servers with the same group ID.
# IRC name of the remote server, must match the "Name" variable in
# the [Global] section of the other server (when using ngIRCd).
;Name = irc2.the.net
# Internet host name or IP address of the peer (only required when
# this server should establish the connection).
;Host = connect-to-host.the.net
# IP address to use as _source_ address for the connection. if unspecified,
# ngircd will let the operating system pick an address.
;Bind = 10.0.0.1
# Port of the server to which the ngIRCd should connect. If you
# assign no port the ngIRCd waits for incoming connections.
;Port = 6667
# Own password for the connection. This password has to be configured
# as "PeerPassword" on the other server.
;MyPassword = MySecret
# Foreign password for this connection. This password has to be
# configured as "MyPassword" on the other server.
;PeerPassword = PeerSecret
# Group of this server (optional)
;Group = 123
# Set the "Passive" option to "yes" if you don't want this ngIRCd to
# connect to the configured peer (same as leaving the "Port" variable
# empty). The advantage of this option is that you can actually configure
# a port an use the IRC command CONNECT more easily to manually connect
# this specific server later.
;Passive = no
[Server]
# More [Server] sections, if you like ...
[Channel]
# Pre-defined channels can be configured in [Channel] sections.
# Such channels are created by the server when starting up and even
# persist when there are no more members left.
# Persistent channels are marked with the mode 'P', which can be set
# and unset by IRC operators like other modes on the fly.
# There may be more than one [Channel] block, one for each channel.
# Name of the channel
;Name = #TheName
# Topic for this channel
;Topic = a great topic
# Initial channel modes
;Modes = tnk
# initial channel password (mode k)
;Key = Secret
# maximum users per channel (mode l)
;MaxUsers = 23
[Channel]
# More [Channel] sections, if you like ...
# -eof-

View file

@ -4,8 +4,12 @@ Documentation=man:ngircd(8) man:ngircd.conf(5) http://ngircd.barton.de/documenta
After=network.target
[Service]
CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_SYS_CHROOT CAP_NET_BIND_SERVICE CAP_KILL
PrivateTmp=yes
NoNewPrivileges=true
ExecStart=/usr/sbin/ngircd -n
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target

View file

@ -1,31 +1,33 @@
Name: ngircd
Version: 20.3
Release: 1%{?dist}
Version: 27
Release: 6%{?dist}
Summary: Next Generation IRC Daemon
Group: System Environment/Daemons
License: GPLv2+
# Automatically converted from old format: GPLv2+ - review is highly recommended.
License: GPL-2.0-or-later
URL: http://ngircd.barton.de/
Source0: ftp://ftp.berlios.de/pub/ngircd/ngircd-%{version}.tar.gz
Source0: http://ngircd.barton.de/pub/ngircd/ngircd-%{version}.tar.gz
Source1: ngircd.init
Source2: ngircd.conf
Source3: ngircd.service
Source2: ngircd.service
# Listen only on localhost by default, set user/group
Patch0: ngircd-fedora.patch
# Use system cipher list
Patch1: ngircd-cipher.patch
# Patch for service file - no forking, no user/group for SSL key access, add doc,
# add CAP_KILL to allow reload
Patch2: ngircd-service.patch
BuildRequires: zlib-devel, avahi-compat-howl-devel, tcp_wrappers-devel
BuildRequires: libident-devel
BuildRequires: make
BuildRequires: gcc
BuildRequires: zlib-devel, avahi-compat-howl-devel
BuildRequires: gnutls-devel
%if 0%{?rhel} > 6 || 0%{?fedora} > 18
BuildRequires: pam-devel
# Needed for tests
BuildRequires: expect procps-ng telnet openssl
BuildRequires: systemd
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%else
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig
Requires(preun): /sbin/service
Requires(postun): /sbin/service
%endif
Requires(pre): shadow-utils
%description
ngIRCd is a free open source daemon for Internet Relay Chat (IRC),
@ -33,17 +35,20 @@ developed under the GNU General Public License (GPL). It's written from
scratch and is not based upon the original IRCd like many others.
%prep
%setup -q
%autosetup -p1
# Create a sysusers.d config file
cat >ngircd.sysusers.conf <<EOF
u ngircd - 'Next Generation IRC Daemon' /tmp/ -
EOF
%build
%configure \
--with-syslog \
--with-zlib \
--with-epoll \
--with-zeroconf \
--with-tcp-wrappers \
--with-ident \
--with-gnutls \
--with-pam \
--enable-ipv6
make %{?_smp_mflags}
@ -53,70 +58,200 @@ make %{?_smp_mflags}
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
%if 0%{?rhel} > 6 || 0%{?fedora} > 18
install -D -m 755 %{SOURCE3} %{buildroot}%{_unitdir}/ngircd.service
%else
install -D -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/ngircd
%endif
install -D -m 644 contrib/ngircd.service %{buildroot}%{_unitdir}/ngircd.service
install -D -m 660 doc/sample-ngircd.conf %{buildroot}%{_sysconfdir}/ngircd.conf
mkdir -p %{buildroot}%{_sysconfdir}/pam.d
install -D -m 660 ./contrib/Debian/ngircd.pam %{buildroot}%{_sysconfdir}/pam.d/ngircd
install -D -m 660 %{SOURCE2} %{buildroot}%{_sysconfdir}/ngircd.conf
touch %{buildroot}%{_sysconfdir}/ngircd.motd
rm -rf %{buildroot}%{_docdir}/ngircd
mkdir -p %{buildroot}%{_localstatedir}/run/ngircd
rm %{buildroot}%{_docdir}/ngircd/INSTALL.md
mkdir -p %{buildroot}%{_tmpfilesdir}
echo d /run/ngircd 0750 ngircd ngircd - > %{buildroot}%{_tmpfilesdir}/ngircd.conf
%clean
rm -rf %{buildroot}
install -m0644 -D ngircd.sysusers.conf %{buildroot}%{_sysusersdir}/ngircd.conf
%check
make check
%pre
getent group ngircd >/dev/null || groupadd -r ngircd
getent passwd ngircd >/dev/null || \
useradd -r -g ngircd -d /tmp/ -s /sbin/nologin \
-c "Next Generation IRC Daemon" ngircd
exit 0
%post
%if 0%{?rhel} > 6 || 0%{?fedora} > 18
%systemd_post ngircd.service
%else
# This adds the proper /etc/rc*.d links for the script
/sbin/chkconfig --add ngircd
%endif
%preun
%if 0%{?rhel} > 6 || 0%{?fedora} > 18
%systemd_preun ngircd.service
%else
if [ $1 = 0 ]; then
/sbin/service ngircd stop >/dev/null 2>&1 || :
/sbin/chkconfig --del ngircd
fi
%endif
%postun
%if 0%{?rhel} > 6 || 0%{?fedora} > 18
%systemd_postun_with_restart ngircd.service
%else
if [ "$1" -ge "1" ]; then
/sbin/service ngircd condrestart >/dev/null 2>&1 || :
fi
%endif
%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING ChangeLog NEWS README doc/*
%{!?_licensedir:%global license %%doc}
%license COPYING
%config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.conf
%config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/pam.d/ngircd
%ghost %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.motd
%if 0%{?rhel} > 6 || 0%{?fedora} > 18
%{_unitdir}/ngircd.service
%else
%{_initrddir}/ngircd
%endif
%{_sbindir}/ngircd
%{_docdir}/ngircd/
%{_mandir}/man5/ngircd.conf*
%{_mandir}/man8/ngircd.8*
%dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/
%{_tmpfilesdir}/ngircd.conf
%{_sysusersdir}/ngircd.conf
%changelog
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 27-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 27-5
- Add sysusers.d config file to allow rpm to create users/groups automatically
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 27-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 27-3
- convert license to SPDX
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 27-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat May 11 2024 Kevin Fenzi <kevin@scrye.com> - 27-1
- Update to 27. Fixes rhbz#2274888
- Clean up and drop old conditionals.
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Feb 02 2023 Florian Weimer <fweimer@redhat.com> - 26.1-8
- Port configure script to C99
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 26.1-3
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sun Jan 03 2021 Kevin Fenzi <kevin@scrye.com> - 26.1-1
- Update to 26.1. rhbz#1912027
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 26-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sun Jun 28 2020 Kevin Fenzi <kevin@scrye.com> - 26-3
- Fix arch conditional for tests. :(
* Sun Jun 28 2020 Kevin Fenzi <kevin@scrye.com> - 26-2
- Drop gcc10 workaround (fixed upstream)
- Disable tests on i686 for now as they seem sporadically broken. ( https://github.com/ngircd/ngircd/issues/280 )
* Wed Jun 24 2020 Kevin Fenzi <kevin@scrye.com> - 26-1
- Update to 26. Fixes bug 1849314
* Sat May 16 2020 Kevin Fenzi <kevin@scrye.com> - 25-7
- rhel8 also has system cypher support, so add that before initial epel8 package.
* Sun Mar 29 2020 Kevin Fenzi <kevin@scrye.com> - 25-6
- Build with -fcommon for now until upstream gcc10 fixes land. Fixes FTBFS bug #1799688
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 25-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Jan 14 2020 Orion Poplawski <orion@nwra.com> - 25-4
- Build without libident (bz#1790478)
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 25-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 25-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Jan 30 2019 Kevin Fenzi <kevin@scrye.com> - 25-1
- Update to 25. Fixes bug #1668960
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 24-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 24-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Dec 02 2017 Kevin Fenzi <kevin@scrye.com> - 24-5
- Drop tcpwrappers support. Fixes bug #1518770
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 24-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 24-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 24-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Jan 20 2017 Kevin Fenzi <kevin@scrye.com> - 24-1
- Update to 24. Fixes bug #1415350
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 23-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Nov 17 2015 Orion Poplawski <orion@cora.nwra.com> 23-1
- Update to 23
- Update service file from upstream
- Base config file on upstream
- Use %%license, upstream doc install
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 22.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Apr 06 2015 Kevin Fenzi <kevin@scrye.com> 22.1-1
- Update to 22.1
* Mon Jan 19 2015 Kevin Fenzi <kevin@scrye.com> 22-2
- Set default gnutls ciphers to "@SYSTEM". Fixes bug #1179328
* Mon Oct 13 2014 Kevin Fenzi <kevin@scrye.com> 22-1
- Update to 22. Fixes bug #1152080
* Fri Oct 03 2014 Kevin Fenzi <kevin@scrye.com> 21.1-6
- Sync ngircd.conf with sample template version. Fixes bug #1149012
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 21.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Mon Aug 11 2014 Kevin Fenzi <kevin@scrye.com> 21.1-4
- Set pam config to allow connections by default.
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 21.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue Apr 29 2014 Kevin Fenzi <kevin@scrye.com> 21.1-2
- Enable pam support. Fixes bug #1092706
* Wed Mar 26 2014 Kevin Fenzi <kevin@scrye.com> 21.1-1
- Update to 21.1
* Fri Nov 01 2013 Kevin Fenzi <kevin@scrye.com> 21-1
- Update to 21
* Wed Sep 04 2013 Kevin Fenzi <kevin@scrye.com> 20.3-2
- Fix docs to not include Makefiles. Fixes bug #1004557
* Sat Aug 24 2013 Kevin Fenzi <kevin@scrye.com> 20.3-1
- Update to 20.3. Fixes bug #1000690
- Fix for CVE-2013-5580

View file

@ -1 +1 @@
224681726cf88120785fd05e0c314928 ngircd-20.3.tar.gz
SHA512 (ngircd-27.tar.gz) = 54ad38b3f5a9a899106c1163f53f45c5b021f6bad3ea3b7cb9b06e619434d76416d494b046508f588b334daba5b39a451bbf28e6196ef8fffa0408e395ea3839