#
-# TODO:
-# - should more header files be installed?
-# - Installed (but unpackaged) file(s) found:
-# /etc/hotplug/usb/xpp_fxloader
-# /etc/hotplug/usb/xpp_fxloader.usermap
-# /etc/udev/rules.d/xpp.rules
+# Conditional build
+%bcond_with hotplug # old-style (pre-udev) hotplug support
#
-# Conditional build:
-%bcond_with oslec # with Open Source Line Echo Canceller
-%bcond_with bristuff # with bristuff support
-%bcond_without xpp # without Astribank
-%bcond_with verbose
-
-%ifarch sparc
-%undefine with_smp
-%endif
-%ifarch alpha
-%undefine with_xpp
-%endif
-
-%define rel 11
+%include /usr/lib/rpm/macros.perl
Summary: DAHDI telephony device support
Summary(pl.UTF-8): Obsługa urządzeń telefonicznych DAHDI
Name: dahdi-tools
-Version: 2.2.0
-Release: %{rel}%{?with_bristuff:.bristuff}
-License: GPL
+Version: 2.9.0
+Release: 1
+License: GPL v2
Group: Base/Kernel
-Source0: http://downloads.digium.com/pub/telephony/dahdi-tools/%{name}-%{version}.tar.gz
-# Source0-md5: a018f452f3851a312ff51705ac44de37
+Source0: http://downloads.asterisk.org/pub/telephony/dahdi-tools/%{name}-%{version}.tar.gz
+# Source0-md5: 8cccad1956d3419daf0c1771ea0504ac
Source1: dahdi.init
Source2: dahdi.sysconfig
Patch0: %{name}-as-needed.patch
+Patch1: %{name}-perl-path.patch
+Patch2: %{name}-includes.patch
URL: http://www.asterisk.org/
-Obsoletes: zaptel
-BuildRequires: dahdi-linux-devel
+BuildRequires: dahdi-linux-devel >= 2.3.0
+BuildRequires: libusb-compat-devel >= 0.1
BuildRequires: newt-devel
BuildRequires: perl-base
BuildRequires: perl-tools-pod
+BuildRequires: rpm-perlprov >= 4.1-13
BuildRequires: rpmbuild(macros) >= 1.379
-%{?with_bristuff:Provides: dahdi(bristuff)}
+Obsoletes: dahdi-tools-utils
+Obsoletes: zaptel
+Obsoletes: zaptel-utils
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-# Rules:
-# - modules_X: single modules, just name module with no suffix
-# - modules_X: subdir modules are just directory name with slash like dirname/
-# - keep X and X_in in sync
-# - X is used for actual building (entries separated with space), X_in for pld macros (entries separated with comma)
-
%description
DAHDI telephony device driver.
Summary: DAHDI development headers
Summary(pl.UTF-8): Pliki nagłówkowe DAHDI
Group: Development/Libraries
-Requires: %{name} = %{version}-%{rel}
+Requires: %{name} = %{version}-%{release}
+Requires: dahdi-linux-devel
Obsoletes: zaptel-devel
-%{?with_bristuff:Provides: dahdi-devel(bristuff)}
%description devel
DAHDI development headers.
Summary: DAHDI static library
Summary(pl.UTF-8): Biblioteka statyczna DAHDI
Group: Development/Libraries
-Requires: %{name}-devel = %{version}-%{rel}
-%{?with_bristuff:Provides: dahdi-static(bristuff)}
+Requires: %{name}-devel = %{version}-%{release}
%description static
DAHDI static library.
%description static -l pl.UTF-8
Biblioteka statyczna DAHDI.
-%package utils
-Summary: DAHDI utility programs
-Summary(pl.UTF-8): Programy narzędziowe DAHDI
-Obsoletes: zaptel-utils
+%package perl
+Summary: DAHDI utility programs written in Perl
+Summary(pl.UTF-8): Programy narzędziowe DAHDI napisane w Perlu
Group: Applications/Communications
+Requires: perl-Dahdi = %{version}-%{release}
-%description utils
-DAHDI card utility programs, mainly for diagnostics.
+%description perl
+DAHDI utility programs written in Perl.
-%description utils -l pl.UTF-8
-Programy narzędziowe do kart DAHDI, służące głównie do diagnostyki.
+%description perl -l pl.UTF-8
+Programy narzędziowe DAHDI napisane w Perlu.
%package init
Summary: DAHDI init scripts
Summary(pl.UTF-8): Skrypty inicjalizujące DAHDI
Group: Applications/Communications
Requires(post,preun): /sbin/chkconfig
-Obsoletes: zaptel-init
-Requires: %{name}-utils = %{version}-%{rel}
+Requires: %{name} = %{version}-%{release}
Requires: rc-scripts
+Obsoletes: zaptel-init
%description init
DAHDI boot-time initialization.
%description init -l pl.UTF-8
Inicjalizacja DAHDI w czasie startu systemu.
+%package udev
+Summary: udev rules for DAHDI kernel modules
+Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla DAHDI
+Group: Base/Kernel
+Obsoletes: dahdi-linux-udev < 2.9.0
+Requires: %{name} >= 2.2.0
+Requires: udev-core
+
+%description udev
+udev rules for DAHDI kernel modules.
+
+%description udev -l pl.UTF-8
+Reguły udev dla modułów jądra Linuksa dla DAHDI.
+
+%package -n bash-completion-dahdi
+Summary: Bash completion for DAHDI commands
+Summary(pl.UTF-8): Bashowe dopełnianie składni dla poleceń DAHDI
+Group: Applications/Shells
+Requires: %{name} = %{version}-%{release}
+Requires: bash-completion
+
+%description -n bash-completion-dahdi
+Bash completion for DAHDI commands.
+
+%description -n bash-completion-dahdi -l pl.UTF-8
+Bashowe dopełnianie składni dla poleceń DAHDI.
+
%package -n perl-Dahdi
Summary: Perl interface to DAHDI
-Summary(pl.UTF-8): Perlowy interfejs do DAHDIa
+Summary(pl.UTF-8): Perlowy interfejs do DAHDI
Group: Development/Languages/Perl
-Requires: %{name} = %{version}-%{rel}
+# needs dahdi_scan
+Requires: %{name} = %{version}-%{release}
%description -n perl-Dahdi
Perl inferface to DAHDI.
%description -n perl-Dahdi -l pl.UTF-8
-Perlowy interfejs do DAHDIa.
+Perlowy interfejs do DAHDI.
%prep
%setup -q
%patch0 -p1
-
-%if %{with kernel}
-mkdir firmware
-for a in %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6}; do
- ln -s $a firmware
- tar -C firmware -xzf $a
-done
+%patch1 -p1
+%patch2 -p1
cat > download-logger <<'EOF'
#!/bin/sh
echo "$@" >> download.log
EOF
chmod a+rx download-logger
-%endif
%build
%configure
%install
rm -rf $RPM_BUILD_ROOT
-
install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
-%{__make} install \
+%{__make} -j1 config install \
DESTDIR=$RPM_BUILD_ROOT
+
install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/dahdi
install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/dahdi
touch $RPM_BUILD_ROOT%{_sysconfdir}/dahdi.conf
+# sample configuration files - nothing enabled by default, so safe to install
+%{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/dahdi/assigned-spans.conf{.sample,}
+%{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/dahdi/span-types.conf{.sample,}
+
+# old-style hotplug stuff
+%if %{without hotplug}
+%{__rm} $RPM_BUILD_ROOT/etc/hotplug/usb/xpp_*
+%endif
+# used by upstream (but not PLD) init script
+%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/dahdi/{init.conf,modules}
+
%clean
rm -rf $RPM_BUILD_ROOT
%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dahdi.conf
%dir %{_sysconfdir}/dahdi
%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dahdi/system.conf
-#/etc/hotplug/usb/xpp_fxloader
-#/etc/hotplug/usb/xpp_fxloader.usermap
-%attr(755,root,root) %{_sbindir}/*
-%attr(755,root,root) %{_libdir}/*.so.*
-%if %{with xpp}
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dahdi/assigned-spans.conf
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dahdi/span-types.conf
+%if %{with hotplug}
+%attr(755,root,root) /etc/hotplug/usb/xpp_fxloader
+/etc/hotplug/usb/xpp_fxloader.usermap
+%endif
+%config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/dahdi.blacklist.conf
+%config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/dahdi.conf
+%attr(755,root,root) %{_sbindir}/astribank_*
+%attr(755,root,root) %{_sbindir}/dahdi_cfg
+%attr(755,root,root) %{_sbindir}/dahdi_maint
+%attr(755,root,root) %{_sbindir}/dahdi_monitor
+%attr(755,root,root) %{_sbindir}/dahdi_scan
+%attr(755,root,root) %{_sbindir}/dahdi_speed
+%attr(755,root,root) %{_sbindir}/dahdi_test
+%attr(755,root,root) %{_sbindir}/dahdi_tool
+%attr(755,root,root) %{_sbindir}/dahdi_span_assignments
+%attr(755,root,root) %{_sbindir}/dahdi_span_types
+%attr(755,root,root) %{_sbindir}/dahdi_waitfor_span_assignments
+%attr(755,root,root) %{_sbindir}/fxotune
+%attr(755,root,root) %{_sbindir}/sethdlc
+%attr(755,root,root) %{_libdir}/libtonezone.so.1.*
+%attr(755,root,root) %ghost %{_libdir}/libtonezone.so.1
+%attr(755,root,root) %{_libdir}/libtonezone.so.2.*
+%attr(755,root,root) %ghost %{_libdir}/libtonezone.so.2
%{_datadir}/dahdi
-%{_mandir}/man8/*
-
-%files init
-%defattr(644,root,root,755)
-%attr(754,root,root) /etc/rc.d/init.d/*
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/dahdi
+%{_mandir}/man8/astribank_*.8*
+%{_mandir}/man8/dahdi_cfg.8*
+%{_mandir}/man8/dahdi_maint.8*
+%{_mandir}/man8/dahdi_monitor.8*
+%{_mandir}/man8/dahdi_scan.8*
+%{_mandir}/man8/dahdi_test.8*
+%{_mandir}/man8/dahdi_tool.8*
+%{_mandir}/man8/fxotune.8*
+%{_mandir}/man8/dahdi_span_assignments.8*
+%{_mandir}/man8/dahdi_span_types.8*
+%{_mandir}/man8/dahdi_waitfor_span_assignments.8*
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/*.so
-%{_includedir}/dahdi
+%attr(755,root,root) %{_libdir}/libtonezone.so
+%{_includedir}/dahdi/tonezone.h
%files static
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/*.a
+%{_libdir}/libtonezone.a
-%files utils
+%files perl
%defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/*
+%attr(755,root,root) %{_sbindir}/dahdi_genconf
+%attr(755,root,root) %{_sbindir}/dahdi_hardware
+%attr(755,root,root) %{_sbindir}/dahdi_registration
+%attr(755,root,root) %{_sbindir}/lsdahdi
+%attr(755,root,root) %{_sbindir}/twinstar
+%attr(755,root,root) %{_sbindir}/xpp_blink
+%attr(755,root,root) %{_sbindir}/xpp_sync
+# for dahdi_genconf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dahdi/genconf_parameters
+%{_mandir}/man8/dahdi_genconf.8*
+%{_mandir}/man8/dahdi_hardware.8*
+%{_mandir}/man8/dahdi_registration.8*
+%{_mandir}/man8/lsdahdi.8*
+%{_mandir}/man8/twinstar.8*
+%{_mandir}/man8/xpp_blink.8*
+%{_mandir}/man8/xpp_sync.8*
+
+%files init
+%defattr(644,root,root,755)
+%attr(754,root,root) /etc/rc.d/init.d/dahdi
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/dahdi
+
+%files udev
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/dahdi.rules
+%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/xpp.rules
+
+%files -n bash-completion-dahdi
+%defattr(644,root,root,755)
+/etc/bash_completion.d/dahdi
%files -n perl-Dahdi
%defattr(644,root,root,755)
-#%{perl_vendorlib}/Dahdi
-#%{perl_vendorlib}/Dahdi.pm
-%endif
+%{perl_vendorlib}/Dahdi
+%{perl_vendorlib}/Dahdi.pm