source: devtools/desktop_to_xml/desktop_to_xml.sh @ 5660

Last change on this file since 5660 was 5660, checked in by Juanma, 2 years ago

Added _zmd suffix to the fake desktop of the zomandos

  • Property svn:executable set to *
File size: 17.6 KB
RevLine 
[4549]1#!/bin/bash
2#Script that generates xml info file from a desktop file
3#Usage:
4#Download lliurex-artwork-default from svn
5#Download the sources of the package(s)
[4831]6#Execute this script passing the dirs of sources to analyze as parameters
[4549]7#Profit
8
9msg_need_svn="In order to add the right icons you need to download lliurex-artwork-default from svn to the same dir as the source packages"
10msg_dir_not_found="dir not found"
11msg_icons_dir_error="Can't access %s or %s.\nSome icons may be missing.\n"
12msg_select_file="Select one install file:\n"
13msg_selected_file="\nSelected file: %s\n\n"
14msg_select_dir="\nSelect the dir containing the desktop file:\n"
[4609]15msg_gen_metainfo="Generating metainfo data path %s\n"
[4549]16msg_parsing_desktop="Parsing %s\n"
17msg_metainfo_generated="\nMetainfo file generated.\n"
18msg_desktop_updated="\nDesktop file updated.\n"
19msg_icon_found="Icon %s found.\nGenerating llx-resources dir\n"
[4648]20msg_icon_not_found="\n********** WARNING!!!! **********\nNo icon named %s found on dirs %s, %s or %s\nRemember that the icon must be in SVG format and no in PNG or other image format\n *************************** \n"
[4574]21msg_icon_location_info="\nPlease add %s as svg to %s and relaunch this program or use the llxsrc debhelper. Until then the app will not be included in our software store.\n"
22msg_icon_exists="\nIcon package found on the right location. Checking if llxsrc helper exists in rules\n"
[4549]23msg_work_done="\n----------\n\nWork done. If the process has no errors please check that the appfile.xml is right and that the rules file has the llxsrc helper. Also check that the icon is present in llx-resources.\nIn other case correct the errors and relaunch the script.\n\nRemember that the generated appfile.xml isn't a full one and is missing some fields like the screenshots. Take a cup of coffee and fulfill the empty fields following the specs at https://www.freedesktop.org/software/appstream/docs/sect-Metadata-Application.html\n\n"
[4566]24msg_install_not_found="Install file not found in debian dir. Aborting.\n"
[4555]25msg_select_workdir="Select the workdir\n"
26msg_debhelper_enabled="package type llxsrc detected. Setting llx-resources as workdir\n"
[4574]27msg_rules_old_format="\n********** WARNING!!!! **********\nrules file has an old format.\nIt's HIGHLY recommended to update it to the new rules format.\n *************************** \n"
[4581]28msg_select_pkg="\nSelect the name of the package to process\n"
[4693]29msg_desktop_not_found="\nDesktop file not found at %s. Looking at llx-resources\n"
30msg_desktop_not_present="\nDesktop file was not found at %s. Operation aborted\n"
[4847]31msg_searching_img="\nSearching screenshots in %s for %s\n"
[4831]32msg_image_found="\nScreenshoot %s found for app %s\n"
[4549]33function usage_help
34{
35        printf "Usage:\n"
36        printf "$0 [svn_package_dir1] [svn_package_dir2]\n\n"
37        printf "$msg_need_svn\n\n"
38        exit 1
39}
40
[4831]41function analyze_zmd_dir
[4549]42{
43        printf "Analyzing $1\n"
44        if [ ! -d $lliurexArtworkDir ] || [ ! -d $vibrancyArtworkDir ]
45        then
46                printf "$msg_icons_dir_error" $lliurexArtworkDir $vibrancyArtworkDir
47        fi
[4831]48        wrkDir=$rootDir"/"$srcDir
49        cd $wrkDir
50        baseMetainfoDir=${wrkDir}"/llx-resources/"
51        zmdFiles=$(find . -name "*.app")
52        for i in ${zmdFiles}
53        do
54                zmdName=$(basename $i)
55                zmdName=${zmdName/.app/}
56                zmdDir=$(dirname $i)
57                cd $zmdDir
58                metainfoDir=${baseMetainfoDir}"/"${zmdName}"/metainfo"
[4967]59                fakeDesktopDir=${baseMetainfoDir}"/"${zmdName}"/desktops"
[4831]60                mkdir $metainfoDir -p
[4967]61                mkdir $fakeDesktopDir -p
[5660]62                fakeDesktop=${fakeDesktopDir}"/"${zmdName}"_zmd.desktop"
[4831]63                no_copy_desktop=1
64                sw_zomando=1
[4967]65                parse_desktop $metainfoDir $fakeDesktop ${zmdName}".app"
[4831]66                cd $wrkDir
67        done
68        add_llxsrc_helper
69}
70
71function analyze_desktop_dir
72{
73        printf "Analyzing $1\n"
74        if [ ! -d $lliurexArtworkDir ] || [ ! -d $vibrancyArtworkDir ]
75        then
76                printf "$msg_icons_dir_error" $lliurexArtworkDir $vibrancyArtworkDir
77        fi
[4549]78       
[4581]79        cd $debianDir
80        #Set the package name
81        set_appName
[4549]82        #Get the install file. If there're many choose one...
83        declare -a installFiles
84        count=0
85        for i in *install
86        do
87                installFiles[$count]=$i
88                let count++
89        done
90        index=0
91        let count--
[4566]92        if [[ ${installFiles[0]} = '*install' ]]
[4549]93        then
[4554]94                printf "$msg_install_not_found"
[4555]95                get_workdir
[4566]96        else
[5312]97                        echo "QUE VOY"
[4566]98                if [ $count -gt 0 ]
99                then
100                        printf "$msg_select_file"
101                        for i in `seq 0 ${count}`
102                        do
103                                printf "${i}) ${installFiles[$i]}\n"
104                        done
105                        printf "Select file [0]: "
106                        read index
107                        [ -z $index ] && index=0
108                        installFile=${installFiles[$index]}
109                else
110                        installFile=${installFiles[0]}
111                fi
112                printf "$msg_selected_file" $installFile
113                process_installFile ${installFile}
[4549]114        fi
[4831]115        add_llxsrc_helper
[4549]116}
117
[4581]118function set_appName
119{
120        appName=$(basename $pkgDir)
121        declare -a pkgsArray
122        count=0
123        for pkg in `grep "Package:\ .*" control | cut -f2 -d ' '`
124        do
125                pkgsArray[$count]=$pkg
126                let count++
127        done
128        let count--
129        if [ $count -gt 0 ]
130        then
131                printf "$msg_select_pkg"
132                for i in `seq 0 ${count}`
133                do
134                        printf "$i) ${pkgsArray[$i]}\n"
135                done
136                printf "Select pkg name [0]: "
137                read index
138                [ -z $index ] && index=0
139                appName=${pkgsArray[$index]}
140        else
141                installFile=${pkgsArray[0]}
142        fi
143}
144
[4555]145function get_workdir
[4549]146{
[4555]147                cd $rootDir
148                cd $srcDir
149                if [ -d llx-resources ]
150                then
151                        printf "$msg_debhelper_enabled"
152                        installDir="llx-resources"
153                else
154                        printf "$msg_select_workdir"
155                        count=0
156                        declare -a dirArray
157                        for directory in *
158                        do
159                                dirArray[$count]=$directory
160                                let count++
161                        done
162                        printf "Selected Dir [0]: "
163                        read index
164                        installDir=${dirArray[$index]}
165                fi
166                process_pkg $installDir
167}
168
169function process_installFile
170{
[4549]171        installFile=$1
[5312]172        echo "Cheking install file"
173        if [ $(wc -l $installFile  | cut -f1 -d ' ') -gt 1 ]
[4549]174        then 
175                printf "$msg_select_dir"
176                count=0
177                declare -a fileLines
178                while read -r dirLine
179                do
180                        fileLines[$count]=$dirLine
181                        printf "$count) $dirLine\n"
182                        let count++
183                done < ${installFile}
184                printf "Selected file [0]: "
185                read index
186                installDir=${fileLines[$index]}
187        else 
188                installDir=`head -n1 $installFile`
189        fi
190        [ -z $index ] && index=0
191        installDir=${installDir/\**/}
[4668]192        [ -z "$installDir" ] && installDir='.'
[4549]193        process_pkg $installDir
194}
195
196function process_pkg
197{
198        cd $rootDir"/"$srcDir
[4669]199        wrkDir=`realpath $1 2>/dev/null`
200        if [ $? -ne 0 ]
201        then
[4831]202                #Dir doesn't seems to exists. Find the desktop on $svnDir and ask about the action
[4669]203                wrkDir='.'
204                installDir='.'
205        fi
206        printf "Entering %s\n" $wrkDir
[4589]207        if [ -d $wrkDir ]
[4566]208        then
209                cd $wrkDir
210        else
211                wrkDir=`dirname $wrkDir`
[4831]212                installDir=$wrkDir
[4566]213                cd $wrkDir
214        fi
[4549]215        #Find the desktop file of the application
216        desktopFiles=$(find . -name "*.desktop")
[4609]217        if [[ ! $desktopFiles ]]
218        then
219                printf "$msg_desktop_not_found" $wrkDir
[4693]220                cd $rootDir"/"$srcDir
221                wrkDir='.'
222                installDir='.'
223                desktopFiles=$(find . -name "*.desktop")
224                if [[ ! $desktopFiles ]]
225                then
226                        printf "$msg_desktop_not_present" $srcDir
227                        exit 1
228                fi
[4609]229        fi
[4549]230        for desktopFile in $desktopFiles
231        do
232                cd $rootDir"/"$srcDir
[4566]233                printf "Entering $wrkDir\n"
234                cd $wrkDir
235                #If workdir != $1 then it means that the install file has a file and not a dir
236                #In this case we assume that the install is putting the desktop file so metainfoDir becames llx-resources directly
[4589]237                if [[ $wrkDir != `realpath $1` ]]
[4566]238                then
239                        metainfoDir=${rootDir}"/"${srcDir}"/llx-resources/"${appName}
240                else
241                        metainfoDir=`dirname $desktopFile`
242                        metainfoDir=`dirname $metainfoDir`
243                fi
[4967]244                fakeDesktop=""
[4566]245                metainfoDir=$metainfoDir"/metainfo"
[4609]246                printf "$msg_gen_metainfo" $metainfoDir
[4549]247                mkdir $metainfoDir -p
[5312]248                fakeDesktop="none"
[4967]249                parse_desktop $metainfoDir $fakeDesktop $desktopFile 
[4549]250                iconName=$(grep ^Icon= $desktopFile)
251                iconName=${iconName/*=/}
252                iconName=${iconName/.*/}
253                get_icon $iconName
254        done
255}
256
257function parse_desktop
258{
259        metainfoDir=$1
260        shift
[4967]261        fakeDesktop=$1
262        shift
[5312]263       
[4549]264        for desktopFile in $@
265        do
266                printf "$msg_parsing_desktop" $desktopFile
267                item=`basename $desktopFile`
[4648]268                get_screenshot $item
[4967]269                if [ $sw_zomando -eq 1 ]
270                then
271                #generate a fake desktop
272                        printf "generating fake desktop %s for zmd" $fakeDesktop
273                fi
274
275                awk -v processFile=$item -v metainfoDir=$metainfoDir -v screenshot=$imageFound -v zomando=$sw_zomando -v fakeDesktop=$fakeDesktop -F '=' '
[4549]276                BEGIN{
277                        split(processFile,array,".",seps)
278        #               revDomainName="net.lliurex."array[1]
279                        outFile="/tmp/"processFile
280                        printf("") > outFile
281                        xmlFile=metainfoDir"/"array[1]".appdata.xml"
[5660]282                        if (zomando==1)
283                        {
284                                tagId="<id>"array[1]"_zmd</id>"
285                        } else {
286                                tagId="<id>"array[1]"</id>"
287                        }
288
[4831]289                        split(array[1],arrayKey,"-",seps)
290                        for (nameIndex in arrayKey)
291                        {
292                                if (length(arrayKey[nameIndex])>=3)
293                                {
294                                        if (tagKeywords!~">"arrayKey[nameIndex]"<")
295                                                tagKeywords=tagKeywords"<keyword>"arrayKey[nameIndex]"</keyword>\n";
296                                }
297                        }
[4549]298                        execPrinted=0
299                        commentArrayIndex=1
300                        nameArrayIndex=1
[4831]301                        noGenerate=0
302                        process=1
[4967]303                        if (zomando==1)
304                        {
305                                print "[Desktop Entry]">fakeDesktop
306                                print "Type=zomando">>fakeDesktop
307                                fakeIcon=fakeDesktop
[5660]308                                gsub("_zmd.desktop", ".png", fakeIcon)
[4967]309                                n=split(fakeIcon,array,"/")
[5660]310
[4967]311                                print "Icon=/usr/share/banners/lliurex-neu/"array[n] >> fakeDesktop
312                                print "NoDisplay=true" >> fakeDesktop
313
314                        }
[4549]315                }
316                {
[4831]317                        if ($0~/^\[.*\]/)
[4549]318                        {
[4831]319                                if ($0~/\[Desktop.*/)
[4549]320                                {
[4831]321                                        process=1;
[4549]322                                } else {
[4831]323                                        process=0;
324                                }               
325                        }
326                       
327                        if (process==1)
328                        {
329                                if ($1~/^Name/)
[4630]330                                {
[4831]331                                        if ($1=="Name")
[4641]332                                        {
[4831]333                                                tagName="<name>"
334                                                lang=""
[4967]335                                                if (zomando==1)
336                                                {
337                                                        print $0>>fakeDesktop
338                                                }
[4831]339                                        } else {
340                                                lang=$1
341                                                split(lang,array,"[",seps)
342                                                lang=substr(array[2], 1, length(array[2])-1)
343                                                tagName="<name xml:lang=\""lang"\">"
[4641]344                                        }
[4831]345                                        tagName=tagName""$2"</name>"
346                                        nameArray[nameArrayIndex]=tagName
347                                        nameArrayIndex++;
348                                        split($2,array," ",seps)
349                                        if ( lang != "")
[4549]350                                        {
[4831]351                                                tagKeywords=tagKeywords"</keywords>\n<keywords xml:lang=\""lang"\">\n";
352                                        }
353                                        for (nameIndex in array)
354                                        {
355                                                if (length(array[nameIndex])>=3)
[4549]356                                                {
[4831]357                                                        if (tagKeywords!~">"array[nameIndex]"<")
358                                                                tagKeywords=tagKeywords"<keyword>"array[nameIndex]"</keyword>\n";
359                                                }
360                                        }
[4967]361                                        if (zomando)
362                                                tagKeywords=tagKeywords"<keyword>Zomando</keyword>\n";
[4831]363                                } else if ($1~"Comment") {
364                                        if ($1=="Comment")
365                                        {
366                                                tagSum="<summary>"
367                                                tagDes="<p>"
368                                        } else {
369                                                lang=$1
370                                                split(lang,array,"[",seps)
371                                                lang=substr(array[2], 1, length(array[2])-1)
372                                                tagSum="<summary xml:lang=\""lang"\">"
373                                                tagDes="<p xml:lang=\""lang"\">"
374                                        }
375                                        sumario=$2
376                                        split(sumario,array,".",seps)
377                                        $0=$1"="array[1]
378                                        summaryArray[commentArrayIndex]=tagSum""array[1]"</summary>"
379                                        descriptionArray[commentArrayIndex]=tagDes""sumario"</p>"
380                                        commentArrayIndex++
381                                } else if ($1=="Categories") {
[4967]382                                        if (zomando==1)
383                                        {
384                                                print $0>>fakeDesktop
385                                        }
[4831]386                                        customCat=0
387                                        countCat=0
388                                        split($2,array,";",seps)
389                                        for (catIndex in array)
390                                        {
391                                                if (array[catIndex]!="")
392                                                {
393                                                        if (array[catIndex]~"-" && array[catIndex]!~"^X-")
[4549]394                                                        {
[4831]395                                                                customCat=1
396                                                                split(array[catIndex],lliurexCats,"-",seps)
397                                                                for (lliurexCatIndex in lliurexCats)
398                                                                {
399                                                                        lliurexCat="<category>"lliurexCats[lliurexCatIndex]"</category>\n"lliurexCat
400                                                                }
401                                                                categoryArray[catIndex]=lliurexCat
402                                                        } else {
403                                                                categoryArray[catIndex]="<category>"array[catIndex]"</category>"
[4549]404                                                        }
[4831]405                                                        countCat++
[4549]406                                                }
407                                        }
[4831]408
409
410                                        if (customCat==1 && countCat==1)
411                                        {
412                                                if (substr($0,length($0),1)==";")
413                                                        $0=$0"GTK"
414                                                else
415                                                        $0=$0;"GTK"
416                                                catIndex++
417                                        }
418                                } else  if ($1=="Icon") {
419                                        arrayItemNames=split($2,array,"/",seps)
420                                        arrayItems=split(array[arrayItemNames],array,".",seps)
421                                        iconBaseName=array[1]
422                                        $0=$1"="iconBaseName
423                                        if (zomando)
424                                        {
425                                                sub("zero-lliurex-", "",iconBaseName);
[4967]426                                                tagIcon="<icon type=\"cached\">"iconBaseName"</icon>";
427                                        } else {
428                                                tagIcon="<icon type=\"stock\">"iconBaseName"</icon>";
[4831]429                                        }
430                                } else if ($1=="Exec") {
431                                        if (execPrinted==0)
432                                        {
433                                                split($2,array," ",seps)
434                                                tagExec="<provides><binary>"array[1]"</binary></provides>"
435                                                execPrinted=1
436                                        }
437                                } else if ($1=="NoDisplay" || $1=="Terminal") {
438                                        if ($2 == "true" || $2=="TRUE" || $2=="True")
439                                        {
440                                                noGenerate=1
441                                        }
[4549]442                                }
443                        }
444                        print $0>>outFile
445                }
446                END{
[4831]447                        if (noGenerate==1)
448                        {
449                                print xmlFile" not generated as is a terminal app"
450                                exit 1
451                        }
452                        print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > xmlFile
453                        print "<component type=\"desktop-application\">" >> xmlFile
454                        print tagId >> xmlFile
455                        print "<metadata_license>CC0-1.0</metadata_license>" >> xmlFile
[4549]456                        for (nameIndex in nameArray)
457                                print nameArray[nameIndex] >> xmlFile
458                        for (summaryIndex in summaryArray)
459                                print summaryArray[summaryIndex] >> xmlFile;
460                        print "<description>" >> xmlFile
461                        for (descriptionIndex in descriptionArray)
462                                print descriptionArray[descriptionIndex] >> xmlFile;
463                        print "</description>" >> xmlFile
464                        print "<categories>" >> xmlFile
465                        for (categoryIndex in categoryArray)
[4831]466                        {
[4549]467                                print categoryArray[categoryIndex] >> xmlFile;
[4831]468                        }
469                        if (zomando)
470                        {
[4967]471                                print "<category>Lliurex</category>" >> xmlFile
[4831]472                                print "<category>Zomando</category>" >> xmlFile
473                        }
474                        if (categoryIndex==0)
475                                print "<category>Utility</category>" >> xmlFile
[4549]476                        print "</categories>" >> xmlFile
477                        print tagIcon >> xmlFile
478                        print tagExec >> xmlFile
[4641]479                        print "<keywords>" >> xmlFile
[4630]480                        print tagKeywords >> xmlFile
[4641]481                        print "</keywords>" >> xmlFile
[4648]482                        if ( screenshot != 0 )
483                        {
484                                print "<screenshots>" >> xmlFile
485                                print "<screenshot type=\"default\">" >> xmlFile
486                                print "<caption>Main window.</caption>" >> xmlFile
487                                print "<image type=\"source\" width=\"800\" height=\"450\">"screenshot"</image>" >> xmlFile
488                                print "</screenshot>" >> xmlFile
489                                print "</screenshots>" >> xmlFile
490                        }
[4831]491#                       print "<developer_name>Lliurex Team</developer_name>" >> xmlFile
[4549]492                        print "</component>" >> xmlFile
493                }
494                ' $desktopFile
[4831]495                [ $? -eq 0 ] && printf "$msg_metainfo_generated"
496                if [ -z $no_copy_desktop ]
497                then
498                        cp /tmp/${item} $desktopFile
499                        printf "$msg_desktop_updated"
500                fi
[4549]501        done
502}
503
[4648]504function get_screenshot
505{
[4847]506        printf "$msg_searching_img" "debian" $1
[4648]507        imageFound=0
[4847]508        if [ $sw_zomando -ne 1 ]
509        then
510                pkgName=${1/.desktop/}
511        else
512                pkgName=${1/.app/}
513                pkgName=${pkgName/*-/}
514        fi
[4648]515        url="https://screenshots.debian.net/packages?page=1&search=${pkgName}&utf8=✓"
[4668]516        get_screenshot_from $url $pkgName
[4831]517#       if [[ $imageFound == 0 ]]
518#       then
519#               printf "$msg_searching_img" "ubuntu"
520#               url="http://screenshots.ubuntu.com/packages?page=1&search=${pkgName}&utf8=✓"
521#               get_screenshot_from $url $pkgName
522#       fi
[4678]523        if [[ $imageFound ==  'https://screenshots.debian.net/' || $imageFound == ' https://screenshots.ubuntu.com/' ]]
524        then
525                printf "Discarting image...\n"
526                imageFound=0
527        fi
[4668]528
529}
530
531function get_screenshot_from
532{
533        url=$1
534        baseUrl=${url/packages*/}
535        pkgName=$2
[4648]536        outFile=$(mktemp)
[4668]537        wget $url -t 2 -T 10 -o /dev/null -O $outFile
[4648]538        if [ $? -eq 0 ]
539        then
540                searchResult=$(grep  -P -o  "href=\"\/package\/".*?\" $outFile | head -n1)
541                if [ $searchResult ]
542                then
543                        searchResult=${searchResult/href=\"\//}
544                        searchResult=${searchResult/\"/}
[4668]545                        url=${baseUrl}${searchResult}
[4831]546                        wget $url -t 2 -T 10 -o /tmp/wget_desktop.log -O $outFile
[4648]547                        if [ $? -eq 0 ]
548                        then
549                                imageFound=$(grep  -P -o  "href=\"\/screenshots\/".*?\" $outFile | head -n1)
550                                imageFound=${imageFound/href=\"\//}
551                                imageFound=${imageFound/\"/}
[4668]552                                imageFound=${baseUrl}${imageFound}
[4648]553                                printf "$msg_image_found" $imageFound $pkgName
554                        fi
555                fi
556        fi
557}
558
[4549]559function get_icon
560{
[4831]561        [ -z ${1} ] && echo "No icon selected" && return
562        iconName=$(basename $1)
[4549]563        #Check if a svg icon exists
564        workDir=$PWD
565        printf "\nSearching for icon ${iconName}.svg in our package\n"
566        #First we'll check the dir for resources
567        resourcesDir=llx-resources/
568        cd $rootDir
569        cd $srcDir
570        iconFile=$(find ${resourcesDir} -name "$iconName.svg" | grep icons)
571        if [[ ! $iconFile ]]
572        then
573                cd $workDir
574                printf "Entering $workDir\n"
575                iconPath=${srcDir}"/"${installDir}
576                iconFile=$(find . -name "$iconName.svg")
577                if [[ ! $iconFile ]]
578                then
[4617]579                        printf "Accesing %s" `realpath $lliurexArtworkDir`
[4549]580                        #Look for the svg in lliurex-theme
581                        cd $rootDir
582                        iconPath=$lliurexArtworkDir
583                        cd $lliurexArtworkDir
584                        iconFile=$(find . -name "${iconName}.svg")
585                fi
586                if [[ $iconFile ]]
587                then
[4831]588                        iconFile=$(realpath $iconFile)
[4549]589                        cd $rootDir
590                        printf "$msg_icon_found" $iconFile
591                        cd $srcDir
[4566]592                        resourcesDir="llx-resources/"${appName}"/icons/apps/"
[4549]593                        mkdir $resourcesDir -p
594                        cd $OLDPWD
[4831]595                        cp ${iconFile} ${srcDir}"/"${resourcesDir}
[4549]596                        cd $OLDPWD
597                else
[4648]598                        printf "$msg_icon_not_found" ${iconName} "$lliurexArtworkDir" "$resourcesDir" "$installDir"
599                        printf "$msg_icon_location_info" ${iconName} "$lliurexArtworkDir" 
[4549]600                fi
601        else
602                printf "$msg_icon_exists"
603        fi
604}
605
606function add_llxsrc_helper
607{
608        cd $rootDir
609        cd $debianDir
610        printf "Adding llxsrc to rules"
611        if [[ ! `grep 'llxsrc' rules` ]]
612        then
[4574]613                if [[ `grep 'dh \$@' rules` ]]
614                then
615                        if [[ `grep '\-\-with' rules` ]]
616                        then 
617                                sed -i 's/\(dh $@\ --with\ \)/\0llxsrc,/' rules
618                        else
619                                sed -i 's/\(dh $@\ \)/\0 --with\ llxsrc\ /' rules
620                        fi
[4549]621                else
[4574]622                        printf "$msg_rules_old_format"
623                        sed -i 's/\tdh_installdeb/\tdh_llxsrcinstall\n\tdh_installdeb/' rules
[4549]624                fi
625        fi
[4617]626
627        if [[ ! `grep 'llxsrchelper' control` ]]
628        then
629                sed -i 's/\(Build-Depends:\ \)/\0llxsrchelper,/' control
630        fi
[4549]631}
632
[4831]633function get_package_type
634{
635        cd $srcDir
[5312]636        [[ $(find . -name "*zmd") ]] && echo "zmd" || echo "deb"
[4831]637}
[4549]638
[4831]639### MAIN PROGRAM ###
640
[4549]641[[ $@ ]] || usage_help
642
643for parm in $@
644do
645        if [ ! -d $parm ]
646        then
647                printf "\n${parm}: $msg_dir_not_found\n"
648                usage_help
649                exit 1
650        fi
651done
652
[4630]653launchDir=`realpath $PWD`
654
[4549]655for parm in $@
656do
[4630]657        cd $launchDir
[4831]658        rootDir=$launchDir
659        svnDir=`realpath $parm`
660        pkgDir=`realpath $parm`
661        srcDir=${parm}"/trunk/fuentes"
662        debianDir=${parm}"/trunk/fuentes/debian"
663        lliurexArtworkDir=${svnDir}"/../vibrancy-colors/trunk/fuentes/vibrancy-lliurex/apps"
664        no_copy_desktop=""
665        sw_zomando=0
[5312]666        [ $(get_package_type) == 'zmd' ]  && analyze_zmd_dir $parm || analyze_desktop_dir $parm
[4549]667done
668
669printf "$msg_work_done"
670
671exit 0
672
Note: See TracBrowser for help on using the repository browser.