|
自己编译打包的软件一多,自然是建个本地仓库然后用pacman来更新比较方便...
有些又要追新又要自己定制功能,怕被落下太多哦,所以就写这么个脚本来比较下不同仓库的版本区别了...
$localrepo改成本地仓库名就是...
- #!/usr/bin/perl -w
- ###################################################
- # Author: Hunt Xu - mhuntxu [AT] gmail [dot] com
- # Last modified: 2010-03-18 06:56
- # Filename: pacup.pl
- # Description: depends on pacman
- ####################################################
- use strict;
- # config
- my $localrepo = "hunt";
- my $color_old = "\e[31;1m";
- my $color_new = "\e[32;1m";
- my $color_end = "\e[0m";
- my $command = "LANG=en_US.utf8 pacman";
- # variables
- my $content;
- my $pacname;
- my $version;
- my $cmp;
- my $msg;
- # start
- chomp( my @localpac = `$command -Sql $localrepo` );
- foreach (@localpac) {
- $pacname = $_;
- $content = `$command -Si $_`;
- @_ = ( $content =~ m[Repository.*?: \S+.*?Version.*?: \S+]sg );
- if ( @_ > 1 ) {
- $_ = shift @_;
- m[Version.*?: (\S+)]s;
- $version = $1;
- foreach (@_) {
- m[Repository.*?: (\S+).*?Version.*?: (\S+)]sg;
- $cmp = `vercmp $version $2`;
- if ( $cmp == 0 ) {
- last;
- }
- elsif ( $cmp < 0) {
- $msg = $color_old."older".$color_end;
- }
- else {
- $msg = $color_new."newer".$color_end;
- }
- print "$pacname: $version, $msg than $1: $2;\n";
- }
- }
- }
复制代码
运行结果看图... |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|