Add PackageKit test script
This commit is contained in:
parent
3e38d3ed67
commit
d1e98ff646
1
.gitignore
vendored
1
.gitignore
vendored
@ -25,3 +25,4 @@
|
|||||||
/config/config.rb
|
/config/config.rb
|
||||||
/vendor/
|
/vendor/
|
||||||
/.bundle/
|
/.bundle/
|
||||||
|
/debug/PackageKit/PackageKit/
|
||||||
|
75
debug/PackageKit/PackageKit.rb
Executable file
75
debug/PackageKit/PackageKit.rb
Executable file
@ -0,0 +1,75 @@
|
|||||||
|
#!/usr/bin/env ruby
|
||||||
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
# This script creates a debug PackageKit build used for development.
|
||||||
|
# For the script to work PackageKit source should be in the ./PackageKit
|
||||||
|
# directory alongside this script.
|
||||||
|
|
||||||
|
require 'fileutils'
|
||||||
|
require 'pathname'
|
||||||
|
require 'open3'
|
||||||
|
|
||||||
|
CWD = Pathname.new Dir.pwd
|
||||||
|
SOURCE = CWD + 'PackageKit'
|
||||||
|
TMP = CWD + 'tmp'
|
||||||
|
DESTINATION = CWD + 'package'
|
||||||
|
BUILD = 1
|
||||||
|
ARCH = `uname -m`.strip
|
||||||
|
|
||||||
|
FileUtils.rm_rf [TMP, DESTINATION]
|
||||||
|
Dir.mkdir TMP
|
||||||
|
|
||||||
|
version = `git -C #{SOURCE} describe --tags --abbrev=0`
|
||||||
|
.strip
|
||||||
|
.delete_prefix('PACKAGEKIT_')
|
||||||
|
.gsub('_', '.')
|
||||||
|
|
||||||
|
exec_result = system 'meson',
|
||||||
|
'--buildtype=debug',
|
||||||
|
'--prefix=/usr',
|
||||||
|
'--libdir=/usr/lib64',
|
||||||
|
'--localstatedir=/var',
|
||||||
|
'--mandir=/usr/man',
|
||||||
|
'--sysconfdir=/etc',
|
||||||
|
'-Dsystemd=false',
|
||||||
|
'-Doffline_update=false',
|
||||||
|
'-Dbash_completion=false',
|
||||||
|
'-Dbash_completion_not_found=false',
|
||||||
|
'-Dpackaging_backend=slack',
|
||||||
|
'-Ddaemon_tests=true',
|
||||||
|
TMP.to_s,
|
||||||
|
SOURCE.to_s
|
||||||
|
raise 'Meson build failed' unless exec_result
|
||||||
|
|
||||||
|
exec_result = system({'DESTDIR' => DESTINATION.to_s}, 'ninja', '-C', TMP.to_s, 'install')
|
||||||
|
raise 'Ninja installation failed' unless exec_result
|
||||||
|
|
||||||
|
actual_mandir = DESTINATION + 'usr/share/man/man1'
|
||||||
|
mandir = DESTINATION + 'usr/man/man1'
|
||||||
|
FileUtils.mkdir_p mandir
|
||||||
|
Dir.new(actual_mandir).each_child do |entry|
|
||||||
|
manpage = actual_mandir + entry
|
||||||
|
|
||||||
|
Open3.popen3 'gzip', '--stdout', '-9', manpage.to_s do |stdin, stdout, stderr, wait_thr|
|
||||||
|
File.open (mandir + "#{entry}.gz").to_s, 'wb' do |file|
|
||||||
|
stdin.close
|
||||||
|
|
||||||
|
IO.copy_stream stdout, file
|
||||||
|
IO.copy_stream stderr, $stderr
|
||||||
|
|
||||||
|
stdout.close
|
||||||
|
stderr.close
|
||||||
|
wait_thr.value
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
FileUtils.rm_rf (DESTINATION + 'usr/share/man').to_s
|
||||||
|
|
||||||
|
Dir.chdir DESTINATION
|
||||||
|
package_path = CWD + "PackageKit-#{version}-#{ARCH}-#{BUILD}_debug.txz"
|
||||||
|
puts "Building #{package_path}"
|
||||||
|
system '/sbin/makepkg', '-l', 'y', '-c', 'n', package_path.to_s
|
Loading…
Reference in New Issue
Block a user