source: devtools/desktop_to_xml/README @ 4585

Last change on this file since 4585 was 4585, checked in by Juanma, 4 years ago

updated README

File size: 3.7 KB
1This tool adapts a svn directory for the lliurex-store.
2Generates the xml appinfo file and adds the dir "llx-resources" needed for the llxsrc debhelper to work. Also modifies the desktop file removing some mistakes.
5./desktop_to_xml svn_dir
7This tool needs the vibrancy-colors dir from svn in the same dir as svn_dir
10        /user
11                /svn
12                        /svn_dir
13                        /vibrancy-colors
17There're many kinds of packages "out in the wild" so this script tries to adapt to all of those.
18The script will ask the user when:
19 - The control file has two or more packages: In this case the script needs to know which is the package name that we're looking for.
20 - There's two or more install files in the debian dir: The script needs the install file who has the dirs with the desktop file
21 - There's two or more lines in the selected install file: For the same reason the script needs to ask for the right dir.
23 Will warn us when:
24 - The package uses an old rules file.
25 - The vibrancy-colors dir is missing
27 Will abort if:
28 - Icon can't be found. Only svg ones are valid, the script will not use icons in png or any other format but svg.
29 - Missed svn dir
31Finally, if no errors are detected, the script populates the llx-resource dir and updates the rules file for add the llxsrc helper.
35Some packages are really old and have some "strange things", like gif icons, that have to be reworked.
36If the package has an old rules file it's convenient to update it to the new format.
37If the operation fails it's better to remove the dir and "re-co" from svn to avoid unexpected behaviors of the script (that should no pass but just in case...)
39The generated appfile.xml isn't a full one. It misses some important fields like the screenshots and the keywords. Keywords are needed to improve the search mechanism. For example, if gimp has "fotos" as a keyword when an user searches "programa para retocar fotos" the gimp will be one of the results.
41Also we've implemented some features like the videos or the zmd and sh installers. Those aren't part of the appstream standard so we made some tricks to add them to the store.
44                1) Defined as screenshots with "video" as image type. They could be from youtube or Vimeo (possibly also other sources, not tested) and we only need to put the url as the image.
45                <screenshot>
46                            <image type="video"></image>
47                </screenshot>
49                2) Defined with the custom metadata tag  "x-video"
50                        <metadata>
51                      <value key="x-video"></value>
52                        </metadata>
54        Theorically the 2nd option is most "appstream-friendly" but as the api is in development it could be deprecated at any moment...
57        In both cases the package must have the category "Zomando"
59        1) Defined with the custom metadata tag "x-zomando"
60                 <metadata>
61                <value key="x-zomando">/usr/share/zero-center/zmds/zero-lliurex-adobeair-scratch2.zmd</value>
62             </metadata>
64        2) Defined using the pkgname field (without zmd extension)
65                <pkgname>zero-lliurex-wine64</pkgname>
67        2nd option is better as is 100% valid so we get ride of the custom tags and their uncertain future
70        The package must have the category "Installer"
72        The only supported way is to use an url tag of type "installer".
73                <url type="installer"></url>
75Zomandos and installers are already cataloged as appstream-generator (the tool that generates the catalog) can't parse them (logically) so when the catalogue is generated the "zomandos and installers catalogue" is added to the main software catalogue.
Note: See TracBrowser for help on using the repository browser.