rpm  4.5
Data Structures | Typedefs | Functions
buildio.h File Reference

Routines to read and write packages. More...

#include "rpmbuild.h"
Include dependency graph for buildio.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  cpioSourceArchive_s
 

Typedefs

typedef struct
cpioSourceArchive_s
CSA_t
 

Functions

int readRPM (const char *fileName, Spec *specp, struct rpmlead *lead, Header *sigs, CSA_t csa)
 Read rpm package components from file.
 
int writeRPM (Header *hdrp, unsigned char **pkgidp, const char *fileName, int type, CSA_t csa, char *passPhrase, const char **cookie)
 Write rpm package to file.
 

Detailed Description

Routines to read and write packages.

Deprecated:
this information will move elsewhere eventually.
Todo:
Eliminate, merge into rpmlib.

Definition in file buildio.h.

Typedef Documentation

typedef struct cpioSourceArchive_s * CSA_t

Function Documentation

int readRPM ( const char *  fileName,
Spec specp,
struct rpmlead lead,
Header sigs,
CSA_t  csa 
)

Read rpm package components from file.

Parameters
fileNamefile name of package (or NULL to use stdin)
Return values
specpspec structure to carry package header (or NULL)
leadpackage lead
sigspackage signature
Parameters
csa
Returns
0 on success

Definition at line 294 of file pack.c.

References _, cpioSourceArchive_s::cpioFdIn, Fclose(), fdDup(), Ferror(), Fopen(), Fread(), freeSpec(), Fseek(), Fstrerror(), Package_s::header, headerFree(), newPackage(), newSpec(), Spec_s::packages, RPMERR_BADMAGIC, RPMERR_FSEEK, rpmError, RPMRC_FAIL, RPMRC_NOKEY, RPMRC_NOTFOUND, RPMRC_NOTTRUSTED, RPMRC_OK, rpmReadPackageFile(), rpmtsCreate(), rpmtsFree(), and SEEK_SET.

int writeRPM ( Header hdrp,
unsigned char **  pkgidp,
const char *  fileName,
int  type,
CSA_t  csa,
char *  passPhrase,
const char **  cookie 
)

Write rpm package to file.

Warning
The first argument (header) is now passed by reference in order to return a reloaded contiguous header to the caller.
Return values
*hdrpheader to write (final header is returned).
*pkgidpheader+payload MD5 of package (NULL to disable).
Parameters
fileNamefile name of package
typeRPMLEAD_SOURCE/RPMLEAD_BINARY
csa
passPhrase
Return values
cookiegenerated cookie (i.e build host/time)
Returns
0 on success

Definition at line 500 of file pack.c.

References _, _free(), alloca(), rpmlead::archnum, buildHost(), cpio_copy(), cpio_doio(), cpioSourceArchive_s::cpioArchiveSize, cpioSourceArchive_s::cpioFdIn, cpioSourceArchive_s::cpioList, Fclose(), fdFiniDigest(), fdInitDigest(), Ferror(), Fflush(), Fileno(), Fopen(), Fread(), Fseek(), Fstrerror(), Fwrite(), getBuildTime(), HEADER_MAGIC_YES, headerAddEntry(), headerFree(), headerGetEntry(), headerGetEntryMinMemory(), headerLink(), headerMergeLegacySigs(), headerNVR(), headerRead(), headerReload(), headerSizeof(), headerUnload(), headerWrite(), cpioSourceArchive_s::lead, rpmlead::major, makeTempFile(), rpmlead::minor, name, rpmlead::name, rpmlead::osnum, PGPHASHALGO_SHA1, RPM_BIN_TYPE, RPM_INT32_TYPE, RPM_STRING_TYPE, rpmAddSignature(), RPMERR_BADARG, RPMERR_CREATE, RPMERR_FSEEK, RPMERR_NOSPACE, RPMERR_READ, RPMERR_RELOAD, rpmError, rpmExpand(), rpmFreeSignature(), RPMLEAD_BINARY, RPMLEAD_SOURCE, rpmLeadVersion(), rpmlibNeedsFeature(), RPMLOOKUPSIG_QUERY, rpmLookupSignatureType(), RPMMESS_NORMAL, rpmMessage, rpmNewSignature(), RPMRC_OK, RPMSIGTAG_MD5, RPMSIGTAG_PADDING, RPMSIGTAG_PAYLOADSIZE, RPMSIGTAG_SHA1, RPMSIGTAG_SIZE, RPMSIGTYPE_HEADERSIG, RPMTAG_ARCHIVESIZE, RPMTAG_COOKIE, RPMTAG_HEADERIMMUTABLE, RPMTAG_HEADERSIGNATURES, RPMTAG_PAYLOADCOMPRESSOR, RPMTAG_PAYLOADFLAGS, RPMTAG_PAYLOADFORMAT, rpmWriteSignature(), SEEK_SET, rpmlead::signature_type, tagType(), rpmlead::type, Unlink(), writeLead(), and xstrdup().

Referenced by packageBinaries(), and packageSources().