Added "debshots" namespace and list_deb_repos task
This commit is contained in:
parent
1034afa92d
commit
8b8073bdd0
1 changed files with 92 additions and 55 deletions
|
|
@ -39,9 +39,10 @@ BLACKLIST_SECTION_PATTERN = [
|
|||
# Whether to delete a packag
|
||||
REMOVE_BLACKLISTED_PACKAGE = true
|
||||
|
||||
desc "Import package information from Debian-style Packages files"
|
||||
namespace :debshots do
|
||||
desc "Import/update package database from configured DEB repositories"
|
||||
|
||||
task :import_debian => :environment do
|
||||
task :update_from_deb_repos => :environment do
|
||||
repositories = Rails.configuration.package_sources
|
||||
Rails.logger = Logger.new(STDOUT)
|
||||
Rails.logger.level = Logger::INFO
|
||||
|
|
@ -106,6 +107,42 @@ task :import_debian => :environment do
|
|||
|
||||
end # task
|
||||
|
||||
|
||||
desc "List configured DEB repositories"
|
||||
|
||||
task :list_deb_repos => :environment do
|
||||
repositories = Rails.configuration.package_sources
|
||||
Rails.logger = Logger.new(STDOUT)
|
||||
Rails.logger.level = Logger::INFO
|
||||
|
||||
Rails.logger.info "Listing configured DEB repositories"
|
||||
|
||||
repositories.each do |repository|
|
||||
Rails.logger.info "Fetching Release file for repository: #{repository[:url]} with components: #{repository[:components]}"
|
||||
release = DebImporter::Release.new(repository[:url], repository[:components])
|
||||
Rails.logger.info "> Supported architectures are: #{release.architectures}"
|
||||
Rails.logger.info "> Supported components are: #{release.components}"
|
||||
|
||||
release.components.split.each do |component|
|
||||
Rails.logger.info "> Component: #{component}"
|
||||
release.architectures.split.each do |architecture|
|
||||
Rails.logger.info ">> Architecture: #{architecture}"
|
||||
# Check if this component and architecture is available on this mirror
|
||||
packages = release.packages(component, architecture)
|
||||
if packages
|
||||
Rails.logger.info "#{packages.count} packages found."
|
||||
else
|
||||
Rails.logger.info "No packages."
|
||||
end
|
||||
end # architectures.each
|
||||
end # components.each
|
||||
|
||||
end # repositories.each
|
||||
|
||||
end # task
|
||||
|
||||
end # namespace
|
||||
|
||||
# Update the information about a package in the database
|
||||
def update_data(package, db_package)
|
||||
Rails.logger.debug "New information: #{package.to_yaml}"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue