]> git.pld-linux.org Git - packages/asterisk.git/blob - asterisk.spec
- package more files
[packages/asterisk.git] / asterisk.spec
1 # TODO:
2 # - cgi-bin package - separate, because of suid-root
3 # - use shared versions of LIBILBC:=ilbc/libilbc.a (ilbc not enabled currently)
4 # - CFLAGS passing
5 # - fix bluetooth patch
6 # - make package for moh sound files
7 # - likely odbc and imap broken (identical code, some #define not working, etc):
8 #   *** WARNING: identical binaries are copied, not linked:
9 #     %attr(755,root,root) %{_libdir}/asterisk/modules/app_directory_odbc.so
10 #   and  /usr/lib64/asterisk/modules/app_directory_imap.so
11 #   *** WARNING: identical binaries are copied, not linked:
12 #     %attr(755,root,root) %{_libdir}/asterisk/modules/app_directory_plain.so
13 #   and  /usr/lib64/asterisk/modules/app_directory_imap.so
14 # - ncurses dep gone for good (replaced by libedit)?
15 # - missing/failed features:
16 # $ grep =0 build_tools/menuselect-deps
17 #   NBS=0 AST_EXT_LIB_SETUP([NBS], [Network Broadcast Sound], [nbs])
18 #   SS7=0 AST_EXT_LIB_SETUP([SS7], [ISDN SS7], [ss7])
19 #   VPBAPI=0 AST_EXT_LIB_SETUP([VPB], [Voicetronix API], [vpb])
20 # - %attr(755,root,root) %{_libdir}/asterisk/modules/chan_usbradio.so
21 # - app_{rx,tx}fax seems to b replaced by app_fax alongside latest spanddsp
22 #   See: http://sourceforge.net/projects/agx-ast-addons/
23 #        https://agx-ast-addons.svn.sourceforge.net/svnroot/agx-ast-addons/trunk/attic/
24 #
25 # Conditional build:
26 %bcond_with     rxfax           # without rx (also tx:-D) fax
27 %bcond_with     bluetooth       # without bluetooth support (NFT)
28 %bcond_with     zhone           # zhone hack
29 %bcond_with     zhone_hack      # huge hack workarounding broken zhone channel banks which start randomly
30                                 # issuing pulse-dialled calls to weird numbers
31 %bcond_with     bristuff        # BRIstuff (Junghanns.NET BRI adapters) support
32 %bcond_without  apidocs         # disable apidocs building
33 %bcond_without  verbose         # verbose build
34
35 %define         spandsp_version 0.0.2pre26
36 %define         rel     0.1
37 Summary:        Asterisk PBX
38 Summary(pl.UTF-8):      Centralka (PBX) Asterisk
39 Name:           asterisk
40 Version:        1.8.0
41 Release:        %{rel}%{?with_bristuff:.bristuff}
42 License:        GPL v2
43 Group:          Applications/System
44 Source0:        http://downloads.digium.com/pub/asterisk/releases/%{name}-%{version}.tar.gz
45 # Source0-md5:  83203b43aaf12f36bdc953d6b04d18a4
46 Source1:        %{name}.init
47 Source2:        %{name}.sysconfig
48 Source5:        %{name}.logrotate
49 Source10:       app_txfax.c
50 Source11:       app_rxfax.c
51 Patch0:         mxml-system.patch
52 Patch1:         lua51-path.patch
53 Patch2:         %{name}-no_k6_on_sparc.patch
54 Patch3:         %{name}-lib.patch
55 Patch4:         %{name}-ppc.patch
56 Patch5:         external-libedit.patch
57 Patch6:         pkg-config-gmime.patch
58 Patch7:         FHS-paths.patch
59 Patch8:         libedit-history.patch
60 Patch9:         pld-banner.patch
61 # http://soft-switch.org/downloads/spandsp/spandsp-%{spandsp_version}/asterisk-1.2.x/apps_Makefile.patch
62 Patch10:        %{name}-txfax-Makefile.patch
63 Patch11:        %{name}-chan_bluetooth.patch
64 Patch12:        %{name}-zhone.patch
65 # http://svn.debian.org/wsvn/pkg-voip/asterisk/trunk/debian/patches/bristuff
66 Patch13:        %{name}-bristuff.patch
67 Patch14:        %{name}-bristuff-build.patch
68 Patch15:        %{name}-bristuff-libpri.patch
69 Patch16:        lpc10-system.patch
70 Patch17:        gsm-libpoison.patch
71 Patch18:        Fix-history-loading-when-using-external-libedit.patch
72 Patch19:        %{name}-misdn-locale_t.patch
73 URL:            http://www.asterisk.org/
74 BuildRequires:  OSPToolkit-devel >= 3.6.1
75 BuildRequires:  SDL_image-devel
76 BuildRequires:  alsa-lib-devel
77 BuildRequires:  autoconf
78 BuildRequires:  automake
79 BuildRequires:  bison
80 %{?with_bluetooth:BuildRequires: bluez-devel}
81 BuildRequires:  curl-devel
82 BuildRequires:  dahdi-linux-devel
83 BuildRequires:  dahdi-tools-devel >= 2.0.0
84 BuildRequires:  doxygen
85 BuildRequires:  freetds-devel >= 0.63
86 BuildRequires:  gawk
87 BuildRequires:  gcc >= 5:3.4
88 BuildRequires:  gmime22-devel
89 BuildRequires:  gtk+2-devel
90 BuildRequires:  iksemel-devel
91 BuildRequires:  imap-devel
92 BuildRequires:  jack-audio-connection-kit-devel
93 BuildRequires:  libcap-devel
94 BuildRequires:  libedit-devel
95 BuildRequires:  libgsm-devel
96 BuildRequires:  libogg-devel
97 BuildRequires:  libresample-devel
98 BuildRequires:  libvorbis-devel
99 BuildRequires:  libxml2-devel
100 BuildRequires:  lpc10-devel
101 BuildRequires:  lua51-devel
102 BuildRequires:  mISDNuser-devel
103 BuildRequires:  mxml-devel
104 BuildRequires:  mysql-devel
105 BuildRequires:  ncurses-devel
106 BuildRequires:  neon-devel
107 BuildRequires:  net-snmp-devel
108 BuildRequires:  newt-devel
109 BuildRequires:  openais-devel
110 BuildRequires:  openh323-devel >= 1.19.0
111 BuildRequires:  openldap-devel
112 BuildRequires:  openssl-devel >= 0.9.7d
113 BuildRequires:  pam-devel
114 BuildRequires:  pkgconfig
115 BuildRequires:  popt-devel
116 BuildRequires:  portaudio-devel >= 19
117 BuildRequires:  postgresql-devel
118 BuildRequires:  pwlib-devel
119 BuildRequires:  radiusclient-ng-devel
120 BuildRequires:  rpmbuild(macros) >= 1.268
121 BuildRequires:  sed >= 4.0
122 BuildRequires:  spandsp-devel >= 0.0.5
123 BuildRequires:  speex-devel
124 BuildRequires:  sqlite-devel
125 BuildRequires:  sqlite3-devel
126 BuildRequires:  unixODBC-devel
127 BuildRequires:  xorg-lib-libX11-devel
128 BuildRequires:  zlib-devel
129 Requires(postun):       /usr/sbin/groupdel
130 Requires(postun):       /usr/sbin/userdel
131 Requires(pre):  /bin/id
132 Requires(pre):  /usr/bin/getgid
133 Requires(pre):  /usr/sbin/groupadd
134 Requires(pre):  /usr/sbin/useradd
135 Provides:       group(asterisk)
136 Provides:       user(asterisk)
137 %if %{with bristuff}
138 BuildRequires:  libgsmat-devel
139 BuildRequires:  libpri-bristuff-devel >= 1.2.4
140 %else
141 BuildRequires:  libpri-devel >= 1.4.6
142 %endif
143 Requires(post,preun):   /sbin/chkconfig
144 %if %{with fc}
145 BuildRequires:  libss7-devel >= 1.0.1
146 BuildRequires:  libtool-ltdl-devel
147 BuildRequires:  libusb-devel
148 BuildRequires:  lm_sensors-devel
149 %endif
150 Requires:       rc-scripts
151 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
152
153 %description
154 Asterisk is an Open Source PBX and telephony development platform that
155 can both replace a conventional PBX and act as a platform for
156 developing custom telephony applications for delivering dynamic
157 content over a telephone similarly to how one can deliver dynamic
158 content through a web browser using CGI and a web server.
159
160 Asterisk talks to a variety of telephony hardware including BRI, PRI,
161 POTS, and IP telephony clients using the Inter-Asterisk eXchange
162 protocol (e.g. gnophone or miniphone). For more information and a
163 current list of supported hardware, see http://www.asterisk.org/.
164
165 %description -l pl.UTF-8
166 Asterisk to wolnodostępna centralka (PBX) i platforma programistyczna
167 dla telefonii, mogąca zastąpić konwencjonalne PBX-y oraz służyć jako
168 platforma do rozwijania własnych aplikacji telefonicznych do
169 przekazywania dynamicznej treści przez telefon, podobnie jak można
170 przekazywać dynamiczną treść przez przeglądarkę WWW przy użyciu CGI i
171 serwera WWW.
172
173 Asterisk współpracuje z wielorakim sprzętem telefonicznym, w tym BRI,
174 PRI, POTS oraz klienty telefonii IP używające protokołu Inter-Asterisk
175 eXchange (np. gnophone lub miniphone). Więcej informacji i listę
176 obsługiwanego sprzętu można znaleźć pod http://www.asterisk.org/.
177
178 %package devel
179 Summary:        Header files for Asterisk platform
180 Summary(pl.UTF-8):      Pliki nagłówkowe platformy Asterisk
181 Group:          Development
182
183 %description devel
184 Header files for Asterisk development platform.
185
186 %description devel -l pl.UTF-8
187 Pliki nagłówkowe platformy programistycznej Asterisk.
188
189 %package ais
190 Summary:        Modules for Asterisk that use OpenAIS
191 Group:          Applications/Networking
192 Requires:       %{name} = %{version}-%{release}
193
194 %description ais
195 Modules for Asterisk that use OpenAIS.
196
197 %package alsa
198 Summary:        Modules for Asterisk that use Alsa sound drivers
199 Group:          Applications/Networking
200 Requires:       %{name} = %{version}-%{release}
201
202 %description alsa
203 Modules for Asterisk that use Alsa sound drivers.
204
205 %package astman
206 Summary:        Astman is a text mode Manager for Asterisk
207 Group:          Applications/Networking
208
209 %description astman
210 Astman is a text mode Manager for Asterisk.
211
212 Astman connects to Asterisk by TCP, so you can run Astman on a
213 completely different computer than your Asterisk computer.
214
215 %package curl
216 Summary:        Modules for Asterisk that use cURL
217 Group:          Applications/Networking
218 Requires:       %{name} = %{version}-%{release}
219
220 %description curl
221 Modules for Asterisk that use cURL.
222
223 %package dahdi
224 Summary:        Modules for Asterisk that use DAHDI
225 Group:          Applications/Networking
226 Requires(pre):  /usr/sbin/usermod
227 Requires:       %{name} = %{version}-%{release}
228 Requires:       dahdi-tools >= 2.0.0
229
230 %description dahdi
231 Modules for Asterisk that use DAHDI.
232
233 %package fax
234 Summary:        FAX applications for Asterisk
235 Group:          Applications/Networking
236 Requires:       %{name} = %{version}-%{release}
237
238 %description fax
239 FAX applications for Asterisk
240
241 %package festival
242 Summary:        Festival application for Asterisk
243 Group:          Applications/Networking
244 Requires:       %{name} = %{version}-%{release}
245 Requires:       festival
246
247 %description festival
248 Application for the Asterisk PBX that uses Festival to convert text to
249 speech.
250
251 %package gsm
252 Summary:        Support GSM audio encoding/decoding
253 Group:          Applications/Networking
254 Requires:       %{name} = %{version}-%{release}
255
256 %description gsm
257 Support GSM audio encoding/decoding.
258
259 %package h323
260 Summary:        H.323 protocol support for Asterisk
261 Group:          Applications/Networking
262 Requires:       %{name} = %{version}-%{release}
263
264 %description h323
265 This channel driver (chan_h323) provides support for the H.323
266 protocol for Asterisk. This is an implementation originally
267 contributed by NuFone and nowdays maintained and distributed by
268 Digium, Inc. Hence, it is considered the official H.323 chanel driver.
269
270 %package http
271 Summary:        HTTP Server Support
272 Group:          Applications/Networking
273 Requires:       %{name} = %{version}-%{release}
274
275 %description http
276 HTTP Server Support.
277
278 %package ices
279 Summary:        Stream audio from Asterisk to an IceCast server
280 Group:          Applications/Networking
281 Requires:       %{name} = %{version}-%{release}
282 Requires:       ices
283 Obsoletes:      asterisk < 1.4.18-1
284 Conflicts:      asterisk < 1.4.18-1
285
286 %description ices
287 Stream audio from Asterisk to an IceCast server.
288
289 %package jabber
290 Summary:        Jabber/XMPP resources for Asterisk
291 Group:          Applications/Networking
292 Requires:       %{name} = %{version}-%{release}
293
294 %description jabber
295 Jabber/XMPP resources for Asterisk.
296
297 %package jack
298 Summary:        JACK resources for Asterisk
299 Group:          Applications/Networking
300 Requires:       %{name} = %{version}-%{release}
301
302 %description jack
303 JACK resources for Asterisk.
304
305 %package lua
306 Summary:        Lua resources for Asterisk
307 Group:          Applications/Networking
308 Requires:       %{name} = %{version}-%{release}
309
310 %description lua
311 Lua resources for Asterisk.
312
313 %package ldap
314 Summary:        LDAP resources for Asterisk
315 Group:          Applications/Networking
316 Requires:       %{name} = %{version}-%{release}
317
318 %description ldap
319 LDAP resources for Asterisk.
320
321 %package ldap-fds
322 Summary:        LDAP resources for Asterisk and the Fedora Directory Server
323 Group:          Applications/Networking
324 Requires:       %{name} = %{version}-%{release}
325 Requires:       %{name}-ldap = %{version}-%{release}
326 Requires:       fedora-ds-base
327
328 %description ldap-fds
329 LDAP resources for Asterisk and the Fedora Directory Server.
330
331 %package lpc10
332 Summary:        LPC-10 2400 bps Voice Codec support
333 Group:          Applications/Networking
334 Requires:       %{name} = %{version}-%{release}
335
336 %description lpc10
337 LPC-10 2400 bps Voice Codec support
338
339 %package misdn
340 Summary:        mISDN channel for Asterisk
341 Group:          Applications/Networking
342 Requires(pre):  /usr/sbin/usermod
343 Requires:       %{name} = %{version}-%{release}
344
345 %description misdn
346 mISDN channel for Asterisk.
347
348 %package minivm
349 Summary:        MiniVM applicaton for Asterisk
350 Group:          Applications/Networking
351 Requires:       %{name} = %{version}-%{release}
352
353 %description minivm
354 MiniVM application for Asterisk.
355
356 %package odbc
357 Summary:        Applications for Asterisk that use ODBC (except voicemail)
358 Group:          Applications/Networking
359 Requires:       %{name} = %{version}-%{release}
360
361 %description odbc
362 Applications for Asterisk that use ODBC (except voicemail)
363
364 %package osp
365 Summary:        Modules for Asterisk that use Open Settlement Protocol (OSP) Applications
366 Group:          Applications/Networking
367 Requires:       %{name} = %{version}-%{release}
368
369 %description osp
370 Open Settlement Protocol (OSP) Applications.
371
372 %package oss
373 Summary:        Modules for Asterisk that use OSS sound drivers
374 Group:          Applications/Networking
375 Requires:       %{name} = %{version}-%{release}
376
377 %description oss
378 Modules for Asterisk that use OSS sound drivers.
379
380 %package portaudio
381 Summary:        Modules for Asterisk that use the portaudio library
382 Group:          Applications/Networking
383 Requires:       %{name} = %{version}-%{release}
384
385 %description portaudio
386 Modules for Asterisk that use the portaudio library.
387
388 %package postgresql
389 Summary:        Applications for Asterisk that use PostgreSQL
390 Group:          Applications/Networking
391 Requires:       %{name} = %{version}-%{release}
392
393 %description postgresql
394 Applications for Asterisk that use PostgreSQL.
395
396 %package radius
397 Summary:        Applications for Asterisk that use RADIUS
398 Group:          Applications/Networking
399 Requires:       %{name} = %{version}-%{release}
400
401 %description radius
402 Applications for Asterisk that use RADIUS.
403
404 %package resample
405 Summary:        resample codec
406 Group:          Applications/Networking
407 Requires:       %{name} = %{version}-%{release}
408
409 %description resample
410 resample codec.
411
412 %package skinny
413 Summary:        Modules for Asterisk that support the SCCP/Skinny protocol
414 Group:          Applications/Networking
415 Requires:       %{name} = %{version}-%{release}
416
417 %description skinny
418 Modules for Asterisk that support the SCCP/Skinny protocol.
419
420 %package snmp
421 Summary:        Module that enables SNMP monitoring of Asterisk
422 Group:          Applications/Networking
423 Requires:       %{name} = %{version}-%{release}
424 Requires:       mibs-dirs
425
426 %description snmp
427 Module that enables SNMP monitoring of Asterisk.
428
429 %package speex
430 Summary:        Speex codec support
431 Group:          Applications/Networking
432 Requires:       %{name} = %{version}-%{release}
433
434 %description speex
435 Speex codec support.
436
437 %package sqlite
438 Summary:        Sqlite modules for Asterisk
439 Group:          Applications/Networking
440 Requires:       %{name} = %{version}-%{release}
441
442 %description sqlite
443 Sqlite modules for Asterisk.
444
445 %package tds
446 Summary:        Modules for Asterisk that use FreeTDS
447 Group:          Applications/Networking
448 Requires:       %{name} = %{version}-%{release}
449
450 %description tds
451 Modules for Asterisk that use FreeTDS.
452
453 %package unistim
454 Summary:        Unistim channel for Asterisk
455 Group:          Applications/Networking
456 Requires:       %{name} = %{version}-%{release}
457
458 %description unistim
459 Unistim channel for Asterisk
460
461 %package usbradio
462 Summary:        USB radio channel for Asterisk
463 Group:          Applications/Networking
464 Requires:       %{name} = %{version}-%{release}
465
466 %description usbradio
467 Unistim channel for Asterisk
468
469 %package voicemail
470 Summary:        Common Voicemail Modules for Asterisk
471 Group:          Applications/Networking
472 Requires:       %{name} = %{version}-%{release}
473 Requires:       %{name}-voicemail-implementation = %{version}-%{release}
474 Requires:       /usr/lib/sendmail
475 Requires:       sox
476
477 %description voicemail
478 Common Voicemail Modules for Asterisk.
479
480 %package voicemail-imap
481 Summary:        Store voicemail on an IMAP server
482 Group:          Applications/Networking
483 Requires:       %{name} = %{version}-%{release}
484 Requires:       %{name}-voicemail = %{version}-%{release}
485 Provides:       %{name}-voicemail-implementation = %{version}-%{release}
486
487 %description voicemail-imap
488 Voicemail implementation for Asterisk that stores voicemail on an IMAP
489 server.
490
491 %package voicemail-odbc
492 Summary:        Store voicemail in a database using ODBC
493 Group:          Applications/Networking
494 Requires:       %{name} = %{version}-%{release}
495 Requires:       %{name}-voicemail = %{version}-%{release}
496 Provides:       %{name}-voicemail-implementation = %{version}-%{release}
497
498 %description voicemail-odbc
499 Voicemail implementation for Asterisk that uses ODBC to store
500 voicemail in a database.
501
502 %package voicemail-plain
503 Summary:        Store voicemail on the local filesystem
504 Group:          Applications/Networking
505 Requires:       %{name} = %{version}-%{release}
506 Requires:       %{name}-voicemail = %{version}-%{release}
507 Provides:       %{name}-voicemail-implementation = %{version}-%{release}
508
509 %description voicemail-plain
510 Voicemail implementation for Asterisk that stores voicemail on the
511 local filesystem.
512
513 %package vorbis
514 Summary:        Ogg Vorbis format support
515 Group:          Applications/Networking
516 Requires:       %{name} = %{version}-%{release}
517
518 %description vorbis
519 Ogg Vorbis format support.
520
521 # define apidocs as last package, as it is the biggest one
522 %package apidocs
523 Summary:        API documentation for Asterisk
524 Group:          Documentation
525
526 %description apidocs
527 API documentation for Asterisk.
528
529 %prep
530 %setup -q
531 %patch0 -p1
532 %patch1 -p1
533 %patch2 -p1
534 %patch3 -p1
535 %patch4 -p1
536 %patch5 -p0
537 %patch6 -p0
538 %patch7 -p0
539 %patch8 -p1
540 %patch9 -p1
541 %if %{with zhone}
542 sed -i -e 's|.*#define.*ZHONE_HACK.*|#define ZHONE_HACK 1|g' channels/chan_zap.c
543 %endif
544 %if %{with rxfax}
545 cd apps
546 %patch10 -p0
547 cp %{SOURCE10} .
548 cp %{SOURCE11} .
549 %endif
550 %{?with_bluetooth:%patch11 -p1}
551 %{?with_zhonehack:%patch12 -p1}
552 %if %{with bristuff}
553 %patch13 -p1
554 %patch14 -p1
555 %patch15 -p1
556 %endif
557 %patch16 -p1
558 %patch17 -p1
559 %patch18 -p1
560 %patch19 -p1
561
562 # Fixup makefile so sound archives aren't downloaded/installed
563 %{__sed} -i -e 's/^all:.*$/all:/' sounds/Makefile
564 %{__sed} -i -e 's/^install:.*$/install:/' sounds/Makefile
565
566 # avoid using these
567 rm -rf imap menuselect/mxml main/editline codecs/gsm codecs/lpc10
568
569 %build
570 rm -f pbx/.depend
571
572 %{__aclocal} -I autoconf
573 %{__autoheader}
574 %{__autoconf}
575
576 export ASTCFLAGS="%{rpmcflags}"
577 export ASTLDFLAGS="%{rpmldflags}"
578 export WGET="/bin/true"
579
580 # be sure to invoke ./configure with our flags
581 cd menuselect
582 %{__aclocal} -I ../autoconf
583 %{__autoheader}
584 %{__autoconf}
585 # we need just plain cli for building
586 %configure \
587   --without-newt \
588   --without-gtk2 \
589   --without-curses \
590   --without-ncurses
591 cd ..
592
593 %configure \
594         %{?with_bristuff:--with-gsmat=%{_prefix}} \
595         --with-imap=system \
596         --with-gsm=/usr \
597         --with-lpc10=/usr \
598         --with-libedit=yes
599
600 # safe checks
601 %{?with_bristuff:grep '^#define HAVE_GSMAT 1' include/asterisk/autoconfig.h || exit 1}
602
603 cp -f .cleancount .lastclean
604
605 # included conditionally, so make sure its there first
606 %{__make} -C channels/h323 Makefile.ast \
607         %{?with_verbose:NOISY_BUILD=yes} \
608
609 %{__make} DEBUG= \
610         OPTIMIZE= \
611         ASTVARRUNDIR=%{_localstatedir}/run/asterisk \
612         ASTDATADIR=%{_datadir}/asterisk \
613         ASTVARLIBDIR=%{_datadir}/asterisk \
614         ASTDBDIR=%{_localstatedir}/spool/asterisk \
615         %{?with_verbose:NOISY_BUILD=yes} \
616
617 rm apps/app_voicemail.o apps/app_directory.o
618 mv apps/app_voicemail.so apps/app_voicemail_plain.so
619 mv apps/app_directory.so apps/app_directory_plain.so
620
621 %{__sed} -i -e 's/^MENUSELECT_OPTS_app_voicemail=.*$/MENUSELECT_OPTS_app_voicemail=IMAP_STORAGE/' menuselect.makeopts
622 %{__make} DEBUG= \
623         OPTIMIZE= \
624         ASTVARRUNDIR=%{_localstatedir}/run/asterisk \
625         ASTDATADIR=%{_datadir}/asterisk \
626         ASTVARLIBDIR=%{_datadir}/asterisk \
627         ASTDBDIR=%{_localstatedir}/spool/asterisk \
628         %{?with_verbose:NOISY_BUILD=yes} \
629
630 rm apps/app_voicemail.o apps/app_directory.o
631 mv apps/app_voicemail.so apps/app_voicemail_imap.so
632 mv apps/app_directory.so apps/app_directory_imap.so
633
634 %{__sed} -i -e 's/^MENUSELECT_OPTS_app_voicemail=.*$/MENUSELECT_OPTS_app_voicemail=ODBC_STORAGE/' menuselect.makeopts
635 %{__make} DEBUG= \
636         OPTIMIZE= \
637         ASTVARRUNDIR=%{_localstatedir}/run/asterisk \
638         ASTDATADIR=%{_datadir}/asterisk \
639         ASTVARLIBDIR=%{_datadir}/asterisk \
640         ASTDBDIR=%{_localstatedir}/spool/asterisk \
641         %{?with_verbose:NOISY_BUILD=yes} \
642
643 rm apps/app_voicemail.o apps/app_directory.o
644 mv apps/app_voicemail.so apps/app_voicemail_odbc.so
645 mv apps/app_directory.so apps/app_directory_odbc.so
646
647 # so that these modules don't get built again during the install phase
648 touch apps/app_voicemail.o apps/app_directory.o
649 touch apps/app_voicemail.so apps/app_directory.so
650
651 %if %{with apidocs}
652 %{__make} progdocs \
653         DEBUG= \
654         OPTIMIZE= \
655         ASTVARRUNDIR=%{_localstatedir}/run/asterisk \
656         ASTDATADIR=%{_datadir}/asterisk \
657         ASTVARLIBDIR=%{_datadir}/asterisk \
658         ASTDBDIR=%{_localstatedir}/spool/asterisk \
659         %{?with_verbose:NOISY_BUILD=yes} \
660 %endif
661
662 %{__make} \
663         DEBUG= \
664         OPTIMIZE= \
665         ASTVARRUNDIR=%{_localstatedir}/run/asterisk \
666         ASTDATADIR=%{_datadir}/asterisk \
667         ASTVARLIBDIR=%{_datadir}/asterisk \
668         ASTDBDIR=%{_localstatedir}/spool/asterisk \
669         %{?with_verbose:NOISY_BUILD=yes} \
670         CHANNEL_LIBS+=chan_bluetooth.so || :
671
672 # rerun needed; asterisk wants that
673 %{__make} \
674         DEBUG= \
675         OPTIMIZE= \
676         ASTVARRUNDIR=%{_localstatedir}/run/asterisk \
677         ASTDATADIR=%{_datadir}/asterisk \
678         ASTVARLIBDIR=%{_datadir}/asterisk \
679         ASTDBDIR=%{_localstatedir}/spool/asterisk \
680         %{?with_verbose:NOISY_BUILD=yes} \
681         CHANNEL_LIBS+=chan_bluetooth.so
682
683 # safe checks
684 %{?with_bristuff:objdump -p channels/chan_zap.so | grep -qE 'NEEDED +libgsmat\.so' || exit 1}
685
686 %install
687 rm -rf $RPM_BUILD_ROOT
688 install -d $RPM_BUILD_ROOT{/var/{log/asterisk/cdr-csv,spool/asterisk/monitor},/etc/{rc.d/init.d,sysconfig,logrotate.d}}
689
690 export ASTCFLAGS="%{rpmcflags}"
691
692 %{__make} -j1 install \
693         DEBUG= \
694         OPTIMIZE= \
695         DESTDIR=$RPM_BUILD_ROOT \
696         ASTVARRUNDIR=%{_localstatedir}/run/asterisk \
697         ASTDATADIR=%{_datadir}/asterisk \
698         ASTVARLIBDIR=%{_datadir}/asterisk \
699         ASTDBDIR=%{_localstatedir}/spool/asterisk
700
701 %{__make} -j1 samples \
702         DEBUG= \
703         OPTIMIZE= \
704         DESTDIR=$RPM_BUILD_ROOT \
705         ASTVARRUNDIR=%{_localstatedir}/run/asterisk \
706         ASTDATADIR=%{_datadir}/asterisk \
707         ASTVARLIBDIR=%{_datadir}/asterisk \
708         ASTDBDIR=%{_localstatedir}/spool/asterisk
709
710 rm $RPM_BUILD_ROOT%{_libdir}/asterisk/modules/app_directory.so
711 rm $RPM_BUILD_ROOT%{_libdir}/asterisk/modules/app_voicemail.so
712 install -D -p apps/app_directory_imap.so $RPM_BUILD_ROOT%{_libdir}/asterisk/modules
713 install -D -p apps/app_voicemail_imap.so $RPM_BUILD_ROOT%{_libdir}/asterisk/modules
714 install -D -p apps/app_directory_odbc.so $RPM_BUILD_ROOT%{_libdir}/asterisk/modules
715 install -D -p apps/app_voicemail_odbc.so $RPM_BUILD_ROOT%{_libdir}/asterisk/modules
716 install -D -p apps/app_directory_plain.so $RPM_BUILD_ROOT%{_libdir}/asterisk/modules
717 install -D -p apps/app_voicemail_plain.so $RPM_BUILD_ROOT%{_libdir}/asterisk/modules
718
719 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
720 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
721 cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
722 install -D -p doc/asterisk-mib.txt $RPM_BUILD_ROOT%{_datadir}/mibs/ASTERISK-MIB.txt
723 install -D -p doc/digium-mib.txt $RPM_BUILD_ROOT%{_datadir}/mibs/DIGIUM-MIB.txt
724
725 # create some directories that need to be packaged
726 install -d $RPM_BUILD_ROOT%{_datadir}/asterisk/moh
727 install -d $RPM_BUILD_ROOT%{_datadir}/asterisk/sounds
728 ln -s %{_localstatedir}/lib/asterisk/licenses $RPM_BUILD_ROOT%{_datadir}/asterisk/licenses
729
730 install -d $RPM_BUILD_ROOT%{_localstatedir}/lib/asterisk/licenses
731 install -d $RPM_BUILD_ROOT%{_localstatedir}/log/asterisk/cdr-custom
732 install -d $RPM_BUILD_ROOT%{_localstatedir}/spool/asterisk/festival
733 install -d $RPM_BUILD_ROOT%{_localstatedir}/spool/asterisk/monitor
734 install -d $RPM_BUILD_ROOT%{_localstatedir}/spool/asterisk/outgoing
735 install -d $RPM_BUILD_ROOT%{_localstatedir}/spool/asterisk/uploads
736
737 # We're not going to package any of the sample AGI scripts
738 rm -f $RPM_BUILD_ROOT%{_datadir}/asterisk/agi-bin/*
739
740 # Don't package the sample voicemail user
741 rm -rf $RPM_BUILD_ROOT%{_localstatedir}/spool/asterisk/voicemail/default
742
743 # Don't package example phone provision configs
744 rm -rf $RPM_BUILD_ROOT%{_datadir}/asterisk/phoneprov/*
745
746 # these are compiled with -O0 and thus include unfortified code.
747 rm -rf $RPM_BUILD_ROOT%{_sbindir}/hashtest
748 rm -rf $RPM_BUILD_ROOT%{_sbindir}/hashtest2
749
750 # we're not using safe_asterisk
751 rm -f $RPM_BUILD_ROOT%{_sbindir}/safe_asterisk
752 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/safe_asterisk.8*
753
754 rm -rf $RPM_BUILD_ROOT%{_datadir}/asterisk/firmware/iax/*
755
756 %if %{with apidocs}
757 find doc/api/html -name '*.map' -size 0 -delete
758 %endif
759
760 rm $RPM_BUILD_ROOT%{_datadir}/asterisk/documentation/appdocsxml.dtd
761 rm $RPM_BUILD_ROOT%{_datadir}/asterisk/documentation/core-en_US.xml
762
763 %clean
764 rm -rf $RPM_BUILD_ROOT
765
766 %pre
767 %groupadd -g 188 asterisk
768 %useradd -u 188 -r -s /sbin/nologin -d /var/lib/asterisk -M -c 'Asterisk User' -g asterisk asterisk
769
770 %postun
771 if [ "$1" = 0 ]; then
772         %userremove asterisk
773         %groupremove asterisk
774 fi
775
776 %post
777 /sbin/chkconfig --add asterisk
778 # use -n (NOOP) as restart would be breaking all current calls.
779 %service -n asterisk restart "Asterisk daemon"
780
781 %preun
782 if [ "$1" = "0" ]; then
783         %service asterisk stop
784         /sbin/chkconfig --del asterisk
785 fi
786
787 %triggerpostun -- %{name} < 1.6.1.12-0.1
788 # chown to asterisk previously root owned files
789 # loose one (not one that cames from rpm), as we're not trying to split the
790 # hair with file permission bits.
791 chown -R asterisk:asterisk /var/spool/asterisk
792 chown -R asterisk:asterisk /var/lib/asterisk
793
794 %files
795 %defattr(644,root,root,755)
796 %doc README *.txt ChangeLog BUGS CREDITS configs
797 %doc doc/{asterisk.sgml,PEERING} doc/{backtrace,callfiles,externalivr,macroexclusive,manager_1_1,modules,queue}.txt
798 %doc doc/{rtp-packetization,siptls,smdi,sms,speechrec,ss7,video}.txt
799
800 #%attr(755,root,root) %{_sbindir}/aelparse
801 %attr(755,root,root) %{_sbindir}/astcanary
802 %attr(755,root,root) %{_sbindir}/asterisk
803 %attr(755,root,root) %{_sbindir}/astgenkey
804 %attr(755,root,root) %{_sbindir}/autosupport
805 #%attr(755,root,root) %{_sbindir}/conf2ael
806 #%attr(755,root,root) %{_sbindir}/muted
807 %attr(755,root,root) %{_sbindir}/rasterisk
808 #%attr(755,root,root) %{_sbindir}/refcounter
809 #%attr(755,root,root) %{_sbindir}/smsq
810 #%attr(755,root,root) %{_sbindir}/stereorize
811 #%attr(755,root,root) %{_sbindir}/streamplayer
812 %{_mandir}/man8/asterisk.8*
813 %{_mandir}/man8/astgenkey.8*
814 %{_mandir}/man8/autosupport.8*
815
816 %attr(754,root,root) /etc/rc.d/init.d/%{name}
817 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
818 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
819
820 %attr(750,root,asterisk) %dir %{_sysconfdir}/asterisk
821 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/adsi.conf
822 #%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/adtranvofr.conf
823 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/agents.conf
824 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/alarmreceiver.conf
825 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/amd.conf
826 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/asterisk.adsi
827 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/asterisk.conf
828 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cdr.conf
829 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cdr_custom.conf
830 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cdr_manager.conf
831 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cel.conf
832 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cel_custom.conf
833 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cli.conf
834 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cli_aliases.conf
835 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cli_permissions.conf
836 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/codecs.conf
837 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/dnsmgr.conf
838 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/dsp.conf
839 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/dundi.conf
840 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/enum.conf
841 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/extconfig.conf
842 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/extensions.ael
843 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/extensions.conf
844 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/features.conf
845 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/followme.conf
846 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/iax.conf
847 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/iaxprov.conf
848 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/indications.conf
849 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/logger.conf
850 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/manager.conf
851 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/mgcp.conf
852 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/modules.conf
853 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/musiconhold.conf
854 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/muted.conf
855 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/phone.conf
856 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/phoneprov.conf
857 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/queuerules.conf
858 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/queues.conf
859 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/res_stun_monitor.conf
860 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/rpt.conf
861 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/rtp.conf
862 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/say.conf
863 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/sip*.conf
864 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/sla.conf
865 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/smdi.conf
866 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/telcordia-1.adsi
867 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/udptl.conf
868 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/users.conf
869 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/vpb.conf
870
871 %dir %{_libdir}/asterisk
872 %dir %{_libdir}/asterisk/modules
873
874 %attr(755,root,root) %{_libdir}/asterisk/modules/app_adsiprog.so
875 %attr(755,root,root) %{_libdir}/asterisk/modules/app_alarmreceiver.so
876 %attr(755,root,root) %{_libdir}/asterisk/modules/app_amd.so
877 %attr(755,root,root) %{_libdir}/asterisk/modules/app_authenticate.so
878 %attr(755,root,root) %{_libdir}/asterisk/modules/app_cdr.so
879 %attr(755,root,root) %{_libdir}/asterisk/modules/app_celgenuserevent.so
880 %attr(755,root,root) %{_libdir}/asterisk/modules/app_chanisavail.so
881 %attr(755,root,root) %{_libdir}/asterisk/modules/app_channelredirect.so
882 %attr(755,root,root) %{_libdir}/asterisk/modules/app_chanspy.so
883 %attr(755,root,root) %{_libdir}/asterisk/modules/app_confbridge.so
884 %attr(755,root,root) %{_libdir}/asterisk/modules/app_controlplayback.so
885 %attr(755,root,root) %{_libdir}/asterisk/modules/app_db.so
886 %attr(755,root,root) %{_libdir}/asterisk/modules/app_dial.so
887 %attr(755,root,root) %{_libdir}/asterisk/modules/app_dictate.so
888 %attr(755,root,root) %{_libdir}/asterisk/modules/app_directed_pickup.so
889 %attr(755,root,root) %{_libdir}/asterisk/modules/app_disa.so
890 %attr(755,root,root) %{_libdir}/asterisk/modules/app_dumpchan.so
891 %attr(755,root,root) %{_libdir}/asterisk/modules/app_echo.so
892 %attr(755,root,root) %{_libdir}/asterisk/modules/app_exec.so
893 %attr(755,root,root) %{_libdir}/asterisk/modules/app_externalivr.so
894 %attr(755,root,root) %{_libdir}/asterisk/modules/app_followme.so
895 %attr(755,root,root) %{_libdir}/asterisk/modules/app_forkcdr.so
896 %attr(755,root,root) %{_libdir}/asterisk/modules/app_getcpeid.so
897 %attr(755,root,root) %{_libdir}/asterisk/modules/app_image.so
898 %attr(755,root,root) %{_libdir}/asterisk/modules/app_macro.so
899 %attr(755,root,root) %{_libdir}/asterisk/modules/app_milliwatt.so
900 %attr(755,root,root) %{_libdir}/asterisk/modules/app_mixmonitor.so
901 %attr(755,root,root) %{_libdir}/asterisk/modules/app_morsecode.so
902 %attr(755,root,root) %{_libdir}/asterisk/modules/app_mp3.so
903 %attr(755,root,root) %{_libdir}/asterisk/modules/app_nbscat.so
904 %attr(755,root,root) %{_libdir}/asterisk/modules/app_originate.so
905 %attr(755,root,root) %{_libdir}/asterisk/modules/app_parkandannounce.so
906 %attr(755,root,root) %{_libdir}/asterisk/modules/app_playback.so
907 %attr(755,root,root) %{_libdir}/asterisk/modules/app_playtones.so
908 %attr(755,root,root) %{_libdir}/asterisk/modules/app_privacy.so
909 %attr(755,root,root) %{_libdir}/asterisk/modules/app_queue.so
910 %attr(755,root,root) %{_libdir}/asterisk/modules/app_read.so
911 %attr(755,root,root) %{_libdir}/asterisk/modules/app_readexten.so
912 %attr(755,root,root) %{_libdir}/asterisk/modules/app_readfile.so
913 %attr(755,root,root) %{_libdir}/asterisk/modules/app_record.so
914 %attr(755,root,root) %{_libdir}/asterisk/modules/app_sayunixtime.so
915 %attr(755,root,root) %{_libdir}/asterisk/modules/app_senddtmf.so
916 %attr(755,root,root) %{_libdir}/asterisk/modules/app_sendtext.so
917 %attr(755,root,root) %{_libdir}/asterisk/modules/app_setcallerid.so
918 %attr(755,root,root) %{_libdir}/asterisk/modules/app_sms.so
919 %attr(755,root,root) %{_libdir}/asterisk/modules/app_softhangup.so
920 %attr(755,root,root) %{_libdir}/asterisk/modules/app_speech_utils.so
921 %attr(755,root,root) %{_libdir}/asterisk/modules/app_stack.so
922 %attr(755,root,root) %{_libdir}/asterisk/modules/app_system.so
923 %attr(755,root,root) %{_libdir}/asterisk/modules/app_talkdetect.so
924 %attr(755,root,root) %{_libdir}/asterisk/modules/app_test.so
925 %attr(755,root,root) %{_libdir}/asterisk/modules/app_transfer.so
926 %attr(755,root,root) %{_libdir}/asterisk/modules/app_url.so
927 %attr(755,root,root) %{_libdir}/asterisk/modules/app_userevent.so
928 %attr(755,root,root) %{_libdir}/asterisk/modules/app_verbose.so
929 %attr(755,root,root) %{_libdir}/asterisk/modules/app_waitforring.so
930 %attr(755,root,root) %{_libdir}/asterisk/modules/app_waitforsilence.so
931 %attr(755,root,root) %{_libdir}/asterisk/modules/app_waituntil.so
932 %attr(755,root,root) %{_libdir}/asterisk/modules/app_while.so
933 %attr(755,root,root) %{_libdir}/asterisk/modules/app_zapateller.so
934 %attr(755,root,root) %{_libdir}/asterisk/modules/bridge_builtin_features.so
935 %attr(755,root,root) %{_libdir}/asterisk/modules/bridge_multiplexed.so
936 %attr(755,root,root) %{_libdir}/asterisk/modules/bridge_simple.so
937 %attr(755,root,root) %{_libdir}/asterisk/modules/bridge_softmix.so
938 %attr(755,root,root) %{_libdir}/asterisk/modules/cdr_csv.so
939 %attr(755,root,root) %{_libdir}/asterisk/modules/cdr_custom.so
940 %attr(755,root,root) %{_libdir}/asterisk/modules/cdr_manager.so
941 %attr(755,root,root) %{_libdir}/asterisk/modules/cdr_syslog.so
942 %attr(755,root,root) %{_libdir}/asterisk/modules/cel_custom.so
943 %attr(755,root,root) %{_libdir}/asterisk/modules/cel_manager.so
944 %attr(755,root,root) %{_libdir}/asterisk/modules/cel_odbc.so
945 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_agent.so
946 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_bridge.so
947 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_iax2.so
948 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_local.so
949 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_mgcp.so
950 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_multicast_rtp.so
951 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_phone.so
952 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_sip.so
953 %attr(755,root,root) %{_libdir}/asterisk/modules/codec_a_mu.so
954 %attr(755,root,root) %{_libdir}/asterisk/modules/codec_adpcm.so
955 %attr(755,root,root) %{_libdir}/asterisk/modules/codec_alaw.so
956 %attr(755,root,root) %{_libdir}/asterisk/modules/codec_g722.so
957 %attr(755,root,root) %{_libdir}/asterisk/modules/codec_g726.so
958 %attr(755,root,root) %{_libdir}/asterisk/modules/codec_ulaw.so
959 %attr(755,root,root) %{_libdir}/asterisk/modules/format_g719.so
960 %attr(755,root,root) %{_libdir}/asterisk/modules/format_g723.so
961 %attr(755,root,root) %{_libdir}/asterisk/modules/format_g726.so
962 %attr(755,root,root) %{_libdir}/asterisk/modules/format_g729.so
963 %attr(755,root,root) %{_libdir}/asterisk/modules/format_h263.so
964 %attr(755,root,root) %{_libdir}/asterisk/modules/format_h264.so
965 %attr(755,root,root) %{_libdir}/asterisk/modules/format_ilbc.so
966 %attr(755,root,root) %{_libdir}/asterisk/modules/format_jpeg.so
967 %attr(755,root,root) %{_libdir}/asterisk/modules/format_pcm.so
968 %attr(755,root,root) %{_libdir}/asterisk/modules/format_siren14.so
969 %attr(755,root,root) %{_libdir}/asterisk/modules/format_siren7.so
970 %attr(755,root,root) %{_libdir}/asterisk/modules/format_sln.so
971 %attr(755,root,root) %{_libdir}/asterisk/modules/format_sln16.so
972 %attr(755,root,root) %{_libdir}/asterisk/modules/format_vox.so
973 %attr(755,root,root) %{_libdir}/asterisk/modules/format_wav.so
974 %attr(755,root,root) %{_libdir}/asterisk/modules/func_aes.so
975 %attr(755,root,root) %{_libdir}/asterisk/modules/func_audiohookinherit.so
976 %attr(755,root,root) %{_libdir}/asterisk/modules/func_base64.so
977 %attr(755,root,root) %{_libdir}/asterisk/modules/func_blacklist.so
978 %attr(755,root,root) %{_libdir}/asterisk/modules/func_callcompletion.so
979 %attr(755,root,root) %{_libdir}/asterisk/modules/func_callerid.so
980 %attr(755,root,root) %{_libdir}/asterisk/modules/func_cdr.so
981 %attr(755,root,root) %{_libdir}/asterisk/modules/func_channel.so
982 %attr(755,root,root) %{_libdir}/asterisk/modules/func_config.so
983 %attr(755,root,root) %{_libdir}/asterisk/modules/func_cut.so
984 %attr(755,root,root) %{_libdir}/asterisk/modules/func_db.so
985 %attr(755,root,root) %{_libdir}/asterisk/modules/func_devstate.so
986 %attr(755,root,root) %{_libdir}/asterisk/modules/func_dialgroup.so
987 %attr(755,root,root) %{_libdir}/asterisk/modules/func_dialplan.so
988 %attr(755,root,root) %{_libdir}/asterisk/modules/func_enum.so
989 %attr(755,root,root) %{_libdir}/asterisk/modules/func_env.so
990 %attr(755,root,root) %{_libdir}/asterisk/modules/func_extstate.so
991 %attr(755,root,root) %{_libdir}/asterisk/modules/func_frame_trace.so
992 %attr(755,root,root) %{_libdir}/asterisk/modules/func_global.so
993 %attr(755,root,root) %{_libdir}/asterisk/modules/func_groupcount.so
994 %attr(755,root,root) %{_libdir}/asterisk/modules/func_iconv.so
995 %attr(755,root,root) %{_libdir}/asterisk/modules/func_lock.so
996 %attr(755,root,root) %{_libdir}/asterisk/modules/func_logic.so
997 %attr(755,root,root) %{_libdir}/asterisk/modules/func_math.so
998 %attr(755,root,root) %{_libdir}/asterisk/modules/func_md5.so
999 %attr(755,root,root) %{_libdir}/asterisk/modules/func_module.so
1000 %attr(755,root,root) %{_libdir}/asterisk/modules/func_pitchshift.so
1001 %attr(755,root,root) %{_libdir}/asterisk/modules/func_rand.so
1002 %attr(755,root,root) %{_libdir}/asterisk/modules/func_realtime.so
1003 %attr(755,root,root) %{_libdir}/asterisk/modules/func_sha1.so
1004 %attr(755,root,root) %{_libdir}/asterisk/modules/func_shell.so
1005 %attr(755,root,root) %{_libdir}/asterisk/modules/func_sprintf.so
1006 %attr(755,root,root) %{_libdir}/asterisk/modules/func_srv.so
1007 %attr(755,root,root) %{_libdir}/asterisk/modules/func_strings.so
1008 %attr(755,root,root) %{_libdir}/asterisk/modules/func_sysinfo.so
1009 %attr(755,root,root) %{_libdir}/asterisk/modules/func_timeout.so
1010 %attr(755,root,root) %{_libdir}/asterisk/modules/func_uri.so
1011 %attr(755,root,root) %{_libdir}/asterisk/modules/func_version.so
1012 %attr(755,root,root) %{_libdir}/asterisk/modules/func_volume.so
1013 %attr(755,root,root) %{_libdir}/asterisk/modules/pbx_ael.so
1014 %attr(755,root,root) %{_libdir}/asterisk/modules/pbx_config.so
1015 %attr(755,root,root) %{_libdir}/asterisk/modules/pbx_dundi.so
1016 %attr(755,root,root) %{_libdir}/asterisk/modules/pbx_loopback.so
1017 %attr(755,root,root) %{_libdir}/asterisk/modules/pbx_realtime.so
1018 %attr(755,root,root) %{_libdir}/asterisk/modules/pbx_spool.so
1019 %attr(755,root,root) %{_libdir}/asterisk/modules/res_adsi.so
1020 %attr(755,root,root) %{_libdir}/asterisk/modules/res_ael_share.so
1021 %attr(755,root,root) %{_libdir}/asterisk/modules/res_agi.so
1022 %attr(755,root,root) %{_libdir}/asterisk/modules/res_calendar.so
1023 %attr(755,root,root) %{_libdir}/asterisk/modules/res_calendar_ews.so
1024 %attr(755,root,root) %{_libdir}/asterisk/modules/res_clialiases.so
1025 %attr(755,root,root) %{_libdir}/asterisk/modules/res_clioriginate.so
1026 %attr(755,root,root) %{_libdir}/asterisk/modules/res_convert.so
1027 %attr(755,root,root) %{_libdir}/asterisk/modules/res_crypto.so
1028 %attr(755,root,root) %{_libdir}/asterisk/modules/res_limit.so
1029 %attr(755,root,root) %{_libdir}/asterisk/modules/res_monitor.so
1030 %attr(755,root,root) %{_libdir}/asterisk/modules/res_mutestream.so
1031 %attr(755,root,root) %{_libdir}/asterisk/modules/res_musiconhold.so
1032 %attr(755,root,root) %{_libdir}/asterisk/modules/res_phoneprov.so
1033 %attr(755,root,root) %{_libdir}/asterisk/modules/res_realtime.so
1034 %attr(755,root,root) %{_libdir}/asterisk/modules/res_rtp_asterisk.so
1035 %attr(755,root,root) %{_libdir}/asterisk/modules/res_rtp_multicast.so
1036 %attr(755,root,root) %{_libdir}/asterisk/modules/res_security_log.so
1037 %attr(755,root,root) %{_libdir}/asterisk/modules/res_smdi.so
1038 %attr(755,root,root) %{_libdir}/asterisk/modules/res_speech.so
1039 %attr(755,root,root) %{_libdir}/asterisk/modules/res_stun_monitor.so
1040 %attr(755,root,root) %{_libdir}/asterisk/modules/res_timing_pthread.so
1041 %attr(755,root,root) %{_libdir}/asterisk/modules/res_timing_timerfd.so
1042 #%attr(755,root,root) %{_libdir}/asterisk/modules/test_dlinklists.so
1043 #%attr(755,root,root) %{_libdir}/asterisk/modules/test_heap.so
1044
1045 %dir %{_datadir}/asterisk
1046 %dir %{_datadir}/asterisk/agi-bin
1047 %dir %{_datadir}/asterisk/firmware
1048 %dir %{_datadir}/asterisk/firmware/iax
1049 %dir %{_datadir}/asterisk/images
1050 %dir %{_datadir}/asterisk/moh
1051 %dir %{_datadir}/asterisk/sounds
1052 %dir %attr(750,root,asterisk) %{_datadir}/asterisk/keys
1053 # no need to protect publicly downloaded and packaged .pub
1054 #%{_datadir}/asterisk/keys/*.pub
1055 %{_datadir}/asterisk/images/*.jpg
1056 %{_datadir}/asterisk/phoneprov
1057 %{_datadir}/asterisk/licenses
1058
1059 %attr(770,root,asterisk) %dir %{_localstatedir}/lib/asterisk
1060 %dir %attr(750,root,asterisk) %{_localstatedir}/lib/asterisk/licenses
1061
1062 %attr(770,root,asterisk) %dir %{_localstatedir}/log/asterisk
1063 %attr(770,root,asterisk) %dir %{_localstatedir}/log/asterisk/cdr-csv
1064 %attr(770,root,asterisk) %dir %{_localstatedir}/log/asterisk/cdr-custom
1065
1066 %attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk
1067 %attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk/monitor
1068 %attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk/outgoing
1069 %attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk/tmp
1070 %attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk/uploads
1071 %attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk/voicemail
1072
1073 %attr(775,root,asterisk) %dir %{_localstatedir}/run/asterisk
1074
1075 %files devel
1076 %defattr(644,root,root,755)
1077 %doc doc/{CODING-GUIDELINES,{datastores,modules,valgrind}.txt}
1078 %dir %{_includedir}/asterisk
1079 %{_includedir}/asterisk/*.h
1080 %{_includedir}/asterisk.h
1081
1082 %if %{with apidocs}
1083 %files apidocs
1084 %defattr(644,root,root,755)
1085 %doc doc/api/html/*
1086 %endif
1087
1088 %files ais
1089 %defattr(644,root,root,755)
1090 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/ais.conf
1091 %attr(755,root,root) %{_libdir}/asterisk/modules/res_ais.so
1092
1093 %files alsa
1094 %defattr(644,root,root,755)
1095 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/alsa.conf
1096 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_alsa.so
1097
1098 #%files astman
1099 #%defattr(644,root,root,755)
1100 #%attr(755,root,root) %{_sbindir}/astman
1101
1102 %files curl
1103 %defattr(644,root,root,755)
1104 %doc contrib/scripts/dbsep.cgi
1105 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/dbsep.conf
1106 %attr(755,root,root) %{_libdir}/asterisk/modules/func_curl.so
1107 %attr(755,root,root) %{_libdir}/asterisk/modules/res_config_curl.so
1108 %attr(755,root,root) %{_libdir}/asterisk/modules/res_curl.so
1109
1110 %files dahdi
1111 %defattr(644,root,root,755)
1112 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/meetme.conf
1113 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/chan_dahdi.conf
1114 %attr(755,root,root) %{_libdir}/asterisk/modules/app_dahdibarge.so
1115 %attr(755,root,root) %{_libdir}/asterisk/modules/app_dahdiras.so
1116 #%attr(755,root,root) %{_libdir}/asterisk/modules/app_dahdiscan.so
1117 %attr(755,root,root) %{_libdir}/asterisk/modules/app_flash.so
1118 %attr(755,root,root) %{_libdir}/asterisk/modules/app_meetme.so
1119 %attr(755,root,root) %{_libdir}/asterisk/modules/app_page.so
1120 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_dahdi.so
1121 %attr(755,root,root) %{_libdir}/asterisk/modules/codec_dahdi.so
1122 %attr(755,root,root) %{_libdir}/asterisk/modules/res_timing_dahdi.so
1123
1124 %dir %{_includedir}/asterisk
1125 %{_includedir}/asterisk.h
1126 %{_includedir}/asterisk/*.h
1127
1128 %files fax
1129 %defattr(644,root,root,755)
1130 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/res_fax.conf
1131 %attr(755,root,root) %{_libdir}/asterisk/modules/res_fax.so
1132 %attr(755,root,root) %{_libdir}/asterisk/modules/res_fax_spandsp.so
1133
1134 %files festival
1135 %defattr(644,root,root,755)
1136 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/festival.conf
1137 %attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk/festival
1138 %attr(755,root,root) %{_libdir}/asterisk/modules/app_festival.so
1139
1140 %files gsm
1141 %defattr(644,root,root,755)
1142 %attr(755,root,root) %{_libdir}/asterisk/modules/codec_gsm.so
1143 %attr(755,root,root) %{_libdir}/asterisk/modules/format_gsm.so
1144 %attr(755,root,root) %{_libdir}/asterisk/modules/format_wav_gsm.so
1145
1146 %files h323
1147 %defattr(644,root,root,755)
1148 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/h323.conf
1149 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_h323.so
1150
1151 %files http
1152 %defattr(644,root,root,755)
1153 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/http.conf
1154 %attr(755,root,root) %{_libdir}/asterisk/modules/res_http_post.so
1155 %{_datadir}/asterisk/static-http
1156
1157 %files ices
1158 %defattr(644,root,root,755)
1159 %doc contrib/asterisk-ices.xml
1160 %attr(755,root,root) %{_libdir}/asterisk/modules/app_ices.so
1161
1162 %files jabber
1163 %defattr(644,root,root,755)
1164 %doc doc/jabber.txt
1165 %doc doc/jingle.txt
1166 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/gtalk.conf
1167 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/jabber.conf
1168 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/jingle.conf
1169 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_gtalk.so
1170 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_jingle.so
1171 %attr(755,root,root) %{_libdir}/asterisk/modules/res_jabber.so
1172
1173 %files jack
1174 %defattr(644,root,root,755)
1175 %attr(755,root,root) %{_libdir}/asterisk/modules/app_jack.so
1176
1177 %files lua
1178 %defattr(644,root,root,755)
1179 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/extensions.lua
1180 %attr(755,root,root) %{_libdir}/asterisk/modules/pbx_lua.so
1181
1182 %files ldap
1183 %defattr(644,root,root,755)
1184 %doc doc/ldap.txt
1185 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/res_ldap.conf
1186 %attr(755,root,root) %{_libdir}/asterisk/modules/res_config_ldap.so
1187
1188 %if 0
1189 %files ldap-fds
1190 %defattr(644,root,root,755)
1191 %{_sysconfdir}/dirsrv/schema/99asterisk.ldif
1192 %endif
1193
1194 %files lpc10
1195 %defattr(644,root,root,755)
1196 %attr(755,root,root) %{_libdir}/asterisk/modules/codec_lpc10.so
1197
1198 %files minivm
1199 %defattr(644,root,root,755)
1200 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/extensions_minivm.conf
1201 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/minivm.conf
1202 %attr(755,root,root) %{_libdir}/asterisk/modules/app_minivm.so
1203
1204 %files misdn
1205 %defattr(644,root,root,755)
1206 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/misdn.conf
1207 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_misdn.so
1208
1209 %files odbc
1210 %defattr(644,root,root,755)
1211 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cdr_adaptive_odbc.conf
1212 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cdr_odbc.conf
1213 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/func_odbc.conf
1214 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/res_odbc.conf
1215 %attr(755,root,root) %{_libdir}/asterisk/modules/cdr_adaptive_odbc.so
1216 %attr(755,root,root) %{_libdir}/asterisk/modules/cdr_odbc.so
1217 %attr(755,root,root) %{_libdir}/asterisk/modules/func_odbc.so
1218 %attr(755,root,root) %{_libdir}/asterisk/modules/res_config_odbc.so
1219 %attr(755,root,root) %{_libdir}/asterisk/modules/res_odbc.so
1220
1221 %files osp
1222 %defattr(644,root,root,755)
1223 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/osp.conf
1224 %attr(755,root,root) %{_libdir}/asterisk/modules/app_osplookup.so
1225
1226 %files oss
1227 %defattr(644,root,root,755)
1228 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/oss.conf
1229 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_oss.so
1230
1231 %files portaudio
1232 %defattr(644,root,root,755)
1233 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/console.conf
1234 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_console.so
1235
1236 %files postgresql
1237 %defattr(644,root,root,755)
1238 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cdr_pgsql.conf
1239 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/res_pgsql.conf
1240 %doc contrib/realtime/postgresql/realtime.sql
1241 %attr(755,root,root) %{_libdir}/asterisk/modules/cdr_pgsql.so
1242 %attr(755,root,root) %{_libdir}/asterisk/modules/res_config_pgsql.so
1243
1244 %files radius
1245 %defattr(644,root,root,755)
1246 %attr(755,root,root) %{_libdir}/asterisk/modules/cdr_radius.so
1247
1248 %files resample
1249 %defattr(644,root,root,755)
1250 %attr(755,root,root) %{_libdir}/asterisk/modules/codec_resample.so
1251
1252 %files skinny
1253 %defattr(644,root,root,755)
1254 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/skinny.conf
1255 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_skinny.so
1256
1257 %files snmp
1258 %defattr(644,root,root,755)
1259 %doc doc/asterisk-mib.txt
1260 %doc doc/digium-mib.txt
1261 %doc doc/snmp.txt
1262 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/res_snmp.conf
1263 %attr(755,root,root) %{_libdir}/asterisk/modules/res_snmp.so
1264 %{_datadir}/mibs/ASTERISK-MIB.txt
1265 %{_datadir}/mibs/DIGIUM-MIB.txt
1266
1267 %files speex
1268 %defattr(644,root,root,755)
1269 %attr(755,root,root) %{_libdir}/asterisk/modules/codec_speex.so
1270 %attr(755,root,root) %{_libdir}/asterisk/modules/func_speex.so
1271
1272 %files sqlite
1273 %defattr(644,root,root,755)
1274 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cdr_sqlite3_custom.conf
1275 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/res_config_sqlite.conf
1276 %attr(755,root,root) %{_libdir}/asterisk/modules/cdr_sqlite3_custom.so
1277 %attr(755,root,root) %{_libdir}/asterisk/modules/cdr_sqlite.so
1278 %attr(755,root,root) %{_libdir}/asterisk/modules/res_config_sqlite.so
1279
1280 %files tds
1281 %defattr(644,root,root,755)
1282 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cdr_tds.conf
1283 %attr(755,root,root) %{_libdir}/asterisk/modules/cdr_tds.so
1284
1285 %files unistim
1286 %defattr(644,root,root,755)
1287 %doc doc/unistim.txt
1288 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/unistim.conf
1289 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_unistim.so
1290
1291 %files usbradio
1292 %defattr(644,root,root,755)
1293 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/usbradio.conf
1294 #%attr(755,root,root) %{_libdir}/asterisk/modules/chan_usbradio.so
1295
1296 %files voicemail
1297 %defattr(644,root,root,755)
1298 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/voicemail.conf
1299 %attr(755,root,root) %{_libdir}/asterisk/modules/func_vmcount.so
1300
1301 %files voicemail-imap
1302 %defattr(644,root,root,755)
1303 %attr(755,root,root) %{_libdir}/asterisk/modules/app_directory_imap.so
1304 %attr(755,root,root) %{_libdir}/asterisk/modules/app_voicemail_imap.so
1305
1306 %files voicemail-odbc
1307 %defattr(644,root,root,755)
1308 %doc doc/voicemail_odbc_postgresql.txt
1309 %attr(755,root,root) %{_libdir}/asterisk/modules/app_directory_odbc.so
1310 %attr(755,root,root) %{_libdir}/asterisk/modules/app_voicemail_odbc.so
1311
1312 %files voicemail-plain
1313 %defattr(644,root,root,755)
1314 %attr(755,root,root) %{_libdir}/asterisk/modules/app_directory_plain.so
1315 %attr(755,root,root) %{_libdir}/asterisk/modules/app_voicemail_plain.so
1316
1317 %files vorbis
1318 %defattr(644,root,root,755)
1319 %attr(755,root,root) %{_libdir}/asterisk/modules/format_ogg_vorbis.so
This page took 0.162714 seconds and 4 git commands to generate.