aboutsummaryrefslogtreecommitdiff
path: root/debian/wheezy-db/03-convert-to-sql.sh
blob: 700c9a34dae1e1c5584600485c67563452e6312a (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
#!/bin/bash
# NOTE:
#  1. make sure the INFILE has 2 new lines at the end
#    INFILE = /tmp/ftp.de.debian.org_debian_dists_stable_main_binary-i386_Packages.sql
#  2. THEN sqlite3 wheezy.sqlite < INFILE (do not use .import)
#

INFILE=$1

sed -i -e " \
   /^[A-Z][-[:alnum:]]*\:\s/ {
       s/\"/\"\"/g
       /^SHA256/ {
             s/^\([A-Z][-[:alnum:]]*\)\:\s\(.*$\)/\"\2\"\)\;\n/
       }
       /^SHA256/ !{
           /^Package/ {
                 s/^\([A-Z][-[:alnum:]]*\)\:\s\(.*$\)/VALUES \(\"\2\"\,/
           }
           /^Package/ !{
               /^Tag/ {
                     s/^\([A-Z][-[:alnum:]]*\)\:\s\(.*$\)/\"\2/
                     :TAG
                     N
                     /\n\s/ {
                          b AA
                     }
                     /\n\s/ !{
                           s/\n\([A-Z][-[:alnum:]]*\)\:\s\(.*$\)/\"\,\n\"\2\"\,/
                     }
               }
               /^Tag/ !{
                     s/^\([A-Z][-[:alnum:]]*\)\:\s\(.*$\)/\"\2\"\,/
               }
           }
       }
   }

   #workarounds
   # s/^\(\s.*\)\([a-z]\)$/\1\2\"\,/
   /^\s/d 

   /^$/d

   :AA
      /\n\s/ {
          s/\n/@@/
          b TAG
      }

" ${INFILE}

exit;