| | 151 | static PyObject * |
|---|
| | 152 | spec_get_sourceHeader(specObject *s) |
|---|
| | 153 | { |
|---|
| | 154 | rpmSpec spec; |
|---|
| | 155 | |
|---|
| | 156 | spec = specFromSpec(s); |
|---|
| | 157 | if (spec == NULL) { |
|---|
| | 158 | return NULL; |
|---|
| | 159 | } |
|---|
| | 160 | if (!spec->sourceHeader) { |
|---|
| | 161 | initSourceHeader(spec); |
|---|
| | 162 | } |
|---|
| | 163 | return (PyObject *) hdr_Wrap(spec->sourceHeader); |
|---|
| | 164 | } |
|---|
| | 165 | |
|---|
| | 166 | static PyObject * |
|---|
| | 167 | spec_get_packageHeaders(specObject *s) |
|---|
| | 168 | { |
|---|
| | 169 | rpmSpec spec; |
|---|
| | 170 | PyObject *obj; |
|---|
| | 171 | Package p; |
|---|
| | 172 | int n; |
|---|
| | 173 | char *srcname; |
|---|
| | 174 | |
|---|
| | 175 | spec = specFromSpec(s); |
|---|
| | 176 | if (spec == NULL) { |
|---|
| | 177 | return NULL; |
|---|
| | 178 | } |
|---|
| | 179 | for (p = spec->packages, n = 0; p; p = p->next, n++) {} |
|---|
| | 180 | obj = PyList_New(n); |
|---|
| | 181 | if (obj == NULL) { |
|---|
| | 182 | return NULL; |
|---|
| | 183 | } |
|---|
| | 184 | if (!spec->sourceHeader) { |
|---|
| | 185 | initSourceHeader(spec); |
|---|
| | 186 | } |
|---|
| | 187 | srcname = headerFormat( |
|---|
| | 188 | spec->sourceHeader, |
|---|
| | 189 | spec->noSource ? "%{name}-%{version}-%{release}.nosrc.rpm" |
|---|
| | 190 | : "%{name}-%{version}-%{release}.src.rpm", NULL); |
|---|
| | 191 | for (p = spec->packages, n = 0; p; p = p->next, n++) { |
|---|
| | 192 | headerPutString(p->header, RPMTAG_SOURCERPM, srcname); |
|---|
| | 193 | PyList_SET_ITEM(obj, n, (PyObject *) hdr_Wrap(p->header)); |
|---|
| | 194 | } |
|---|
| | 195 | return obj; |
|---|
| | 196 | } |
|---|
| | 197 | |
|---|