Package transmission: Specfile

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
%define _unpackaged_files_terminate_build 1

%define _optlevel s
%def_enable qt

%define rname Transmission
%define dname transmission-daemon

Name: transmission
Version: 4.0.5
Release: alt1

Group: Networking/File transfer
Summary: Llightweight BitTorrent client
License: MIT and GPL-2.0-only
Url: http://www.transmissionbt.com/

Provides: %rname = %EVR

Obsoletes: %name-benc2php
Obsoletes: %name-proxy

Requires: %name-gui = %EVR
Requires: %name-cli = %EVR
Requires: %name-remote = %EVR
Requires: %name-daemon = %EVR

Requires(post,postun): desktop-file-utils

Source: http://download.m0k.org/%name/files/%name-%version.tar
Patch2: %name-alt-extra-doc-disable.patch
Patch3: %name-alt-fix-trsnslations-qt.patch
Source1: %dname.init
Source2: %dname.logrotate
Source3: %dname.service
Source4: %name-%version-third-party-dht.tar
Source5: %name-%version-third-party-fast_float.tar
Source6: %name-%version-third-party-fmt.tar
Source7: %name-%version-third-party-googletest.tar
Source8: %name-%version-third-party-libutp.tar
Source9: %name-%version-third-party-utfcpp.tar
Source10: %name-%version-third-party-utfcpp-extern-ftest.tar
Source11: %name-%version-third-party-wide-integer.tar

BuildPreReq: desktop-file-utils

BuildRequires(pre): rpm-macros-cmake
BuildRequires: cmake
BuildRequires: ctest
BuildRequires: gcc-c++ glibc-devel libcurl-devel libevent-devel libnotify-devel libcanberra-devel libdbus-glib-devel libgtk4-devel libgtkmm4-devel libglibmm2.68-devel libpcre2-devel libffi-devel  glib2-devel libsystemd-devel
BuildRequires(pre): rpm-utils desktop-file-utils libalternatives-devel rpm-build-ubt openssl-devel
BuildRequires: libb64-devel
BuildRequires: libnatpmp-devel
BuildRequires: libminiupnpc-devel
BuildRequires: libutfcpp-devel
BuildRequires: libdeflate-devel
BuildRequires: libpsl-devel
%if "%(rpmvercmp '%{get_version glibc-core}' '2.9')" >= "0"
BuildRequires: libgio-devel
%endif
%if_enabled qt
BuildRequires: qt5-base-devel qt5-tools-devel qt5-svg-devel
%endif

%description
Transmission has been built from the ground up to be a lightweight,
yet powerful BitTorrent client. Its simple, intuitive interface
strikes a balance between providing useful functionality without
feature bloat. Furthermore, it is free for anyone to use or modify.

%package common
Group: Networking/File transfer
Summary: Common files for %name
Conflicts: %name < 1.00-alt10
Obsoletes: %name-gui-common < %EVR
%description common
Common files for %name

%package gtk
Group: Networking/File transfer
Summary: Graphical BitTorrent client
Provides: %name-gui = %EVR
Requires: %name-common = %EVR
%description gtk
GTK-based graphical BitTorrent client

%if_enabled qt
%package qt
Group: Networking/File transfer
Summary: Graphical BitTorrent client
Provides: %name-gui = %EVR
Requires: %name-common = %EVR
%description qt
Qt-based graphical BitTorrent client
%endif

%package cli
Group: Networking/File transfer
Summary: Command line BitTorrent client
Requires: %name-common = %EVR
%description cli
Command line BitTorrent client

%package remote
Group: Networking/Remote access
Summary: Command line remote interface to %name-daemon
Requires: %name-common = %EVR
%description remote
Command line remote interface to %name-daemon

%package daemon
Group: Networking/File transfer
Summary: Daemonised BitTorrent client
Requires: %name-common = %EVR
%description daemon
Daemonised BitTorrent client

%prep
%setup -a4 -a5 -a6 -a7 -a8 -a9 -a10 -a11
%autopatch -p1

%build
%cmake \
	-DENABLE_GTK=ON \
%if_enabled qt
	-DENABLE_QT=ON \
%endif
	-DENABLE_CLI=ON \
	-DUSE_SYSTEM_EVENT2=ON \
	-DUSE_SYSTEM_MINIUPNPC=ON \
	-DUSE_SYSTEM_NATPMP=ON \
	-DUSE_SYSTEM_B64=ON \
	-DUSE_SYSTEM_PSL=ON \
	-DUSE_SYSTEM_DEFLATE=ON \
	-DCMAKE_BUILD_TYPE=RelWithDebInfo \
	%nil

%cmake_build

%install
%cmake_install

# made alternatives entries
mkdir -p %buildroot/%_altdir

cat >%buildroot%_altdir/%name-gtk <<__EOF__
%_bindir/%name %_bindir/%name-gtk 30
__EOF__

%if_enabled qt
cat >%buildroot%_altdir/%name-qt <<__EOF__
%_bindir/%name %_bindir/%name-qt 20
__EOF__
%endif

%find_lang %name-gtk

# install daemonic stuff

install -pD -m640 %SOURCE2 %buildroot%_sysconfdir/logrotate.d/%dname
install -pD -m755 %SOURCE1 %buildroot%_initdir/%dname
install -pD -m644 %SOURCE3 %buildroot%systemd_unitdir/transmission-daemon.service

%_cmake__builddir/daemon/transmission-daemon -d 2> %_cmake__builddir/daemon/settings.json
sed -i 's,/usr/src/,/var/lib/transmission-daemon/,' %_cmake__builddir/daemon/settings.json
install -pD -m640 %_cmake__builddir/daemon/settings.json %buildroot%_sysconfdir/transmission-daemon/settings.json

mkdir -p %buildroot%_sysconfdir/sysconfig/
echo "TRANSMISSION_OPTIONS=\"-e %_logdir/%dname/%dname.log -g %_localstatedir/%dname\"" > %buildroot%_sysconfdir/sysconfig/%dname

mkdir -p %buildroot%_logdir/%dname
mkdir -p %buildroot%_localstatedir/%dname

# Re-enable if DhtTest.usesBootstrapFile and LT.WebUtilsTest.url passes
# %check
# pushd %_cmake__builddir
# ctest
# popd

%pre daemon
/usr/sbin/groupadd -r -f _%dname
/usr/sbin/useradd -r -g _%dname -d %_localstatedir/%dname -s /dev/null -c 'The Transmission Torrent Client' _%dname >/dev/null 2>&1 ||:
if [ $1 -gt 1 ]; then
        /usr/sbin/usermod -d %_localstatedir/%dname _%dname
fi

%files

%files common
%dir %_datadir/%name
%_iconsdir/hicolor/*/*/*
%_datadir/%name/public_html/

%files gtk -f %name-gtk.lang
%doc AUTHORS COPYING README.md
%_bindir/%name-gtk
%_altdir/%name-gtk
%_man1dir/%name-gtk.1*
%_datadir/applications/%name-gtk.desktop
%_datadir/metainfo/transmission-gtk.metainfo.xml

%if_enabled qt
%files qt
%doc AUTHORS COPYING README.md
%_bindir/%name-qt
%_altdir/%name-qt
%_datadir/applications/%name-qt.desktop
%_datadir/%name/translations/%{name}_*.qm
%_man1dir/%name-qt.1*
%endif

%files cli
%doc AUTHORS COPYING README.md
%_bindir/%name-create
%_man1dir/%name-create.*
%_bindir/%name-edit
%_man1dir/%name-edit.*
%_bindir/%name-show
%_man1dir/%name-show.*
%_bindir/transmission-cli
%_man1dir/transmission-cli.*

%files remote
%doc AUTHORS COPYING README.md
%_bindir/%name-remote
%_man1dir/%name-remote.*

%files daemon
%doc AUTHORS COPYING README.md
%_bindir/%name-daemon
%_man1dir/%name-daemon.*
%systemd_unitdir/transmission-daemon.service
%config(noreplace) %_sysconfdir/logrotate.d/%dname
%config(noreplace) %_sysconfdir/sysconfig/%dname
%config %_initdir/%dname
%attr(0750,root,_%dname) %dir %_sysconfdir/%dname
%config(noreplace) %_sysconfdir/%dname/settings.json
%attr(0750,_%dname,_%dname) %dir %_localstatedir/%dname
%attr(1770,root,_%dname) %dir %_logdir/%dname

%changelog
* Tue Jan 09 2024 Mikhail Tergoev <fidel@altlinux.org> 4.0.5-alt1
- updated to upstream version 4.0.5 (ALT bug: 48784)

* Tue Nov 14 2023 Mikhail Tergoev <fidel@altlinux.org> 4.0.4-alt4
- fixed permissions for transmission-daemon (ALT bug: 48426)

* Fri Nov 03 2023 Anton Midyukov <antohami@altlinux.org> 4.0.4-alt3
- NMU:
    + remove transmission-alt-desktop.patch
    + spec: remove transmission-gui-common subpackage
    + spec: create %_localstatedir/%dname/resume (ALT bug: 48177)
    + spec: fix License

* Mon Oct 23 2023 Mikhail Tergoev <fidel@altlinux.org> 4.0.4-alt2
- fixed permissions for transmission-daemon (ALT bug: 48101)

* Mon Oct 09 2023 Mikhail Tergoev <fidel@altlinux.org> 4.0.4-alt1
- updated to upstream version 4.0.4 (ALT bug: 45494)
- fixed permissions (ALT bug: 44852, 33055)
- build transmission-gtk with gtk4

* Wed Apr 28 2021 Arseny Maslennikov <arseny@altlinux.org> 3.00-alt2.1
- NMU: spec: adapted to new cmake macros.

* Tue Sep 29 2020 Aleksei Nikiforov <darktemplar@altlinux.org> 3.00-alt2
- Switched to cmake build system.
- Removed wxGTK from spec.
- Enabled tests.

* Mon Sep 21 2020 Aleksei Nikiforov <darktemplar@altlinux.org> 3.00-alt1
- Updated to upstream version 3.00.
- Enabled cli client.
- Packaged debuginfo for transmission-qt.

* Sun Mar 10 2019 Michael Shigorin <mike@altlinux.org> 2.94-alt5
- fix build on e2k with lcc

* Sat Mar 02 2019 Anton Farygin <rider@altlinux.ru> 2.94-alt4
- rebuilt with libevent-2.1

* Mon Sep 03 2018 Anton Farygin <rider@altlinux.ru> 2.94-alt3
- rebuilt with libopenssl1.1

* Wed Jul 18 2018 Anton Farygin <rider@altlinux.ru> 2.94-alt2%ubt
- fixed exec section in  desktop file

* Mon Jul 16 2018 Anton Farygin <rider@altlinux.ru> 2.94-alt1%ubt
- 2.94
- build transmission-qt with qt5

* Mon Apr 09 2018 Anton Farygin <rider@altlinux.ru> 2.93-alt1%ubt
- 2.93

* Mon Jan 15 2018 Anton Farygin <rider@altlinux.ru> 2.92-alt5%ubt
- added fix for security flaw in RPC (closes: #34459)

* Mon Jul 04 2016 Yuri N. Sedunov <aris@altlinux.org> 2.92-alt4
- fixed build with glib2 >= 2.48

* Fri Mar 11 2016 Anton Farygin <rider@altlinux.ru> 2.92-alt3
- fixed permission for access to the daemon Download directory  (closes: #26984)

* Fri Mar 11 2016 Anton Farygin <rider@altlinux.ru> 2.92-alt2
- fixed permission for the log directory (closes: #26710)
- added condreload and reload targets to initscript (closes: #31046)

* Thu Mar 10 2016 Anton Farygin <rider@altlinux.ru> 2.92-alt1
- new version

* Thu Aug 28 2014 Anton Farygin <rider@altlinux.ru> 2.84-alt1
- new version

* Mon Jun 02 2014 Anton Farygin <rider@altlinux.ru> 2.83-alt1
- new version

* Mon Sep 02 2013 Anton Farygin <rider@altlinux.ru> 2.82-alt1
- new version

* Mon Jul 15 2013 Anton Farygin <rider@altlinux.ru> 2.80-alt1
- new version
- removed unsupported "Custom icon" feathure from QT frontend

* Tue Oct 02 2012 Anton Farygin <rider@altlinux.ru> 2.71-alt1
- new version

* Tue Aug 21 2012 Anton Farygin <rider@altlinux.ru> 2.61-alt1
- new version

* Wed May 30 2012 Anton Farygin <rider@altlinux.ru> 2.52-alt1
- new version

* Sat Oct 22 2011 Anton Farygin <rider@altlinux.ru> 2.42-alt1
- new version

* Wed Oct 12 2011 Anton Farygin <rider@altlinux.ru> 2.41-alt1
- new version

* Mon Aug 29 2011 Anton Farygin <rider@altlinux.ru> 2.33-alt1
- new version

* Tue Jul 05 2011 Anton Farygin <rider@altlinux.ru> 2.32-alt1
- new version

* Tue May 31 2011 Anton Farygin <rider@altlinux.ru> 2.31-alt2
- fixed Exec in desktop (closes: #25691)

* Mon May 30 2011 Anton Farygin <rider@altlinux.ru> 2.31-alt1
- new version
- build with dbus-glib (closes: #25684)

* Fri Apr 22 2011 Anton Farygin <rider@altlinux.ru> 2.22-alt2
- add systemd support (closes: #25438)

* Wed Mar 09 2011 Anton Farygin <rider@altlinux.ru> 2.22-alt1
- new version

* Thu Dec 16 2010 Anton Farygin <rider@altlinux.ru> 2.13-alt1
- new version

* Thu Dec 02 2010 Anton Farygin <rider@altlinux.ru> 2.12-alt1
- new version

* Wed Nov 03 2010 Anton Farygin <rider@altlinux.ru> 2.11-alt1
- new version

* Thu Sep 16 2010 Anton Farygin <rider@altlinux.ru> 2.04-alt2
- Build with libcanberra and libnotify
- remove daemon requires in transmission-remote package

* Tue Sep 14 2010 Anton Farygin <rider@altlinux.ru> 2.04-alt1
- new version

* Mon Jul 12 2010 Anton Farygin <rider@altlinux.ru> 1.93-alt2
- added initscript for transmission-daemon by Timur Batyrshin (Closes: 23751, 21190)

* Tue Jun 01 2010 Anton Farygin <rider@altlinux.ru> 1.93-alt1
- new version

* Wed Feb 24 2010 Anton Farygin <rider@altlinux.ru> 1.91-alt1
- new version

* Wed Feb 24 2010 Anton Farygin <rider@altlinux.ru> 1.76-alt3
- add patches from upstream 1.7x branch with fix for CVE-2010-0012 (closes: #23019)

* Mon Oct 26 2009 Sergey V Turchin <zerg@altlinux.org> 1.76-alt2
- qtr: accept close window event when application exiting

* Mon Oct 26 2009 Anton Farygin <rider@altlinux.ru> 1.76-alt1
- new version

* Wed Oct 21 2009 Sergey V Turchin <zerg@altlinux.org> 1.75-alt2
- qtr: allow customize application icon in session dialog

* Wed Sep 16 2009 Anton Farygin <rider@altlinux.ru> 1.75-alt1
- new version

* Tue Sep 01 2009 Anton Farygin <rider@altlinux.ru> 1.74-alt1
- new version

* Thu Aug 13 2009 Sergey V Turchin <zerg@altlinux.org> 1.73-alt2
- build qtr
- qtr: add russian translation
- qtr: close main window to tray
- qtr: fix raise main window

* Wed Aug 05 2009 Anton Farygin <rider@altlinux.ru> 1.73-alt1
- new version

* Tue Jun 30 2009 Anton Farygin <rider@altlinux.ru> 1.72-alt1
- new version

* Thu May 14 2009 Anton Farygin <rider@altlinux.ru> 1.61-alt2
- add patch from mainstream:
    - #2073: can't upload new torrent file in web ui

* Wed May 13 2009 Anton Farygin <rider@altlinux.ru> 1.61-alt1
- new version

* Wed May 06 2009 Anton Farygin <rider@altlinux.ru> 1.60-alt1
- new version

* Tue Apr 14 2009 Anton Farygin <rider@altlinux.ru> 1.52-alt1
- new version

* Thu Mar 05 2009 Anton Farygin <rider@altlinux.ru> 1.51-alt0.M40.1
- new version

* Mon Feb 16 2009 Anton Farygin <rider@altlinux.ru> 1.50-alt1
- new version
- fixed build from svn
- build with system libevent
- buildreq updated

* Thu Jan 15 2009 Yuri N. Sedunov <aris@altlinux.org> 1.42-alt1
- new version

* Sat Nov 08 2008 Yuri N. Sedunov <aris@altlinux.org> 1.34-alt2
- fix altbug #17817 (patch0)

* Mon Sep 22 2008 Yuri N. Sedunov <aris@altlinux.org> 1.34-alt1.1
- packaged builtin web-server

* Fri Sep 19 2008 Yuri N. Sedunov <aris@altlinux.org> 1.34-alt1
- new version for Sisyphus
- updated buildreqs
- removed {update,clean}_menus from post{,un}

* Tue Aug 05 2008 Sergey V Turchin <zerg at altlinux dot org> 1.22-alt0.M40.1
- new version

* Thu May 08 2008 Sergey V Turchin <zerg at altlinux dot org> 1.11-alt0.M40.1
- new version

* Tue Apr 01 2008 Sergey V Turchin <zerg at altlinux dot org> 1.10-alt0.M40.1
- new version

* Wed Mar 05 2008 Sergey V Turchin <zerg at altlinux dot org> 1.06-alt0.M40.1
- new version

* Tue Feb 19 2008 Sergey V Turchin <zerg at altlinux dot org> 1.05-alt0.M40.1
- new version

* Thu Feb 07 2008 Sergey V Turchin <zerg at altlinux dot org> 1.04-alt0.M40.1
- new version 

* Sat Jan 26 2008 Sergey V Turchin <zerg at altlinux dot org> 1.02-alt0.M40.1
- new version

* Tue Jan 15 2008 Sergey V Turchin <zerg at altlinux dot org> 1.01-alt0.M40.1
- new version
- split to subpackages

* Wed Jan 09 2008 Sergey V Turchin <zerg at altlinux dot org> 1.00-alt0.M40.1
- new version

* Wed Dec 12 2007 Sergey V Turchin <zerg at altlinux dot org> 0.96-alt0.M40.1
- new version

* Thu Dec 06 2007 Sergey V Turchin <zerg at altlinux dot org> 0.95-alt0.M40.1
- new version

* Wed Nov 28 2007 Sergey V Turchin <zerg at altlinux dot org> 0.94-alt0.M40.1
- new version

* Sat Sep 08 2007 Sergey V Turchin <zerg at altlinux dot org> 0.81-0.1.M40
- initial specfile