summaryrefslogtreecommitdiffstats
path: root/mkallrepo
blob: bcd6bb5c0598ca2b95b96b9c4f5bb0fcdd405728 (plain)
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
#!/bin/sh

TMPSIG=$(mktemp)
TMPLNK=$(mktemp)
TMPSIG1=$(mktemp -t XXXXXXXX.2000)
TMPSIG3=$(mktemp -t XXXXXXXX.2018)
TMPSIG4=$(mktemp -t XXXXXXXX.2019)
TMPSIG2020=$(mktemp -t XXXXXXXX.2020)
TMPSIG2021=$(mktemp -t XXXXXXXX.2021)

cd /home/rpmbuild/site/rpms

for dep in fedora/{33,34,35}/*/{i386,x86_64} enterprise/{6,7,8}/*/{i386,x86_64,armhfp,aarch64}
do
	[[ $dep =~ /modular ]] && continue

	arch=${dep##*/}

	LST=""
	if [ -d $dep/repodata -a $dep -nt $dep/repodata -a ! -f $dep/.closed ]
	then	echo "== Nouveaux RPM dans $dep =="
		if [ $arch = x86_64 ]
		then
			find $dep -name \*.rpm -a -newer $dep/repodata -print >>$TMPSIG
		else
			find $dep -name \*.noarch.rpm -a -newer $dep/repodata -print >>$TMPLNK
			find $dep -name \*.i?86.rpm -a -newer $dep/repodata -print  >>$TMPSIG
		fi
		
	fi
	
done
find SRPMS -name \*.rpm -a -newer SRPMS/repodata -print >>$TMPSIG


if [ -s $TMPSIG ]; then
    echo "À signer:"; sort < $TMPSIG

	# old
    grep el7     $TMPSIG  > $TMPSIG1
	# 2018
    grep el8     $TMPSIG  > $TMPSIG3
	# 2019
    grep fc30    $TMPSIG  > $TMPSIG4
    grep fc31    $TMPSIG >> $TMPSIG4
	# 2020
    grep fc32    $TMPSIG  > $TMPSIG2020
    grep fc33    $TMPSIG >> $TMPSIG2020
	# 2021
    grep fc34    $TMPSIG  > $TMPSIG2021
    grep fc35    $TMPSIG >> $TMPSIG2021
    grep src.rpm $TMPSIG >> $TMPSIG2021

    if [ -s $TMPSIG2021 ]; then
		echo "== Signature des $(cat $TMPSIG2021 | wc -l) nouveaux RPM (2021) =="
		if rpmsign --define '_gpg_path /home/remi/.gnupg2021' --define "_gpg_name Remi's RPM repository" --addsign $(cat $TMPSIG2021)
		then	echo done.
		else 	exit 1
		fi
	fi
    if [ -s $TMPSIG2020 ]; then
		echo "== Signature des $(cat $TMPSIG2020 | wc -l) nouveaux RPM (2020) =="
		if rpmsign --define '_gpg_path /home/remi/.gnupg2020' --define "_gpg_name Remi's RPM repository" --addsign $(cat $TMPSIG2020)
		then	echo done.
		else 	exit 1
		fi
	fi
    if [ -s $TMPSIG4 ]; then
		echo "== Signature des $(cat $TMPSIG4 | wc -l) nouveaux RPM (2019) =="
		if rpmsign --define '_gpg_path /home/remi/.gnupg2019' --define "_gpg_name Remi's RPM repository" --addsign $(cat $TMPSIG4)
		then	echo done.
		else 	exit 1
		fi
	fi
    if [ -s $TMPSIG3 ]; then
		echo "== Signature des $(cat $TMPSIG3 | wc -l) nouveaux RPM (2018) =="
		if rpmsign --define '_gpg_path /home/remi/.gnupg2018' --define "_gpg_name Remi's RPM repository" --addsign $(cat $TMPSIG3)
		then	echo done.
		else 	exit 1
		fi
	fi
    if [ -s $TMPSIG1 ]; then
		echo "== Signature des $(cat $TMPSIG1 | wc -l) nouveaux RPM (old) =="
		if rpmsign --define '_gpg_path /home/remi/.gnupgrpm' --define "_gpg_name Remi Collet" --addsign $(cat $TMPSIG1)
		then	echo done.
		else 	exit 1
		fi
	fi
else 	echo "Rien à signer."
fi

if [ -s $TMPLNK ]
then	echo "== Création des liens (noarch) =="
	cat $TMPLNK | while read dest
	do
		srce=${dest/\/ppc64/\/x86_64}
		srce=${srce/\/ppc/\/x86_64}
		srce=${srce/\/i386/\/x86_64}
		srce=${srce/\/armhfp/\/x86_64}
		srce=${srce/\/aarch64/\/x86_64}

		ln -f $srce $dest && echo $dest
	done
else 	echo "Rien à lier."
fi

for dep in SRPMS fedora/{33,34,35}/*/{i386,x86_64} enterprise/{6,7,8}/*/{i386,x86_64,armhfp,aarch64}
do
	[[ $dep =~ /modular ]] && continue

	if [ -d $dep/repodata -a $dep -nt $dep/repodata -a ! -f $dep/.closed ]
	then	echo "== Actualisation de $dep =="
		pushd $dep
		mkrepo nocheck
		touch repodata
		popd	
	#else	echo "== $dep est à jour =="
	fi
done