copy changelog tags to sub-packages just before packaging.
CVS patchset: 2269 CVS date: 1998/08/31 21:06:41
This commit is contained in:
parent
db15666699
commit
b2c81de5d6
1
CHANGES
1
CHANGES
|
@ -18,6 +18,7 @@
|
|||
- added :hex query format
|
||||
|
||||
2.5.2 -> 2.5.3:
|
||||
- copy changelog tags to sub-packages just before packaging.
|
||||
- fix infinite recursion on non-ERANGE return from getcwd() during
|
||||
install (Matt Wilson).
|
||||
- rm .depend for multiple builds in same tree (Will Partain)
|
||||
|
|
10
build/pack.c
10
build/pack.c
|
@ -85,6 +85,13 @@ int packageSources(Spec spec)
|
|||
csa, spec->passPhrase, &(spec->cookie));
|
||||
}
|
||||
|
||||
static int copyTags[] = {
|
||||
RPMTAG_CHANGELOGTIME,
|
||||
RPMTAG_CHANGELOGNAME,
|
||||
RPMTAG_CHANGELOGTEXT,
|
||||
0
|
||||
};
|
||||
|
||||
int packageBinaries(Spec spec)
|
||||
{
|
||||
CSA_t csabuf, *csa = &csabuf;
|
||||
|
@ -108,6 +115,9 @@ int packageBinaries(Spec spec)
|
|||
headerAddEntry(pkg->header, RPMTAG_COOKIE,
|
||||
RPM_STRING_TYPE, spec->cookie, 1);
|
||||
}
|
||||
|
||||
/* Copy changelog from src rpm */
|
||||
headerCopyTags(spec->packages->header, pkg->header, copyTags);
|
||||
|
||||
headerAddEntry(pkg->header, RPMTAG_RPMVERSION,
|
||||
RPM_STRING_TYPE, VERSION, 1);
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
#include "popt/popt.h"
|
||||
|
||||
static int copyTags[] = {
|
||||
static int copyTagsDuringParse[] = {
|
||||
RPMTAG_VERSION,
|
||||
RPMTAG_RELEASE,
|
||||
RPMTAG_COPYRIGHT,
|
||||
|
@ -12,10 +12,10 @@ static int copyTags[] = {
|
|||
RPMTAG_DISTRIBUTION,
|
||||
RPMTAG_VENDOR,
|
||||
RPMTAG_ICON,
|
||||
RPMTAG_URL,
|
||||
RPMTAG_CHANGELOGTIME,
|
||||
RPMTAG_CHANGELOGNAME,
|
||||
RPMTAG_CHANGELOGTEXT,
|
||||
RPMTAG_URL,
|
||||
0
|
||||
};
|
||||
|
||||
|
@ -39,7 +39,6 @@ static int handlePreambleTag(Spec spec, Package pkg, int tag, char *macro,
|
|||
static void initPreambleList(void);
|
||||
static int findPreambleTag(Spec spec, int *tag, char **macro, char *lang);
|
||||
static int checkForRequired(Header h, char *name);
|
||||
static void copyFromMain(Spec spec, Package pkg);
|
||||
static int checkForDuplicates(Header h, char *name);
|
||||
static void fillOutMainPackage(Header h);
|
||||
static char *tagName(int tag);
|
||||
|
@ -208,18 +207,17 @@ static int checkForRequired(Header h, char *name)
|
|||
return res;
|
||||
}
|
||||
|
||||
static void copyFromMain(Spec spec, Package pkg)
|
||||
void headerCopyTags(Header headerFrom, Header headerTo, int *tagstocopy)
|
||||
{
|
||||
Header headerFrom, headerTo;
|
||||
int *p = copyTags;
|
||||
char *s;
|
||||
int type, count;
|
||||
int *p;
|
||||
|
||||
headerFrom = spec->packages->header;
|
||||
headerTo = pkg->header;
|
||||
if (headerFrom == headerTo)
|
||||
return;
|
||||
|
||||
while (*p) {
|
||||
for (p = tagstocopy; *p != 0; p++) {
|
||||
if (!headerIsEntry(headerTo, *p)) {
|
||||
char *s;
|
||||
int type, count;
|
||||
if (headerGetEntry(headerFrom, *p, &type, (void **) &s, &count)) {
|
||||
headerAddEntry(headerTo, *p, type, s, count);
|
||||
if (type == RPM_STRING_ARRAY_TYPE) {
|
||||
|
@ -227,7 +225,6 @@ static void copyFromMain(Spec spec, Package pkg)
|
|||
}
|
||||
}
|
||||
}
|
||||
p++;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -718,7 +715,7 @@ int parsePreamble(Spec spec, int initialPackage)
|
|||
}
|
||||
|
||||
if (pkg != spec->packages) {
|
||||
copyFromMain(spec, pkg);
|
||||
headerCopyTags(spec->packages->header, pkg->header, copyTagsDuringParse);
|
||||
}
|
||||
|
||||
if (checkForRequired(pkg->header, fullName)) {
|
||||
|
|
|
@ -67,6 +67,9 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* XXX move to lib code */
|
||||
void headerCopyTags(Header headerFrom, Header headerTo, int *tagstocopy);
|
||||
|
||||
/* from build/names.h */
|
||||
|
||||
char *getUname(uid_t uid);
|
||||
|
|
Loading…
Reference in New Issue