source: llxsrchelper/trunk/fuentes/install/dh_llxsrcinstall @ 4556

Last change on this file since 4556 was 4556, checked in by Juanma, 3 years ago

Added metainfo dir

  • Property svn:executable set to *
File size: 2.8 KB
Line 
1#!/usr/bin/perl
2use warnings;
3use strict;
4use Debian::Debhelper::Dh_Lib;
5use File::Basename;
6
7my $srcpath = "llx-resources";
8my @package_list = getpackages();
9
10sub generateFiles{
11        my ($pkg ,$packagepath) = @_;
12        opendir (PACKAGEFOLDER,$packagepath);
13        while (my $component = readdir(PACKAGEFOLDER)){
14                if ( "$component" eq "." || "$component" eq ".."){
15                        next;
16                }
17                if("$component" eq "icons"){
18                                opendir (CATEGORY,"$packagepath/icons/");
19                                while (my $category = readdir(CATEGORY)){
20                                                my @icons = glob "$packagepath/icons/$category/*.svg";
21                                                for (0..$#icons){
22                                                        generateIcons($pkg,$category,$icons[$_]);
23                                                }
24                                        }
25                                closedir(CATEGORY);
26                        }
27                       
28                elsif("$component" eq "banners"){
29                        my @banner = glob "$packagepath/banners/*.svg";
30                        for (0..$#banner){
31                                generateBanner($pkg,$banner[$_]);
32                        }
33                }
34                elsif("$component" eq "desktops"){
35                        my @desktop = glob "$packagepath/desktops/*.desktop";
36                        doit("mkdir","-p","debian/".$pkg."/usr/share/applications");
37                        for (0..$#desktop){
38                                doit("cp",$desktop[$_],"debian/".$pkg."/usr/share/applications");
39                        }
40                }
41                elsif("$component" eq "metainfo"){
42                        my @appdata = glob "$packagepath/metainfo/*.appdata.xml";
43                        doit("mkdir","-p","debian/".$pkg."/usr/share/metainfo");
44                        for (0..$#appdata){
45                                doit("cp",$appdata[$_],"debian/".$pkg."/usr/share/metainfo");
46                        }
47                }
48        }
49        closedir(PACKAGEFOLDER);
50}
51
52sub generateIcons{
53        my ($pkg ,$category, $svgpath) = @_;
54        my $basename = basename($svgpath,".svg");
55        my @sizes = (32,48,64);
56        my $baseiconpath = "/usr/share/icons/hicolor/";
57        for(0..$#sizes){
58                doit("mkdir","-p","debian/".$pkg.$baseiconpath."/".$sizes[$_]."x".$sizes[$_]."/".$category);
59                doit("rsvg-convert","-h",$sizes[$_],"-w",$sizes[$_],"-o","debian/".$pkg.$baseiconpath."/".$sizes[$_]."x".$sizes[$_]."/".$category."/".$basename.".png",$svgpath);
60        }
61        doit("mkdir","-p","debian/".$pkg.$baseiconpath."/scalable/".$category);
62        doit("cp",$svgpath,"debian/".$pkg.$baseiconpath."/scalable/".$category);
63
64}
65
66
67sub generateBanner{
68        my ($pkg ,$svgpath) = @_;
69        my $basename = basename($svgpath,".svg");
70        my $bannerlocation = "/usr/share/banners/lliurex-neu";
71        doit("mkdir","-p","debian/".$pkg.$bannerlocation);
72        doit("rsvg-convert","-o","debian/".$pkg.$bannerlocation."/".$basename.".png",$svgpath);
73}
74
75#
76#
77#
78#
79#               Main
80#
81#
82#
83#
84#
85
86
87if ( -d $srcpath ){
88        my $error = "";
89        opendir (DIR,$srcpath);
90        while (my $packagename = readdir(DIR)){
91                if ( "$packagename" eq "." || "$packagename" eq ".."){
92                        next;
93                }
94                if ($packagename ~~ @package_list){
95
96                        generateFiles($packagename, $srcpath . '/'. $packagename);
97                }
98                else{
99                        $error .= "llx-resources/".$packagename . " folder hasn't package on control file \n";
100                }
101        }
102        closedir(DIR);
103        if ( $error ne ""){
104                print "\n******************* LLXSRC WARNING ***************** \n\n";
105                print " - " . $error;
106                print "\n**************************************************** \n";
107        }
108}
109
110
111
Note: See TracBrowser for help on using the repository browser.