Редакция 464 | К новейшей редакции | Содержимое файла | Последнее изменение | Открыть журнал | RSS
Редакция | Автор | № строки | Строка |
---|---|---|---|
462 | diffor | 1 | filesdir="/root/nix-files/apt-scan-files" |
2 | db="$filesdir/apt.db" |
||
3 | |||
4 | rm $db |
||
5 | sqlite3 $db "CREATE TABLE reps (id INTEGER PRIMARY KEY, rep VARCHAR)" |
||
6 | sqlite3 $db "CREATE TABLE dists (id INTEGER PRIMARY KEY, dist VARCHAR)" |
||
7 | sqlite3 $db "CREATE TABLE sects (id INTEGER PRIMARY KEY, sect VARCHAR)" |
||
8 | sqlite3 $db "CREATE TABLE reps2dists (id INTEGER PRIMARY KEY, rep_id INTEGER KEY, dist_id INTEGER KEY)" |
||
9 | sqlite3 $db "CREATE TABLE reps2dists2sects (id INTEGER PRIMARY KEY, reps2dists_id INTEGER KEY, sect_id INTEGER KEY)" |
||
10 | |||
11 | cat $filesdir/dists.lst | grep -v "debian-installer" | while read LINE |
||
12 | do |
||
13 | eval "$(echo $LINE | sed 's,\([^/]*\)/dists/\(.*\)/\([^/]*\)$, rep="\1" ; dist="\2"; sect="\3";,i')" |
||
14 | for part in rep dist sect |
||
15 | do |
||
16 | eval cval=\$$part; |
||
17 | parts=$part's' |
||
18 | |||
19 | id_current="$(sqlite3 $db "SELECT id FROM $parts WHERE $part='$cval'")"; |
||
20 | |||
21 | if [ "$id_current" == "" ]; then |
||
22 | echo Adding $part $cval; |
||
23 | sqlite3 $db "INSERT INTO $parts VALUES (NULL,'$cval')"; |
||
24 | id_current="$(sqlite3 $db "SELECT id FROM $parts WHERE $part='$cval'")"; |
||
25 | fi; |
||
26 | eval id_$part=$id_current |
||
27 | done |
||
28 | |||
29 | id_current="$(sqlite3 $db "SELECT id FROM reps2dists WHERE rep_id=$id_rep AND dist_id=$id_dist")"; |
||
30 | if [ "$id_current" == "" ]; then |
||
31 | echo Adding r2d $id_rep $id_dist; |
||
32 | sqlite3 $db "INSERT INTO reps2dists VALUES (NULL, $id_rep, $id_dist)"; |
||
33 | |||
34 | id_current="$(sqlite3 $db "SELECT id FROM reps2dists WHERE rep_id=$id_rep AND dist_id=$id_dist")"; |
||
35 | echo Adding r2d2s $id_current $id_sect; |
||
36 | sqlite3 $db "INSERT INTO reps2dists2sects VALUES (NULL, $id_current, $id_sect)"; |
||
37 | fi; |
||
38 | done |