Spec Name or Url: http://perso.wanadoo.fr/eric.tanguy/ircd-hybrid.spec SRPM Name or Url: http://perso.wanadoo.fr/eric.tanguy/ircd-hybrid-7.1.2-1.src.rpm Description: IRCD-Hybrid is an Internet Relay Chat server
Why is everything installed under /usr/ircd? The spec file really needs some cleaning up apart from that too (the very basic buildrequires are unneeded, the way default config files are created, the docs...) I'll attach the current spec file and related files I use for my own needs, in case you want to merge parts with your spec.
Created attachment 119980 [details] Spec file
Created attachment 119981 [details] Init script
Created attachment 119982 [details] Sysconfig file
I'm just beginning in packaging and i took the spec file in the contrib rep of the source file and tried to adapt it a few. I will look with attention your files but if you want to own the package there is no problem as you seem to already did more work than me. Thanks
So i updated the src.rpm and spec file with your suggestions because i think it will be interesting to have this package in extras. But if someone else want to own this package ...
Updated to 7.1.3 Spec Name or Url: http://perso.wanadoo.fr/eric.tanguy/ircd-hybrid.spec SRPM Name or Url: http://perso.wanadoo.fr/eric.tanguy/ircd-hybrid-7.1.3-1.src.rpm
New spec file Spec Name or Url: http://perso.wanadoo.fr/eric.tanguy/ircd-hybrid.spec SRPM Name or Url: http://perso.wanadoo.fr/eric.tanguy/ircd-hybrid-7.1.3-2.src.rpm
Needs work. Missing BuildRequires: zlib-devel When it does build, it doesn't start properly: Starting ircd: runuser: warning: cannot change directory to /var/lib/ircd: No such file or directory rpmlint: E: ircd-hybrid obsolete-not-provided ircd W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/m_sjoin.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/m_squit.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/m_kick.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/m_quit.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/m_nick.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/m_kill.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/m_die.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/m_join.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/m_message.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/m_mode.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/m_server.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/m_part.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_list.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_restart.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_challenge.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_admin.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_gline.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_locops.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_whowas.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_resv.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_drop.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_eob.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_post.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_stats.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_kline.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_cryptlink.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_testline.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_encap.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_xline.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_knock.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_oper.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_accept.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_version.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_operwall.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_time.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_rehash.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_topic.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_set.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_lljoin.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_ping.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_close.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_users.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_map.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_testmask.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_motd.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_nburst.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_names.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_links.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_info.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_invite.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_who.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_svinfo.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_pass.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_tb.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_away.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_trace.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_cburst.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_userhost.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_llnick.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_user.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_lusers.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_ison.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_pong.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_capab.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_wallops.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_whois.so W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/autoload/m_connect.so E: ircd-hybrid non-standard-uid /etc/ircd/xline.conf ircd E: ircd-hybrid non-standard-gid /etc/ircd/xline.conf ircd E: ircd-hybrid non-readable /etc/ircd/xline.conf 0640 E: ircd-hybrid zero-length /etc/ircd/xline.conf E: ircd-hybrid non-standard-gid /etc/ircd ircd E: ircd-hybrid non-standard-dir-perm /etc/ircd 0770 E: ircd-hybrid non-standard-uid /etc/ircd/nresv.conf ircd E: ircd-hybrid non-standard-gid /etc/ircd/nresv.conf ircd E: ircd-hybrid non-readable /etc/ircd/nresv.conf 0640 E: ircd-hybrid zero-length /etc/ircd/nresv.conf E: ircd-hybrid non-readable /etc/sysconfig/ircd 0640 E: ircd-hybrid non-standard-uid /etc/ircd/ircd.motd ircd E: ircd-hybrid non-standard-gid /etc/ircd/ircd.motd ircd E: ircd-hybrid non-readable /etc/ircd/ircd.motd 0640 E: ircd-hybrid non-standard-uid /etc/ircd/ircd.conf ircd E: ircd-hybrid non-standard-gid /etc/ircd/ircd.conf ircd E: ircd-hybrid non-readable /etc/ircd/ircd.conf 0640 E: ircd-hybrid non-standard-gid /var/log/ircd ircd E: ircd-hybrid non-standard-dir-perm /var/log/ircd 0770 E: ircd-hybrid non-standard-uid /etc/ircd/cresv.conf ircd E: ircd-hybrid non-standard-gid /etc/ircd/cresv.conf ircd E: ircd-hybrid non-readable /etc/ircd/cresv.conf 0640 E: ircd-hybrid zero-length /etc/ircd/cresv.conf E: ircd-hybrid non-standard-uid /etc/ircd/dline.conf ircd E: ircd-hybrid non-standard-gid /etc/ircd/dline.conf ircd E: ircd-hybrid non-readable /etc/ircd/dline.conf 0640 E: ircd-hybrid zero-length /etc/ircd/dline.conf W: ircd-hybrid wrong-file-end-of-line-encoding /usr/share/doc/ircd-hybrid-7.1.3/Tao-of-IRC.940110 E: ircd-hybrid non-standard-uid /etc/ircd/kline.conf ircd E: ircd-hybrid non-standard-gid /etc/ircd/kline.conf ircd E: ircd-hybrid non-readable /etc/ircd/kline.conf 0640 E: ircd-hybrid zero-length /etc/ircd/kline.conf W: ircd-hybrid log-files-without-logrotate /var/log/ircd W: ircd-hybrid non-standard-dir-in-usr libexec E: ircd-hybrid no-chkconfig-line /etc/rc.d/init.d/ircd W: ircd-hybrid incoherent-init-script-name ircd You'll need to Provide: ircd %{version}-%{release} if you want to obsolete it. For some reason none of the modules got stripped.
(In reply to comment #9) > Needs work. > > Missing BuildRequires: zlib-devel It seems that it is redundant with openssl-devel and it builds fine in mock without it. > > When it does build, it doesn't start properly: > Starting ircd: runuser: warning: cannot change directory to /var/lib/ircd: No > such file or directory > I nerver had this problem starting ircd as a service. Where do you get this error ? > > rpmlint: > > E: ircd-hybrid obsolete-not-provided ircd > W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/m_sjoin.so > W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/m_squit.so > W: ircd-hybrid unstripped-binary-or-object /usr/lib/ircd/modules/m_kick.so > .... > > > You'll need to Provide: ircd %{version}-%{release} if you want to obsolete it. Commented it because it's not really necessary > > For some reason none of the modules got stripped. > Solved changing the permissions of all the modules Spec Name or Url: http://perso.wanadoo.fr/eric.tanguy/ircd-hybrid.spec SRPM Name or Url: http://perso.wanadoo.fr/eric.tanguy/ircd-hybrid-7.1.3-3.src.rpm
I did rpmbuild directly on the SRPM, FC4. Modules are now stripped. OK, openssl-devel requires zlib-devel. rpmlint still complains about non-standard uid and gid. Note that uid and gid conflicts need to be avoided, see http://fedoraproject.org/wiki/PackageUserCreation Currently there is no ideal solution, though you can register ircd to avoid conflicts. The start problem is because you define ircd's home to be %{_var}/lib/ircd, which doesn't exist.
(In reply to comment #11) > I did rpmbuild directly on the SRPM, FC4. > > Modules are now stripped. > > OK, openssl-devel requires zlib-devel. > > rpmlint still complains about non-standard uid and gid. Note that uid and gid > conflicts need to be avoided, see > http://fedoraproject.org/wiki/PackageUserCreation Currently there is no ideal > solution, though you can register ircd to avoid conflicts. I'm not sure to well understand this problem. If in the spec file i replace %{_sbindir}/useradd -s /sbin/nologin -M -r -d %{_var}/lib/ircd \ -c "IRC service account" ircd &>/dev/null || : by %{_sbindir}/fedora-useradd 10 -s /sbin/nologin -M -r -d %{_var}/lib/ircd \ -c "IRC service account" ircd &>/dev/null || : rpmlint still complains about non-standard uid and gid. I don't understand what you mean abour register ircd. Sorry for that but i'm a "new" packager and i still have to learn ... > > The start problem is because you define ircd's home to be %{_var}/lib/ircd, > which doesn't exist. If i remerber well the defined home in useradd is created by default if it does not exist ?
(In reply to comment #12) > (In reply to comment #11) > > I did rpmbuild directly on the SRPM, FC4. > > > > Modules are now stripped. > > > > OK, openssl-devel requires zlib-devel. > > > > rpmlint still complains about non-standard uid and gid. Note that uid and gid > > conflicts need to be avoided, see > > http://fedoraproject.org/wiki/PackageUserCreation Currently there is no ideal > > solution, though you can register ircd to avoid conflicts. > > I'm not sure to well understand this problem. If in the spec file i replace > %{_sbindir}/useradd -s /sbin/nologin -M -r -d %{_var}/lib/ircd \ > -c "IRC service account" ircd &>/dev/null || : > by > %{_sbindir}/fedora-useradd 10 -s /sbin/nologin -M -r -d %{_var}/lib/ircd \ > -c "IRC service account" ircd &>/dev/null || : > rpmlint still complains about non-standard uid and gid. > I don't understand what you mean abour register ircd. > Sorry for that but i'm a "new" packager and i still have to learn ... It will do. Don't worry about it. It's entirely up to you if you want to use the optional fedora-useradd mechanism, and I believe you register the UID to use by editing the wiki page http://fedoraproject.org/wiki/PackageUserRegistry (UID 10 is already taken). > > The start problem is because you define ircd's home to be %{_var}/lib/ircd, > > which doesn't exist. > If i remerber well the defined home in useradd is created by default if it does > not exist ? You've used the -M option in useradd, which means "The userâs home directory will not be created, even if the system wide settings from /etc/login.defs is to create home dirs". You should create this directory in the %install section of your spec and make sure that your package "owns" that directory by including it in the %files list, with an appropriate %attr clause to make the directory owned by user ircd and have the right permissions.
(In reply to comment #13) > (In reply to comment #12) > > (In reply to comment #11) > > > I did rpmbuild directly on the SRPM, FC4. > > > > > > Modules are now stripped. > > > > > > OK, openssl-devel requires zlib-devel. > > > > > > rpmlint still complains about non-standard uid and gid. Note that uid and gid > > > conflicts need to be avoided, see > > > http://fedoraproject.org/wiki/PackageUserCreation Currently there is no ideal > > > solution, though you can register ircd to avoid conflicts. > > > > I'm not sure to well understand this problem. If in the spec file i replace > > %{_sbindir}/useradd -s /sbin/nologin -M -r -d %{_var}/lib/ircd \ > > -c "IRC service account" ircd &>/dev/null || : > > by > > %{_sbindir}/fedora-useradd 10 -s /sbin/nologin -M -r -d %{_var}/lib/ircd \ > > -c "IRC service account" ircd &>/dev/null || : > > rpmlint still complains about non-standard uid and gid. > > I don't understand what you mean abour register ircd. > > Sorry for that but i'm a "new" packager and i still have to learn ... > > It will do. Don't worry about it. It's entirely up to you if you want to use the > optional fedora-useradd mechanism, and I believe you register the UID to use by > editing the wiki page http://fedoraproject.org/wiki/PackageUserRegistry (UID 10 > is already taken). I will take UID 14 : %{_sbindir}/fedora-useradd 14 -s /sbin/nologin -M -r -d %{_var}/lib/ircd \ -c "IRC service account" ircd &>/dev/null || : but i can't see how to edit the wiki page http://fedoraproject.org/wiki/PackageUserRegistry maybe only some registered users can ? > > > > The start problem is because you define ircd's home to be %{_var}/lib/ircd, > > > which doesn't exist. > > If i remerber well the defined home in useradd is created by default if it does > > not exist ? > > You've used the -M option in useradd, which means "The userâs home directory > will not be created, even if the system wide settings from > /etc/login.defs is to create home dirs". You should create this directory in the > %install section of your spec and make sure that your package "owns" that > directory by including it in the %files list, with an appropriate %attr clause > to make the directory owned by user ircd and have the right permissions. > So if i put %{__mkdir_p} %{buildroot}%{_var}/lib/ircd in %install section and %attr(770,root,ircd) %dir %{_var}/lib/ircd in %files section it will be ok ?
(In reply to comment #14) > (In reply to comment #13) > > (In reply to comment #12) > > > (In reply to comment #11) > > > > I did rpmbuild directly on the SRPM, FC4. > > > > > > > > Modules are now stripped. > > > > > > > > OK, openssl-devel requires zlib-devel. > > > > > > > > rpmlint still complains about non-standard uid and gid. Note that uid and gid > > > > conflicts need to be avoided, see > > > > http://fedoraproject.org/wiki/PackageUserCreation Currently there is no ideal > > > > solution, though you can register ircd to avoid conflicts. > > > > > > I'm not sure to well understand this problem. If in the spec file i replace > > > %{_sbindir}/useradd -s /sbin/nologin -M -r -d %{_var}/lib/ircd \ > > > -c "IRC service account" ircd &>/dev/null || : > > > by > > > %{_sbindir}/fedora-useradd 10 -s /sbin/nologin -M -r -d %{_var}/lib/ircd \ > > > -c "IRC service account" ircd &>/dev/null || : > > > rpmlint still complains about non-standard uid and gid. > > > I don't understand what you mean abour register ircd. > > > Sorry for that but i'm a "new" packager and i still have to learn ... > > > > It will do. Don't worry about it. It's entirely up to you if you want to use the > > optional fedora-useradd mechanism, and I believe you register the UID to use by > > editing the wiki page http://fedoraproject.org/wiki/PackageUserRegistry (UID 10 > > is already taken). > > I will take UID 14 : %{_sbindir}/fedora-useradd 14 -s /sbin/nologin -M -r -d > %{_var}/lib/ircd \ > -c "IRC service account" ircd &>/dev/null || : > but i can't see how to edit the wiki page > http://fedoraproject.org/wiki/PackageUserRegistry maybe only some registered > users can ? You need to be added to the EditGroup for the Wiki. Do you have a Wiki account, and if so, what is it called? > > > > The start problem is because you define ircd's home to be %{_var}/lib/ircd, > > > > which doesn't exist. > > > If i remerber well the defined home in useradd is created by default if it does > > > not exist ? > > > > You've used the -M option in useradd, which means "The userâs home directory > > will not be created, even if the system wide settings from > > /etc/login.defs is to create home dirs". You should create this directory in the > > %install section of your spec and make sure that your package "owns" that > > directory by including it in the %files list, with an appropriate %attr clause > > to make the directory owned by user ircd and have the right permissions. > > > So if i put %{__mkdir_p} %{buildroot}%{_var}/lib/ircd in %install section > and %attr(770,root,ircd) %dir %{_var}/lib/ircd in %files section it will be ok ? That's the idea, though I'd be inclined to make the directory owned by the user ircd as well as the group: %attr(770,ircd,ircd) %dir %{_var}/lib/ircd
Spec Name or Url: http://perso.wanadoo.fr/eric.tanguy/ircd-hybrid.spec SRPM Name or Url: http://perso.wanadoo.fr/eric.tanguy/ircd-hybrid-7.1.3-4.src.rpm I have a wiki account : EricTanguy but i can't edit PackageUserRegistry.
(In reply to comment #16) > I have a wiki account : EricTanguy but i can't edit PackageUserRegistry. You should be able to do this now (I added your account on the EditGroup page)
Ok it's done and about the package ? :-)
Ignoring non standard uid/guid files only readable by ircd, and zero length config files, rpmlint still says: W: ircd-hybrid wrong-file-end-of-line-encoding /usr/share/doc/ircd-hybrid-7.1.3/Tao-of-IRC.940110 W: ircd-hybrid log-files-without-logrotate /var/log/ircd E: ircd-hybrid no-chkconfig-line /etc/rc.d/init.d/ircd W: ircd-hybrid incoherent-init-script-name ircd The important one is the chkconfig line. See the chkconfig man page for how to add it.
(In reply to comment #19) > Ignoring non standard uid/guid files only readable by ircd, and zero length > config files, rpmlint still says: > > W: ircd-hybrid wrong-file-end-of-line-encoding > /usr/share/doc/ircd-hybrid-7.1.3/Tao-of-IRC.940110 I can't see anything wrong in this file > W: ircd-hybrid log-files-without-logrotate /var/log/ircd Is it very important ? > E: ircd-hybrid no-chkconfig-line /etc/rc.d/init.d/ircd > W: ircd-hybrid incoherent-init-script-name ircd I can't understand this warning > > The important one is the chkconfig line. See the chkconfig man page for how to > add it. Done : Spec Name or Url: http://perso.wanadoo.fr/eric.tanguy/ircd-hybrid.spec SRPM Name or Url: http://perso.wanadoo.fr/eric.tanguy/ircd-hybrid-7.1.3-5.src.rpm
Wrong file end of line means it has the wrong line characters at the end. Not a big deal, if you wanted to fix it run dos2unix on it (which would have to be a BuildRequires) logrotate is nice, but not mandatory. incoherent init script means it wasn't expecting it to be called ircd. Not a blocker either. rpmlint also complains about non readable files chmodded 640, these are however readable by ircd which is what we want. rpmlint also says: W: ircd-hybrid service-default-enabled /etc/rc.d/init.d/ircd We don't want ircd starting by default, users have to enable that. So put a - in the chkconfig line so it doesn't. On a more serious problem, after installing, building, and starting on FC4, ircd seems to just quit. No ircd processes remain, and "telnet localhost 6667" is refused.
(In reply to comment #21) > Wrong file end of line means it has the wrong line characters at the end. Not a > big deal, if you wanted to fix it run dos2unix on it (which would have to be a > BuildRequires) Done > > logrotate is nice, but not mandatory. > > incoherent init script means it wasn't expecting it to be called ircd. Not a > blocker either. > > > rpmlint also complains about non readable files chmodded 640, these are however > readable by ircd which is what we want. > > rpmlint also says: > W: ircd-hybrid service-default-enabled /etc/rc.d/init.d/ircd > > We don't want ircd starting by default, users have to enable that. So put a - in > the chkconfig line so it doesn't. Done > > On a more serious problem, after installing, building, and starting on FC4, ircd > seems to just quit. No ircd processes remain, and "telnet localhost 6667" is > refused. It was an access problem ot /etc/ircd by ircd : solved Now it runs fine if the ircd.conf is ok Spec Name or Url: http://perso.wanadoo.fr/eric.tanguy/ircd-hybrid.spec SRPM Name or Url: http://perso.wanadoo.fr/eric.tanguy/ircd-hybrid-7.1.3-6.src.rpm
Forgot to edit the "read the config file option". Oops. - package meets naming guidelines - package meets packaging guidelines - license (GPL) OK, text in %doc, matches source - spec file legible, in am. english - source matches upstream - package compiles on FC4 i386 - runs, can connect - no missing BR - no unnecessary BR - no locales - not relocatable - owns all directories that it creates - no duplicate files - permissions ok (rpmlint complains non-readable, but ircd can read them) - %clean ok - macro use consistent - code, not content - no need for -docs - nothing in %doc affects runtime - no need for .desktop file Why have an empty /var/lib/ircd be ircd's home, when /usr/lib/ircd already exists in this package? I would change this, but your choice. Looks good. APPROVED