propozycje nowego speca btsco.spec (kontra staroć bluezsco.spec)

Michal Abramowicz ab_1 w abram.eu.org
Wto, 15 Lis 2005, 14:07:54 CET


On Wed, Nov 09, 2005 at 05:09:14PM +0100, Patrys :: Patryk Zawadzki wrote:
> 
> Zaraz rzucę okiem na speca, ale ten opis to przepuść przez *spell i
> libsanity-check ;]

Chwila wolna i wyniki w załącznikach, proszę o sprawdzenie, byćmoże
na innej arch się to zbuduje, ja mam i686 wiec tam sprawdzałem.

abram
-- 
Moskiewskie zakłady spirytusowe "Duch Lenina" rozpoczęły produkcję 
wódki w butelkach z lewym gwintem. Ten podły chwyt poniżej pasa 
przyprawił o czarną rozpacz tysiące zdezorientowanych skacowanych obywateli.
-------------- następna część ---------
# Conditional build:
%bcond_without	dist_kernel	# without kernel from distribution
%bcond_without	kernel		# don't build kernel modules
%bcond_without	smp		# don't build SMP module
%bcond_with	verbose		# verbose build (V=1)

#
Summary:	Bluetooth-alsa Project
Summary(pl):	Projekt Bluetooth-alsa
Name:		btsco
Version:	0.4
%define	rel	1
Release:	%{rel}
License:	GPL
Group:		Audio/Kernel
Source0:	http://puzzle.dl.sourceforge.net/sourceforge/bluetooth-alsa/%{name}-%{version}.tar.gz
# Source0-md5:	3f46d45db6f0e399044ae6a31b1f23c7
Patch0:		%{name}-readme-pl.diff
URL:		http://sourceforge.net/projects/bluetooth-alsa/
%{?with_dist_kernel:BuildRequires:	kernel-module-build}
BuildRequires:	bluez-libs-devel >= 2.21-1
BuildRequires:	libao-devel >= 0.8.6-1
BuildRequires:	alsa-driver-devel >= 1.0.9-1
BuildRequires:	alsa-lib-devel >= 1.0.9-1
Requires:	kernel-sound-alsa
ExclusiveArch:	%{ix86}
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
This project provides a way to use a bluetooth headset with Linux. We
do this currently by making an alsa kernel driver which uses bluez to
reach the headset. It works well enough now to get voice-quality audio
to and from most headsets. 

%description -l pl
Dzięki temu oprogramowaniu można używać zestawów słuchawkowych 
Bluetooth Headset z Linuksem. Osiągnięto to dzięki zbudowaniu alsowego 
modułu do jądra, który to używa bluez'a do komunikacji z takim zestawem. 
Współpracuje z większością zestawów, ograniczeniem w komunikacji jest 
często urządzenie USB, które to może mieć nieobsługiwane częściowo protokoły, 
wskazówka: hciconfig hciXXX revision. W skrajnym wypadku można próbować 
użyć innego urządzenia USB.

%package -n kernel-char-btsco
Summary:	Linux ALSA kernel driver for Bluetooth Headset
Summary(pl):	Sterownik ALSA do jądra linuksa dla Bluetooth Headset
Release:	%{rel}@%{_kernel_ver_str}
Group:		Base/Kernel
%{?with_dist_kernel:%requires_releq_kernel_up}
Requires(post,postun):  /sbin/depmod

%description -n kernel-char-btsco
Linux ALSA kernel driver for Bluetooth Headset named snd_bt_sco

%description -n kernel-char-btsco -l pl
Sterownik ALSA do jądra linuksa dla Bluetooth Headset o nazwie snd_bt_sco

%package -n kernel-smp-char-btsco
Summary:	Linux ALSA kernel driver for Bluetooth Headset (SMP)
Summary(pl):	Sterownik ALSA do jądra linuksa dla Bluetooth Headset (SMP)
Release:	%{rel}@%{_kernel_ver_str}
Group:		Base/Kernel
%{?with_dist_kernel:%requires_releq_kernel_smp}
Requires(post,postun):  /sbin/depmod

%description -n kernel-smp-char-btsco
Linux ALSA kernel (SMP) driver for Bluetooth Headset named snd_bt_sco

%description -n kernel-smp-char-btsco -l pl
Sterownik ALSA do jądra linuksa SMP dla Bluetooth Headset o nazwie snd_bt_sco

%prep
%setup -q
%patch0 -p1

%build
%{__libtoolize}
%{__aclocal}
%{__autoconf}
%{__automake}
%configure

%{__make}

%if %{with kernel}
cd kernel
# kernel module(s)
for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
	if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
		exit 1
	fi
	rm -rf include
	install -d include/{linux,config}
	ln -sf %{_kernelsrcdir}/config-$cfg .config
	ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h
	ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
	ln -sf %{_kernelsrcdir}/Module.symvers-$cfg Module.symvers
	touch include/config/MARKER
	
	# patching/creating makefile(s) (optional)
	%{__make} -C %{_kernelsrcdir} clean \
		RCS_FIND_IGNORE="-name '*.ko' -o" \
		M=$PWD O=$PWD \
		%{?with_verbose:V=1}
	%{__make} -C %{_kernelsrcdir} modules \
		CC="%{__cc}" CPP="%{__cpp}" \
		M=$PWD O=$PWD \
		%{?with_verbose:V=1}
	for mod in *.ko; do
		mod=$(echo "$mod" | sed -e 's#\.ko##g')
		mv $mod.ko ../$mod-$cfg.ko
	done
done
%endif

%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_bindir},/lib/modules/%{_kernel_ver}{,smp}/misc}

for file in avdtp/avtest sbc/rcplay sbc/sbcenc sbc/sbcinfo a2play btsco2 btsco ; do
	install $file $RPM_BUILD_ROOT%{_bindir}
done

%if %{with kernel}
	%if %{without dist_kernel}
	for mod in *-nondist.ko; do
		nmod=$(echo "$mod" | sed -e 's#-nondist##g')
		pwd
		install $mod $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/$nmod
	done
	%else
	for mod in *-up.ko; do
		nmod=$(echo "$mod" | sed -e 's#-up##g')
		pwd
		install $mod $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/$nmod
	done
	%endif

	%if %{with smp}
	for mod in *-smp.ko; do
		nmod=$(echo "$mod" | sed -e 's#-smp##g')
		pwd
		install $mod $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/$nmod
	done
	%endif
%endif

%clean
rm -rf $RPM_BUILD_ROOT

%post -n kernel-char-btsco
%depmod %{_kernel_ver}
echo "after install this package, remember add lines like this:"
echo "alias snd-card-1 snd-bt-sco"
echo "alias sound-slot-1 snd-bt-sco"
echo "to /etc/modprobe.conf"

%postun -n kernel-char-btsco
%depmod %{_kernel_ver}

%post -n kernel-smp-char-btsco
%depmod %{_kernel_ver}
echo "after install this package, remember add lines like this:"
echo "alias snd-card-1 snd-bt-sco"
echo "alias sound-slot-1 snd-bt-sco"
echo "to /etc/modprobe.conf"

%postun -n kernel-smp-char-btsco
%depmod %{_kernel_ver}

%files
%defattr(644,root,root,755)
%doc COPYING README README.PL.txt NEWS AUTHORS ChangeLog INSTALL
%attr(755,root,root) %{_bindir}/*

%if %{with kernel}
%files -n kernel-char-btsco
%defattr(644,root,root,755)
/lib/modules/%{_kernel_ver}/misc/snd-bt-sco.ko.gz
%endif

%if %{with smp}
%files -n kernel-smp-char-btsco
%defattr(644,root,root,755)
/lib/modules/%{_kernel_ver}smp/misc/snd-bt-sco.ko.gz
%endif


%define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
%changelog
* %{date} PLD Team <feedback w pld-linux.org>
All persons listed below can be reached at <cvs_login>@pld-linux.org
-------------- następna część ---------
diff -uNr btsco-0.4.orig/README.PL.txt btsco-0.4/README.PL.txt
--- btsco-0.4.orig/README.PL.txt	1970-01-01 01:00:00.000000000 +0100
+++ btsco-0.4/README.PL.txt	2005-11-15 13:59:57.380276496 +0100
@@ -0,0 +1,89 @@
+Warszawa 15.XI.2005
+michal.abramowicz w abram.eu.org
+
+1. Wstęp
+Ten dokument zawiera krótkie wskazówki co do użycia
+bezprzewodowego zestawu znanego jako: bluetooth headset
+
+2. Znajdowanie
+Po zainstalowaniu urządzenia USB BT Dongle, można wyszukać 
+urządzenia bluetooth w okolicy:
+hcitool scan
+	00:0C:78:13:66:A4	HS-790
+
+3. Używanie
+Aby używać takiego zestawu należy mieć poprawnie skonfigurowany
+pakiet bluez-*, można wpisać podawanie pinu w konfiguracji oraz 
+posiadać kernel-*alsa* + pakiety około alsowe (alsa-init) itp.
+
+Po zainstalowaniu kernel-char-btsco-0.4-1 w 2.6.11.10_6 i załadowaniu
+modułu snd-bt-sco dostęp jest prawie możliwy do naszego zestawu.
+Zestaw ten będzie widoczny jako druga (jeżeli np posiadamy już
+skonfigurowaną kartę dźwiękową) karta dźwiękowa.
+
+Ustawiamy urządzenie USB BT Dongle w odpowiedni tryb:
+hciconfig hciXXX voice 0x0060
+
+Łączymy się do słuchawki:
+
+btsco2 00:0C:78:13:66:A4
+Device is 1:0
+Voice setting: 0x0060
+RFCOMM channel 1 connected
+
+I już "teoretycznie" jesteśmy podłączeni, moja słuchawka
+wymaga naciśnięcia RAZ guzika na obudowie (podczas używania windows
+zanim zaczniemy wysyłać jakąkolwiek treść do odbiornika, słuchawka
+wydawała dźwięk pulsujący, po naciśnięciu guzika już można było
+jej używać, z linuksem niestety milczy).
+
+4. Przesyłanie treści
+Ponieważ w moim PC jest to już druga karta dźwiękowa to dostęp
+do miksera jest możliwy w taki oto sposób:
+
+alsamixer -c 1
+
+Przesłać dźwięk do słuchawki można przy pomocy xmms + wtyczki,
+należy tylko skonfigurować wtyczkę ALSA, tak żeby dźwięk był
+przekazywany do odpowiedniego urządzenia.
+
+Z mikrofonu dźwięk można nagrywać na wiele sposobów, ja podam jeden
+sprawdzony z wielu możliwych:
+
+qarecord --device plughw:Headset
+
+5. Dlaczego nie działa?
+Udało ci się połączyć ale nie masz dźwięku ?
+Sprawdź najpierw czy urządzenie USB jest wspierane:
+
+hciconfig hci0 revision
+(mój usb dongle działający)
+hci0:	Type: USB
+	BD Address: 00:08:1B:00:E0:FC ACL MTU: 192:8 SCO MTU: 64:8
+	HCI 14.7
+	Chip version: BlueCore02-External (ES2)
+	Max key size: 56 bit
+	SCO mapping:  HCI
+
+(mój usb dongle z zestawu, niestety nie działa, można z niego korzystać 
+tylko do zestawiania połączeń między komórką GPRS, innymi urządzeniami 
+dostępowymi w celu przesłania plików lub pozyskania łącza do internetu)
+hci0:	Type: USB
+	BD Address: 00:0B:0D:34:6D:19 ACL MTU: 120:20 SCO MTU: 64:0
+	Unsupported manufacturer
+
+Jest to ANYCOM numer CC3032 w zestawie ANYCOM HS-790,
+działa ten zestaw z innym czopkiem !, więc tylko te urządzenie nie
+jest obsługiwane :(
+
+7. SKYPE
+Skype, wybierz np: /dev/dsp1 albo poszukaj własnoręcznie, skype dla 
+windows, ma bardziej to miejsce rozbudowane, można np zrobić, że
+dźwięk jest kierowany do normalnej karty dźwiękowej, a mikrofon jest
+w zestawie słuchawkowym, w wersji linuks nie udało mi się tego osiągnąć,
+może moja motywacja była zbyt mała.
+
+8. Autor nie ponosi żadnej odpowiedzialności za błędy i uszkodzenia
+wynikłe z braku zrozumienia i wiedzy w zakresie używania urządzeń BlueTooth
+
+9. Podziękowania dla Ani i zespołu  PLD, http://www.pld-linux.org


Więcej informacji o liście dyskusyjnej pld-devel-pl