From ecb3f531dd1ddc28dbf6714061668ae023d49c96 Mon Sep 17 00:00:00 2001 From: Tracey Clark Date: Sun, 20 Feb 2022 20:34:40 -0600 Subject: [PATCH] Corrected file name and download logic to fix bug preventing installation --- update-gitea.pl | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/update-gitea.pl b/update-gitea.pl index 9d82f59..006f0dd 100755 --- a/update-gitea.pl +++ b/update-gitea.pl @@ -18,7 +18,7 @@ use strict; use warnings; use LWP::UserAgent; use IO::Compress::Bzip2 qw(bzip2 $Bzip2Error); -use Data::Dumper; +use File::Basename; use JSON; use Sort::Versions; use Getopt::Long qw(GetOptions); @@ -72,10 +72,12 @@ my $latest_release_hash = decode_json( $resp->content ) or die "[DIE]: Unable to parse the version data! Output is:\n $resp"; my $orig_tag = $latest_release_hash->{tag_name}; +print "!!! ORIG TAG is $orig_tag\n"; my $tag = $orig_tag; substr( $tag, 0, 1, '' ); -print("Latest upstream version: $tag\n"); my $release_id = $latest_release_hash->{id}; # Works +printf( YELLOW +"[INFO] Latest upstream version: $tag\n Release ID $release_id\n", RESET); my $unz_filename = 'gitea-' . $tag . $filetype; #ex: gitea-1.7.6-linux-amd64 my $download_dir = '/home/gitea/bin/'; @@ -94,9 +96,9 @@ if ( versioncmp( $gitea_current_version, $tag ) == -1 ) { my $download_url = get_download_url( $download_filename, $release_id ); print("Downloading the compressed binary\n"); - print("Download URL we got from the sub is $download_url\n"); - `wget -P $gitea_bin_dir $download_url`; - my $xz_file = $gitea_bin_dir . $download_filename; + print("[INFO] Download URL we got from the sub is $download_url\n"); + `wget -P $download_dir $download_url`; + my $xz_file = $download_dir . $download_filename; if ( defined $info ) { print YELLOW "[INFO] xz file is $xz_file\n", RESET; @@ -277,14 +279,16 @@ sub build_download_url { sub install_bin { my $filename = shift; - print("Unpacking the downloaded file, setting owner and permissions\n"); + print("Unpacking the downloaded file \"$download_dir$filename\", setting owner and permissions\n"); + my $unpacked_filename = basename($filename, ".xz"); + print "Unpacked filename is $unpacked_filename\n"; # Copy the downloaded binary to gitea and chmod it 750 # Doing this with a filthy system call because the perl library # for xz manipulation is a memory hog and buggy besides - system("xz -d --keep $download_dir . $filename"); + system("xz -d --keep $download_dir" . "/" . "$filename"); system("systemctl stop gitea"); - system("cp $download_dir/$unz_filename $gitea_bin"); + system("cp $download_dir$unpacked_filename $gitea_bin"); system("chown gitea.gitea $gitea_bin"); system("chmod 750 $gitea_bin");