-
Notifications
You must be signed in to change notification settings - Fork 6
/
restraint.spec
1106 lines (1020 loc) · 48.8 KB
/
restraint.spec
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
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%{!?_without_static:%global with_static 1}
# Got Systemd?
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
%global with_systemd 1
%global with_selinux_policy 1
%else
%global with_systemd 0
%global with_selinux_policy 0
%endif
Name: restraint
Version: 0.2.2
Release: 1%{?dist}
Summary: Simple test harness which can be used with beaker
Group: Applications/Internet
License: GPLv3+ and MIT
URL: https://github.com/beaker-project/%{name}
Source0: https://github.com/beaker-project/restraint/archive/%{name}-%{version}.tar.gz
%if 0%{?with_static:1}
# Sources for bundled, statically linked libraries
Source101: libffi-3.1.tar.gz
Source102: glib-2.56.4.tar.xz
Source103: zlib-1.2.11.tar.gz
Source104: bzip2-1.0.8.tar.gz
Source105: libxml2-2.9.10.tar.gz
Source106: curl-7.68.0.tar.bz2
Source107: libarchive-3.4.0.tar.gz
Source108: xz-5.2.4.tar.gz
Source109: sqlite-autoconf-3310100.tar.gz
Source110: intltool-0.51.0.tar.gz
Source111: libsoup-2.48.1.tar.xz
Source112: json-c-0.13.1.tar.gz
Source114: openssl-1.0.1m.tar.gz
Source115: autoconf-2.69.tar.gz
Source116: m4-1.4.18.tar.xz
%endif
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: pkgconfig
BuildRequires: gettext
BuildRequires: perl-XML-Parser
BuildRequires: libselinux-devel
BuildRequires: glibc-devel
BuildRequires: make
BuildRequires: autoconf
%if 0%{?rhel}%{?fedora} > 4
BuildRequires: selinux-policy-devel
%endif
%if %{with_systemd}
BuildRequires: systemd-units
Requires(post): systemd
Requires(pre): systemd
Requires(postun): systemd
%else
Requires(post): chkconfig
Requires(preun): chkconfig
# This is for /sbin/service
Requires(preun): initscripts
Requires(postun): initscripts
%endif
%if %{with_selinux_policy}
BuildRequires: selinux-policy-devel
Requires: selinux-policy
%endif
#if not static build
%{!?with_static:BuildRequires: zlib-devel}
%{!?with_static:BuildRequires: glib2-devel}
%{!?with_static:BuildRequires: libsoup-devel}
%{!?with_static:BuildRequires: libarchive-devel}
%{!?with_static:BuildRequires: libxml2-devel}
%{!?with_static:BuildRequires: json-c-devel}
%{!?with_static:BuildRequires: openssl-devel}
%{!?with_static:BuildRequires: libcurl-devel}
BuildRequires: make
BuildRequires: tar
# If static build...
%if 0%{?rhel}%{?fedora} >= 6
%{?with_static:BuildRequires: libselinux-static}
%{?with_static:BuildRequires: glibc-static}
%endif
%{?with_static:BuildRequires: ncurses-devel}
# intltool perl dependencies
%if 0%{?rhel}%{?fedora} >= 6
%{?with_static:BuildRequires: perl(Getopt::Long)}
%endif
%{?with_static:BuildRequires: perl(XML::Parser)}
%if 0%{?fedora} || 0%{?rhel} >= 8
%{?with_static:BuildRequires: python3}
%{?with_static:BuildRequires: python3-rpm-macros}
%else
%if 0%{?rhel} >= 7
%{?with_static:BuildRequires: python}
%else
# new versions of glib require python2.7 as a build dependency
%{?with_static:BuildRequires: python27}
%endif
%endif
%description
restraint harness which can run standalone or with beaker. when provided a recipe xml it will execute
each task listed in the recipe until done.
%package rhts
Summary: Allow unmodified rhts tests to run under restraint
Group: Applications/Internet
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: make
%if 0%{?rhel} > 7 || 0%{?fedora} > 16
Requires: /usr/bin/hostname
%else
Requires: /bin/hostname
%endif
Requires: coreutils
Requires: libselinux-utils
# All RHTS-format task RPMs have an unversioned requirement on rhts-test-env.
# Therefore restraint-rhts provides a very low version of rhts-test-env so that
# if restraint-rhts is already installed, the dependency is satisfied without
# pulling in the real rhts-test-env, *but* if restraint-rhts is *not* already
# installed yum will prefer the real rhts-test-env. We want yum to pick the
# real rhts-test-env on traditional recipes using beah.
Provides: rhts-test-env = 0
%description rhts
Legacy package to allow older rhts tests to run under restraint
%package client
Summary: used to run jobs outside of beaker
Group: Applications/Internet
Requires: libxslt
%description client
With the restraint client you can run jobs outside of beaker. This will provide the same
restAPI allowing all results and logs to be recorded from the test machine.
%prep
%setup -q
%if 0%{?with_static:1}
cp %{_sourcedir}/*.tar.* third-party/
%endif
%build
export CFLAGS="$RPM_OPT_FLAGS"
%if 0%{?rhel} == 5
%ifarch i386
# glib wants at least i486 for atomic instructions. RHEL6+ is already using i686.
export CFLAGS="$RPM_OPT_FLAGS -march=i486"
%endif
%endif
%if 0%{?with_static:1}
pushd third-party
%if 0%{?rhel} != 6
# If this is not RHEL6, remove the patch.
rm glib-rhel6-s390.patch
%else
%ifnarch s390x s390
# If this is RHEL6, and not a s390 machine, remove the patch.
rm glib-rhel6-s390.patch
%endif
%endif
%if 0%{?fedora} || 0%{?rhel} >= 8
make PYTHON=%{__python3}
%else
make
%endif
popd
%endif
pushd src
PKG_CONFIG_PATH=../third-party/tree/lib/pkgconfig make %{?with_static:STATIC=1}
popd
%if %{with_selinux_policy}
make -C selinux -f %{_datadir}/selinux/devel/Makefile
%endif
make -C legacy
%install
%{__rm} -rf %{buildroot}
make DESTDIR=%{buildroot} install
%if %{with_selinux_policy}
if [ -e "selinux/restraint%{?dist}.pp" ]; then
install -p -m 644 -D selinux/restraint%{?dist}.pp $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/restraint.pp
else
install -p -m 644 -D selinux/restraint.pp $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/restraint.pp
fi
%endif
make DESTDIR=%{buildroot} -C legacy install
# Legacy support.
ln -s rhts-environment.sh $RPM_BUILD_ROOT/usr/bin/rhts_environment.sh
ln -s rstrnt-report-log $RPM_BUILD_ROOT/usr/bin/rhts-submit-log
ln -s rstrnt-report-log $RPM_BUILD_ROOT/usr/bin/rhts_submit_log
ln -s rstrnt-backup $RPM_BUILD_ROOT/usr/bin/rhts-backup
ln -s rstrnt-restore $RPM_BUILD_ROOT/usr/bin/rhts-restore
ln -s rstrnt-reboot $RPM_BUILD_ROOT/usr/bin/rhts-reboot
ln -s rstrnt-sync-set $RPM_BUILD_ROOT/usr/bin/rhts-recipe-sync-set
ln -s rstrnt-sync-set $RPM_BUILD_ROOT/usr/bin/rhts_recipe_sync_set
ln -s rstrnt-sync-set $RPM_BUILD_ROOT/usr/bin/rhts-sync-set
ln -s rstrnt-sync-set $RPM_BUILD_ROOT/usr/bin/rhts_sync_set
ln -s rstrnt-sync-block $RPM_BUILD_ROOT/usr/bin/rhts-recipe-sync-block
ln -s rstrnt-sync-block $RPM_BUILD_ROOT/usr/bin/rhts_recipe_sync_block
ln -s rstrnt-sync-block $RPM_BUILD_ROOT/usr/bin/rhts-sync-block
ln -s rstrnt-sync-block $RPM_BUILD_ROOT/usr/bin/rhts_sync_block
ln -s rstrnt-abort $RPM_BUILD_ROOT/usr/bin/rhts-abort
mkdir -p $RPM_BUILD_ROOT/mnt/scratchspace
mkdir -p $RPM_BUILD_ROOT/mnt/testarea
%if 0%{?rhel}%{?fedora} > 4
# Build RHTS Selinux Testing Policy
pushd legacy/selinux
# If dist specific selinux module is present use that.
# Why:
# newer releases may introduce new selinux macros which are not present in
# older releases. This means that a module built under the newer release
# will no longer load on an older release.
# How:
# Simply issue the else statement on the older release and commit the
# policy to git with the appropriate dist tag.
if [ -e "rhts%{?dist}.pp" ]; then
install -p -m 644 -D rhts%{?dist}.pp $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/rhts.pp
else
make -f %{_datadir}/selinux/devel/Makefile
install -p -m 644 -D rhts.pp $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/rhts.pp
fi
popd
%endif
%post
if [ "$1" -le "1" ] ; then # First install
%if %{with_systemd}
%systemd_post restraintd
# Enable restraintd by default
/bin/systemctl enable restraintd.service >/dev/null 2>&1 || :
%else
chkconfig --add restraintd
%endif
%if %{with_selinux_policy}
semodule -i %{_datadir}/selinux/packages/%{name}/restraint.pp || :
%endif
fi
%post rhts
%if 0%{?rhel}%{?fedora} > 4
if [ "$1" -le "1" ] ; then # First install
semodule -i %{_datadir}/selinux/packages/%{name}/rhts.pp || :
fi
%endif
%preun
if [ "$1" -lt "1" ] ; then # Final removal
%if %{with_systemd}
%systemd_preun %{_services}
%else
chkconfig --del restraintd || :
%endif
%if %{with_selinux_policy}
semodule -r restraint || :
%endif
fi
%preun rhts
%if 0%{?rhel}%{?fedora} > 4
if [ "$1" -lt "1" ] ; then # Final removal
semodule -r rhts || :
fi
%endif
%postun
if [ "$1" -ge "1" ] ; then # Upgrade
%if %{with_systemd}
%systemd_postun_with_restart %{_services_restart}
%else
service restraintd condrestart >/dev/null 2>&1 || :
%endif
%if %{with_selinux_policy}
semodule -i %{_datadir}/selinux/packages/%{name}/restraint.pp || :
%endif
fi
%postun rhts
%if 0%{?rhel}%{?fedora} > 4
if [ "$1" -ge "1" ] ; then # Upgrade
semodule -i %{_datadir}/selinux/packages/%{name}/rhts.pp || :
fi
%endif
%files
%defattr(-,root,root,-)
%if %{with_systemd}
%attr(0644, root, root)%{_unitdir}/%{name}d.service
%exclude %{_sysconfdir}/init.d
%else
%exclude /usr/lib/systemd
%attr(0755, root, root)%{_sysconfdir}/init.d/%{name}d
%endif
%attr(0755, root, root)%{_bindir}/%{name}d
%attr(0755, root, root)%{_bindir}/rstrnt-report-result
%attr(0755, root, root)%{_bindir}/rstrnt-report-log
%attr(0755, root, root)%{_bindir}/rstrnt-backup
%attr(0755, root, root)%{_bindir}/rstrnt-restore
%attr(0755, root, root)%{_bindir}/rstrnt-prepare-reboot
%attr(0755, root, root)%{_bindir}/rstrnt-reboot
%attr(0755, root, root)%{_bindir}/rstrnt-sync-set
%attr(0755, root, root)%{_bindir}/rstrnt-sync-block
%attr(0755, root, root)%{_bindir}/check_beaker
%attr(0755, root, root)%{_bindir}/rstrnt-adjust-watchdog
%attr(0755, root, root)%{_bindir}/rstrnt-abort
%attr(0755, root, root)%{_bindir}/rstrnt-sync
%attr(0755, root, root)%{_bindir}/rstrnt-package
/usr/share/%{name}/plugins/run_plugins
/usr/share/%{name}/plugins/run_task_plugins
/usr/share/%{name}/plugins/helpers
/usr/share/%{name}/plugins/localwatchdog.d
/usr/share/%{name}/plugins/completed.d
/usr/share/%{name}/plugins/report_result.d
/usr/share/%{name}/plugins/task_run.d
/usr/share/%{name}/pkg_commands.d
/var/lib/%{name}
%if %{with_selinux_policy}
%{_datadir}/selinux/packages/%{name}/restraint.pp
%endif
%files client
%attr(0755, root, root)%{_bindir}/%{name}
/usr/share/%{name}/client/job_schema.rng
/usr/share/%{name}/client/bkr2rstrnt.xsl
/usr/share/%{name}/client/job2junit.xml
/usr/share/%{name}/client/job2html.xml
/usr/share/%{name}/client/bootstrap/LICENSE
/usr/share/%{name}/client/bootstrap/README
/usr/share/%{name}/client/bootstrap/bootstrap.min.css
%files rhts
%defattr(-,root,root,-)
%attr(0755, root, root)%{_bindir}/rhts-environment.sh
%attr(0755, root, root)%{_bindir}/rhts-run-simple-test
%attr(0755, root, root)%{_bindir}/rhts-lint
%attr(0755, root, root)%{_bindir}/rhts-report-result
%attr(0755, root, root)%{_bindir}/rhts-flush
# Symlinks do not have attributes
%{_bindir}/rhts-sync-set
%{_bindir}/rhts-sync-block
%{_bindir}/rhts_sync_set
%{_bindir}/rhts_sync_block
%{_bindir}/rhts_environment.sh
%{_bindir}/rhts-reboot
%{_bindir}/rhts-submit-log
%{_bindir}/rhts_submit_log
%{_bindir}/rhts-backup
%{_bindir}/rhts-restore
%{_bindir}/rhts-recipe-sync-set
%{_bindir}/rhts_recipe_sync_set
%{_bindir}/rhts-recipe-sync-block
%{_bindir}/rhts_recipe_sync_block
%{_bindir}/rhts-abort
%{_datadir}/rhts/lib/rhts-make.include
/mnt/scratchspace
%attr(1777,root,root)/mnt/testarea
%if 0%{?rhel}%{?fedora} > 4
%{_datadir}/selinux/packages/%{name}/rhts.pp
%endif
%clean
%{__rm} -rf %{buildroot}
%changelog
* Mon Jun 01 2020 Martin Styk <[email protected]> 0.2.2-1
- Upstream release 0.2.2
* Tue May 19 2020 Martin Styk <[email protected]> 0.2.1-1
- Release notes for Restraint 0.2.1 Issue #58 ([email protected])
- docs: cleanup docs from all obsolete info ([email protected])
- docs: Mention Reno in Developer Guide ([email protected])
- feat: Introduce Reno for creating release notes ([email protected])
- fix: Ignore deprecated client host arguments ([email protected])
- deprecate: [:port][/ssh_port] client host arguments ([email protected])
- docs: update developer guide with latest info ([email protected])
- Revert logging in task io_callback ([email protected])
- Fix incorrect use of buffer ([email protected])
- refactor: get_recipe_url and get_taskid ([email protected])
- test: Move GLib envars out of valgrind function ([email protected])
- fix: remove default builder option from tito conf ([email protected])
- fix: correct tito behavior for tag rollback ([email protected])
- feat: allow bumping all specfiles during release ([email protected])
- fix: correct imports in tito module ([email protected])
- ci: remove Fedora 30 from Packit service ([email protected])
- build: drop support for Fedora 30 ([email protected])
- fix: Favor stdout over stderr in get_package_version ([email protected])
- test: get_package_version error message source ([email protected])
- Fix: Address comments on commands, pull 52 ([email protected])
- test: Add fedora:32 to GitHub workflows ([email protected])
- fix: Replace calls to g_error ([email protected])
- feat: Only use fd_in when there is content to pass ([email protected])
- feat: Make fd_in in restraint_fork optional ([email protected])
- refactor: restraint_fork ([email protected])
- Fix use of uninitialized fd ([email protected])
- test: process reads from stdin ([email protected])
- Fix: Revisit restraint commands ([email protected])
- Doc: Detail how to remove rhts from jobs ([email protected])
- Replace call to g_error when report signal ([email protected])
- Setup server to listen on any local address ([email protected])
- Revert logging in server_io_callback ([email protected])
- docs: Add reference for "-p, --port" option ([email protected])
- Use a fixed port for restraind service ([email protected])
- Allow to specify restraind port ([email protected])
- tests: Cover get_taskid and get_recipe_url ([email protected])
- tests: Move spawned_mock out of bin ([email protected])
- Use pgrep instead of pidof in get_restraintd_pid ([email protected])
- Revisit Release notes for sshlib removal ([email protected])
- tests: Add cmd_utils unit tests ([email protected])
- refactor: Use G_DEFINE_QUARK for errors ([email protected])
- Fix error handling on rstrnt-adjust-watchdog ([email protected])
- tests: Cover no rpm program in get_package_version ([email protected])
- tests: Add procps-ng dep for containers ([email protected])
- tests: Add cleanup for cmd tests ([email protected])
- tests: Run checks in containers ([email protected])
- tests: Add git tests to skip without git daemon ([email protected])
- docs: use check-install instead of install in jobs ([email protected])
- docs: update reference to Fedora distribution ([email protected])
- Add pidof as dependency for upstream ([email protected])
- ci: disable packit notification in pull request ([email protected])
- docs: update reservesys task location ([email protected])
- build: fix nullstrings issue during GCC10 build ([email protected])
- Fix: Improve restraint command doc & code ([email protected])
* Fri Apr 03 2020 Martin Styk <[email protected]> 0.2.0-1
- Upstream release 0.2.0:
https://restraint.readthedocs.io/en/latest/release-notes.html#restraint-0-2-0
* Wed Feb 05 2020 Martin Styk <[email protected]> 0.1.45-1
- https://restraint.readthedocs.io/en/latest/release-notes.html#restraint-0-1-45
* Tue Jan 21 2020 Martin Styk <[email protected]> 0.1.44-1
- Upstream release 0.1.44:
https://restraint.readthedocs.io/en/latest/release-notes.html#restraint-0-1-44
* Fri Dec 13 2019 Martin Styk <[email protected]> 0.1.43-1
- Upstream release 0.1.43:
https://restraint.readthedocs.io/en/latest/release-notes.html#restraint-0-1-43
* Thu Nov 07 2019 Martin Styk <[email protected]> 0.1.42-1
- Upstream release 0.1.42:
https://restraint.readthedocs.io/en/latest/release-notes.html#restraint-0-1-42
* Thu Oct 24 2019 Martin Styk <[email protected]> 0.1.41-1
- Upstream release 0.1.41:
https://restraint.readthedocs.io/en/latest/release-notes.html#restraint-0-1-41
* Wed Sep 04 2019 Martin Styk <[email protected]> 0.1.40-1
- Upstream release 0.1.40:
https://restraint.readthedocs.io/en/latest/release-notes.html#restraint-0-1-40
* Wed Feb 27 2019 Martin Styk <[email protected]> 0.1.39-1
- Upstream release 0.1.39:
https://restraint.readthedocs.io/en/latest/release-notes.html#restraint-0-1-39
* Tue Jan 29 2019 Martin Styk <[email protected]> 0.1.38-1
- Upstream release 0.1.38:
https://restraint.readthedocs.io/en/latest/release-notes.html#restraint-0-1-38
* Fri Jan 11 2019 Martin Styk <[email protected]> 0.1.37-1
- Upstream release 0.1.37:
https://restraint.readthedocs.io/en/latest/release-notes.html#restraint-0-1-37
* Fri Aug 24 2018 Dan Callaghan <[email protected]> 0.1.36-1
- Upstream release 0.1.36:
https://restraint.readthedocs.io/en/latest/release-notes.html#restraint-0-1-36
* Tue Jun 12 2018 Matt Tyson <[email protected]> 0.1.35-1
- update Github URLs ([email protected])
- make rstrnt-report-result accept rhts-report-result style arguments
- Segfault in restraint_parse_url for host only git repositories
- Fix up printf arguments for report-result, make SCORE optional
- Fix build faults in restraint RHEL4 workarounds. ([email protected])
- rhts-report-result wrapper breaks on some results ([email protected])
- Fix glib build errors on rawhide. ([email protected])
- Add debug mode for makefile build ([email protected])
- support testinfo.desc Environment setting in Restraint. ([email protected])
- Restraint rpm specfile sets attributes on symlinks ([email protected])
* Tue Mar 20 2018 Bill Peck <[email protected]> 0.1.34-1
- Search for first match of fragment. ([email protected])
- valgrind: suppress leak of static buffer in getaddrinfo() ([email protected])
- Update metadata parser to include RhtsRequires in dependencies.
* Wed Dec 13 2017 Bill Peck <[email protected]> 0.1.33-1
- fix file:/// handling. when host is NULL the full task path is truncated
early. ([email protected])
- Support file:// path ([email protected])
* Tue Oct 17 2017 Bill Peck <[email protected]> 0.1.32-1
- fix without static ([email protected])
- third-party: fix intltool build with Perl 5.26 ([email protected])
- third-party: update to latest intltool release ([email protected])
* Thu Aug 10 2017 Bill Peck <[email protected]> 0.1.31-1
- Check for stime and etime before trying to access them. ([email protected])
- Fix connection retry counting ([email protected])
- If fragment is defined then remove fragment from path. ([email protected])
- Check url validity in parse_task ([email protected])
- Fix a segfault in openssl on ppc64. ([email protected])
- Bump zlib version to 1.2.11. ([email protected])
- fix error found by -Werror=format-security ([email protected])
- third-party: remove -Wno-format in cmake ([email protected])
- need python at build time, for libsoup ([email protected])
- Add task start/stop times and duration to job.xml ([email protected])
- add softDependencies metadata ([email protected])
* Fri Dec 16 2016 Bill Peck <[email protected]> 0.1.30-1
- Merge recipe roles into task roles. ([email protected])
- fix tasks metadata documentation to show correct example. ([email protected])
- Fix problem with init.d start function BZ 1351663 ([email protected])
- Fix http timeouts during long dependency installs. ([email protected])
- sync: adjust set timeouts. ([email protected])
* Wed Nov 23 2016 Bill Peck <[email protected]> 0.1.29-1
- Remove sync plugin until a solution is found to mixed roles between recipes
and guests. ([email protected])
- Add reconnection retries option. ([email protected])
- Limit number of reconnection retries. ([email protected])
- Fix infinite loop on ssh failure. ([email protected])
- Do not free ssh password. ([email protected])
- Fix segfault on failed hostname resolution. ([email protected])
- fix expected output ([email protected])
* Tue Nov 08 2016 Bill Peck <[email protected]> 0.1.28-1
- rstrnt-sync block doesn't actually block. You need to keep checking on it.
- New linger plugin to enable session bus testing in Fedora24 and newer.
- update TODO list ([email protected])
- Docs: Add *_MEMBERS env var descriptions. ([email protected])
- Fix doublefree of restraint_url->uri. ([email protected])
- Unflat recipeSets. ([email protected])
- Rework roles processing. ([email protected])
- fix for keeping multi-host recipes in sync ([email protected])
- Implement timer removal. ([email protected])
- Capture output of make testinfo.desc ([email protected])
- MetaDataFetchInfo archive_entry callback. ([email protected])
- Switch to restraint_url instead of SoupURI. ([email protected])
- curl: switch to multi mode. ([email protected])
- Add ssl_verify parameter to fetch tag. ([email protected])
- Switch fetch_http to use libcurl. ([email protected])
- Fix rhel4 libcurl. ([email protected])
* Mon Oct 17 2016 Bill Peck <[email protected]> 0.1.27-1
- Print out extracted files for dependencies as well ([email protected])
- Update restraint standalone to process owner attribute from job.xml - this
fixes a problem where $SUBMITTER is not populated when run in stand alone
mode. ([email protected])
- rstrnt-sync: close standard descriptors after fork. ([email protected])
* Mon Aug 08 2016 Bill Peck <[email protected]> 0.1.26-1
- Use --whatprovides to check package installs. ([email protected])
- Avoid memory bug by NULL-terminating an array ([email protected])
- Fix suicide by ssh. ([email protected])
- Fix a memory leak in multipart's read_cb. ([email protected])
* Wed Jul 27 2016 Artem Savkov <[email protected]> 0.1.25-2
- Fix double task_handler calls after reporting result. ([email protected])
- Properly process no metadata case in repodeps. ([email protected])
* Wed Jun 29 2016 Bill Peck <[email protected]> 0.1.25-1
- fix restraint to report PASS or FAIL based on return code. ([email protected])
- Update libarchive to 3.2.1. ([email protected])
- Fix test_dependency. ([email protected])
- Add batch rpm dependency install. ([email protected])
- Add in audit rotate as plugin ([email protected])
- check on correct file ([email protected])
- Add keepchanges documentation. ([email protected])
- Add libssh malformed pubkey memory corruption patch. ([email protected])
- build libarchive without nettle support ([email protected])
- Switch to own remote semaphore implementation. ([email protected])
- add rhts-flush as a no-op ([email protected])
- use $RPM_OPT_FLAGS ([email protected])
- re-enable optimizations by default ([email protected])
- Update libssh to 0.7.3. ([email protected])
- Fix for rhts-report-result to accept the correct args ([email protected])
- add support for reporting tests as skipped ([email protected])
- Fix client return codes on failures. ([email protected])
- add missing underscore versions of sync/block commands ([email protected])
- Add recursive dependency tests. ([email protected])
- allow process_run to use pty or not. Default to not. Can be enabled via task
metadata or in task param. ([email protected])
- Recursively check repodeps. ([email protected])
- Add common 'test' to test-data. ([email protected])
- Prepare test_dependency for recursive repodeps. ([email protected])
- Fix rt_sigaction valgrind suppression. ([email protected])
- Get rid of global session in fetch_http. ([email protected])
- Move metadata processing to metadata.c ([email protected])
- third-party: fix Makefile deps for patching targets ([email protected])
- third-party: fix -Wformat-nonliteral failures with newer gcc
* Thu Mar 03 2016 Bill Peck <[email protected]> 0.1.24-1
- Relax xml schema validation to ignore unknown fields and attributes that we
will end up ignoring anyway. ([email protected])
- Prepend [HOSTNAME] on to each line. Makes multi-host recipes much easier to
understand. ([email protected])
- Add beaker->restraint xslt translator. ([email protected])
- Don't build rhts/legacy by default. ([email protected])
- use https to download curl source tarball ([email protected])
- Don't clear "config" file on recipe complete. ([email protected])
- third-party: error out if tarballs fail to fetch ([email protected])
- Documentation fixes. ([email protected])
- Add missing shebangs to bash scripts. ([email protected])
- Separate harness and test logs. ([email protected])
* Thu Jan 28 2016 Bill Peck <[email protected]> 0.1.23-2
- third-party: xz tarball location has moved ([email protected])
* Thu Jan 28 2016 Bill Peck <[email protected]> 0.1.23-1
- Add relaxng validation. ([email protected])
- Fix a couple of null-pointer dereferences. ([email protected])
- Use precompiled selinux policy if present. ([email protected])
- Add retry loop for task fetches. ([email protected])
- Add retry loop for recipe fetches. ([email protected])
- Fix memleak in *_archive_read_callback. ([email protected])
- Fix erorneous 'failed' message during uploads. ([email protected])
- disabling the localwatchdog didn't actually work. It only said it did. :-)
- export $TESTID even if not in rhts_compat mode ([email protected])
- add MIME type to links to log files ([email protected])
- update release version for docs ([email protected])
- update dependencies docs to match repoRequires wording ([email protected])
- document metadata repoRequires ([email protected])
* Tue Dec 08 2015 Bill Peck <[email protected]> 0.1.22-1
- fix BuildRequires for older releases ([email protected])
- Fix upload failures with files containing special characters.
- Add tests for extra files deletion functionality. ([email protected])
- Delete extra files on fetch. ([email protected])
- Add unit tests for keepchanges task argument. ([email protected])
- Add an option to keep changes when fetching tasks. ([email protected])
- fetch: do not overwrite existing files. ([email protected])
- Fix infinite uploadloop bug. ([email protected])
- Support alphanumeric recipe ids. ([email protected])
- Implicit recipe ids support for --host option. ([email protected])
- Fix role variables for multihost jobs. ([email protected])
- libssh download location is offline ([email protected])
- explicitly require perl modules for intltool ([email protected])
- third-party/openssl: skip building docs ([email protected])
- fix status cb to raise any WARN reported to task and recipe level.
- Fix memleak in build_env. ([email protected])
- Delete duplicate env variables. ([email protected])
- Fix test_env.c valgrind errors. ([email protected])
- Run valgrind target only on src directory. ([email protected])
- Add __libc_sigaction issue to valgrind supressions. ([email protected])
- Standalone mode authentication through libssh. ([email protected])
- libssh and dependencies added to third-party. ([email protected])
- Build target changed. Create symlink to rhts.el6eso.pp so we install correct
selinux policy for rhel6. ([email protected])
- Fix runcon test to not be noisy. This only shows up on rhel5 or earlier.
- Fix jobs.rst to include information about using tarballs in fetch URL.
* Mon Jul 27 2015 Bill Peck <[email protected]> 0.1.21-2
- use dnf if on fedora systems ([email protected])
- rhel7 and fedora have hostname in /usr/bin ([email protected])
- ps output is too much for syslog. ([email protected])
* Fri Jul 17 2015 Bill Peck <[email protected]> 0.1.21-1
- close the connection on an empty message ([email protected])
- fix: log separation ([email protected])
* Mon Jun 29 2015 Bill Peck <[email protected]> 0.1.20-2
- fix error passing. ([email protected])
* Sun Jun 28 2015 Bill Peck <[email protected]> 0.1.20-1
- fix tight loop/memory exhaust ([email protected])
* Fri Jun 05 2015 Bill Peck <[email protected]> 0.1.19-4
- add root element testsuites ([email protected])
- job2junit: add support for beaker result xml ([email protected])
* Thu Jun 04 2015 Bill Peck <[email protected]> 0.1.19-3
- report localwatchdog ([email protected])
- fix KILLTIMEOVERRIDE ([email protected])
* Thu May 07 2015 Bill Peck <[email protected]> 0.1.19-2
- RHEL4 has no libselinux-utils, only libselinux ([email protected])
- Fix beaker project URL ([email protected])
- Add RECIPE_MEMBERS tests. ([email protected])
- Move build_env and related functions to separate file ([email protected])
- Don't write out a config file if no beaker variables are defined.
* Thu Apr 16 2015 Bill Peck <[email protected]> 0.1.19-1
- Only try and adjust oom score on systems with the knob present.
- Check return value of fwrite to make sure we wrote everything.
- Make reporting cleaner byt not reporting /avc pass. ([email protected])
- Flush stdout and stderr before we fork. Flush stdin after we fork.
- Create a new Session, this allows background processes to keep running after
we exit. ([email protected])
- Fix for symlink attr warning during build ([email protected])
- Added server side RECIPE_MEMBERS ([email protected])
- fix some misc memory leaks found by valgrind ([email protected])
- finish callbacks take ownership of error ([email protected])
- update valgrind suppressions ([email protected])
- fix test failures due to rstrnt-package ([email protected])
- provide a very low version of rhts-test-env ([email protected])
- Abstract install/remove package command ([email protected])
- Update dmesg grep to show context around matches. ([email protected])
- use glib format specifier macros instead of C99 ones ([email protected])
- don't remove third-party dir during RPM %%install ([email protected])
- RepoRequires: removing old workaround for RhtsRequires ([email protected])
- Conflict with rhts-test-env instead of Providing it ([email protected])
- %%{sources} isn't defined on older RPM (RHEL<=5) ([email protected])
- Modify oomkill behavior to prevent test harness from being oomkilled.
- use HTTP for tarball downloads ([email protected])
- don't fetch third-party tarballs on every build ([email protected])
- Oops - I ate the return code with the debug logging. ([email protected])
- Update remote_hup method to only check the status of tasks in its recipe
- Update XPath search to only tasks from the current node. ([email protected])
- ftp.gnome.org has moved some of the older packages to different sites.
- Lots of fixes for running multihost jobs under restraint controller
(standalone mode) ([email protected])
- Fix spec file so that /usr/share/restraint/client doesn't get owned by both
client and server package ([email protected])
- Race condition where cancellable object can get set between recipe finishing
and client disconnecting. symptom is that next run will still have
cancellable object set and every task will complete without running
- Look for RepoRequires instead of RhtsRequires. ([email protected])
* Wed Feb 25 2015 Bill Peck <[email protected]> 0.1.18-1
- Clear previous beakerlib run ([email protected])
- previous fix showed an error where we call truncate when no file exists.
- Multiple fixes for errors found by covscan. ([email protected])
- fix warnings about unused return values from write(2) and truncate(2)
- fixes for compiling --without-static, default is still to build with static
enabled. ([email protected])
- Don't print non-errors to stderr since this confuses some scripts that wrap
restraint ([email protected])
- Add a developer guide ([email protected])
- Fix BuildRequires for non-static builds ([email protected])
- Add watchdog handler to restraint client ([email protected])
- Implement methods for registering different callbacks based on path.
- tito: Do not attempt to copy existing tarballs ([email protected])
- Minor fixes to make it work. ([email protected])
- Flattened commit of rstrnt-abort ([email protected])
- Fix process.c to close fd when the process finsihes if not already closed.
- Unit test to check if running a program into the background will cause us to
hang. ([email protected])
- Client code doesn't use soup_server any more. ([email protected])
- Update to libsoup-2.48.1 ([email protected])
- Misc. fixes to the install doc ([email protected])
- fix Requires for hostname ([email protected])
- Remove #define _BSD_SOURCE and #define _POSIX_C_SOURCE 200809L
- Remove main.c since it's not used any more. ([email protected])
- Issue #25: Add dependencies on external commands for restraint-rhts
- Include stdint.h for uint32_t ([email protected])
- Introduce RSTRNT_LOGGING variable to control debugging in plugins.
- RECIPE_MEMBERS param support. ([email protected])
- Fix segfault on server when client disconnects ([email protected])
- update restraint client. ([email protected])
- Fix repodeps code to not try and process none fetch method tasks.
- Move external watchdog from 5 minutes to 30 minutes ([email protected])
- 'Fragment' http tests added. ([email protected])
- repodeps tests in test_dependency ([email protected])
- http_fetch: report error on failed fragment extract ([email protected])
- base_path added to Recipe struct. ([email protected])
- Dependency test fix. ([email protected])
- Metadata test update ([email protected])
- Adjusting path_prefix_len for leading slash inconsistencies.
- turn off message accumulating in multipart messages ([email protected])
- fix boundary printing in multipart messages turn off message accumulating in
multipart messages free client data in client disconnect method.
- Properly handling g_key_file* errors. ([email protected])
- Returning support for nonfragment http urls. ([email protected])
- repoRequires http[s] support ([email protected])
- Adding support for repoDeps metadata option. ([email protected])
- server post multipart fixes ([email protected])
- client post multipart fixes ([email protected])
- Clear error in recipe_handler_finish ([email protected])
- Update restraint client to use new streaming support ([email protected])
- Support for streaming data back to client ([email protected])
- Change the heartbeat from 5 minutes to 1 minute ([email protected])
- Implement restraint_append_message. ([email protected])
- Don't call restraint_queue_message directly. ([email protected])
- fix copy_header to update Location base ([email protected])
- Allow a recipe to be cancelled. ([email protected])
- set to task to NULL. ([email protected])
- Update ignore list to latest third-party packages ([email protected])
- new restraint_config_trunc to clear the configuration ([email protected])
- Bump to newer version of libsoup which includes some important fixes.
- Include the run levels and add the service instead ([email protected])
- make selinux policy optional. ([email protected])
- restraintd: https support ([email protected])
- restraintd: fetch_http premature error cleanup fix ([email protected])
- Fix for issue#15. Client retcode on failed get_addr. ([email protected])
* Wed Sep 17 2014 Bill Peck <[email protected]> 0.1.17-3
- Fixed client segfault on xml without recipe ids. ([email protected])
- Fix typo in restraint word ([email protected])
- Handle no dependencies in metadata correctly ([email protected])
- Minor fix in the install from sources doc ([email protected])
- Fix typo in service start command. ([email protected])
- Restraint command to convert the stand alone job.xml to junit results.
* Fri Sep 12 2014 Bill Peck <[email protected]> 0.1.17-2
- Update Authors ([email protected])
- Recipe roles in client. ([email protected])
- Fix duplicate task/params in client. ([email protected])
- fix restraint client help ([email protected])
* Wed Sep 10 2014 Bill Peck <[email protected]> 0.1.17-1
- Include an xslt template which will convert job.xml to junit.xml
- Bug: 1077115, fix blatently stole from beah fix ([email protected])
- If staf is installed then start it ([email protected])
- RecipeData init while copying xml template. ([email protected])
- Untie recipe_id from rundir_id. ([email protected])
- Documentation update. ([email protected])
- Creating task/params in copy_job_as_template(). ([email protected])
- Quitting loop on last aborted task. ([email protected])
- Switched to ids instead of wboards ([email protected])
- copying "role" attr in copy_task_nodes() ([email protected])
- "port" option fixed ([email protected])
- restraint client use a single "server" ([email protected])
- Log paths in job.xml fix ([email protected])
- Fixed premature quit on a problem with a single recipe. ([email protected])
- exit if failed to init recipe ([email protected])
- Cleaning up extra whiteboards. ([email protected])
- Default wboard value for recipes with undefined wb. ([email protected])
- parse_new_job() wboard memleak fix ([email protected])
- Initial mh support for restraint client. ([email protected])
- restraintd: config_port memleak fix ([email protected])
- Make find_recipe() return specific recipe. ([email protected])
- Storing actual uri in recipe_hosts hash table. ([email protected])
- Added host cmd line option to restraint client. ([email protected])
- Merge pull request #12 from jstancek/ppc64le_v1 ([email protected])
- cmd_result tried to free a pointer returned by getenv in case when outputfile
is supplied by env variable. filename and outputfilename vars are now freed
in callback_outputfile prior to another allocation. ([email protected])
- Fix segfault if task->metadata is NULL also fix parse_time_string to allow
for raw seconds to be passed in. ([email protected])
- fix test_fetch_git to propagate error ([email protected])
- Bunch of cmd_result fixes. ([email protected])
- Bunch of cmd_log fixes. ([email protected])
- Bunch of cmd_watchdog fixes. ([email protected])
- Proper cleanup of parsed arguments. ([email protected])
- Proper freeing of restraint client's AppData ([email protected])
- Fixed xmlXPathObjectPtr leak in parse_new_job() ([email protected])
- client.c multiple ghashtable memleaks fixed. ([email protected])
- client.c multiple gobject memleaks fixed. ([email protected])
- client.c multiple string memleaks fixed. ([email protected])
- Move unref to after if statement since on error reqh will be none
- Update skipped tests when thttpd is not installed ([email protected])
- Fix memory leaks in test_dependency test case ([email protected])
- Merge pull request #8 from sm00th/memleaks ([email protected])
- Fixed premature g_clear_error() ([email protected])
- Fixed infinite loop in task_handler() ([email protected])
- Freeing task metadata on task free. ([email protected])
- Added libsoup valgrind suppressions. ([email protected])
- Freeing task_run_data in task_finish_plugin_callback() ([email protected])
- Freeing server_data in plugin_finish_callback() ([email protected])
- Fixed string leak in server_recipe_callback() ([email protected])
- Fixed iochannel leak in process_run() ([email protected])
- Fixed string leak in message_complete() ([email protected])
- config.c error leak fix ([email protected])
- fixed GHashTable leak in server_control_callback() ([email protected])
- freeing temp string in restraint_task_watchdog() ([email protected])
- recipe_handler() proper cleanup in RECIPE_RUNNING state ([email protected])
- restraintd server graceful exit on termination. ([email protected])
- Rework install_dependencies to make it so we can unit test it.
- restructure of metadata values ([email protected])
- xmlparser free order fix in recipe_handler() ([email protected])
- g_string memleak fix in recipe_handler and task_handler ([email protected])
- add support for ppc64le ([email protected])
- test_packages is covered under test_process ([email protected])
- refactored async calls to be more like async calls. :-) ([email protected])
- rework fetch_git code to be independent and use callbacks for logic.
- Update Authors file ([email protected])
- Update TODO ([email protected])
- fix memory leaks ([email protected])
- fix uploading of result logs ([email protected])
- minor cleanup. we don't have to worry about initializing localwatchdog since
it's set in process_finish_callback and if we fail to fork it will get
asseted on success. ([email protected])
- fix check target in Makefiles ([email protected])
- Added local watchdog pass/fail to test_process.c
- Added test_process ([email protected])
- Allow beaker lab controller and recipe variables to be overridden via cmdline
- Change rstrnt-report-result to use filename when -o is used.
- Updates using restraint docs. ([email protected])
* Tue Jun 03 2014 Bill Peck <[email protected]> 0.1.16-1
- client package doesn't need the daemon to be installed. ([email protected])
- fix possible memory leak when trying to open both ipv4 and ipv6 sockets
- use correct path to job.xml and for index.html ([email protected])
- use index.html as output instead of results.html ([email protected])
- update Makefiles to install client files ([email protected])
- updates for move to /usr/share/restraint/client ([email protected])
- move client files out of docs ([email protected])
- generate pretty html from job.xml ([email protected])
- update version string in path to CSS files ([email protected])
- update rpm spec for bootstrap CSS files ([email protected])
- add local copy of bootstrap min CSS source ([email protected])
- add link to bootstrap CSS framework ([email protected])
* Thu May 29 2014 Jeff Bastian <[email protected]> 0.1.15-2
- add local copy of boostrap CSS
- automatically generate results.html from job.xml (when running from client)
* Wed May 28 2014 Bill Peck <[email protected]> 0.1.15-1
- Add IPv6 support ([email protected])
- If we fail to send a message because of a client issue, don't keep retrying.
- Remove hard coded server port. ([email protected])
* Mon May 05 2014 Bill Peck <[email protected]> 0.1.14-1
- Updated usecases ([email protected])
- Allow multiple versions of restraint to run if different ports are used.
- install task run plugin ([email protected])
- update TODO file ([email protected])
- Update features list ([email protected])
- Updates to plugin docs to match newest plugins. ([email protected])
- Add git clone info to docs ([email protected])
- Setup some environment variables if they aren't defined. Make the plugin
reporting a little clearer. ([email protected])
- fixes for watchdog adjust ([email protected])
- final pieces to support extending watchdog from reserve task.
- Allow tasks to disable localwatchdog. ([email protected])
- Only report denials in avc_check. ([email protected])
- Update static build requires to pick up fedora ([email protected])
- Pass OUTPUTFILE to rstrnt-report-result in case the variable wasn't exported
- minor doc updates ([email protected])
- Provide SUBMITTER for legacy rhts and RSTRNT_OWNER for new.
- minor fix for RSTRNT_RECIPE_URL ([email protected])
- Another variable that legacy rhts expects. ([email protected])
- define RSTRNT_RECIPE_URL so that tasks can request the current recipe xml.
- Define RESULT_SERVER for rhts legacy tasks. The value shouldn't matter.
- Display the commands being executed ([email protected])
- License Restraint under the GPL 3.0 ([email protected])
- Propagate the error when we fail a command returns non-zero
* Thu Apr 17 2014 Bill Peck <[email protected]> 0.1.13-1
- cosmetic change ([email protected])
- Fix guint64 mistake ([email protected])
- report the number seconds we are pushing the watchdog out. Should help with
debugging. ([email protected])
- Support added to allow tasks to use an alternate max time via task params.
looks for both KILLTIMEOVERRIDE and RSTRNT_MAX_TIME ([email protected])
- fixes to %%post scripts ([email protected])
- Minor updates to doc. ([email protected])
- Always populate the RSTRNT_* variables to make it easier to migrate.
- Fix %%post scripts to start restraintd ([email protected])
- Updates to the documentation ([email protected])
- Add beakerlib reporting support ([email protected])
- Fix env variable generation when prefix is NULL. ([email protected])
- Minor update to expected output ([email protected])
* Wed Apr 09 2014 Bill Peck <[email protected]> 0.1.12-1
- error checking on client to make sure we can make the run dir.