84fa912e75
- ignore BuildArch tags for anyarch actions (#442105) - don't check package BuildRequires when doing --rmsource (#452477) - don't fail because of missing sources when only spec removal is requested (#472427)
41 lines
1.4 KiB
Diff
41 lines
1.4 KiB
Diff
diff -up rpm-4.6.0/build/parsePreamble.c.inherit-group rpm-4.6.0/build/parsePreamble.c
|
|
--- rpm-4.6.0/build/parsePreamble.c.inherit-group 2008-12-05 12:49:44.000000000 +0100
|
|
+++ rpm-4.6.0/build/parsePreamble.c 2009-02-16 12:43:41.000000000 +0100
|
|
@@ -900,20 +900,30 @@ int parsePreamble(rpmSpec spec, int init
|
|
goto exit;
|
|
}
|
|
|
|
- if (pkg == spec->packages)
|
|
+ /* It is the main package */
|
|
+ if (pkg == spec->packages) {
|
|
fillOutMainPackage(pkg->header);
|
|
+ /* Define group tag to something when group is undefined in main package*/
|
|
+ if (!headerIsEntry(pkg->header, RPMTAG_GROUP)) {
|
|
+ headerPutString(pkg->header, RPMTAG_GROUP, "Unspecified");
|
|
+ }
|
|
+ }
|
|
|
|
if (checkForDuplicates(pkg->header, NVR)) {
|
|
goto exit;
|
|
}
|
|
|
|
- if (pkg != spec->packages)
|
|
+ if (pkg != spec->packages) {
|
|
headerCopyTags(spec->packages->header, pkg->header,
|
|
(rpmTag *)copyTagsDuringParse);
|
|
-
|
|
- /* Many things expect group to always exist, put something in there... */
|
|
- if (!headerIsEntry(pkg->header, RPMTAG_GROUP)) {
|
|
- headerPutString(pkg->header, RPMTAG_GROUP, "Unspecified");
|
|
+ /* inherit group tag from the main package if unspecified */
|
|
+ if (!headerIsEntry(pkg->header, RPMTAG_GROUP)) {
|
|
+ struct rpmtd_s td;
|
|
+
|
|
+ headerGet(spec->packages->header, RPMTAG_GROUP, &td, HEADERGET_DEFAULT);
|
|
+ headerPut(pkg->header, &td, HEADERPUT_DEFAULT);
|
|
+ rpmtdFreeData(&td);
|
|
+ }
|
|
}
|
|
|
|
if (checkForRequired(pkg->header, NVR)) {
|