Added rpmfilename tag to to rpmrc and made use of it during package builds

CVS patchset: 1675
CVS date: 1997/06/01 22:59:24
This commit is contained in:
ewt 1997-06-01 22:59:24 +00:00
parent c5dcacd201
commit 9b92c41eac
6 changed files with 22 additions and 5 deletions

View File

@ -2,6 +2,8 @@
- completely rewrote queryformat code
- added fsnames, fssizes virtual query tags
- added rpmdbFindByHeader() and rpmdbFindByTag() public functions
- added rpmfilename tag to rpmrc to define the filename format to
use for binary packages (note the rpmdir is prepended to it)
2.4 -> 2.4.1:
- take advantage of lchown() if it's available

View File

@ -383,6 +383,7 @@ int packageBinaries(Spec s, char *passPhrase, int doPackage)
char *nametmp;
char filename[1024];
char sourcerpm[1024];
char * binrpm;
char *icon;
int iconFD;
struct stat statbuf;
@ -398,6 +399,7 @@ int packageBinaries(Spec s, char *passPhrase, int doPackage)
char *packager;
char *packageVersion, *packageRelease;
char *prefix, *prefixSave;
char * binformat, * errorString;
int prefixLen;
int size;
StringBuf cpioFileList;
@ -419,7 +421,7 @@ int packageBinaries(Spec s, char *passPhrase, int doPackage)
version = strdup(version);
release = strdup(release);
sprintf(sourcerpm, "%s-%s-%s.%ssrc.rpm", s->name, version, release,
sprintf(sourcerpm, "%s-%s-%s.%sprc.rpm", s->name, version, release,
(s->numNoPatch + s->numNoSource) ? "no" : "");
vendor = NULL;
@ -599,8 +601,17 @@ int packageBinaries(Spec s, char *passPhrase, int doPackage)
/* Make the output RPM filename */
if (doPackage == PACK_PACKAGE) {
sprintf(filename, "%s/%s/%s.%s.rpm", rpmGetVar(RPMVAR_RPMDIR),
rpmGetArchName(), name, rpmGetArchName());
binformat = rpmGetVar(RPMVAR_RPMFILENAME);
binrpm = headerSprintf(outHeader, binformat, rpmTagTable,
rpmHeaderFormats, &errorString);
if (!binrpm) {
rpmError(RPMERR_BADFILENAME, "could not generate output "
"filename for package %s: %s\n", name, binrpm);
}
sprintf(filename, "%s/%s", rpmGetVar(RPMVAR_RPMDIR), binrpm);
free(binrpm);
if (generateRPM(name, filename, RPMLEAD_BINARY, outHeader, NULL,
getStringBuf(cpioFileList), passPhrase, prefix)) {

View File

@ -8,6 +8,7 @@ cpiobin: @CPIOBIN@
gzipbin: @GZIPBIN@
defaultdocdir: @prefix@/doc
fixperms: @FIXPERMS@
rpmfilename: %{ARCH}/%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm
#############################################################

View File

@ -190,7 +190,8 @@ extern const struct headerSprintfExtension rpmHeaderFormats[];
#define RPMVAR_DEFAULTDOCDIR 34
#define RPMVAR_FIXPERMS 35
#define RPMVAR_GZIPBIN 36
#define RPMVAR_LASTVAR 37 /* IMPORTANT to keep right! */
#define RPMVAR_RPMFILENAME 37
#define RPMVAR_LASTVAR 38 /* IMPORTANT to keep right! */
char *rpmGetVar(int var);
int rpmGetBooleanVar(int var);
@ -384,6 +385,7 @@ rpmErrorCallBackType rpmErrorSetCallback(rpmErrorCallBackType);
#define RPMERR_GZIP -117
#define RPMERR_BADSPEC -118
#define RPMERR_LDD -119 /* couldn't understand ldd output */
#define RPMERR_BADFILENAME -120
#define RPMERR_BADSIGTYPE -200 /* Unknown signature type */
#define RPMERR_SIGGEN -201 /* Error generating signature */

View File

@ -93,6 +93,7 @@ struct rpmoption optionTable[] = {
{ "require_vendor", RPMVAR_REQUIREVENDOR, 0, 0 },
{ "root", RPMVAR_ROOT, 0, 0 },
{ "rpmdir", RPMVAR_RPMDIR, 0, 0 },
{ "rpmfilename", RPMVAR_RPMFILENAME, 0, 1 },
{ "signature", RPMVAR_SIGTYPE, 0, 0 },
{ "sourcedir", RPMVAR_SOURCEDIR, 0, 0 },
{ "specdir", RPMVAR_SPECDIR, 0, 0 },

View File

@ -67,7 +67,7 @@ extern void *myrealloc(void *, size_t);
#define GETMNTENT_ONE 1
#define GETMNTENT_TWO 0
#define our_mntent struct mntent
#defeine our_mntdir mnt_dir
#define our_mntdir mnt_dir
#elif HAVE_SYS_MNTTAB_H
#include <stdio.h>
#include <sys/mnttab.h>