Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env julia
- dbpath = "$(pwd())/updatedb"
- mkpath(dbpath)
- Pkg.update()
- metadata = Pkg.dir("METADATA")
- function readpkg(name :: ASCIIString)
- version = Pkg.available(name)[end]
- # uncomment this for no segfault!
- #println("got version")
- metadata_file = "$metadata/$name/versions/$version/requires"
- requires = begin
- try
- f = open(metadata_file)
- try
- clear = x -> x
- Set{ASCIIString}(map(clear, readlines(f)))
- finally
- close(f)
- end
- catch
- Set{ASCIIString}()
- end
- end
- url = split(readall("$metadata/$name/url"), "\n")[1]
- rev = split(readall("$metadata/$name/versions/$version/sha1"), "\n")[1]
- cd(dbpath)
- sha256 = begin
- try
- if ! isdir(name)
- mkdir(name)
- cd(name)
- run(`git init`)
- else
- cd(name)
- try
- run(`git remote remove origin`)
- catch
- end
- end
- # or remove any of these
- run(`git remote add origin $url`)
- run(`git fetch -t origin`)
- "aaabbb"
- catch
- rethrow()
- end
- end
- # remove "try" block for no segfault!
- try
- "aaaa"
- catch
- # or remove this!
- println("$name $version $requires $url $rev $sha256")
- rethrow()
- end
- end
- map(readpkg, Pkg.available())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement