Replace system echo calls with embedded files (#8351)

This commit is contained in:
Maximilian Downey Twiss
2023-06-09 08:23:44 +10:00
committed by GitHub
parent 8b6b35565e
commit 5752b953b1
3 changed files with 114 additions and 97 deletions

View File

@@ -16,43 +16,51 @@ class Broadway < Package
depends_on 'gtk3'
def self.build
system "echo 'GDK_BACKEND=broadway' > .broadway.env"
system "echo 'XDG_RUNTIME_DIR=/var/run/chrome' >> .broadway.env"
system "echo 'BROADWAY_DISPLAY=:5' >> .broadway.env"
system "echo '#!/bin/bash' > initbroadway"
system "echo 'BROADWAYD=\$(pidof broadwayd 2>/dev/null)' >> initbroadway"
system "echo 'if [ -z \"\${BROADWAYD}\" ]; then' >> initbroadway"
system "echo ' [ -f #{CREW_PREFIX}/bin/stopsommelier ] && stopsommelier' >> initbroadway"
system "echo ' broadwayd \${BROADWAY_DISPLAY} &' >> initbroadway"
system "echo ' sleep 3' >> initbroadway"
system "echo 'fi' >> initbroadway"
system "echo 'BROADWAYD=\$(pidof broadwayd 2>/dev/null)' >> initbroadway"
system "echo 'if [ ! -z \"\${BROADWAYD}\" ]; then' >> initbroadway"
system "echo ' echo \"broadwayd process \${BROADWAYD} is running\"' >> initbroadway"
system "echo 'else' >> initbroadway"
system "echo ' echo \"broadwayd failed to start\"' >> initbroadway"
system "echo ' exit 1' >> initbroadway"
system "echo 'fi' >> initbroadway"
system "echo '#!/bin/bash' > stopbroadway"
system 'echo >> stopbroadway'
system "echo 'BROADWAYD=\$(pidof broadwayd 2>/dev/null)' >> stopbroadway"
system "echo 'if [ ! -z \"\${BROADWAYD}\" ]; then' >> stopbroadway"
system "echo ' pkill broadwayd' >> stopbroadway"
system "echo ' sleep 3' >> stopbroadway"
system "echo 'fi' >> stopbroadway"
system "echo 'BROADWAYD=\$(pidof broadwayd 2> /dev/null)' >> stopbroadway"
system "echo 'if [ -z \"\${BROADWAYD}\" ]; then' >> stopbroadway"
system "echo ' echo \"broadwayd process stopped\"' >> stopbroadway"
system "echo 'else' >> stopbroadway"
system "echo ' echo \"broadwayd process \${BROADWAYD} is running\"' >> stopbroadway"
system "echo ' exit 1' >> stopbroadway"
system "echo 'fi' >> stopbroadway"
@broadwayenv = <<~BROADWAYENVEOF
GDK_BACKEND=broadway
XDG_RUNTIME_DIR=/var/run/chrome
BROADWAY_DISPLAY=:5
BROADWAYENVEOF
File.write("#{CREW_DEST_HOME}/.broadway.env", @broadwayenv)
@initbroadway = <<~INITBROADWAYEOF
#!/bin/bash
BROADWAYD=$(pidof broadwayd 2>/dev/null)
if [ -z "${BROADWAYD}" ]; then
[ -f #{CREW_PREFIX}/bin/stopsommelier ] && stopsommelier
broadwayd ${BROADWAY_DISPLAY} &
sleep 3' >> initbroadway
fi
BROADWAYD=$(pidof broadwayd 2>/dev/null)
if [ ! -z "${BROADWAYD}" ]; then
echo "broadwayd process ${BROADWAYD} is running"
else
echo "broadwayd failed to start"
exit 1
fi
INITBROADWAYEOF
File.write('initbroadway', @initbroadway)
@stopbroadway = <<~STOPBROADWAYEOF
#!/bin/bash
BROADWAYD=$(pidof broadwayd 2>/dev/null)
if [ ! -z "${BROADWAYD}" ]; then
pkill broadwayd
sleep 3
fi
BROADWAYD=$(pidof broadwayd 2> /dev/null)
if [ -z "${BROADWAYD}" ]; then
echo "broadwayd process stopped"
else
echo "broadwayd process ${BROADWAYD} is running"
exit 1
fi
STOPBROADWAYEOF
File.write('stopbroadway', @stopbroadway)
end
def self.install
system "install -Dm755 initbroadway #{CREW_DEST_PREFIX}/bin/initbroadway"
system "install -Dm755 stopbroadway #{CREW_DEST_PREFIX}/bin/stopbroadway"
system "install -Dm644 .broadway.env #{CREW_DEST_HOME}/.broadway.env"
FileUtils.install 'initbroadway', "#{CREW_DEST_PREFIX}/bin/initbroadway", mode: 0o755
FileUtils.install 'stopbroadway', "#{CREW_DEST_PREFIX}/bin/stopbroadway", mode: 0o755
FileUtils.install '.broadway.env', "#{CREW_DEST_HOME}/.broadway.env", mode: 0o644
end
def self.postinstall
@@ -67,7 +75,7 @@ class Broadway < Package
puts "To start the broadwayd daemon, run 'startbroadway'".lightblue
puts "To stop the broadwayd daemon, run 'stopbroadway'".lightblue
puts
puts 'To adjust environment variables, edit ~/.broadway.env'.lightblue
puts "To adjust environment variables, edit #{CREW_HOME}/.broadway.env".lightblue
puts
puts 'Navigate your browser to http://127.0.0.1:8085 while the broadwayd'.lightblue
puts 'daemon is running to run GTK applications in the browser window.'.lightblue

View File

@@ -30,42 +30,50 @@ class Cronie < Package
'--without-selinux',
'--without-pam'
system 'make'
system "echo '#!/bin/bash' > startcrond"
system "echo 'CROND=#{CREW_PREFIX}/sbin/crond' >> startcrond"
system "echo 'CRON=\$(pidof \$CROND 2> /dev/null)' >> startcrond"
system "echo 'if [ -z \"\$CRON\" ]; then' >> startcrond"
system "echo ' sudo \$CROND' >> startcrond"
system "echo ' sleep 3' >> startcrond"
system "echo 'fi' >> startcrond"
system "echo 'CRON=\$(pidof \$CROND 2> /dev/null)' >> startcrond"
system "echo 'if [ ! -z \"\$CRON\" ]; then' >> startcrond"
system "echo ' echo \"crond process \$CRON is running\"' >> startcrond"
system "echo 'else' >> startcrond"
system "echo ' echo \"crond failed to start\"' >> startcrond"
system "echo ' exit 1' >> startcrond"
system "echo 'fi' >> startcrond"
system "echo '#!/bin/bash' > stopcrond"
system "echo 'CROND=#{CREW_PREFIX}/sbin/crond' >> stopcrond"
system "echo 'CRON=\$(pidof \$CROND 2> /dev/null)' >> stopcrond"
system "echo 'if [ ! -z \"\$CRON\" ]; then' >> stopcrond"
system "echo ' sudo killall \$CROND' >> stopcrond"
system "echo ' sleep 3' >> stopcrond"
system "echo 'fi' >> stopcrond"
system "echo 'CRON=\$(pidof \$CROND 2> /dev/null)' >> stopcrond"
system "echo 'if [ -z \"\$CRON\" ]; then' >> stopcrond"
system "echo ' echo \"crond process stopped\"' >> stopcrond"
system "echo 'else' >> stopcrond"
system "echo ' echo \"crond process \$CRON is running\"' >> stopcrond"
system "echo ' exit 1' >> stopcrond"
system "echo 'fi' >> stopcrond"
@startcrond = <<~STARTCRONDEOF
#!/bin/bash
XDG_RUNTIME_DIR=/var/run/chrome
BROADWAY_DISPLAY=:5
CROND=$CREW_PREFIX/sbin/crond
CRON=$(pidof $CROND 2> /dev/null)
if [ -z "$CRON" ]; then
sudo $CROND
sleep 3
fi
CRON=$(pidof $CROND 2> /dev/null)
if [ ! -z "$CRON" ]; then
echo "crond process $CRON is running"
else
echo "crond failed to start"
exit 1
fi
STARTCRONDEOF
File.write('startcrond', @startcrond)
@stopcrond = <<~STOPCRONDEOF
#!/bin/bash
CROND=$CREW_PREFIX/sbin/crond
CRON=$(pidof $CROND 2> /dev/null)
if [ ! -z "$CRON" ]; then
sudo killall $CROND
sleep 3
fi
CRON=$(pidof $CROND 2> /dev/null)
if [ -z "$CRON" ]; then
echo "crond process stopped"
else
echo "crond process $CRON is running"
exit 1
fi
STOPCRONDEOF
File.write('stopcrond', @stopcrond)
end
def self.install
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/var/spool/cron"
system "touch #{CREW_DEST_PREFIX}/var/spool/cron/root"
system "install -Dm755 startcrond #{CREW_DEST_PREFIX}/bin/startcrond"
system "install -Dm755 stopcrond #{CREW_DEST_PREFIX}/bin/stopcrond"
FileUtils.touch "#{CREW_DEST_PREFIX}/var/spool/cron/root"
FileUtils.install 'startcrond', "#{CREW_DEST_PREFIX}/bin/startcrond", mode: 0o755
FileUtils.install 'stopcrond', "#{CREW_DEST_PREFIX}/bin/stopcrond", mode: 0o755
end
def self.postinstall
@@ -82,7 +90,6 @@ class Cronie < Package
puts 'To list cron tasks, execute the following:'.lightblue
puts 'sudo crontab -l'.lightblue
puts
puts 'To start the crond daemon at login, execute the following:'.lightblue
puts "echo '# start the crond daemon' >> ~/.bashrc".lightblue
puts "echo 'if [ -f #{CREW_PREFIX}/bin/startcrond ]; then' >> ~/.bashrc".lightblue
puts "echo ' #{CREW_PREFIX}/bin/startcrond' >> ~/.bashrc".lightblue

View File

@@ -28,39 +28,42 @@ class Nginx < Package
system './configure',
"--prefix=#{CREW_PREFIX}/share/nginx"
system 'make'
@startnginx = <<~STARTNGINXEOF
#!/bin/bash
NGINX=$(ps ax | grep "nginx: master process" | grep -v grep | xargs | cut -d" " -f1 2> /dev/null)
if [ -z "$NGINX" ]; then
sudo nginx
fi
NGINX=$(ps ax | grep "nginx: master process" | grep -v grep | xargs | cut -d" " -f1 2> /dev/null)
if [ ! -z "$NGINX" ]; then
echo "nginx process $NGINX is running"
else
echo "nginx failed to start"
exit 1
fi
STARTNGINXEOF
File.write('startnginx', @startnginx)
@stopnginx = <<~STOPNGINXEOF
#!/bin/bash
NGINX=$(ps ax | grep "nginx: master process" | grep -v grep | xargs | cut -d" " -f1 2> /dev/null)
if [ ! -z "$NGINX" ]; then
sudo nginx -s quit
fi
NGINX=$(ps ax | grep "nginx: master process" | grep -v grep | xargs | cut -d" " -f1 2> /dev/null)
if [ -z "$NGINX" ]; then
echo "nginx process stopped"
else
echo "nginx process $NGINX is running"
exit 1
fi
STOPNGINXEOF
File.write('stopnginx', @stopnginx)
end
def self.install
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin"
FileUtils.cd("#{CREW_DEST_PREFIX}/bin") do
system "ln -s #{CREW_PREFIX}/share/nginx/sbin/nginx nginx"
system "echo '#!/bin/bash' > startnginx"
system "echo 'NGINX=\$(ps ax | grep \"nginx: master process\" | grep -v grep | xargs | cut -d\" \" -f1 2> /dev/null)' >> startnginx"
system "echo 'if [ -z \"\$NGINX\" ]; then' >> startnginx"
system "echo ' sudo nginx' >> startnginx"
system "echo 'fi' >> startnginx"
system "echo 'NGINX=\$(ps ax | grep \"nginx: master process\" | grep -v grep | xargs | cut -d\" \" -f1 2> /dev/null)' >> startnginx"
system "echo 'if [ ! -z \"\$NGINX\" ]; then' >> startnginx"
system "echo ' echo \"nginx process \$NGINX is running\"' >> startnginx"
system "echo 'else' >> startnginx"
system "echo ' echo \"nginx failed to start\"' >> startnginx"
system "echo ' exit 1' >> startnginx"
system "echo 'fi' >> startnginx"
system "echo '#!/bin/bash' > stopnginx"
system "echo 'NGINX=\$(ps ax | grep \"nginx: master process\" | grep -v grep | xargs | cut -d\" \" -f1 2> /dev/null)' >> stopnginx"
system "echo 'if [ ! -z \"\$NGINX\" ]; then' >> stopnginx"
system "echo ' sudo nginx -s quit' >> stopnginx"
system "echo 'fi' >> stopnginx"
system "echo 'NGINX=\$(ps ax | grep \"nginx: master process\" | grep -v grep | xargs | cut -d\" \" -f1 2> /dev/null)' >> stopnginx"
system "echo 'if [ -z \"\$NGINX\" ]; then' >> stopnginx"
system "echo ' echo \"nginx process stopped\"' >> stopnginx"
system "echo 'else' >> stopnginx"
system "echo ' echo \"nginx process \$NGINX is running\"' >> stopnginx"
system "echo ' exit 1' >> stopnginx"
system "echo 'fi' >> stopnginx"
system 'chmod +x st*nginx'
end
FileUtils.install 'startnginx', "#{CREW_DEST_PREFIX}/bin/startnginx", mode: 0o755
FileUtils.install 'stopnginx', "#{CREW_DEST_PREFIX}/bin/stopnginx", mode: 0o755
end
def self.postinstall
@@ -73,7 +76,6 @@ class Nginx < Package
puts 'startnginx - starts nginx'.lightblue
puts 'stopnginx - stops nginx'.lightblue
puts
puts 'To start nginx on login, execute the following:'.lightblue
puts "echo 'if [ -f #{CREW_PREFIX}/bin/startnginx ]; then' >> ~/.bashrc".lightblue
puts "echo ' #{CREW_PREFIX}/bin/startnginx' >> ~/.bashrc".lightblue
puts "echo 'fi' >> ~/.bashrc".lightblue