Новый файл |
0,0 → 1,11 |
basedir="/var/ftp/pub/repository/apt" |
basedire="\/var\/ftp\/pub\/repository\/apt" |
filesdir="/root/nix-files/apt-scan-files" |
|
find $basedir -maxdepth 2 -noleaf -type d -name 'dists' -exec echo {} \; | grep -v '.temp' | sed -e 's/\/dists//' | sed -e "s/$basedire\///" > $filesdir/reps.lst |
|
cat /dev/null > $filesdir/dists.lst |
cat $filesdir/reps.lst | while read LINE |
do |
find $basedir/$LINE/dists . -maxdepth 5 -noleaf -type f -name 'Packages' -exec echo {} \; | grep -v 'amd64' |sed -e 's/\/binary-i386\/Packages//' | sed -e "s/$basedire\///" >> $filesdir/dists.lst |
done |
Изменения свойств: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: scaner/apt-scan2sql.sh |
=================================================================== |
--- scaner/apt-scan2sql.sh (revision 0) |
+++ scaner/apt-scan2sql.sh (revision 462) |
@@ -0,0 +1,38 @@ |
+filesdir="/root/nix-files/apt-scan-files" |
+db="$filesdir/apt.db" |
+ |
+rm $db |
+sqlite3 $db "CREATE TABLE reps (id INTEGER PRIMARY KEY, rep VARCHAR)" |
+sqlite3 $db "CREATE TABLE dists (id INTEGER PRIMARY KEY, dist VARCHAR)" |
+sqlite3 $db "CREATE TABLE sects (id INTEGER PRIMARY KEY, sect VARCHAR)" |
+sqlite3 $db "CREATE TABLE reps2dists (id INTEGER PRIMARY KEY, rep_id INTEGER KEY, dist_id INTEGER KEY)" |
+sqlite3 $db "CREATE TABLE reps2dists2sects (id INTEGER PRIMARY KEY, reps2dists_id INTEGER KEY, sect_id INTEGER KEY)" |
+ |
+cat $filesdir/dists.lst | grep -v "debian-installer" | while read LINE |
+do |
+ eval "$(echo $LINE | sed 's,\([^/]*\)/dists/\(.*\)/\([^/]*\)$, rep="\1" ; dist="\2"; sect="\3";,i')" |
+ for part in rep dist sect |
+ do |
+ eval cval=\$$part; |
+ parts=$part's' |
+ |
+ id_current="$(sqlite3 $db "SELECT id FROM $parts WHERE $part='$cval'")"; |
+ |
+ if [ "$id_current" == "" ]; then |
+ echo Adding $part $cval; |
+ sqlite3 $db "INSERT INTO $parts VALUES (NULL,'$cval')"; |
+ id_current="$(sqlite3 $db "SELECT id FROM $parts WHERE $part='$cval'")"; |
+ fi; |
+ eval id_$part=$id_current |
+ done |
+ |
+ id_current="$(sqlite3 $db "SELECT id FROM reps2dists WHERE rep_id=$id_rep AND dist_id=$id_dist")"; |
+ if [ "$id_current" == "" ]; then |
+ echo Adding r2d $id_rep $id_dist; |
+ sqlite3 $db "INSERT INTO reps2dists VALUES (NULL, $id_rep, $id_dist)"; |
+ |
+ id_current="$(sqlite3 $db "SELECT id FROM reps2dists WHERE rep_id=$id_rep AND dist_id=$id_dist")"; |
+ echo Adding r2d2s $id_current $id_sect; |
+ sqlite3 $db "INSERT INTO reps2dists2sects VALUES (NULL, $id_current, $id_sect)"; |
+ fi; |
+done |