mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-10-03 17:50:11 +02:00
buildserver: handle loops in bash, not ruby, to save memory
Apparently, ruby is quite a memory hog when it forks. I've been getting errors like this with ./makebuildserver: Errno::ENOMEM - script[add_btools_17] (android-sdk::default line 72) had an error: Errno::ENOMEM: Cannot allocate memory - fork(2) So instead of looping in ruby and forking for each loop, handle the looping in the bash script, so ruby is just calling a single bash script.
This commit is contained in:
parent
fc0df30404
commit
a4615b1def
@ -33,20 +33,16 @@ execute "add-android-sdk-path" do
|
||||
not_if "grep PATH-SDK /home/#{user}/.bsenv"
|
||||
end
|
||||
|
||||
%w{
|
||||
platform-tools
|
||||
extra-android-m2repository
|
||||
}.each do |pkg|
|
||||
script "add_pkg_#{pkg}" do
|
||||
interpreter "bash"
|
||||
user user
|
||||
code "
|
||||
#{sdk_loc}/tools/android update sdk --no-ui -a -t #{pkg} <<X
|
||||
|
||||
script "add_android_packages" do
|
||||
interpreter "bash"
|
||||
user user
|
||||
code "
|
||||
#{sdk_loc}/tools/android update sdk --no-ui --all --filter platform-tools,extra-android-m2repository <<X
|
||||
y
|
||||
|
||||
X
|
||||
"
|
||||
end
|
||||
end
|
||||
|
||||
script "add-platforms" do
|
||||
@ -66,28 +62,29 @@ script "add-platforms" do
|
||||
"
|
||||
end
|
||||
|
||||
%w{17 18.0.1 18.1 18.1.1 19 19.0.1 19.0.2 19.0.3 19.1 20 21 21.0.1 21.0.2 21.1
|
||||
21.1.1 21.1.2 22 22.0.1 23 23.0.1 23.0.2 23.0.3
|
||||
}.each do |ver|
|
||||
script "add_btools_#{ver}" do
|
||||
interpreter "bash"
|
||||
user user
|
||||
cwd "/tmp"
|
||||
code "
|
||||
unzip /vagrant/cache/build-tools_r#{ver}-linux.zip
|
||||
case `echo #{ver} | wc -c` in
|
||||
3)
|
||||
dirver=#{ver}.0.0
|
||||
;;
|
||||
5)
|
||||
dirver=#{ver}.0
|
||||
;;
|
||||
7)
|
||||
dirver=#{ver}
|
||||
;;
|
||||
esac
|
||||
rm -rf #{sdk_loc}/build-tools/${dirver}
|
||||
mv android-*/ #{sdk_loc}/build-tools/${dirver}
|
||||
"
|
||||
end
|
||||
script "add_build_tools" do
|
||||
interpreter "bash"
|
||||
user user
|
||||
cwd "/tmp"
|
||||
code "
|
||||
rm -rf current-build-tools
|
||||
mkdir current-build-tools
|
||||
cd current-build-tools
|
||||
for ver in 17 18.0.1 18.1 18.1.1 19 19.0.1 19.0.2 19.0.3 19.1 20 21 21.0.1 21.0.2 21.1 21.1.1 21.1.2 22 22.0.1 23 23.0.1 23.0.2 23.0.3; do
|
||||
unzip /vagrant/cache/build-tools_r${ver}-linux.zip
|
||||
case `echo ${ver} | wc -c` in
|
||||
3)
|
||||
dirver=${ver}.0.0
|
||||
;;
|
||||
5)
|
||||
dirver=${ver}.0
|
||||
;;
|
||||
7)
|
||||
dirver=${ver}
|
||||
;;
|
||||
esac
|
||||
rm -rf #{sdk_loc}/build-tools/${dirver}
|
||||
mv android-*/ #{sdk_loc}/build-tools/${dirver}
|
||||
done
|
||||
"
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user