diff --git a/packages/docker.rb b/packages/docker.rb index bb06de221..3738dfd3b 100644 --- a/packages/docker.rb +++ b/packages/docker.rb @@ -74,7 +74,7 @@ class Docker < Package @libnetwork_version = '3f0048413d95802b9c6c836eba06bfc54f9dbd03' @tini_version = '0b44d3665869e46ccbac7414241b8256d6234dc4' @buildx_version = 'v0.10.5' - @gopath = `pwd`.chomp + @gopath = Dir.pwd FileUtils.mkdir_p 'src/github.com/docker' FileUtils.ln_s @gopath, 'src/github.com/docker/cli' Dir.chdir 'src/github.com/docker/cli' do diff --git a/packages/dropbox.rb b/packages/dropbox.rb index c486dc54f..2a2247b4c 100644 --- a/packages/dropbox.rb +++ b/packages/dropbox.rb @@ -30,33 +30,33 @@ class Dropbox < Package def self.build system 'curl -#LO https://linux.dropbox.com/packages/dropbox.py' system "sed -i 's,~/.dropbox-dist,#{CREW_LIB_PREFIX}/dropbox,g' dropbox.py" - system "echo '#!/bin/bash' > dropboxd" - system "echo 'PWD=$(pwd)' >> dropboxd" - system "echo 'cd #{CREW_LIB_PREFIX}/dropbox' >> dropboxd" - system "echo './dropboxd' >> dropboxd" - system "echo 'cd $PWD' >> dropboxd" - system 'chmod +x dropboxd' - system "echo '#!/bin/bash' > dropbox" - system "echo 'python #{CREW_PREFIX}/bin/dropbox.py \"$@\"' >> dropbox" - system 'chmod +x dropbox' + File.write 'dropboxd', <<~EOF, perm: 0o755 + #!/bin/bash + cd #{CREW_LIB_PREFIX}/dropbox + ./dropboxd + EOF + + File.write 'dropbox', <<~EOF, perm: 0o755 + #!/bin/bash + python #{CREW_PREFIX}/bin/dropbox.py "$@" + EOF end def self.install - system "mkdir -p #{CREW_DEST_PREFIX}/bin" - system "mkdir -p #{CREW_DEST_LIB_PREFIX}/dropbox" - system "cp -r .dropbox-dist/* #{CREW_DEST_LIB_PREFIX}/dropbox" - system "cp dropbox.py #{CREW_DEST_PREFIX}/bin" - system "cp dropboxd #{CREW_DEST_PREFIX}/bin" - system "cp dropbox #{CREW_DEST_PREFIX}/bin" + FileUtils.mkdir_p %W[#{CREW_DEST_PREFIX}/bin #{CREW_DEST_LIB_PREFIX}/dropbox] + FileUtils.cp_r Dir['.dropbox-dist/*'], "#{CREW_DEST_LIB_PREFIX}/dropbox" + FileUtils.mv %w[dropbox.py dropboxd dropbox], "#{CREW_DEST_PREFIX}/bin" end def self.postinstall - puts - puts "To finish the installation, execute 'dropboxd'.".lightblue - puts 'Login to dropbox.com, highlight the url and paste into Chrome.'.lightblue - puts 'Type Ctrl+C to exit dropboxd after linking your system.'.lightblue - puts "Execute 'dropbox start' and after syncing is complete, files will be available in ~/Dropbox.".lightblue - puts "Execute 'dropbox' to see the full list of available options.".lightblue - puts + puts <<~EOT.lightblue + + To finish the installation, execute 'dropboxd'. + Login to dropbox.com, highlight the url and paste into Chrome. + Type Ctrl+C to exit dropboxd after linking your system. + Execute 'dropbox start' and after syncing is complete, files will be available in ~/Dropbox. + Execute 'dropbox' to see the full list of available options. + + EOT end end diff --git a/packages/dropbox_uploader.rb b/packages/dropbox_uploader.rb index 01390e7b2..5d1f7e6d2 100644 --- a/packages/dropbox_uploader.rb +++ b/packages/dropbox_uploader.rb @@ -26,14 +26,20 @@ class Dropbox_uploader < Package def self.install system "sed -i 's,dropbox_uploader.sh,dropbox_uploader,g' dropShell.sh" - system 'chmod +x dropShell.sh' - system 'chmod +x dropbox_uploader.sh' - system "mkdir -p #{CREW_DEST_PREFIX}/bin" - system "cp dropShell.sh #{CREW_DEST_PREFIX}/bin/dropshell" - system "cp dropbox_uploader.sh #{CREW_DEST_PREFIX}/bin/dropbox_uploader" - puts '' - puts "Type 'dropbox_uploader' and follow the instructions to finish the installation.".lightblue - puts "To execute The Interactive Dropbox SHELL, type 'dropshell'.".lightblue - puts '' + + FileUtils.chmod 0o755, %w[dropShell.sh dropbox_uploader.sh] + FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin" + + FileUtils.mv 'dropShell.sh', "#{CREW_DEST_PREFIX}/bin/dropshell" + FileUtils.mv 'dropbox_uploader.sh', "#{CREW_DEST_PREFIX}/bin/dropbox_uploader" + end + + def self.postinstall + puts <<~EOT.lightblue + + Type 'dropbox_uploader' and follow the instructions to finish the installation. + To execute The Interactive Dropbox SHELL, type 'dropshell'. + + EOT end end diff --git a/packages/fop.rb b/packages/fop.rb index 590b7d4c3..a9cd3c57a 100644 --- a/packages/fop.rb +++ b/packages/fop.rb @@ -25,18 +25,15 @@ class Fop < Package depends_on 'openjdk8' def self.install - system "mkdir -p #{CREW_DEST_PREFIX}/bin" - system "mkdir -p #{CREW_DEST_LIB_PREFIX}/fop" - system "cp -r . #{CREW_DEST_LIB_PREFIX}/fop" - FileUtils.cd("#{CREW_DEST_PREFIX}/bin") do - system "echo '#!/bin/bash' > fop" - system "echo 'cd #{CREW_LIB_PREFIX}/fop/fop' >> fop" - system "echo './fop \"$@\"' >> fop" - system "echo 'cd $PWD' >> fop" - system 'chmod +x fop' - end + FileUtils.mkdir_p %W[#{CREW_DEST_PREFIX}/bin #{CREW_DEST_LIB_PREFIX}/fop #{CREW_DEST_PREFIX}/etc/env.d/] + FileUtils.cp_r '.', "#{CREW_DEST_LIB_PREFIX}/fop" + + File.write "#{CREW_DEST_PREFIX}/bin/fop", <<~EOF, perm: 0o755 + #!/bin/bash + cd #{CREW_LIB_PREFIX}/fop/fop + ./fop "$@" + EOF - FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/etc/env.d/" @fopenv = <<~FOPEOF # Fop configuration export JAVA_HOME=#{CREW_PREFIX}/jre diff --git a/packages/fslint.rb b/packages/fslint.rb index 6f746b795..6aab61b13 100644 --- a/packages/fslint.rb +++ b/packages/fslint.rb @@ -25,8 +25,8 @@ class Fslint < Package depends_on 'help2man' def self.build - system 'rm -f man/*' - system 'chmod +x fslint/supprt/fslver' + FileUtils.rm_rf Dir['man/*'] + FileUtils.chmod 0o755, 'fslint/supprt/fslver' system 'help2man -N fslint/findup > man/findup.1' system 'help2man -N fslint/findnl > man/findnl.1' system 'help2man -N fslint/findu8 > man/findu8.1' @@ -43,10 +43,8 @@ class Fslint < Package end def self.install - system "mkdir -p #{CREW_DEST_PREFIX}/bin" - system "mkdir -p #{CREW_DEST_PREFIX}/man/man1" - system "cp -r fslint/* #{CREW_DEST_PREFIX}/bin" - system "cp fslint/fstool/lS #{CREW_DEST_PREFIX}/bin" - system "cp man/* #{CREW_DEST_PREFIX}/man/man1" + FileUtils.mkdir_p %W[#{CREW_DEST_PREFIX}/bin #{CREW_DEST_PREFIX}/man/man1] + FileUtils.cp_r Dir['fslint/*', 'fslint/fstool/lS'], "#{CREW_DEST_PREFIX}/bin" + FileUtils.cp Dir['man/*'], "#{CREW_DEST_PREFIX}/man/man1" end end diff --git a/packages/gb.rb b/packages/gb.rb index db98abbb9..7b944f592 100644 --- a/packages/gb.rb +++ b/packages/gb.rb @@ -29,26 +29,27 @@ class Gb < Package export GOPATH=#{CREW_DEST_PREFIX}/share/gb && \ go get -v github.com/constabulary/gb/... && \ export GOPATH=$SAVEGOPATH" - system "mkdir -p #{CREW_DEST_PREFIX}/bin" + FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin" FileUtils.cd("#{CREW_DEST_PREFIX}/bin") do - system "echo '#!/bin/bash' > gb" - system "echo 'if [ -z \"\$GOPATH\" ]; then' >> gb" - system "echo ' echo \"GOPATH environment variable not set.\"' >> gb" - system "echo ' exit 1' >> gb" - system "echo 'fi' >> gb" - system "echo 'cd #{CREW_PREFIX}/share/gb' >> gb" - system "echo 'bin/gb \"\$@\"' >> gb" - system "echo 'cd -' >> gb" - system 'chmod +x gb' - system "echo '#!/bin/bash' > gb-vendor" - system "echo 'if [ -z \"\$GOPATH\" ]; then' >> gb-vendor" - system "echo ' echo \"GOPATH environment variable not set.\"' >> gb-vendor" - system "echo ' exit 1' >> gb-vendor" - system "echo 'fi' >> gb-vendor" - system "echo 'cd #{CREW_PREFIX}/share/gb' >> gb-vendor" - system "echo 'bin/gb-vendor \"\$@\"' >> gb-vendor" - system "echo 'cd -' >> gb-vendor" - system 'chmod +x gb-vendor' + File.write 'gb', <<~EOF, perm: 0o755 + #!/bin/bash + if [ -z "$GOPATH" ]; then + echo "GOPATH environment variable not set." + exit 1 + fi + cd #{CREW_PREFIX}/share/gb + bin/gb "$@" + EOF + + File.write 'gb-vendor', <<~EOF, perm: 0o755 + #!/bin/bash + if [ -z "$GOPATH" ]; then + echo "GOPATH environment variable not set." + exit 1 + fi + cd #{CREW_PREFIX}/share/gb + bin/gb-vendor "$@" + EOF end end end diff --git a/packages/gwt.rb b/packages/gwt.rb index c9e69cd40..8de22d1dd 100644 --- a/packages/gwt.rb +++ b/packages/gwt.rb @@ -31,14 +31,17 @@ class Gwt < Package system "mkdir -p #{CREW_DEST_PREFIX}/share/gwt" system "cp -r . #{CREW_DEST_PREFIX}/share/gwt" Dir.chdir "#{CREW_DEST_PREFIX}/bin" do - system "echo '#!/bin/bash' > i18nCreator" - system "echo 'cd #{CREW_PREFIX}/share/gwt' >> i18nCreator" - system "echo './i18nCreator \"$@\"' >> i18nCreator" - system 'chmod +x i18nCreator' - system "echo '#!/bin/bash' > webAppCreator" - system "echo 'cd #{CREW_PREFIX}/share/gwt' >> webAppCreator" - system "echo './webAppCreator \"$@\"' >> webAppCreator" - system 'chmod +x webAppCreator' + File.write 'i18nCreator', <<~EOF, perm: 0o755 + #!/bin/bash + cd #{CREW_PREFIX}/share/gwt + ./i18nCreator "$@" + EOF + + File.write 'webAppCreator', <<~EOF, perm: 0o755 + #!/bin/bash + cd #{CREW_PREFIX}/share/gwt + ./webAppCreator "$@" + EOF end end diff --git a/packages/healthcheck.rb b/packages/healthcheck.rb index 450518a20..2563a33e3 100644 --- a/packages/healthcheck.rb +++ b/packages/healthcheck.rb @@ -27,13 +27,18 @@ class Healthcheck < Package depends_on 'sysstat' def self.install - system 'chmod +x health-check.sh' + FileUtils.chmod 0o755, 'health-check.sh' system "sed -i 's,usr/bin,usr/local/bin,' health-check.sh" - system "mkdir -p #{CREW_DEST_PREFIX}/bin" - system "cp health-check.sh #{CREW_DEST_PREFIX}/bin/healthcheck" - puts '' - puts 'To execute, enter the following:'.lightblue - puts 'sudo healthcheck'.lightblue - puts '' + FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin" + FileUtils.cp 'health-check.sh', "#{CREW_DEST_PREFIX}/bin/healthcheck" + end + + def self.postinstall + puts <<~EOT.lightblue + + To execute, enter the following: + sudo healthcheck + + EOT end end diff --git a/packages/i3.rb b/packages/i3.rb index 1d036d20f..321340627 100644 --- a/packages/i3.rb +++ b/packages/i3.rb @@ -41,13 +41,14 @@ class I3 < Package system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install' Dir.chdir "#{CREW_DEST_PREFIX}/bin" do system "for f in \$(ls #{CREW_BUILD}-*); do g=\$(echo \$f | sed 's,#{CREW_BUILD}-,,'); ln -sf \$f \$g; done" - system "echo '#!/bin/sh' > starti3" - system "echo 'stopsommelier' >> starti3" - system "echo 'export DISPLAY=100.115.92.2:0' >> starti3" - system "echo 'i3 \"$@\"' >> starti3" - system "echo 'export DISPLAY=:0' >> starti3" - system "echo 'startsommelier' >> starti3" - system 'chmod +x starti3' + File.write 'starti3', <<~EOF, perm: 0o755 + #!/bin/sh + stopsommelier + export DISPLAY=100.115.92.2:0 + i3 "$@" + export DISPLAY=:0 + startsommelier + EOF end end diff --git a/packages/ipfs.rb b/packages/ipfs.rb index 984846c78..80f8376a0 100644 --- a/packages/ipfs.rb +++ b/packages/ipfs.rb @@ -29,7 +29,7 @@ class Ipfs < Package system 'mkdir -p ../src/github.com/ipfs/go-ipfs' system 'cp -aT . ../src/github.com/ipfs/go-ipfs/' system 'mv ../src .' - system 'export GOPATH=`pwd`; cd src/github.com/ipfs/go-ipfs; make build' + system "GOPATH=#{Dir.pwd} make build", chdir: 'src/github.com/ipfs/go-ipfs' end def self.install diff --git a/packages/libnxml.rb b/packages/libnxml.rb index 646df091a..652626448 100644 --- a/packages/libnxml.rb +++ b/packages/libnxml.rb @@ -27,7 +27,7 @@ class Libnxml < Package end def self.prebuild - system 'chmod +x ./configure' + FileUtils.chmod 0o755, './configure' end def self.build diff --git a/packages/minecraft.rb b/packages/minecraft.rb index ec0e28c6a..934fce3f0 100644 --- a/packages/minecraft.rb +++ b/packages/minecraft.rb @@ -32,8 +32,7 @@ class Minecraft < Package # https://minecraft.fandom.com/wiki/Minecraft_Launcher HOME=#{CREW_PREFIX}/.config #{CREW_PREFIX}/bin/minecraft-launcher.elf --workDir #{CREW_PREFIX}/.config/.minecraft --tmpDir #{CREW_PREFIX}/tmp $@ EOF - File.write('minecraft-launcher', @launcherscript) - system 'chmod +x minecraft-launcher' + File.write('minecraft-launcher', @launcherscript, perm: 0o755) end end diff --git a/packages/miniconda3.rb b/packages/miniconda3.rb index 946441ebc..6d30da697 100644 --- a/packages/miniconda3.rb +++ b/packages/miniconda3.rb @@ -27,18 +27,16 @@ class Miniconda3 < Package system 'curl -Ls -o miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-4.5.11-Linux-x86_64.sh' abort 'Checksum mismatch. :/ Try again.'.lightred unless Digest::SHA256.hexdigest(File.read('miniconda.sh')) == 'ea4594241e13a2671c5b158b3b813f0794fe58d514795fbf72a1aad24db918cf' end - case ARCH - when 'i686', 'x86_64' - system "bash miniconda.sh -b -p #{CREW_PREFIX}/share/miniconda3" - FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin" - FileUtils.cd("#{CREW_DEST_PREFIX}/bin") do - system "echo '#!/bin/bash' > conda" - system "echo 'cd #{CREW_PREFIX}/share/miniconda3' >> conda" - system "echo 'bin/conda \"\$@\"' >> conda" - system 'chmod +x conda' - end - FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share" - system "cp -r #{CREW_PREFIX}/share/miniconda3 #{CREW_DEST_PREFIX}/share" - end + + system "bash miniconda.sh -b -p #{CREW_PREFIX}/share/miniconda3" + FileUtils.mkdir_p %W[#{CREW_DEST_PREFIX}/bin #{CREW_DEST_PREFIX}/share] + + File.write "#{CREW_DEST_PREFIX}/bin/conda", <<~EOF, perm: 0o755 + #!/bin/bash + cd #{CREW_PREFIX}/share/miniconda3 + bin/conda "$@" + EOF + + FileUtils.cp "#{CREW_PREFIX}/share/miniconda3", "#{CREW_DEST_PREFIX}/share" end end diff --git a/packages/mywanip.rb b/packages/mywanip.rb index 0ea816d44..ba56f0f59 100644 --- a/packages/mywanip.rb +++ b/packages/mywanip.rb @@ -10,8 +10,7 @@ class Mywanip < Package source_sha256 '789d22cfa60a40cf60d59e561500cd27e39ac03ecff2e948111a2a07f830fd67' def self.install - system 'chmod +x mywanip' - system "mkdir -p #{CREW_DEST_PREFIX}/bin" - system "cp mywanip #{CREW_DEST_PREFIX}/bin" + FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin" + FileUtils.install 'mywanip', "#{CREW_DEST_PREFIX}/bin", mode: 0o755 end end diff --git a/packages/openssl.rb b/packages/openssl.rb index 694b51283..6ebb594bc 100644 --- a/packages/openssl.rb +++ b/packages/openssl.rb @@ -79,7 +79,7 @@ class Openssl < Package #{CREW_LIB_PREFIX[1..]}/libcrypto.so.1.1 #{CREW_LIB_PREFIX[1..]}/libssl.so.1.1 EOF - @cur_dir = `pwd`.chomp + @cur_dir = Dir.pwd @legacy_version = '1.1.1w' case ARCH when 'aarch64', 'armv7l' diff --git a/packages/perl_sgmls.rb b/packages/perl_sgmls.rb index 08945f57a..c04d0492f 100644 --- a/packages/perl_sgmls.rb +++ b/packages/perl_sgmls.rb @@ -26,7 +26,7 @@ class Perl_sgmls < Package def self.patch # For some reason this file doesn't have the proper permissions in the tarball - system 'chmod 0644 MYMETA.yml' + FileUtils.chmod 0o644, 'MYMETA.yml' end def self.prebuild diff --git a/packages/qb64.rb b/packages/qb64.rb index 45b6b75cb..e75985bd3 100644 --- a/packages/qb64.rb +++ b/packages/qb64.rb @@ -48,13 +48,13 @@ class Qb64 < Package end def self.install - system 'chmod', '+x', 'qb64' - system 'mkdir', '-p', "#{CREW_DEST_PREFIX}/share/qb64" - system 'mkdir', '-p', "#{CREW_DEST_PREFIX}/bin" + FileUtils.chmod 0o644, 'qb64' + FileUtils.mkdir_p %W[#{CREW_DEST_PREFIX}/share/qb64 #{CREW_DEST_PREFIX}/bin] system 'cp', '-rpa', '.', "#{CREW_DEST_PREFIX}/share/qb64/" - system "echo '\#!/bin/bash' >> #{CREW_DEST_PREFIX}/bin/qb64" - system "echo \"cd #{CREW_PREFIX}/share/qb64/\" >> #{CREW_DEST_PREFIX}/bin/qb64" - system "echo \"sommelier -X #{CREW_PREFIX}/share/qb64/qb64\" >> #{CREW_DEST_PREFIX}/bin/qb64" - system "chmod +x #{CREW_DEST_PREFIX}/bin/qb64" + File.write "#{CREW_DEST_PREFIX}/bin/qb64", <<~EOF, perm: 0o755 + #!/bin/bash + cd #{CREW_PREFIX}/share/qb64/ + sommelier -X #{CREW_PREFIX}/share/qb64/qb64 + EOF end end diff --git a/packages/vala.rb b/packages/vala.rb index aa3287b88..b9f677bba 100644 --- a/packages/vala.rb +++ b/packages/vala.rb @@ -40,12 +40,12 @@ class Vala < Package system 'git checkout b2beeaccdf2307ced172646c2ada9765e1747b28' system 'touch */*.stamp' system 'autoreconf -fi' - system 'VALAC=/no-valac mold -run ./configure --prefix=`pwd`/../bootstrap_install' + system "VALAC=/no-valac mold -run ./configure --prefix=#{Dir.pwd}/../bootstrap_install" system 'make' system 'make install' end - system "VALAC=`pwd`/bootstrap_install/bin/valac mold -run ./autogen.sh \ + system "VALAC=#{Dir.pwd}/bootstrap_install/bin/valac mold -run ./autogen.sh \ #{CREW_OPTIONS} \ --disable-maintainer-mode \ --disable-valadoc" diff --git a/packages/webkit2gtk_4.rb b/packages/webkit2gtk_4.rb index 3be730ef0..e442827df 100644 --- a/packages/webkit2gtk_4.rb +++ b/packages/webkit2gtk_4.rb @@ -140,7 +140,7 @@ class Webkit2gtk_4 < Package def self.build # This builds webkit2gtk4 (which uses gtk3 and libsoup2) - @workdir = `pwd`.chomp + @workdir = Dir.pwd # Bubblewrap sandbox breaks on epiphany with # bwrap: Can't make symlink at /var/run: File exists # LDFLAGS from debian: -Wl,--no-keep-memory diff --git a/packages/webkit2gtk_4_1.rb b/packages/webkit2gtk_4_1.rb index 20ba3ca06..85b6ed290 100644 --- a/packages/webkit2gtk_4_1.rb +++ b/packages/webkit2gtk_4_1.rb @@ -141,7 +141,7 @@ class Webkit2gtk_4_1 < Package def self.build # This builds webkit2gtk4_1 (which uses gtk3, but not libsoup2) - @workdir = `pwd`.chomp + @workdir = Dir.pwd # Bubblewrap sandbox breaks on epiphany with # bwrap: Can't make symlink at /var/run: File exists # LDFLAGS from debian: -Wl,--no-keep-memory diff --git a/packages/webkitgtk_6.rb b/packages/webkitgtk_6.rb index a8cf17be9..b65c3ef26 100644 --- a/packages/webkitgtk_6.rb +++ b/packages/webkitgtk_6.rb @@ -142,7 +142,7 @@ class Webkitgtk_6 < Package def self.build # This builds webkit2gtk5 (which uses gtk4, but not libsoup2) - @workdir = `pwd`.chomp + @workdir = Dir.pwd # Bubblewrap sandbox breaks on epiphany with # bwrap: Can't make symlink at /var/run: File exists # LDFLAGS from debian: -Wl,--no-keep-memory diff --git a/packages/xdotool.rb b/packages/xdotool.rb index 535e478de..e6ba54c26 100644 --- a/packages/xdotool.rb +++ b/packages/xdotool.rb @@ -35,7 +35,5 @@ class Xdotool < Package def self.install system "LDCONFIG=#{CREW_PREFIX}/sbin/ldconfig DESTDIR=#{CREW_DEST_DIR} PREFIX=#{CREW_PREFIX} INSTALLLIB=#{CREW_LIB_PREFIX} make install" - # Remove execute bit from header file' - system "chmod -x #{CREW_DEST_PREFIX}/include/xdo.h" end end