]> code.citadel.org Git - citadel.git/blob - citadel/citadel.spec
* citadel.spec: BuildRequire bison
[citadel.git] / citadel / citadel.spec
1 # $Id$
2 Summary: Citadel/UX, the flexible, powerful way to build online communities
3 Name: citadel
4 Version: 6.20p1
5 Release: 3
6 Copyright: GPL
7 Group: Applications/Communications
8 Source0: http://my.citadel.org/download/citadel-ux-%{PACKAGE_VERSION}.tar.gz
9 Buildroot: /var/tmp/citadel-%{PACKAGE_VERSION}-root
10 #Icon: citux-64x64.xpm
11 Vendor: Citadel/UX Development Team
12 URL:  http://uncensored.citadel.org/citadel/
13
14 # I don't think we should actually Require this because we can be configured
15 # not to connect to an LDAP server. So we really only require the client
16 # libraries, and the runtime dependency on that is detected automatically by
17 # RPM.
18 #Requires: openldap-servers
19
20 # Note some of these BuildRequire's are Linux specific and possibly even
21 # distribution specific, but I am adding them FOR NOW just to document the
22 # dependencies and make it more likely that everyone is building identical
23 # packages.
24 BuildRequires: gcc
25 BuildRequires: bison
26 BuildRequires: glibc-devel
27 BuildRequires: openldap-devel
28 BuildRequires: db4-devel >= 4.1
29 BuildRequires: pam-devel
30 BuildRequires: newt-devel
31 BuildRequires: openssl-devel
32 BuildRequires: ncurses-devel
33 BuildRequires: zlib-devel
34 #Autoprov: false
35 ExcludeOS: hpux
36
37 %description
38 An advanced messaging system which can be used for BBS, groupware, and
39 online community applications.  It is multithreaded, client/server, database
40 driven, and accessible via a growing selection of front ends.
41
42 %prep
43 %setup -n citadel
44
45 %build
46 CFLAGS="$RPM_OPT_FLAGS" ./configure --with-pam --enable-autologin --with-ldap --without-newt --with-libical
47 make
48
49 %install
50 rm -rf $RPM_BUILD_ROOT
51 mkdir -p $RPM_BUILD_ROOT/etc/pam.d
52 make root=$RPM_BUILD_ROOT install
53 touch $RPM_BUILD_ROOT/usr/local/citadel/.hushlogin
54 # Things that shouldn't be "installed" but were anyway
55 rm -f $RPM_BUILD_ROOT/"/usr/local/citadel/help/?"
56 rm -f $RPM_BUILD_ROOT/usr/local/citadel/README.txt
57 rm -rf $RPM_BUILD_ROOT/usr/local/citadel/docs
58 rm -rf $RPM_BUILD_ROOT/usr/local/citadel/techdoc
59
60 %clean
61 rm -rf "$RPM_BUILD_ROOT"
62
63 %package server
64 Summary: Citadel/UX, the flexible, powerful way to build online communities
65 Group: System Environment/Daemons
66 Requires: citadel-data
67 Obsoletes: citadel
68 Obsoletes: citadel-ux
69 Obsoletes: citadel-smtp
70 Obsoletes: citadel-pop3
71 Obsoletes: citadel-imap
72 Obsoletes: citadel-mrtg
73 Obsoletes: citadel-calendar
74 %description server
75 Citadel/UX is an advanced messaging system which can be used for BBS, email,
76 groupware and online community applications.  It is multithreaded,
77 client/server, database driven, and accessible via a growing selection of
78 front ends.
79 %defattr(-,root,root)
80 %files server
81 /etc/pam.d/citadel
82 %doc docs/*
83 %doc techdoc
84 %doc README.txt
85 %dir /usr/local/citadel/bio
86 %dir /usr/local/citadel/bitbucket
87 %dir /usr/local/citadel/files
88 %dir /usr/local/citadel/images
89 %dir /usr/local/citadel/info
90 %dir /usr/local/citadel/userpics
91 /usr/local/citadel/aidepost
92 /usr/local/citadel/base64
93 %attr(4755,root,root) /usr/local/citadel/chkpwd
94 /usr/local/citadel/citmail
95 /usr/local/citadel/citserver
96 /usr/local/citadel/msgform
97 /usr/local/citadel/sendcommand
98 /usr/local/citadel/setup
99 /usr/local/citadel/stress
100 /usr/local/citadel/userlist
101 /usr/local/citadel/utilsmenu
102 %pre server
103 # Add the "bbs" user
104 /usr/sbin/useradd -c "Citadel" -s /bin/false -r -d /usr/local/citadel \
105                 citadel 2> /dev/null || :
106 %post server
107 if [ -f /etc/inittab ]; then
108         if ! grep 'citserver' /etc/inittab > /dev/null; then
109                 echo "c1:2345:respawn:/usr/local/citadel/citserver -h/usr/local/citadel -x7 -llocal4" >> /etc/inittab
110         fi
111 fi
112 if [ -f /etc/services ]; then
113         if ! grep '^citadel' /etc/services > /dev/null; then
114                 echo "citadel           504/tcp         # citadel" >> /etc/services
115         fi
116 fi
117 cd /usr/local/citadel
118 /usr/local/citadel/setup -q
119 %postun server
120 if [ -f /etc/inittab ]; then
121         grep -v 'citserver' < /etc/inittab > /etc/inittab.new && \
122         mv -f /etc/inittab.new /etc/inittab
123         /sbin/init q
124 fi
125
126 %package data
127 Summary: Data files for the Citadel/UX messaging system.
128 Group: System Environment/Daemons
129 %description data
130 Default data files for the Citadel/UX messaging system.  These files are
131 required by the Citadel/UX server.
132 %defattr(-,root,root)
133 %files data
134 /usr/local/citadel/.hushlogin
135 #%dir /usr/local/citadel/netconfigs
136 %dir /usr/local/citadel/network
137 %dir /usr/local/citadel/network/spoolin
138 %dir /usr/local/citadel/network/spoolout
139 %dir /usr/local/citadel/network/systems
140 %config(noreplace) /usr/local/citadel/network/filterlist
141 %config(noreplace) /usr/local/citadel/network/mail.aliases
142 %config(noreplace) /usr/local/citadel/network/mailinglists
143 %config(noreplace) /usr/local/citadel/network/rnews.xref
144 %config(noreplace) /usr/local/citadel/public_clients
145 %config /usr/local/citadel/help/aide
146 %config /usr/local/citadel/help/software
147 %config /usr/local/citadel/help/floors
148 %config(noreplace) /usr/local/citadel/help/hours
149 %config /usr/local/citadel/help/intro
150 %config /usr/local/citadel/help/mail
151 %config /usr/local/citadel/help/network
152 %config /usr/local/citadel/help/nice
153 %config(noreplace) /usr/local/citadel/help/policy
154 %config /usr/local/citadel/help/summary
155 %config(noreplace) /usr/local/citadel/messages/changepw
156 %config /usr/local/citadel/messages/aideopt
157 %config(noreplace) /usr/local/citadel/messages/entermsg
158 %config /usr/local/citadel/messages/dotopt
159 %config /usr/local/citadel/messages/mainmenu
160 %config /usr/local/citadel/messages/entopt
161 %config(noreplace) /usr/local/citadel/messages/goodbye
162 %config(noreplace) /usr/local/citadel/messages/hello
163 %config /usr/local/citadel/messages/help
164 %config(noreplace) /usr/local/citadel/messages/register
165 %config(noreplace) /usr/local/citadel/messages/newuser
166 %config /usr/local/citadel/messages/readopt
167 %config(noreplace) /usr/local/citadel/messages/roomaccess
168 %config(noreplace) /usr/local/citadel/messages/unlisted
169 %post data
170 # Yes, this is supposed to be executed twice; as ? might not yet exist
171 # but we want it to be listed.  It's kludgey; sue me.
172 /bin/ls /usr/local/citadel/help > "/usr/local/citadel/help/?"
173 /bin/ls /usr/local/citadel/help > "/usr/local/citadel/help/?"
174
175 %package client
176 Summary: Client for the Citadel/UX messaging system
177 Group: Applications/Communications
178 %description client
179 This is the text client software for the Citadel/UX messaging system.
180 Install this software if you need to connect to a Citadel/UX server.
181 %defattr(-,root,root)
182 %files client
183 /usr/local/citadel/citadel
184 /usr/local/citadel/citadel.rc
185 /usr/local/citadel/whobbs
186 %post client
187 if [ -f /etc/services ]; then
188         if ! grep '^citadel' /etc/services > /dev/null; then
189                 echo "citadel           504/tcp         # citadel" >> /etc/services
190         fi
191 fi