Make remote paths configurable

This commit is contained in:
Eugen Wissner 2021-01-02 07:39:32 +01:00
parent 2910a89d6c
commit 839d42faf4
5 changed files with 22 additions and 14 deletions

1
.gitignore vendored
View File

@ -22,5 +22,6 @@
*.phar *.phar
/slackbuilds/ /slackbuilds/
/config/config.rb
/vendor/ /vendor/
/.bundle/ /.bundle/

View File

@ -7,6 +7,7 @@
require 'infra/rake/ruby' require 'infra/rake/ruby'
require 'digest/md5' require 'digest/md5'
require 'net/http' require 'net/http'
require_relative 'config/config'
require_relative 'lib/package' require_relative 'lib/package'
require_relative 'lib/download' require_relative 'lib/download'
@ -80,7 +81,7 @@ task :dmd do
end end
task :composer do task :composer do
version = '2.0.7' version = '2.0.8'
package = Package.new 'development/composer', package = Package.new 'development/composer',
version: version, version: version,
@ -103,8 +104,15 @@ task 'universal-ctags' do
ENV['HASH'] = ENV['COMMIT'][0...7] ENV['HASH'] = ENV['COMMIT'][0...7]
sh 'git', 'clone', '--recurse-submodules', 'https://github.com/universal-ctags/ctags.git', "ctags-#{ENV['COMMIT']}" sh 'git', 'clone', '--recurse-submodules', 'https://github.com/universal-ctags/ctags.git', "ctags-#{ENV['COMMIT']}"
rm_rf ["ctags-#{ENV['COMMIT']}/.git", "ctags-#{ENV['COMMIT']}/.gitignore"], secure: true rm_rf ["ctags-#{ENV['COMMIT']}/.git", "ctags-#{ENV['COMMIT']}/.gitignore"], secure: true
sh 'tar', 'Jcvf', "ctags-#{ENV['COMMIT']}.tar.xz", "ctags-#{ENV['COMMIT']}"
rm_rf "ctags-#{ENV['COMMIT']}", secure: true
checksum = Digest::MD5.file "ctags-#{ENV['COMMIT']}.tar.xz"
ENV['CHECKSUM'] = checksum.hexdigest
sh 'scp', "ctags-#{ENV['COMMIT']}.tar.xz", "#{CONFIG[:remote_path]}/universal-ctags"
sh 'bash', 'scripts/universal-ctags.sh' sh 'bash', 'scripts/universal-ctags.sh'
end end

6
config/config.rb.example Normal file
View File

@ -0,0 +1,6 @@
# frozen_string_literal: true
CONFIG = {
remote_path: 'example.com:/srv/httpd/some/path',
download_url: 'https://example.com/some/path'
}

View File

@ -4,6 +4,7 @@
# frozen_string_literal: true # frozen_string_literal: true
require_relative '../config/config'
require_relative 'package' require_relative 'package'
require 'net/http' require 'net/http'
@ -56,7 +57,7 @@ def download(uri, target)
end end
def hosted_sources(absolute_url) def hosted_sources(absolute_url)
"https://download.dlackware.com/hosted-sources#{absolute_url}" CONFIG[:download_url] + absolute_url
end end
def remote_file_exists?(url) def remote_file_exists?(url)
@ -70,8 +71,7 @@ def remote_file_exists?(url)
end end
def upload_command(local_path, remote_path) def upload_command(local_path, remote_path)
"scp slackbuilds/#{local_path} "\ ['scp', "slackbuilds/#{local_path} ", CONFIG[:remote_path] + remote_path]
"caraus.de:/srv/httpd/dlackware/download/hosted-sources#{remote_path}"
end end
def clone_and_archive(repo, name_version, tarball) def clone_and_archive(repo, name_version, tarball)
@ -99,7 +99,7 @@ def clone(repo, tarball)
clone_and_archive repo, name_version, tarball clone_and_archive repo, name_version, tarball
sh upload_command(tarball, remote_path) sh(*upload_command(tarball, remote_path))
Digest::MD5.hexdigest File.read("slackbuilds/#{tarball}") Digest::MD5.hexdigest File.read("slackbuilds/#{tarball}")
end end
@ -113,7 +113,7 @@ def download_and_deploy(uri, tarball)
end end
checksum = download uri, "slackbuilds/#{tarball}" checksum = download uri, "slackbuilds/#{tarball}"
sh upload_command(tarball, remote_path) sh(*upload_command(tarball, remote_path))
checksum.hexdigest checksum.hexdigest
end end

View File

@ -6,13 +6,6 @@
set -e set -e
tar Jcvf ctags-$COMMIT.tar.xz ctags-$COMMIT
rm -rf ctags-$COMMIT
CHECKSUM=`md5sum ctags-$COMMIT.tar.xz | cut -d ' ' -f 1`
scp ctags-$COMMIT.tar.xz caraus.de:/srv/httpd/dlackware/download/hosted-sources/universal-ctags
cat <<EOF > universal-ctags.info cat <<EOF > universal-ctags.info
PRGNAM="universal-ctags" PRGNAM="universal-ctags"
VERSION="$HASH" VERSION="$HASH"