]> Cypherpunks.ru repositories - gocheese.git/blobdiff - pyshop2packages.sh
Version refactoring
[gocheese.git] / pyshop2packages.sh
diff --git a/pyshop2packages.sh b/pyshop2packages.sh
deleted file mode 100755 (executable)
index 034f8c1..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/sh -e
-# Convert Pyshop working directory to GoCheese friendly one.
-# Script expects to be run in packages repository (a/, b/, ...)
-# with pyshop.db database file. It will create packages/ directory
-# with all Pyshop-downloaded/uploaded files, SHA256 checksums,
-# private package marks. Also it will call GoCheese's /simple/ API
-# for forcing metainformation update (necessary for storing SHA256
-# checksums missing in Pyshop).
-
-pkgname() {
-    perl -ne "s/[-_.]+/-/g ; print lc"
-}
-
-########################################################################
-# Copy all already existing files
-########################################################################
-ctr=0
-echo "
-SELECT package.name, release_file.filename
-FROM release_file
-JOIN release ON release.id = release_file.release_id
-JOIN package ON release.package_id = package.id
-ORDER BY package.name
-" | sqlite3 --separator "      " pyshop.db | while read pkginfo ; do
-    ctr=$(( $ctr + 1 ))
-    [ $(( $ctr % 100 )) -ne 0 ] || echo $ctr $pkginfo
-    pkg=$(echo "$pkginfo" | cut -f1 | pkgname)
-    filename=$(echo "$pkginfo" | cut -f2)
-    [ -n "$pkg" ]
-    [ -n "$filename" ]
-    src=$(echo $pkg | cut -c1)/$filename
-    dst=packages/$pkg/$filename
-    [ -r $src ] || continue
-    [ -r $dst ] && continue || :
-    mkdir -p packages/$pkg
-    ln $src $dst
-done
-
-########################################################################
-# Mark all private packages
-########################################################################
-for pkg in $(echo "SELECT name FROM package WHERE local = true" | sqlite3 pyshop.db); do
-    cd packages/$(echo $pkg | pkgname)
-    for f in * ; do sha256 < $f | xxd -r -p > $f.sha256 ; done
-    touch .internal
-    cd ../..
-done
-
-########################################################################
-# Force all metainformation update from upstream
-########################################################################
-cd packages
-for pkg in * ; do
-    # Assume gocheese -gpgupdate /gpgupdate/
-    curl http://localhost:8080/gpgupdate/$pkg/ > /dev/null
-done
-
-########################################################################
-# Assure ckecksums are good
-########################################################################
-gocheese -fsck