diff --git a/packages/broadway.rb b/packages/broadway.rb index b0c620d22..7cf6c4ba6 100644 --- a/packages/broadway.rb +++ b/packages/broadway.rb @@ -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 diff --git a/packages/cronie.rb b/packages/cronie.rb index 672bd9880..aad4a3ce2 100644 --- a/packages/cronie.rb +++ b/packages/cronie.rb @@ -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 diff --git a/packages/nginx.rb b/packages/nginx.rb index 582786601..2251556a4 100644 --- a/packages/nginx.rb +++ b/packages/nginx.rb @@ -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