<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="1243.0377" height="1102.6987" id="svg2" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="architecture.svg" inkscape:export-filename="/home/matthias/Development/AppStream/appstream/docs/sources/images/architecture.png" inkscape:export-xdpi="79.659111" inkscape:export-ydpi="79.659111"> <defs id="defs4"> <marker inkscape:stockid="Arrow1Sstart" orient="auto" refY="0" refX="0" id="Arrow1Sstart" style="overflow:visible"> <path id="path3923" d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" transform="matrix(0.2,0,0,0.2,1.2,0)" inkscape:connector-curvature="0" /> </marker> <marker inkscape:stockid="Arrow2Send" orient="auto" refY="0" refX="0" id="Arrow2Send" style="overflow:visible"> <path id="path3944" style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" transform="matrix(-0.3,0,0,-0.3,0.69,0)" inkscape:connector-curvature="0" /> </marker> </defs> <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.49497475" inkscape:cx="154.25053" inkscape:cy="595.28025" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" inkscape:window-width="1920" inkscape:window-height="1016" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" fit-margin-top="8" fit-margin-left="8" fit-margin-right="8" fit-margin-bottom="8"> <inkscape:grid type="xygrid" id="grid2985" empspacing="5" visible="true" enabled="true" snapvisiblegridlinesonly="true" originx="531.3541" originy="-88.87497" /> </sodipodi:namedview> <metadata id="metadata7"> <rdf:RDF> <cc:Work rdf:about=""> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> <dc:title /> </cc:Work> </rdf:RDF> </metadata> <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(531.3541,139.21139)"> <rect style="fill:none;stroke:#000096;stroke-width:6.70820189;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect2987" width="300" height="218.57144" x="-520" y="333.79089" ry="19.771048" /> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" x="-478" y="480.36218" id="text2989" sodipodi:linespacing="125%"><tspan sodipodi:role="line" x="-478" y="480.36218" id="tspan3100" style="font-size:35px">- Ratings</tspan><tspan sodipodi:role="line" x="-478" y="524.11218" id="tspan3102" style="font-size:35px">- Comments</tspan></text> <rect style="fill:#ffa31d;fill-opacity:1;stroke:#000096;stroke-width:2.63499999;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect3078" width="460" height="240" x="-140" y="692.36218" ry="38" /> <rect style="fill:#595959;fill-opacity:1;stroke:#000096;stroke-width:3.60812235;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect2987-2-0" width="300" height="80" x="-58" y="754.36218" ry="26.666666" /> <rect style="fill:#8a8a8a;fill-opacity:1;stroke:#000096;stroke-width:3.60812235;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect2987-2-4" width="300" height="80" x="-80" y="732.36218" ry="26.666666" /> <rect style="fill:#ffffff;fill-opacity:1;stroke:#000096;stroke-width:3.60812235;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect2987-2" width="300" height="80" x="-100" y="-792.36218" ry="26.666666" transform="scale(1,-1)" /> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" x="-48" y="744.36224" id="text2989-1" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan2991-0" x="-48" y="744.36224" style="font-size:28px">desktop-files</tspan></text> <rect style="fill:#dcdcdc;fill-opacity:1;stroke:#000096;stroke-width:3.75;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect3048" width="360.19452" height="80.194649" x="159.80548" y="452.16766" ry="24.194662" /> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" x="181.08539" y="503.39734" id="text3050" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3052" x="181.08539" y="503.39734">app-icons.tar.gz</tspan></text> <rect style="fill:none;stroke:#000096;stroke-width:6.44190168;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect3054" width="899.90405" height="219.90427" x="-199.90405" y="332.4581" ry="19.904226" /> <path style="fill:none;stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow2Send)" d="M 280,372.36218 280,12.362183" id="path3906-2" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> <rect ry="26.415529" y="352.73889" x="160.37671" height="83.623466" width="359.62329" id="rect3042" style="fill:#dcdcdc;fill-opacity:1;stroke:#000096;stroke-width:3.75;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> <text sodipodi:linespacing="125%" id="text3044" y="403.39734" x="179.66797" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" xml:space="preserve"><tspan y="403.39734" x="179.66797" id="tspan3046" sodipodi:role="line">components.xml</tspan></text> <rect style="fill:none;stroke:#000096;stroke-width:7.36731577;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect3056" width="899.75708" height="339.89011" x="-199.75711" y="-127.52773" ry="19.890059" /> <rect style="fill:none;stroke:#000096;stroke-width:6.25;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect3058" width="900" height="280.00018" x="-200" y="672.36218" ry="20.000143" /> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" x="368.28571" y="720.07648" id="text3060" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3062" x="368.28571" y="720.07648">Compose</tspan><tspan sodipodi:role="line" x="368.28571" y="770.07648" id="tspan3064">server</tspan></text> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" x="558" y="528.36224" id="text3066" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3068" x="558" y="528.36224">Mirror</tspan></text> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" x="-41.428574" y="886.64789" id="text3080" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3082" x="-41.428574" y="886.64789">package file</tspan></text> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" x="560" y="188.36221" id="text3084" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3086" x="560" y="188.36221">Client</tspan></text> <rect ry="38" y="-87.637817" x="-146" height="114" width="266" id="rect3088" style="fill:#dae9e1;fill-opacity:1;stroke:#000096;stroke-width:3.75;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> <text sodipodi:linespacing="125%" id="text3090" y="-42.725708" x="-11.234375" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" xml:space="preserve"><tspan y="-42.725708" x="-11.234375" sodipodi:role="line" id="tspan3098" style="text-align:center;text-anchor:middle">Software</tspan><tspan y="7.274292" x="-11.234375" sodipodi:role="line" style="text-align:center;text-anchor:middle" id="tspan4219">Center</tspan></text> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" x="-482" y="384.36218" id="text3106" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3108" x="-482" y="384.36218">Feedback</tspan><tspan sodipodi:role="line" x="-482" y="434.36218" id="tspan3149">Server</tspan></text> <rect style="fill:#dcdcc2;fill-opacity:1;stroke:#000096;stroke-width:3.6545527;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect3110" width="360" height="80" x="-160" y="92.362183" ry="26.666668" /> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none" x="10.525391" y="143.39734" id="text3112" sodipodi:linespacing="125%"><tspan style="text-align:center;text-anchor:middle" sodipodi:role="line" x="10.525391" y="143.39734" id="tspan5978">PackageKit</tspan></text> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" x="370" y="810.36218" id="text3122" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3124" x="370" y="810.36218" style="font-size:30px">- extract metadata</tspan><tspan sodipodi:role="line" x="370" y="835.59863" style="font-size:17.5px" id="tspan4224"> (metainfo files, desktop files,</tspan><tspan sodipodi:role="line" x="370" y="857.47363" style="font-size:17.5px" id="tspan4228"> pkg-config, ...)</tspan><tspan sodipodi:role="line" x="370" y="891.61218" id="tspan3126" style="font-size:30px">- construct metadata</tspan><tspan sodipodi:role="line" x="370" y="916.84863" style="font-size:17.5px" id="tspan4230"> (AppStream collection XML or YAML)</tspan></text> <rect ry="26.666666" y="-87.637817" x="200" height="80.000175" width="360" id="rect3896" style="fill:#dccdc2;fill-opacity:1;stroke:#000096;stroke-width:3.75;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> <text sodipodi:linespacing="125%" id="text3898" y="-36.602661" x="220.04297" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" xml:space="preserve"><tspan y="-36.602661" x="220.04297" id="tspan3900" sodipodi:role="line">cache / data pool</tspan></text> <path style="fill:none;stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow2Send)" d="m 260,692.36218 0,-140" id="path3906" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> <path style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#Arrow1Sstart);marker-end:url(#Arrow2Send)" d="m 0,92.362183 0,-60" id="path3906-2-7" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> <path style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow2Send)" d="m 200,-47.637817 -80.13281,0" id="path3906-2-7-6" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> <path style="fill:none;stroke:#000000;stroke-width:15;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#Arrow1Sstart);marker-end:url(#Arrow2Send)" d="M -357.14285,329.50504 -140,12.362183" id="path3906-2-5" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" x="-396" y="184.36218" id="text5962" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan5964" x="-396" y="184.36218">oauth</tspan></text> <text sodipodi:linespacing="125%" id="text5966" y="266.04236" x="316.99454" style="font-style:normal;font-weight:normal;font-size:29.04950714px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" xml:space="preserve"><tspan y="266.04236" x="316.99454" id="tspan5968" sodipodi:role="line">Rebuild on</tspan><tspan y="302.35425" x="316.99454" sodipodi:role="line" id="tspan5980">repo-enable, etc</tspan></text> <text sodipodi:linespacing="125%" id="text5970" y="83.684372" x="288.09027" style="font-style:normal;font-weight:normal;font-size:30.25041962px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" xml:space="preserve" transform="scale(1.0413403,0.96030088)"><tspan y="83.684372" x="288.09027" id="tspan5972" sodipodi:role="line">priority,</tspan><tspan y="121.4974" x="288.09027" sodipodi:role="line" id="tspan5974">stemming</tspan></text> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:29.04950714px;line-height:125%;font-family:'Open Sans';text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none" x="238" y="606.36218" id="text5982" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan5984" x="238" y="606.36218">Rebuild on</tspan><tspan id="tspan5986" sodipodi:role="line" x="238" y="642.67407">repo-compose</tspan></text> <path style="fill:none;stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow2Send)" d="m -20,398.07647 0,-205.71429" id="path3906-2-1" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> <rect style="fill:#dcdcdc;fill-opacity:1;stroke:#000096;stroke-width:3.75;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect3070" width="266" height="140" x="-146" y="374.36218" ry="22.000143" /> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" x="-109.98242" y="434.27429" id="text3072" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3074" x="-109.98242" y="434.27429">Package</tspan><tspan sodipodi:role="line" x="-109.98242" y="484.27429" id="tspan3076">metadata</tspan></text> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'Open Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" x="-48" y="776.36224" id="text2989-1-1" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan2991-0-8" x="-48" y="776.36224" style="font-size:28px">XML metadata</tspan></text> </g> </svg>