aboutsummaryrefslogtreecommitdiffstats
path: root/modules/buildsystem/templates/media.cfg
blob: ba01fde53ce7c91da379ebffc39cf4146a7aa4e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<%-
def media_name(media, repo, type, archname)
    name = [ media.capitalize ]
    if archname != nil
	name += [ archname ]
    end
    for r in repo.split('_') do
	name += [ r.capitalize ]
    end
    if type != nil
	name += [ type.capitalize ]
    end
    return name.join(' ')
end

def media_out(name, media_hash)
    media_out = "[%s]\n" % name
    media_hash.keys.sort.each{|key|
	value = media_hash[key]
	if value != nil
	    media_out += "%s=%s\n" % [ key, value ]
	end
    }
    return media_out
end
distro = scope.lookupvar('buildsystem::var::distros::distros')[@distro_name]
-%>
[media_info]
version=<%= distro['version'] %>
mediacfg_version=2
branch=<%= distro['branch'] %>
<%-
if @arch != 'armv7hl'
-%>
arch=<%= @arch %>
<%-
end
-%>
xml-info=1

<%-
distro['medias'].keys.sort { |x,y| distro['medias'][x]['order'] <=> distro['medias'][y]['order'] }.each{|medianame|
    media = distro['medias'][medianame]
    media['repos'].keys.sort { |x,y| media['repos'][x]['order'] <=> media['repos'][y]['order'] }.each{|reponame|
	repo = media['repos'][reponame]
	media_type = []
	if media['media_type'] != nil
	    media_type += media['media_type']
	end
	if repo['media_type'] != nil
	    media_type += repo['media_type']
	end
	noauto=nil
	if (media['noauto'] == '1') or (repo['noauto'] == '1')
	    noauto='1'
	end
	updates_for = nil
	if repo['updates_for'] != nil
	    updates_for = [ medianame, repo['updates_for'] ].join('/')
	end
        -%><%=
	media_out [ medianame, reponame ].join('/'),
	    :hdlist => [ 'hdlist', medianame, reponame ].join('_') + '.cz',
	    :name => media_name(medianame, reponame, nil, nil),
	    :srpms => [ '../../SRPMS', medianame, reponame ].join('/'),
	    :media_type => media_type.join(':'),
	    :updates_for => updates_for,
	    :noauto => noauto

        %>
	<%-# debug -%>
	<%-
	debug_media_type = media_type + [ 'debug' ]
	-%><%=
	media_out [ 'debug', medianame, reponame ].join('/'),
	    :hdlist => [ 'hdlist_debug', medianame, reponame ].join('_') + '.cz',
	    :name => media_name(medianame, reponame, 'debug', nil),
	    :srpms => [ '../../SRPMS', medianame, reponame ].join('/'),
	    :media_type => debug_media_type.join(':'),
	    :noauto => '1'

	%>
	<%-# source -%>
	<%-
	source_media_type = media_type + [ 'source' ]
	-%><%=
	media_out [ '../../SRPMS', medianame, reponame ].join('/'),
	    :hdlist => [ 'hdlist', medianame, reponame ].join('_') + '.src.cz',
	    :name => media_name(medianame, reponame, 'sources', nil),
	    :rpms => [ medianame, reponame ].join('/'),
	    :media_type => source_media_type.join(':'),
	    :noauto => '1'

        %>
	<%-# we add 32bit media if arch is x86_64  -%>
	<%- 
	if @arch == 'x86_64' and distro['arch'].include?('i586')
	    medianame32 = [ medianame, '32' ].join('')
	    -%><%=
	    media_out [ '../../i586/media', medianame, reponame ].join('/'),
		:hdlist => [ 'hdlist', medianame32, reponame ].join('_') + '.src.cz',
		:name => media_name(medianame, reponame, nil, '32bit'),
		:media_type => media_type.join(':'),
		:noauto => noauto

	  %>
	  <%-
	end
    }
}
if distro['based_on'] != nil
    distro['based_on'].keys.sort.each{|bdistroname|
	bdistro = distro['based_on'][bdistroname]
	bdistro.keys.sort.each{|medianame|
	    media = bdistro[medianame]
	    for reponame in media
		-%><%=
		media_out [ bdistroname, medianame, reponame ].join('/'),
		    :hdlist => [ 'hdlist', bdistroname, medianame,
			reponame ].join('_'),
		    :name =>  media_name([ medianame, bdistroname].join(''), reponame, nil, nil),
		    :media_type => 'base_distro',
		    :noauto => 1
		%>
		<%-
	    end
	}
    }
end
-%>