... |
... |
@@ -9,27 +9,30 @@ export PATH="${ROOT}/bin:$PATH" |
9
|
9
|
#export RSYNC_PASSWORD=...
|
10
|
10
|
|
11
|
11
|
cd ${logdir}
|
12
|
|
-debmirror \
|
|
12
|
+dry_run=1
|
|
13
|
+time debmirror \
|
|
14
|
+ ${dry_run:+--dry-run} \
|
13
|
15
|
--progress \
|
14
|
16
|
--nocleanup \
|
15
|
17
|
--method=rsync --user="${RSYNC_USER:?}" --host=security-master.debian.org --root=debian-security \
|
16
|
18
|
--omit-suite-symlinks \
|
17
|
19
|
--dist=buster/updates \
|
18
|
|
- --arch=amd64,armel,armhf,i386 \
|
|
20
|
+ --arch=amd64,arm64,armhf,i386 \
|
19
|
21
|
--section=main,contrib,non-free,main/debian-installer,contrib/debian-installer,non-free/debian-installer \
|
20
|
22
|
--i18n --getcontents \
|
21
|
23
|
--checksums \
|
22
|
24
|
--check-gpg --keyring=/usr/share/keyrings/debian-archive-buster-security-automatic.gpg \
|
23
|
25
|
--diff=none --rsync-extra=none \
|
|
26
|
+ --rsync-batch=1000 \
|
24
|
27
|
${ROOT:?}/debian-archive/debian-security \
|
25
|
|
- > ${logdir}/2025-06-14-debmirror-buster-security.txt 2>&1
|
|
28
|
+ > ${logdir:?}/2025-06-25-debmirror-buster-security${dry_run:+-dry-run}.txt 2>&1
|
26
|
29
|
|
27
|
30
|
(
|
28
|
31
|
# sync dists/ stuff again to make sure by-hash/ gets imported too.
|
29
|
32
|
set -e
|
30
|
33
|
cd ${ROOT:?}/debian-archive/debian-security/dists/buster/updates
|
31
|
|
- rm -rf main contrib non-free
|
32
|
|
- rsync -aL ${RSYNC_USER}@security-master.debian.org::debian-security/dists/buster/updates/{main,contrib,non-free} .
|
|
34
|
+ rm -rf main contrib non-free non-free-firmware
|
|
35
|
+ rsync -aL ${RSYNC_USER}@security-master.debian.org::debian-security/dists/buster/updates/{main,contrib,non-free,non-free-firmware} .
|
33
|
36
|
)
|
34
|
37
|
|
35
|
38
|
# For later:
|
... |
... |
@@ -131,13 +134,16 @@ for d in bullseye{,-proposed-updates,-backports,-backports-sloppy}-debug; do |
131
|
134
|
)
|
132
|
135
|
done
|
133
|
136
|
|
|
137
|
+# check that for each architecture at least one binary ended up in pool/.
|
|
138
|
+# debmirror 1:2.35+deb11u1 doesn't seem to complain if we specified the wrong architectures.
|
|
139
|
+
|
134
|
140
|
# jdupes: --order=time to get timestamp of oldest file
|
135
|
141
|
# Note: jdupes feels veeeery slow (hours): it reads beginning of all files
|
136
|
142
|
# first, but then identifying potential copies is fast. There is no feedback
|
137
|
143
|
# while it reads data.
|
138
|
144
|
cd ${ROOT}
|
139
|
|
-time jdupes --order=time --noempty --printwithsummary --recurse debian-archive > ${logdir}/2025-06-19-archive-jdupes-test.txt 2>&1
|
140
|
|
-time jdupes --order=time --noempty --linkhard --recurse debian-archive > ${logdir}/2025-06-19-archive-jdupes.txt 2>&1
|
|
145
|
+time jdupes --order=time --noempty --printwithsummary --recurse debian-archive > ${logdir}/2025-06-25-archive-jdupes-test.txt 2>&1
|
|
146
|
+time jdupes --order=time --noempty --linkhard --recurse debian-archive > ${logdir}/2025-06-25-archive-jdupes.txt 2>&1
|
141
|
147
|
|
142
|
148
|
date > ${ROOT:?}/debian-archive/project/trace/master
|
143
|
149
|
|