最后活跃于 2 years ago

zyppe's Avatar zyppe 修订了这个 Gist 2 years ago. 转到此修订

1 file changed, 1 insertion, 1 deletion

CheckUpdate.pl

@@ -52,7 +52,7 @@ my $fname;
52 52
53 53 if ( $fversion < $nfversion ) {
54 54 `systemctl stop forgejo`;
55 - my @assets = @{ $gcontent->{'assets'} };
55 + my @assets = @{ $fcontent->{'assets'} };
56 56 foreach my $assets (@assets) {
57 57 if ( $assets->{'name'} =~ /linux-amd64$/ ) {
58 58 $fname = $assets->{'name'};

zyppe's Avatar zyppe 修订了这个 Gist 2 years ago. 转到此修订

1 file changed, 1 insertion, 1 deletion

CheckUpdate.pl

@@ -41,7 +41,7 @@ else {
41 41 }
42 42
43 43 my @fout = split( / /, `forgejo -v` );
44 - my $fversion = substr $fout[5], 0, -1;
44 + my $fversion = Perl::Version->new( substr $fout[5], 0, -1 );
45 45 my $furl = "https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest";
46 46 my $f = REST::Client->new();
47 47 $f->GET( $furl, { "accept" => "application/json" } );

zyppe's Avatar zyppe 修订了这个 Gist 2 years ago. 转到此修订

1 file changed, 32 insertions, 6 deletions

CheckUpdate.pl

@@ -29,16 +29,42 @@ if ( $gversion < $ngversion ) {
29 29 $gdurl = $assets->{'browser_download_url'};
30 30 }
31 31 }
32 - `aria2c $gdurl`;
33 - `tar xvf $gname`;
34 - `cp opengist/opengist /usr/local/bin/opengist -v`;
32 + print `aria2c $gdurl`;
33 + print `tar xvf $gname`;
34 + print `cp opengist/opengist /usr/local/bin/opengist -v`;
35 35 `systemctl restart opengist`;
36 - `rm -v $gname`;
36 + print `rm -v $gname && rm -rvf opengist/`;
37 37 say "Updated opengist!";
38 38 }
39 - else{
40 - say "No need update opengist!"
39 + else {
40 + say "No need update opengist!";
41 41 }
42 42
43 43 my @fout = split( / /, `forgejo -v` );
44 44 my $fversion = substr $fout[5], 0, -1;
45 + my $furl = "https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest";
46 + my $f = REST::Client->new();
47 + $f->GET( $furl, { "accept" => "application/json" } );
48 + my $fcontent = decode_json $f->responseContent();
49 + my $nfversion = Perl::Version->new( $fcontent->{'name'} );
50 + my $fdurl;
51 + my $fname;
52 +
53 + if ( $fversion < $nfversion ) {
54 + `systemctl stop forgejo`;
55 + my @assets = @{ $gcontent->{'assets'} };
56 + foreach my $assets (@assets) {
57 + if ( $assets->{'name'} =~ /linux-amd64$/ ) {
58 + $fname = $assets->{'name'};
59 + $fdurl = $assets->{'browser_download_url'};
60 + }
61 + }
62 + print `aria2c $fdurl`;
63 + print `chmod +x $fname -v`;
64 + print `mv $fname /usr/local/bin/forgejo -v`;
65 + `systemctl restart forgejo`;
66 + say "Updated forgejo!";
67 + }
68 + else {
69 + say "No need update forgejo!";
70 + }

zyppe's Avatar zyppe 修订了这个 Gist 2 years ago. 转到此修订

1 file changed, 44 insertions

CheckUpdate.pl(文件已创建)

@@ -0,0 +1,44 @@
1 + #!/usr/bin/perl
2 + use strict;
3 + use warnings;
4 + use v5.10;
5 +
6 + use REST::Client;
7 + use Perl::Version;
8 + use File::Which;
9 + use JSON::MaybeXS;
10 +
11 + die "No opengist\n" unless which 'opengist';
12 + die "No forgejo\n" unless which 'forgejo';
13 +
14 + my $gversion = Perl::Version->new( substr `opengist version`, 9 );
15 + my $gurl = "https://api.github.com/repos/thomiceli/opengist/releases/latest";
16 + my $gh = REST::Client->new();
17 + $gh->GET( $gurl, { "accept" => "application/vnd.github+json" } );
18 + my $gcontent = decode_json $gh->responseContent();
19 + my $ngversion = Perl::Version->new( $gcontent->{'name'} );
20 + my $gdurl;
21 + my $gname;
22 +
23 + if ( $gversion < $ngversion ) {
24 + `systemctl stop opengist`;
25 + my @assets = @{ $gcontent->{'assets'} };
26 + foreach my $assets (@assets) {
27 + if ( $assets->{'name'} =~ /linux-amd64/ ) {
28 + $gname = $assets->{'name'};
29 + $gdurl = $assets->{'browser_download_url'};
30 + }
31 + }
32 + `aria2c $gdurl`;
33 + `tar xvf $gname`;
34 + `cp opengist/opengist /usr/local/bin/opengist -v`;
35 + `systemctl restart opengist`;
36 + `rm -v $gname`;
37 + say "Updated opengist!";
38 + }
39 + else{
40 + say "No need update opengist!"
41 + }
42 +
43 + my @fout = split( / /, `forgejo -v` );
44 + my $fversion = substr $fout[5], 0, -1;
上一页 下一页