-
Notifications
You must be signed in to change notification settings - Fork 45
/
Copy pathpagure.spec
2428 lines (2182 loc) · 112 KB
/
pagure.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
%{?python_enable_dependency_generator}
# Default to Python 3 when not EL
%global __python %{__python3}
%global python_pkgversion %{python3_pkgversion}
# For now, to keep behavior consistent
%global _python_bytecompile_extra 1
Name: pagure
Version: 5.13.2
Release: 1%{?dist}
Summary: A git-centered forge
License: GPLv2+
URL: https://pagure.io/pagure
Source0: https://pagure.io/releases/pagure/%{name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: systemd-devel
BuildRequires: systemd
BuildRequires: python%{python_pkgversion}-devel
BuildRequires: python%{python_pkgversion}-setuptools
# Required only for the `fas` and `openid` authentication backends
Recommends: python%{python_pkgversion}-fedora-flask
# Required only for the `oidc` authentication backend
Recommends: python%{python_pkgversion}-flask-oidc
# Required only if `USE_FLASK_SESSION_EXT` is set to `True`
# flask-session
# We require OpenSSH 7.4+ for SHA256 support
Requires: openssh >= 7.4
%if %{undefined python_enable_dependency_generator} && %{undefined python_disable_dependency_generator}
Requires: python%{python_pkgversion}-alembic
Requires: python%{python_pkgversion}-arrow
Requires: python%{python_pkgversion}-bcrypt
Requires: python%{python_pkgversion}-binaryornot
Requires: python%{python_pkgversion}-bleach
Requires: python%{python_pkgversion}-blinker
Requires: python%{python_pkgversion}-celery
Requires: python%{python_pkgversion}-chardet
Requires: python%{python_pkgversion}-cryptography
Requires: python%{python_pkgversion}-docutils
Requires: python%{python_pkgversion}-email-validator
Requires: python%{python_pkgversion}-flask
Requires: python%{python_pkgversion}-flask-wtf
Requires: python%{python_pkgversion}-flask-oidc
Requires: python%{python_pkgversion}-kitchen
Requires: python%{python_pkgversion}-markdown
Requires: python%{python_pkgversion}-markupsafe
Requires: python%{python_pkgversion}-munch
Requires: python%{python_pkgversion}-pillow
Requires: python%{python_pkgversion}-psutil
Requires: python%{python_pkgversion}-pygit2 >= 0.26.0
Requires: python%{python_pkgversion}-openid
Requires: python%{python_pkgversion}-openid-cla
Requires: python%{python_pkgversion}-openid-teams
Requires: python%{python_pkgversion}-redis
Requires: python%{python_pkgversion}-requests
Requires: python%{python_pkgversion}-six
Requires: python%{python_pkgversion}-sqlalchemy >= 0.8
Requires: python%{python_pkgversion}-straight-plugin >= 1.5.0
Requires: python%{python_pkgversion}-whitenoise
Requires: python%{python_pkgversion}-wtforms
%endif
%{?systemd_requires}
%description
Pagure is a light-weight git-centered forge based on pygit2.
Currently, Pagure offers a web-interface for git repositories, a ticket
system and possibilities to create new projects, fork existing ones and
create/merge pull-requests across or within projects.
%package web-apache-httpd
Summary: Apache HTTPD configuration for Pagure
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
Requires: httpd-filesystem
Requires: python%{python_pkgversion}-mod_wsgi
%description web-apache-httpd
This package provides the configuration files for deploying
a Pagure server using the Apache HTTPD server.
%package web-nginx
Summary: Nginx configuration for Pagure
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
Requires: nginx-filesystem
Requires: python%{python_pkgversion}-gunicorn
%description web-nginx
This package provides the configuration files for deploying
a Pagure server using the Nginx web server.
%package theme-pagureio
Summary: Web interface theme used for Pagure.io
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
%description theme-pagureio
This package provides the web interface assets for styling
a Pagure server with the same look and feel as Pagure.io.
%package theme-srcfpo
Summary: Web interface theme used for src.fedoraproject.org
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
%description theme-srcfpo
This package provides the web interface assets for styling
a Pagure server with the same look and feel as src.fedoraproject.org.
%package theme-chameleon
Summary: Web interface based on openSUSE's chameleon theme
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
%description theme-chameleon
This package provides the web interface assets for styling
a Pagure server with the same look and feel as openSUSE Infrastructure.
%package milters
Summary: Milter to integrate pagure with emails
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
Requires: python%{python_pkgversion}-pymilter
%{?systemd_requires}
# It would work with sendmail but we configure things (like the tempfile)
# to work with postfix
Requires: postfix
%description milters
Milters (Mail filters) allowing the integration of pagure and emails.
This is useful for example to allow commenting on a ticket by email.
%package ev
Summary: EventSource server for pagure
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
%{?systemd_requires}
%description ev
Pagure comes with an eventsource server allowing live update of the pages
supporting it. This package provides it.
%package webhook
Summary: Web-Hook server for pagure
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
%{?systemd_requires}
%description webhook
Pagure comes with an webhook server allowing http callbacks for any action
done on a project. This package provides it.
%package ci
Summary: A CI service for pagure
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
Requires: python%{python_pkgversion}-cryptography
Requires: python%{python_pkgversion}-jenkins
%{?systemd_requires}
%description ci
Pagure comes with a continuous integration service, currently supporting
only jenkins but extendable to others.
With this service, your CI server will be able to report the results of the
build on the pull-requests opened to your project.
%package logcom
Summary: The logcom service for pagure
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
%{?systemd_requires}
%description logcom
pagure-logcom contains the service that logs commits into the database so that
the activity calendar heatmap is filled.
%package loadjson
Summary: The loadjson service for pagure
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
%{?systemd_requires}
%description loadjson
pagure-loadjson is the service allowing to update the database with the
information provided in the JSON blobs that are stored in the tickets (and
in the future pull-requests) git repo.
%package mirror
Summary: The mirroring service for pagure
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
%{?systemd_requires}
%description mirror
pagure-mirror is the service mirroring projects that asked for it outside
of this pagure instance.
%prep
%autosetup -p1
%build
%py_build
%install
%py_install
# Install apache configuration file
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d/
install -p -m 644 files/pagure-apache-httpd.conf $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d/pagure.conf
# Install nginx configuration file
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/nginx/conf.d/
install -p -m 644 files/pagure-nginx.conf $RPM_BUILD_ROOT/%{_sysconfdir}/nginx/conf.d/pagure.conf
# Install configuration file
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/pagure
install -p -m 644 files/pagure.cfg.sample $RPM_BUILD_ROOT/%{_sysconfdir}/pagure/pagure.cfg
# Install WSGI file
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/pagure
install -p -m 644 files/pagure.wsgi $RPM_BUILD_ROOT/%{_datadir}/pagure/pagure.wsgi
install -p -m 644 files/doc_pagure.wsgi $RPM_BUILD_ROOT/%{_datadir}/pagure/doc_pagure.wsgi
# Install the createdb script
install -p -m 644 createdb.py $RPM_BUILD_ROOT/%{_datadir}/pagure/pagure_createdb.py
# Install the api_key_expire_mail.py script
install -p -m 644 files/api_key_expire_mail.py $RPM_BUILD_ROOT/%{_datadir}/pagure/api_key_expire_mail.py
# Install the mirror_project_in.py script
install -p -m 644 files/mirror_project_in.py $RPM_BUILD_ROOT/%{_datadir}/pagure/mirror_project_in.py
# Install the keyhelper and aclcheck scripts
mkdir -p $RPM_BUILD_ROOT/%{_libexecdir}/pagure/
install -p -m 755 files/aclchecker.py $RPM_BUILD_ROOT/%{_libexecdir}/pagure/aclchecker.py
install -p -m 755 files/keyhelper.py $RPM_BUILD_ROOT/%{_libexecdir}/pagure/keyhelper.py
# Install the alembic configuration file
install -p -m 644 files/alembic.ini $RPM_BUILD_ROOT/%{_sysconfdir}/pagure/alembic.ini
# Install the alembic revisions
cp -r alembic $RPM_BUILD_ROOT/%{_datadir}/pagure
# Install the systemd file for the web frontend
mkdir -p $RPM_BUILD_ROOT/%{_unitdir}
install -p -m 644 files/pagure_web.service \
$RPM_BUILD_ROOT/%{_unitdir}/pagure_web.service
# Install the systemd file for the docs web frontend
mkdir -p $RPM_BUILD_ROOT/%{_unitdir}
install -p -m 644 files/pagure_docs_web.service \
$RPM_BUILD_ROOT/%{_unitdir}/pagure_docs_web.service
# Install the systemd file for the worker
mkdir -p $RPM_BUILD_ROOT/%{_unitdir}
install -p -m 644 files/pagure_worker.service \
$RPM_BUILD_ROOT/%{_unitdir}/pagure_worker.service
# Install the systemd file for the web-hook
install -p -m 644 files/pagure_webhook.service \
$RPM_BUILD_ROOT/%{_unitdir}/pagure_webhook.service
# Install the systemd file for the ci service
install -p -m 644 files/pagure_ci.service \
$RPM_BUILD_ROOT/%{_unitdir}/pagure_ci.service
# Install the systemd file for the logcom service
install -p -m 644 files/pagure_logcom.service \
$RPM_BUILD_ROOT/%{_unitdir}/pagure_logcom.service
# Install the systemd file for the loadjson service
install -p -m 644 files/pagure_loadjson.service \
$RPM_BUILD_ROOT/%{_unitdir}/pagure_loadjson.service
# Install the systemd file for the mirror service
install -p -m 644 files/pagure_mirror.service \
$RPM_BUILD_ROOT/%{_unitdir}/pagure_mirror.service
# Install the systemd file for the script sending reminder about API key
# expiration
install -p -m 644 files/pagure_api_key_expire_mail.service \
$RPM_BUILD_ROOT/%{_unitdir}/pagure_api_key_expire_mail.service
install -p -m 644 files/pagure_api_key_expire_mail.timer \
$RPM_BUILD_ROOT/%{_unitdir}/pagure_api_key_expire_mail.timer
# Install the systemd file for the script updating mirrored project
install -p -m 644 files/pagure_mirror_project_in.service \
$RPM_BUILD_ROOT/%{_unitdir}/pagure_mirror_project_in.service
install -p -m 644 files/pagure_mirror_project_in.timer \
$RPM_BUILD_ROOT/%{_unitdir}/pagure_mirror_project_in.timer
# Install the milter files
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/run/pagure
mkdir -p $RPM_BUILD_ROOT/%{_tmpfilesdir}
install -p -m 0644 pagure-milters/milter_tempfile.conf \
$RPM_BUILD_ROOT/%{_tmpfilesdir}/%{name}-milter.conf
install -p -m 644 pagure-milters/pagure_milter.service \
$RPM_BUILD_ROOT/%{_unitdir}/pagure_milter.service
install -p -m 644 pagure-milters/comment_email_milter.py \
$RPM_BUILD_ROOT/%{_datadir}/pagure/comment_email_milter.py
# Install the eventsource
mkdir -p $RPM_BUILD_ROOT/%{_libexecdir}/pagure-ev
install -p -m 755 pagure-ev/pagure_stream_server.py \
$RPM_BUILD_ROOT/%{_libexecdir}/pagure-ev/pagure_stream_server.py
install -p -m 644 pagure-ev/pagure_ev.service \
$RPM_BUILD_ROOT/%{_unitdir}/pagure_ev.service
# Fix the shebang for various scripts
sed -e "s|#!/usr/bin/env python|#!%{__python}|" -i \
$RPM_BUILD_ROOT/%{_libexecdir}/pagure-ev/*.py \
$RPM_BUILD_ROOT/%{_libexecdir}/pagure/*.py \
$RPM_BUILD_ROOT/%{_datadir}/pagure/*.py \
$RPM_BUILD_ROOT/%{python_sitelib}/pagure/hooks/files/*.py \
$RPM_BUILD_ROOT/%{python_sitelib}/pagure/hooks/files/hookrunner \
$RPM_BUILD_ROOT/%{python_sitelib}/pagure/hooks/files/post-receive \
$RPM_BUILD_ROOT/%{python_sitelib}/pagure/hooks/files/pre-receive
# Switch interpreter for systemd units
sed -e "s|/usr/bin/python|%{__python}|g" -i $RPM_BUILD_ROOT/%{_unitdir}/*.service
# Switch all systemd units to use the correct celery
sed -e "s|/usr/bin/celery|/usr/bin/celery-3|g" -i $RPM_BUILD_ROOT/%{_unitdir}/*.service
# Switch all systemd units to use the correct gunicorn
sed -e "s|/usr/bin/gunicorn|/usr/bin/gunicorn-3|g" -i $RPM_BUILD_ROOT/%{_unitdir}/*.service
# Make log directories
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/log/pagure
logfiles="web docs_web"
for logfile in $logfiles; do
touch $RPM_BUILD_ROOT/%{_localstatedir}/log/pagure/access_${logfile}.log
touch $RPM_BUILD_ROOT/%{_localstatedir}/log/pagure/error_${logfile}.log
done
# Regenerate missing symlinks (really needed for upgrades from pagure < 5.0)
runnerhooks="post-receive pre-receive"
for runnerhook in $runnerhooks; do
rm -rf $RPM_BUILD_ROOT/%{python_sitelib}/pagure/hooks/files/$runnerhook
ln -sf hookrunner $RPM_BUILD_ROOT/%{python_sitelib}/pagure/hooks/files/$runnerhook
done
# Byte compile everything not in sitelib
%py_byte_compile %{__python} %{buildroot}%{_datadir}/pagure/
%py_byte_compile %{__python} %{buildroot}%{_libexecdir}/pagure/
%py_byte_compile %{__python} %{buildroot}%{_libexecdir}/pagure-ev/
%post
%systemd_post pagure_worker.service
%systemd_post pagure_api_key_expire_mail.timer
%systemd_post pagure_mirror_project_in.timer
%post web-nginx
%systemd_post pagure_web.service
%systemd_post pagure_docs_web.service
%post milters
%systemd_post pagure_milter.service
%post ev
%systemd_post pagure_ev.service
%post webhook
%systemd_post pagure_webhook.service
%post ci
%systemd_post pagure_ci.service
%post logcom
%systemd_post pagure_logcom.service
%post loadjson
%systemd_post pagure_loadjson.service
%post mirror
%systemd_post pagure_mirror.service
%preun
%systemd_preun pagure_worker.service
%systemd_preun pagure_api_key_expire_mail.timer
%systemd_preun pagure_mirror_project_in.timer
%preun web-nginx
%systemd_preun pagure_web.service
%systemd_preun pagure_docs_web.service
%preun milters
%systemd_preun pagure_milter.service
%preun ev
%systemd_preun pagure_ev.service
%preun webhook
%systemd_preun pagure_webhook.service
%preun ci
%systemd_preun pagure_ci.service
%preun logcom
%systemd_preun pagure_logcom.service
%preun loadjson
%systemd_preun pagure_loadjson.service
%preun mirror
%systemd_preun pagure_mirror.service
%postun
%systemd_postun_with_restart pagure_worker.service
%systemd_postun pagure_api_key_expire_mail.timer
%systemd_postun pagure_mirror_project_in.timer
%postun web-nginx
%systemd_postun_with_restart pagure_web.service
%systemd_postun_with_restart pagure_docs_web.service
%postun milters
%systemd_postun_with_restart pagure_milter.service
%postun ev
%systemd_postun_with_restart pagure_ev.service
%postun webhook
%systemd_postun_with_restart pagure_webhook.service
%postun ci
%systemd_postun_with_restart pagure_ci.service
%postun logcom
%systemd_postun_with_restart pagure_logcom.service
%postun loadjson
%systemd_postun_with_restart pagure_loadjson.service
%postun mirror
%systemd_postun_with_restart pagure_mirror.service
%files
%doc README.rst UPGRADING.rst doc/
%license LICENSE
%config(noreplace) %{_sysconfdir}/pagure/pagure.cfg
%config(noreplace) %{_sysconfdir}/pagure/alembic.ini
%dir %{_sysconfdir}/pagure/
%dir %{_datadir}/pagure/
%{_datadir}/pagure/*.py*
%{_datadir}/pagure/__pycache__/
%{_datadir}/pagure/alembic/
%{_libexecdir}/pagure/
%{python_sitelib}/pagure/
%exclude %{python_sitelib}/pagure/themes/pagureio
%exclude %{python_sitelib}/pagure/themes/srcfpo
%exclude %{python_sitelib}/pagure/themes/chameleon
%{python_sitelib}/pagure*.egg-info
%{_bindir}/pagure-admin
%{_unitdir}/pagure_worker.service
%{_unitdir}/pagure_api_key_expire_mail.service
%{_unitdir}/pagure_api_key_expire_mail.timer
%{_unitdir}/pagure_mirror_project_in.service
%{_unitdir}/pagure_mirror_project_in.timer
%dir %{_localstatedir}/log/pagure
%files web-apache-httpd
%license LICENSE
%config(noreplace) %{_sysconfdir}/httpd/conf.d/pagure.conf
%config(noreplace) %{_datadir}/pagure/*.wsgi
%files web-nginx
%license LICENSE
%config(noreplace) %{_sysconfdir}/nginx/conf.d/pagure.conf
%{_unitdir}/pagure_web.service
%{_unitdir}/pagure_docs_web.service
%ghost %{_localstatedir}/log/pagure/access_*.log
%ghost %{_localstatedir}/log/pagure/error_*.log
%files theme-pagureio
%license LICENSE
%{python_sitelib}/pagure/themes/pagureio/
%files theme-srcfpo
%license LICENSE
%{python_sitelib}/pagure/themes/srcfpo/
%files theme-chameleon
%license LICENSE
%{python_sitelib}/pagure/themes/chameleon/
%files milters
%license LICENSE
%attr(755,postfix,postfix) %dir %{_localstatedir}/run/pagure
%dir %{_datadir}/pagure/
%{_tmpfilesdir}/%{name}-milter.conf
%{_unitdir}/pagure_milter.service
%{_datadir}/pagure/comment_email_milter.py*
%files ev
%license LICENSE
%{_libexecdir}/pagure-ev/
%{_unitdir}/pagure_ev.service
%files webhook
%license LICENSE
%{_unitdir}/pagure_webhook.service
%files ci
%license LICENSE
%{_unitdir}/pagure_ci.service
%files logcom
%license LICENSE
%{_unitdir}/pagure_logcom.service
%files loadjson
%license LICENSE
%{_unitdir}/pagure_loadjson.service
%files mirror
%license LICENSE
%{_unitdir}/pagure_mirror.service
%changelog
* Wed Feb 10 2021 Pierre-Yves Chibon <[email protected]> - 5.13.2-1
- Update to 5.13.2
* Fri Jan 29 2021 Pierre-Yves Chibon <[email protected]> - 5.13.1-1
- Update to 5.13.1
* Tue Jan 19 2021 Pierre-Yves Chibon <[email protected]> - 5.13-1
- Update to 5.13
* Fri Jan 08 2021 Pierre-Yves Chibon <[email protected]> - 5.12.1-1
- Update to 5.12.1
* Wed Jan 06 2021 Pierre-Yves Chibon <[email protected]> - 5.12-1
- Update to 5.12
* Tue Aug 11 2020 Pierre-Yves Chibon <[email protected]> - 5.11.3-1
- Update to 5.11.3
* Tue Aug 04 2020 Pierre-Yves Chibon <[email protected]> - 5.11.2-1
- Update to 5.11.2
* Mon Aug 03 2020 Pierre-Yves Chibon <[email protected]> - 5.11.1-1
- Update to 5.11.1
* Mon Aug 03 2020 Pierre-Yves Chibon <[email protected]> - 5.11.0-1
- Update to 5.11.0
* Thu May 14 2020 Pierre-Yves Chibon <[email protected]> - 5.10.0-1
- Update to 5.10.0
* Mon Mar 30 2020 Pierre-Yves Chibon <[email protected]> - 5.9.1-1
- Update to 5.9.1
* Tue Mar 24 2020 Pierre-Yves Chibon <[email protected]> - 5.9.0-1
- Update to 5.9.0
* Mon Dec 02 2019 Pierre-Yves Chibon <[email protected]> - 5.8.1-1
- Update to 5.8.1
* Fri Nov 15 2019 Pierre-Yves Chibon <[email protected]> - 5.8-1
- Update to 5.8
* Sat Aug 10 2019 Pierre-Yves Chibon <[email protected]> - 5.7.4-1
- Update to 5.7.4
* Fri Aug 02 2019 Pierre-Yves Chibon <[email protected]> - 5.7.3-1
- Update to pagure 5.7.3
* Tue Jul 30 2019 Pierre-Yves Chibon <[email protected]> - 5.7.2-1
- Update to pagure 5.7.2
* Fri Jul 12 2019 Pierre-Yves Chibon <[email protected]> - 5.7.1-1
- Update to pagure 5.7.1
* Fri Jul 05 2019 Pierre-Yves Chibon <[email protected]> - 5.7-1
- Update to pagure 5.7
* Tue Jun 04 2019 Pierre-Yves Chibon <[email protected]> - 5.6-1
- Update to pagure 5.6
* Mon Apr 08 2019 Pierre-Yves Chibon <[email protected]> - 5.5-1
- Update to pagure 5.5
* Thu Mar 28 2019 Pierre-Yves Chibon <[email protected]> - 5.4-1
- Update to pagure 5.4
* Fri Feb 22 2019 Pierre-Yves Chibon <[email protected]> - 5.3-1
- Update to pagure 5.3
* Mon Jan 07 2019 Pierre-Yves Chibon <[email protected]> - 5.2-1
- Update to pagure 5.2
* Thu Oct 11 2018 Pierre-Yves Chibon <[email protected]> - 5.1.3-1
- Update to pagure 5.1.3
* Thu Oct 11 2018 Pierre-Yves Chibon <[email protected]> - 5.1.2-1
- Update to pagure 5.1.2
* Tue Oct 09 2018 Pierre-Yves Chibon <[email protected]> - 5.1.1-1
- Update to pagure 5.1.1
* Tue Oct 09 2018 Pierre-Yves Chibon <[email protected]> - 5.1-1
- Update to pagure 5.1
* Thu Sep 27 2018 Pierre-Yves Chibon <[email protected]> - 5.0.1-1
- Update to pagure 5.0.1
* Mon Sep 24 2018 Pierre-Yves Chibon <[email protected]> - 5.0-1
- Update to pagure 5.0
* Mon Sep 17 2018 Pierre-Yves Chibon <[email protected]> - 4.93.0-1
- Update to 4.93.0, fourth beta release of pagure 5.0
* Wed Aug 29 2018 Pierre-Yves Chibon <[email protected]> - 4.92.0-1
- Update to 4.92.0, third beta release of pagure 5.0
* Thu Aug 23 2018 Pierre-Yves Chibon <[email protected]> - 4.91.0-1
- Update to 4.91.0, second beta release of pagure 5.0
* Mon Aug 20 2018 Pierre-Yves Chibon <[email protected]> - 4.90.0-1
- Update to 4.90.0, first beta release of pagure 5.0
* Thu Jul 19 2018 Pierre-Yves Chibon <[email protected]> - 4.0.4-1
- Update to 4.0.4
* Mon May 14 2018 Pierre-Yves Chibon <[email protected]> - 4.0.3-1
- Update to 4.0.3
* Mon May 14 2018 Pierre-Yves Chibon <[email protected]> - 4.0.2-1
- Update to 4.0.2
* Thu Apr 26 2018 Pierre-Yves Chibon <[email protected]> - 4.0.1-1
- Update to 4.0.1
* Thu Apr 26 2018 Pierre-Yves Chibon <[email protected]> - 4.0-1
- Update to 4.0
- Changelog is from now on included in the doc/ folder
* Thu Dec 21 2017 Pierre-Yves Chibon <[email protected]> - 3.13.2-1
- Update to 3.13.2
- Fix ordering issues by author using an alias so the User doesn't collide
* Tue Dec 19 2017 Pierre-Yves Chibon <[email protected]> - 3.13.1-1
- Update to 3.13.1
- Add an alembic migration removing a constraint on the DB that not only no
longer needed but even blocking regular use now
* Mon Dec 18 2017 Pierre-Yves Chibon <[email protected]> - 3.13-1
- Update to 3.13
- Fix the alembic migration adjusting the pull_requests table
- Fix how is created the db in the docker development environment (Clement
Verna)
- Ensure optional dependencies remain optional
- Ensure groups cannot be created when it is not allowed
- When listing issues, include the project as well in the user's issue API
endpoint
- Sort forks by date of creation (descending) (Neha Kandpal)
- Ensure the pagination arguments are returned when a page is specified
- Make the milestone clickable on the issue page
- Make the celery tasks update their status so we know when they are running (vs
pending)
* Fri Dec 08 2017 Pierre-Yves Chibon <[email protected]> - 3.12-1
- Update to 3.12
- Adjust the API endpoint listing project to not return a 404 when not projects
are found (Vivek Anand)
- Remove --autoreload from the docker dev deployment (Vivek Anand)
- Fix ordering issues (Patrick Uiterwijk)
- Do not log actions pertaining to private issues, PRs or projects
- Fix flagging a PR when no uid is specified
- Fix the doc about custom gitolite config
- Fix displaying the filename on the side and linking to file for remote PRs
- Add irc info in Readme (Vivek Anand)
- Make pagure compatible with newer python chardet
- Check that the identifier isn't the hash of a git tree in view_file
- Fix if the identifier provided is one of a blob instead of a commit in
view_commit
- Include the status when flagging a PR via jenkins
- Enable OpenID Connect authentication (Slavek Kabrda)
- Use the updated timestamp in the pull-request list
- Add migration to fix the project_from_id foreign key in pull_requests
- Let the SSE server to send the notifications so they can be displayed live
- Improve the createdb script to support stamping the database in the initial
run
- Specify a different connection and read timeout in pagure-ci
- Small CSS fix making the (un)subscribe show up on the PR page
* Wed Nov 29 2017 Pierre-Yves Chibon <[email protected]> - 3.11.2-1
- Update to 3.11.2
- Fix giving a project if no user is specified
- Don't show issue stats when issues are off
* Tue Nov 28 2017 Pierre-Yves Chibon <[email protected]> - 3.11.1-1
- Update to 3.11.1
- Fix showing the issue list
- Make clear in the project's settings that tags are also for PRs (Clement
Verna)
- Remove unused jdenticon js library (Shengjing Zhu)
* Mon Nov 27 2017 Pierre-Yves Chibon <[email protected]> - 3.11-1
- Update to 3.11
- Print out the URL to existing PR(s) or to create one on push
- Reword the repository access warning (Matt Prahl)
- Add pagure-admin admin-token update to update the expiration date
- Fix the api_view_user_activity_stats to return the expected data (post flask
0.11)
- Add small icon showing if issues are blocked or blocking in the issue list
- Replace all print statements with print function calls (Vadim Rutkovski)
- Add a default_priority field to projects
- Bail on merge a PR that is already closed
- Add a graph of the history of the open issues on the project
- Make the pagure hook act as the person doing the push
- Clean spec file to drop deprecated lines and macros (Igor Gnatenko)
- Include selectize in the settings page to fix the autocomplete in the give
project action
- Do not display the close_status if there isn't one
- Do not show the `Fork and edit` button all the time
- Allow project maintainer to set metadata when creating a new issue (expand the
API as well)
- Add a timeout when trying to query jenkins
- Show the reply button even if the PR/issue is closed.
- Add a diff view for PR
- Improve the `My star` page
- Introduce repo statistics
- When a project enforce signed-off-by, clearly say so on the new PR page and
properly block the PR from being created
- Adjust button title on the 'Fork and Edit' action
- Fix typos in the code (chocos10)
- When editing an issue, act as the person who pushed the change
- Commit using the user's fullname if there is one, otherwise its username
- Expand the group info API endpoint
- Sorting on Opened, Modified, Closed, Priority, Reporter, Assignee cols (Mohan
Boddu and Matt Prahl)
- Fix the Vagrant setup (Ryan Lerch)
- Fix typo in the example pagure.wsgi file (Vivek Anand)
- Add API endpoints for listing pull requests for a user (Ryan Lerch)
- Ask for the post-commit hook to be run when editing files via the UI
- Fix the milter for email gpg signed
- Allow filtering the user's project by access level
- Add a modal at the bottom of the issues list to add milestones
- Add a field to store the order of the milestones
- Hide the ``+`` button on the index page when it is disabled in the UI
- Improve mimetype detection (Shengjing Zhu and Clement Verna)
- Allow assignee to drop their assignment
- Remove duplicate [Pagure] from mail subjects (Stefan Bühler)
- Fix undefined 'path' in blame.html template (Stefan Bühler)
- Warn users when a project does not support direct push
- Update gitolite's config for the project when set to PR only
- Do not report the branch differing master if PRs have been turned off
- Add a button and an API endpoint to subscribe to PR's notifications
- Fix showing the file names in PR (pre)view
- Fix number of typos in the documentation (René Genz)
- Improve the documentation about documentation hosting in pagure (René Genz)
- Allow priorities and milestones to be 0 or -1
- Return the flag UID when adding or updating a flag on a PR not in fedmsg
- Add flags on commits
- Add documentation about flags on commits and PRs
- Add status fields to flags
- Make flag's UID be unique to the commit/PR being flagged
- Add API endpoint to retrieve all issues related to an user across all repos
- Fix the new PR and delete buttons for branch name with + in them
- When merging a PR, call the post-update hook on the target repo
- Add tags to pull-request
- Fix documentation for fork API endpoint (ishcherb)
- Send fedmsg messages when deleting a project (Shaily)
* Fri Oct 13 2017 Pierre-Yves Chibon <[email protected]> - 3.10.1-1
- Update to 3.10.1
- Fix providing access to some of the internal API endpoints by javascript
* Fri Oct 13 2017 Pierre-Yves Chibon <[email protected]> - 3.10-1
- Update to 3.10
- Show the branches' head in the commit list
- Log which IP is being denied access to the internal endpoints (makes debugging
easier)
- Link to pagure's own markdown documentation and warn that remote images are
not supported
- Document how to run a single test file or a single test in a file
- Fix trying to decode when the encoding is None
- Include an url_path field in the JSON representation of a project
- Generalize the description of the ACLs (since we know have project-less API
tokens)
- Drop ``--autoreload`` from the .service files as celery dropped support for it
and it never really worked (Vivek Anand)
* Wed Oct 11 2017 Pierre-Yves Chibon <[email protected]> - 3.9-1
- Update to 3.9
- Fix the editing issue when the user does not actually edit anything
- Fix the internal API endpoint: get branches of commit to support namespace
- Consolidate the code in our custom markdown processor (fixes linking to a
commit on a namespaced project)
- Fix deleting a project by also removing it from the gitolite config
- Warn if the user is about to just recompile the gitolite config via
pagure-admin (Patrick Uiterwijk)
- Update .git/config example in doc/usage/pull_requests.rst (sclark)
- Include the PRs opened by the user on the 'My pull-requests' page
- Add to pagure-admin the actions: get-watch and update-watch
- Add to pagure-admin the action: read-only
- Add the user's fullname (if there is one) as title when they comment
- Fix the title of the percentage when hovering over the red bar in issues
- Make the box to edit comments bigger
- Document in the usage section where to find the API documentation
- Provide the sha256 and sha512 of the releases in a CHECKSUMS file
- Remove clear buttons (Till Maas)
* Fri Sep 29 2017 Pierre-Yves Chibon <[email protected]> - 3.8-1
- Update to 3.8
- Fix API documentation for git/branch (Matt Prahl)
- Fix giving a project to someone who already has access (Matth Prahl)
- Add some border to the tables created in README files
- Ask the user to confirm merging a pull-request
- Fix processing status and close_status updates in the SSE
- Fix the URL to the issue used by the SSE JS on tags
- Increase the logging in the milter to help figuring out issues in the future
- Fix the In-Reply-To header when sending notifications
- Fix showing the delete project button
- Fix search issues with a unicode character
- Catch exception raised when accessing the head of the repo
- Fix deleting a project when some of the folder are not used
- Allow viewing a PR when its origin (fork or branch) is gone
- Fix linking to issue or PR in namespaced projects via #<id>
- Make it more obvious that the namespace and the project are different links
- Tell fedmsg to send things with pagure certificates (Patrick Uiterwijk)
- Fix loading ticket templates on namespaced project and extracting their names
- Add a banner on the overview page when the ACLs are being refreshed on the
backend (and thus ssh access may not be entirely functional) (Vivek Anand)
- Update the documentation on how to create pull requests (Clement Verna)
- Add button to refresh external pull requests (Patrick Uiterwijk)
- Add the possibility to get the group members when asking the project info
- Make the PROJECT_NAME_REGEX used in form be configurable
- Adjust the milter to support replying with any email addresses associated
- Allow pagure admin to give a project
* Tue Sep 05 2017 Pierre-Yves Chibon <[email protected]> - 3.7.1-1
- Update to 3.7.1
- Fix the UPGRADING documentation
- Add the API endpoint to edit multiple custom fields to the doc (Clement
Verna)
* Tue Sep 05 2017 Pierre-Yves Chibon <[email protected]> - 3.7-1
- Update to 3.7
- Update link to markdown documentation, fix typo on the way (Till Hofmann)
- Add feature allowing to prevent project creation in the UI only
- Remove the front whitespace from the commit markdown regex (Clement Verna)
- New API endpoint to modify multiple custom fields (Clement Verna)
- Update the example output of the API endpoint giving project information
- Add the ability to order issues by ascending or descending (Matt Prahl)
- Consolidate around pagure.lib.git.generate_gitolite_acls
- Regenerate the gitolite ACL when changing the main admin of a project
- Change the documentation link end point (Clement Verna)
- Fixes the README.rst file (Ompragash)
- Update Docker Environment (Clement Verna)
- Add a configuration key to allow deleting forks but not projects
- Show the entire project name in the UI on the delete button
- Add support for a custom user in the SSH URL
- Do not show the SSH url when the user isn't logged in
- Update the documentation on how to work with pull requests (Clement Verna)
- Support both JSON and Form POST on APIs that accepted only JSON (Matt Prahl)
- Don't expand groups in the watchers API (Ralph Bean)
- Add a new branch API (Matt Prahl)
- Add bash function example to PR documentation (Clement Verna)
- Add the star project feature (Vivek Anand)
- Update the overview diagram
- Fix the rendering of the API version in the html page (Clement Verna)
- Fix message-id not having FQDN (Sachin Kamath)
- Mention on what the rebase was done
- Remove the line numbers coming from pygments on pull-requests
- Include the targeted branch in the list of PRs
- Separately link user/namespace/name
- Fix the pagination when listing projects via the view_projects endpoints
- Retain access when transfering ownership of the project (Matt Prahl)
* Mon Aug 14 2017 Pierre-Yves Chibon <[email protected]> - 3.6-1
- Update to 3.6
- Blacklist creating a group named 'group'
- Allow having a dedicated worker to compile the gitolite configuration file
- Fix removing groups of a project
- Make the API returns only open issues by default (as documented) (Clement
Verna)
- Improve the README regarding the use of eventlet to run the tests (Vivek
Anand)
- Give Pagure site admins the ability to modify projects using the API (Matt
Prahl)
- Add the "git/generateacls" API endpoint for projects (Matt Prahl)
* Tue Aug 08 2017 Pierre-Yves Chibon <[email protected]> - 3.5-1
- Update to 3.5
- Fix login when groups are managed outside
- Fix the ordering of the issues by priority using JS and its documentation
- Indicate the issue/PR status in the title of its link
- Correct typo in waiting page template: 'You task' -> 'Your task' (Hazel Smith)
- Fix redirect in search (Carl George)
- Fix removing users of a project
- Allow customizing the HTML title globally
- Drop the new line character and the '# end of body' message when loading the
config
- Scroll to the comment section on clicking reply. (shivani)
- only show issues on the My Issue page if the issue tracker is on for the
project (Vivek Anand)
- Update the refresh-gitolite action of pagure-admin for the new interface
(turns out this wasn't in fact merged in 3.4)
- Add a configuration key to make pagure case sensitive
- Add an USER_ACLS configuration key
- Document the different API token ACLs configuration keys
- Fix syncing groups from external account sources (Patrick Uiterwijk)
* Mon Jul 31 2017 Pierre-Yves Chibon <[email protected]> - 3.4-1
- Update to 3.4
- Fix layout breakage in the doc
- Stop using readlines() to drop the trailing new line character
- Fix logging by properly formatting the message
- Fix the issue count in the My Issues page (Vivek Anand)
- Add a configuration key to disable deleting branches from the UI
- Add a configuration key to disable managing user's ssh key in pagure
- Fix the vagrant environment (Clement Verna)
- Fix branch support for the git blame view
- Update the PR ref when the PR is updated
- Add a configuration key to disable the deploy keys in a pagure instance
- Fix login when groups are managed outside of pagure
- Fix setting up the git hooks when there is no DOCS_FOLDER set
- Fix installing up the pagure hooks when there is no DOCS_FOLDER set
* Mon Jul 24 2017 Pierre-Yves Chibon <[email protected]> - 3.3.1-1
- Update to 3.3.1
- Fix typo in the alembic migration present in 3.3
* Mon Jul 24 2017 Pierre-Yves Chibon <[email protected]> - 3.3-1
- [SECURITY FIX] block private repo (read) access via ssh due to a bug on how we
generated the gitolite config - CVE-2017-1002151 (Stefan Bühler)
- Add the date_modified to projects (Clement Verna)
* Fri Jul 14 2017 Pierre-Yves Chibon <[email protected]> - 3.2.1-1
- Fix a syntax error on the JS in the wait page
* Fri Jul 14 2017 Pierre-Yves Chibon <[email protected]> - 3.2-1
- Update to 3.2
- Use a decorator to check if a project has an issue tracker (Clement Verna)
- Optimize generating the gitolite configuration for group change
- Fix the issue_keys table for mysql
- Drop the load_from_disk script
- Fix next_url URL parameter on the login page not being used (Carlos Mogas da
Silva)
- Support configuration where there are no docs folder and no tickets folder
- Show all the projects a group has access to
- Add pagination to the projects API (Matt Prahl)
- Simplify diff calculation (Carlos Mogas da Silva)
- Show the inline comment in the PR's comments by default (Clement Verna)
- Fix the URL in the API documentation for creating a new project (Matt Prahl)
* Tue Jul 04 2017 Pierre-Yves Chibon <[email protected]> - 3.1-1
- Update to 3.1
- Allow project-less API token to create new tickets
- Tips/tricks: add info on how to validate local user account without email
verification (Vivek Anand)
- Optimize the generation of the gitolite configuration
- Improve logging and load only the plugin of interest instead of all of them
- Show the task's status on the wait page and avoid reloading the page
- Don't show '+' sign when GROUP_MNGT is off (Vivek Anand)
* Fri Jun 30 2017 Pierre-Yves Chibon <[email protected]> - 3.0-1
- Update to 3.0
- Since 2.90 celery has become a requirement as well as one of the queueing
system it supports (pagure defaults to using redis)
- Multiple stability and performance improvements (mainly thanks to Patrick
Uiterwijk)
- Fix the assignee value in fedmsg when assigning a ticket (Ricky Elrod)
- Make pagure support bleach 2.0.0 (Shengjing Zhu)
- Fixes in CI support (Tim Flink)
- Update the documentation
- Fix plain readme html escape (Shengjing Zhu)
- Refactor user existence code in API and UI (Abhijeet Kasurde)
- Add an API to modify a Pagure project's owner (Matt Prahl)
- Support for uploading multiple files to an issue at once
- Introduce the external committer feature
- Add the required groups feature
- Add an API endpoint to get the git urls of a project (Matt Prahl)
- Blacklist 'wait' as project name
- Add a border to the search box on the side bar to the documentation
- Add the list-id, list-archive and X-Auto-Response-Suppress email headers
- Add ways to customize the gitolite configuration file with snippets
- Return a 404 on private ticket if the user is not authenticated
- cleanup: move static js/css to vendor dir
- Limit the requests version as it conflicts with our chardet requirement
- Rename all the services to pagure-*
- Remove 'on <project name' - watch status dropdown (Vivek Anand)
- Create references for pull-request in the git repo for local checkout
- Use the entire list of users for the assignee field completion
- Fix searching for groups
- Make the search work when searching for project with namespaces or forks
- Return a human-friendly error message when upload fails
- Let acting on the status potentially set the close_status and vice versa
- Multiple fixes to the SSE server
- When forking a project, wait until the very end to let the user go through
- Allow customizing the writing of gitolite's configuration file
- Fix diffing the branch of a project against the target branch