summaryrefslogtreecommitdiff
path: root/ybd/splitting.py
Commit message (Collapse)AuthorAgeFilesLines
* Fix breakage in b46abb3, and artifact-version: 216.15.1Paul Sherwood2016-04-111-6/+6
|
* Partial fix for #202 - add cache-key to .metaPaul Sherwood2016-04-091-4/+8
|
* Fix pep8 issues16.11Paul Sherwood2016-03-131-5/+6
|
* Fix artifact splitting regressionsRichard Dale2016-03-041-17/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The recent change in the artifact splitting regular expression matching code doesn't work. For example, the splitting rules for the syslinux chunk have a pattern to match files in /usr/share/syslinux/com32* and add them to the syslinux-devel component. The split rules and default rules for that chunk look like this: split rules: [{'include': ['(usr/)?share/syslinux/com32.*'], 'artifact': 'syslinux-devel'}] default rules: [{'include': ['(usr/)?s?bin/.*'], 'artifact': '-bins'}, {'include': ['(usr/)?lib(32|64)?/lib[^/]*\\.so(\\.\\d+)*', '(usr/)libexec/.*'], 'artifact': '-libs'}, {'include': ['(usr/)?include/.*', '(usr/)?lib(32|64)?/lib.*\\.a', '(usr/)?lib(32|64)?/lib.*\\.la', '(usr/)?(lib(32|64)?|share)/pkgconfig/.*\\.pc'], 'artifact': '-devel'}, {'include': ['(usr/)?share/doc/.*', '(usr/)?share/man/.*', '(usr/)?share/info/.*'], ' artifact': '-doc'}, {'include': ['(usr/)?share/locale/.*', '(usr/)?share/i18n/.*', '(usr/)?share/zoneinfo/.*'], 'artifact': '-locale'}, {'include': ['.*'], 'artifact': '-misc'}] The OrderDict code in splitting.compile_rules() drops the /usr/share/syslinux/com32* pattern: rules = OrderedDict((component['name'] + a if a.startswith('-') else a, re.compile('^(?:%s)$' % '|'.join(r))) for a, r in match_rules.iteritems()) If a key for an artifact, such as 'syslinux-devel', already exists in the OrderedDict it is just overwritten and lost when the next 'syslinux-devel' entry is added. The fix is to revert to using an array of artifact name/regular expression pairs as before.
* Fix copyright yearPaul Sherwood2016-02-271-1/+1
|
* Split out write_metafile functionPaul Sherwood2016-02-271-11/+15
|
* No need for chdirPaul Sherwood2016-02-271-1/+1
|
* Rename regexps => rules, and move logic to compile_rulesPaul Sherwood2016-02-271-24/+16
|
* Split out compile_regexps functionPaul Sherwood2016-02-271-17/+14
|
* Pep8Paul Sherwood2016-02-271-17/+17
|
* get_metadata requires definition, not pathPaul Sherwood2016-02-271-2/+2
|
* WIP - report where the overlaps arePaul Sherwood2016-02-271-4/+11
|
* Only report overlaps oncePaul Sherwood2016-02-271-0/+15
|
* Missed bracketPaul Sherwood2016-02-251-1/+1
|
* Dictionary notationDan Firth2016-02-241-18/+12
|
* Replace mark_used_path with lambda expressionDan Firth2016-02-241-10/+2
|
* Use OSFS to walkdirsDan Firth2016-02-241-19/+16
|
* Use OrderedDict comprehensionDan Firth2016-02-241-24/+19
|
* Use OrderedDict for regexpsDan Firth2016-02-241-9/+10
|
* Chunk products is an array, not a dictDan Firth2016-02-241-22/+22
|
* Remove unused importPaul Sherwood2016-02-181-1/+1
|
* Eek - medata => metadataPaul Sherwood2016-02-131-1/+1
|
* Shuffle metadata logic a bitPaul Sherwood2016-02-131-1/+9
|
* Move splitting.load_metafile() => cache.get_metadata()Paul Sherwood2016-02-131-23/+3
|
* Remove a few linesPaul Sherwood2016-02-131-18/+5
|
* No need for chdir in write_stratum_metafilesPaul Sherwood2016-02-131-1/+2
|
* Call get_cache to ensure unpacked directory existsPaul Sherwood2016-02-081-3/+2
|
* pep8Paul Sherwood2016-02-061-21/+31
|
* Change artifact splitting rules matchingrdale/150-master-splittingRichard Dale2016-02-041-27/+19
| | | | | | | The default artifact splitting rules are augmented by custom splitting rules, and never overriden. The custom rules are matched first, followed by the default rules if the custom rules didn't match an item. Both stratum and chunk level splitting rules work this way.
* Implement chunk artifacts functionalityRichard Dale2016-02-041-0/+4
|
* Add artifact splittingRichard Dale2016-02-031-0/+256
.meta files are now in YAML format. For a chunk, the .meta file contains a list of products with an artifact name and a file list for that artifact. Stratum .meta file also have a list of products, with each entry having an artifact name and a list of components. The component names in the stratum artifacts reference the chunk artifacts in the chunk .meta files. When a stratum is to be split according to a list of artifact names, the artifact names are looked up in the .meta file for the stratum, and only the components for matching artifacts are copied to the destination path. The .meta files for a split stratum should only contain references to files in the split sub set of the stratum, both for chunk .meta files and for the stratum .meta file. The code to match the split artifact regular expression rules was derived from code in a patch by Paul Martin