3 %bcond_without gtk # without GTK GUI
4 %bcond_with gtk4 # use GTK4 for GTK GUI
5 %bcond_without qt # without Qt GUI
6 %bcond_with qt6 # use Qt6 for Qt GUI
7 %bcond_without systemd # without systemd unit
11 Summary: A versatile and multi-platform BitTorrent client
12 Summary(hu.UTF-8): Egy sokoldalú és multiplatformos BitTorrent kliens
13 Summary(pl.UTF-8): Wszechstronny i wieloplatformowy klient BitTorrenta
18 Group: Applications/Communications
19 Source0: https://github.com/transmission/transmission/releases/download/%{version}/%{name}-%{version}.tar.xz
20 # Source0-md5: d73915000cf2871404b45a64969cea83
21 Source1: %{name}.sysconfig
24 URL: http://transmissionbt.com/
25 BuildRequires: cmake >= 3.12
26 BuildRequires: curl-devel >= 7.28.0
27 BuildRequires: gettext-tools
30 BuildRequires: glibmm2.68-devel >= 2.60.0
31 BuildRequires: gtkmm4-devel >= 3.24.0
33 BuildRequires: glibmm-devel >= 2.60.0
34 BuildRequires: gtkmm3-devel >= 3.24.0
35 BuildRequires: libayatana-appindicator-gtk3-devel
38 BuildRequires: libb64-devel
39 BuildRequires: libdeflate-devel >= 1.10
40 BuildRequires: libevent-devel >= 2.1.0
41 BuildRequires: libnatpmp-devel
42 BuildRequires: libpsl-devel >= 0.21.1
43 BuildRequires: libstdc++-devel >= 6:5
44 BuildRequires: lsb-release
45 BuildRequires: miniupnpc-devel >= 1.7
46 BuildRequires: openssl-devel >= 0.9.7
47 BuildRequires: pkgconfig
48 BuildRequires: rpm-build >= 4.6
49 BuildRequires: rpmbuild(macros) >= 1.742
50 %{?with_systemd:BuildRequires: systemd-devel}
51 BuildRequires: tar >= 1:1.22
52 BuildRequires: xfsprogs-devel
56 BuildRequires: Qt6Core-devel >= %{qtver}
57 BuildRequires: Qt6DBus-devel >= %{qtver}
58 BuildRequires: Qt6Gui-devel >= %{qtver}
59 BuildRequires: Qt6Network-devel >= %{qtver}
60 BuildRequires: Qt6Svg-devel >= %{qtver}
61 BuildRequires: Qt6Widgets-devel >= %{qtver}
62 BuildRequires: qt6-build >= %{qtver}
63 BuildRequires: qt6-linguist >= %{qtver}
65 BuildRequires: Qt5Core-devel >= %{qtver}
66 BuildRequires: Qt5DBus-devel >= %{qtver}
67 BuildRequires: Qt5Gui-devel >= %{qtver}
68 BuildRequires: Qt5Network-devel >= %{qtver}
69 BuildRequires: Qt5Svg-devel >= %{qtver}
70 BuildRequires: Qt5Widgets-devel >= %{qtver}
71 BuildRequires: qt5-build >= %{qtver}
72 BuildRequires: qt5-linguist >= %{qtver}
75 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
78 Transmission has been built from the ground up to be a lightweight,
79 yet powerful BitTorrent client. Its simple, intuitive interface is
80 designed to integrate tightly with whatever computing environment you
81 choose to use. Transmission strikes a balance between providing useful
82 functionality without feature bloat.
84 %description -l hu.UTF-8
85 Transmission egy könnyűsúlyú, de mégis egy erőteljes BitTorrent
86 kliens. Egyszerű, intuitív felülete szorosan illeszkedik bármilyen
87 számítógépes környezetbe, amit csak választasz. A Transmission célja
88 megtalálni a használható funkcionalitást lehetőségek áradata nélkül.
90 %description -l pl.UTF-8
91 Transmission został stworzony od podstaw, aby być lekkim lecz mającym
92 duże możliwości klientem BitTorrenta. Jego prosty, intuicyjny
93 interfejs jest zaprojektowany spójnie z dowolnym środowiskiem wybranym
94 przez użytkownika. Transmission stawia na równowagę zapewnienia
95 przydatnej funkcjonalności bez nadmiaru opcji.
98 Summary: Command line implementation for BitTorrent client
99 Summary(pl.UTF-8): Implementacja w wierszu poleceń dla klienta BitTorrenta
100 Group: Applications/Networking
101 Requires: %{name}-common = %{version}-%{release}
102 Requires: curl-libs >= 7.28.0
103 Requires: libdeflate >= 1.10
104 Requires: libevent >= 2.1.0
105 Requires: libpsl >= 0.21.1
106 Requires: miniupnpc >= 1.7
107 Requires: openssl >= 0.9.7
110 Transmission has been built from the ground up to be a lightweight,
111 yet powerful BitTorrent client. Its simple, intuitive interface is
112 designed to integrate tightly with whatever computing environment you
113 choose to use. Transmission strikes a balance between providing useful
114 functionality without feature bloat.
116 Command line implementation for BitTorrent client.
118 %description cli -l hu.UTF-8
119 Transmission egy könnyűsúlyú, de mégis egy erőteljes BitTorrent
120 kliens. Egyszerű, intuitív felülete szorosan illeszkedik bármilyen
121 számítógépes környezetbe, amit csak választasz. A Transmission célja
122 megtalálni a használható funkcionalitást lehetőségek áradata nélkül.
124 %description cli -l pl.UTF-8
125 Transmission został stworzony od podstaw, aby być lekkim lecz mającym
126 duże możliwości klientem BitTorrenta. Jego prosty, intuicyjny
127 interfejs jest zaprojektowany spójnie z dowolnym środowiskiem wybranym
128 przez użytkownika. Transmission stawia na równowagę zapewnienia
129 przydatnej funkcjonalności bez nadmiaru opcji.
131 Implementacja w wierszu poleceń dla klienta BitTorrenta.
134 Summary: Common files for Transmission BitTorrent client
135 Summary(pl.UTF-8): Pliki wspólne dla klienta BitTorrenta Transmission
136 Group: Applications/Networking
140 Common files for Transmission BitTorrent client.
142 %description common -l pl.UTF-8
143 Pliki wspólne dla klienta BitTorrenta Transmission.
146 Summary: Daemon package for BitTorrent client
147 Summary(pl.UTF-8): Pakiet demona dla klienta BitTorrenta
148 Group: Networking/Daemons
149 Requires: %{name}-common = %{version}-%{release}
150 Requires: curl-libs >= 7.28.0
151 Requires: libdeflate >= 1.10
152 Requires: libevent >= 2.1.0
153 Requires: libpsl >= 0.21.1
154 Requires: miniupnpc >= 1.7
155 Requires: openssl >= 0.9.7
156 %{?with_systemd:Requires: systemd-units >= 38}
157 Provides: group(transmission)
158 Provides: user(transmission)
159 Obsoletes: Transmission <= 1.05
160 Obsoletes: transmission < 3.00-2
161 Obsoletes: transmission-init < 3.00-2
164 Transmission has been built from the ground up to be a lightweight,
165 yet powerful BitTorrent client. Its simple, intuitive interface is
166 designed to integrate tightly with whatever computing environment you
167 choose to use. Transmission strikes a balance between providing useful
168 functionality without feature bloat.
170 Daemon package for BitTorrent client.
172 %description daemon -l hu.UTF-8
173 Transmission egy könnyűsúlyú, de mégis egy erőteljes BitTorrent
174 kliens. Egyszerű, intuitív felülete szorosan illeszkedik bármilyen
175 számítógépes környezetbe, amit csak választasz. A Transmission célja
176 megtalálni a használható funkcionalitást lehetőségek áradata nélkül.
178 %description daemon -l pl.UTF-8
179 Transmission został stworzony od podstaw, aby być lekkim lecz mającym
180 duże możliwości klientem BitTorrenta. Jego prosty, intuicyjny
181 interfejs jest zaprojektowany spójnie z dowolnym środowiskiem wybranym
182 przez użytkownika. Transmission stawia na równowagę zapewnienia
183 przydatnej funkcjonalności bez nadmiaru opcji.
185 Pakiet demona dla klienta BitTorrenta.
188 Summary: A versatile and multi-platform BitTorrent client
189 Summary(pl.UTF-8): Wszechstronny i wieloplatformowy klient BitTorrenta
190 Group: X11/Applications/Networking
191 Requires(post,postun): gtk-update-icon-cache
192 Requires(post,postun): hicolor-icon-theme
193 Requires: %{name}-common = %{version}-%{release}
194 Requires: curl-libs >= 7.28.0
196 Requires: glibmm2.68 >= 2.60.0
197 Requires: gtkmm4 >= 3.24.0
199 Requires: glibmm >= 2.60.0
200 Requires: gtkmm3 >= 3.24.0
202 Requires: libcanberra-gtk3
203 Requires: libdeflate >= 1.10
204 Requires: libevent >= 2.1.0
205 Requires: libpsl >= 0.21.1
206 Requires: miniupnpc >= 1.7
207 Requires: openssl >= 0.9.7
210 Transmission has been built from the ground up to be a lightweight,
211 yet powerful BitTorrent client. Its simple, intuitive interface is
212 designed to integrate tightly with whatever computing environment you
213 choose to use. Transmission strikes a balance between providing useful
214 functionality without feature bloat.
216 %description gui -l hu.UTF-8
217 Transmission egy könnyűsúlyú de mégis egy erőteljes BitTorrent kliens.
218 Egyszerű, intuitív felülete szorosan illeszkedik bármilyen
219 számítógépes környezetbe, amit csak választasz. A Transmission célja
220 megtalálni a használható funkcionalitást lehetőségek áradata nélkül.
222 %description gui -l pl.UTF-8
223 Transmission został stworzony od podstaw, aby być lekkim lecz mającym
224 duże możliwości klientem BitTorrenta. Jego prosty, intuicyjny
225 interfejs jest zaprojektowany spójnie z dowolnym środowiskiem wybranym
226 przez użytkownika. Transmission stawia na równowagę zapewnienia
227 przydatnej funkcjonalności bez nadmiaru opcji.
230 Summary: A GUI to Transmission based on Qt 5
231 Summary(pl.UTF-8): Graficzny interfejs do Transmission oparty na Qt 5
232 Group: X11/Applications/Networking
233 Requires: %{name}-common = %{version}-%{release}
235 Requires: Qt6Core >= %{qtver}
236 Requires: Qt6DBus >= %{qtver}
237 Requires: Qt6Gui >= %{qtver}
238 Requires: Qt6Network >= %{qtver}
239 Requires: Qt6Svg >= %{qtver}
240 Requires: Qt6Widgets >= %{qtver}
242 Requires: Qt5Core >= %{qtver}
243 Requires: Qt5DBus >= %{qtver}
244 Requires: Qt5Gui >= %{qtver}
245 Requires: Qt5Network >= %{qtver}
246 Requires: Qt5Svg >= %{qtver}
247 Requires: Qt5Widgets >= %{qtver}
249 Requires: curl-libs >= 7.28.0
250 Requires: libcanberra-gtk3
251 Requires: libdeflate >= 1.10
252 Requires: libevent >= 2.1.0
253 Requires: libpsl >= 0.21.1
254 Requires: miniupnpc >= 1.7
255 Requires: openssl >= 0.9.7
258 A GUI to Transmission based on Qt 5.
260 %description gui-qt -l pl.UTF-8
261 Graficzny interfejs do Transmission oparty na Qt 5.
264 Summary: Utilities for Transmission BitTorrent client
265 Summary(pl.UTF-8): Narzędzia dla klienta BitTorrenta Transmission
266 Group: Applications/Networking
269 Utilities for Transmission BitTorrent client.
271 %description utils -l pl.UTF-8
272 Narzędzia dla klienta BitTorrenta Transmission.
282 -DENABLE_CLI:BOOL=ON \
283 -DENABLE_WEB:BOOL=OFF \
284 %{cmake_on_off gtk ENABLE_GTK} \
285 -DUSE_GTK_VERSION=%{?with_gtk4:4}%{!?with_gtk4:3} \
286 %{cmake_on_off qt ENABLE_QT} \
287 -DUSE_QT_VERSION=%{?with_qt6:6}%{!?with_qt6:5} \
288 %{cmake_on_off systemd ENABLE_SYSTEMD} \
289 -DUSE_SYSTEM_UTP:BOOL=OFF
294 rm -rf $RPM_BUILD_ROOT
295 install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} \
296 $RPM_BUILD_ROOT%{_sysconfdir}/%{name} \
297 $RPM_BUILD_ROOT/var/lib/%{name} \
298 %{?with_systemd:$RPM_BUILD_ROOT%{systemdunitdir}}
300 %{__make} -C build install \
301 DESTDIR=$RPM_BUILD_ROOT
303 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
304 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
307 cp -p daemon/transmission-daemon.service $RPM_BUILD_ROOT%{systemdunitdir}
311 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{ceb,jbo,pt_PT}
313 %find_lang %{name} --all-name --with-gnome
317 %find_lang %{name} --with-qm -o %{name}-qt.lang
320 # copy of GPLv2 not needed
321 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/public_html/transmission-app.js.LICENSE.txt
324 rm -rf $RPM_BUILD_ROOT
326 %triggerpostun daemon -- transmission < 3.00-2
327 if [ -d /var/lib/transmission ] ; then
328 chown -R transmission:transmission /var/lib/transmission || :
332 %groupadd -g 339 transmission
333 %useradd -u 339 -r -d /var/lib/transmission -s /bin/false -c "Transmission user" -g transmission transmission
336 /sbin/chkconfig --add transmission
337 %service transmission restart
338 %{?with_systemd:%systemd_post transmission-daemon.service}
341 if [ "$1" = "0" ]; then
342 %service transmission stop
343 /sbin/chkconfig --del transmission
345 %{?with_systemd:%systemd_preun transmission-daemon.service}
348 if [ "$1" = "0" ]; then
349 %userremove transmission
350 %groupremove transmission
352 %{?with_systemd:%systemd_reload}
355 %update_desktop_database_post
356 %update_icon_cache hicolor
359 %update_desktop_database_postun
360 %update_icon_cache hicolor
363 %defattr(644,root,root,755)
364 %attr(755,root,root) %{_bindir}/transmission-cli
365 %{_mandir}/man1/transmission-cli.1*
368 %defattr(644,root,root,755)
369 %doc AUTHORS README.md
370 %dir %{_datadir}/%{name}
371 %{_datadir}/%{name}/public_html
374 %defattr(644,root,root,755)
375 %attr(751,root,daemon) %dir %{_sysconfdir}/%{name}
376 %attr(640,root,daemon) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
377 %attr(754,root,root) /etc/rc.d/init.d/%{name}
378 %attr(755,root,root) %{_bindir}/transmission-daemon
379 %{?with_systemd:%{systemdunitdir}/transmission-daemon.service}
380 %{_mandir}/man1/transmission-daemon.1*
381 %attr(750,transmission,transmission) %dir /var/lib/%{name}
384 %files gui -f %{name}.lang
385 %defattr(644,root,root,755)
386 %attr(755,root,root) %{_bindir}/transmission-gtk
387 %{_mandir}/man1/transmission-gtk.1*
388 %{_desktopdir}/transmission-gtk.desktop
389 %{_iconsdir}/hicolor/scalable/apps/transmission.svg
390 %{_iconsdir}/hicolor/scalable/apps/transmission-devel.svg
391 %{_iconsdir}/hicolor/symbolic/apps/transmission-symbolic.svg
392 %{_datadir}/metainfo/transmission-gtk.metainfo.xml
396 %files gui-qt -f %{name}-qt.lang
397 %defattr(644,root,root,755)
398 %attr(755,root,root) %{_bindir}/transmission-qt
399 %dir %{_datadir}/%{name}/translations
400 %{_desktopdir}/transmission-qt.desktop
401 %{_mandir}/man1/transmission-qt.1*
405 %defattr(644,root,root,755)
406 %attr(755,root,root) %{_bindir}/transmission-create
407 %attr(755,root,root) %{_bindir}/transmission-edit
408 %attr(755,root,root) %{_bindir}/transmission-remote
409 %attr(755,root,root) %{_bindir}/transmission-show
410 %{_mandir}/man1/transmission-create.1*
411 %{_mandir}/man1/transmission-edit.1*
412 %{_mandir}/man1/transmission-remote.1*
413 %{_mandir}/man1/transmission-show.1*