- unify rpmError and rpmMessge interfaces through rpmlog.
- collect and display rpm build error messages at end of build. CVS patchset: 4149 CVS date: 2000/09/01 21:15:40
This commit is contained in:
parent
4f0179f7ee
commit
f2efc7263e
2
CHANGES
2
CHANGES
|
@ -5,6 +5,8 @@
|
|||
- consistent return for all signature verification.
|
||||
- use enums for almost all rpmlib #define's.
|
||||
- API: change rpmProblem typedef to pass by reference, not value.
|
||||
- unify rpmError and rpmMessge interfaces through rpmlog.
|
||||
- collect and display rpm build error messages at end of build.
|
||||
|
||||
3.0.6 -> 4.0
|
||||
- use DIRNAMES/BASENAMES/DIRINDICES not FILENAMES in packages and db.
|
||||
|
|
|
@ -134,7 +134,6 @@ install-data-local:
|
|||
@case "@build_os@" in \
|
||||
mint) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/m68kmint ;;\
|
||||
solaris*|linux*) \
|
||||
chmod u+x ./installplatform; DESTDIR="$(DESTDIR)" pkglibdir="$(pkglibdir)" ./installplatform rpmrc macros platform ; \
|
||||
$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/@build_cpu@ ;;\
|
||||
*) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/@build_cpu@ ;;\
|
||||
esac
|
||||
|
@ -144,6 +143,9 @@ install-data-local:
|
|||
@$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/SRPMS
|
||||
@$(mkinstalldirs) $(DESTDIR)/var/tmp
|
||||
|
||||
#chmod u+x ./installplatform; DESTDIR="$(DESTDIR)" pkglibdir="$(pkglibdir)" ./installplatform rpmrc macros platform ; \
|
||||
#
|
||||
|
||||
.PHONY: tar
|
||||
tar:
|
||||
rm -rf /tmp/rpm-$(VERSION)
|
||||
|
|
27
build.c
27
build.c
|
@ -22,7 +22,7 @@ static int checkSpec(Header h)
|
|||
if (rpmdbOpen(rootdir, &db, mode, 0644)) {
|
||||
const char *dn;
|
||||
dn = rpmGetPath( (rootdir ? rootdir : ""), "%{_dbpath}", NULL);
|
||||
rpmMessage(RPMMESS_ERROR, _("cannot open %s/packages.rpm\n"), dn);
|
||||
rpmError(RPMERR_OPEN, _("cannot open %s/packages.rpm\n"), dn);
|
||||
xfree(dn);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ static int isSpecFile(const char *specfile)
|
|||
|
||||
fd = Fopen(specfile, "r.ufdio");
|
||||
if (fd == NULL || Ferror(fd)) {
|
||||
fprintf(stderr, _("Unable to open spec file %s: %s\n"), specfile, Fstrerror(fd));
|
||||
rpmError(RPMERR_OPEN, _("Unable to open spec file %s: %s\n"), specfile, Fstrerror(fd));
|
||||
return 0;
|
||||
}
|
||||
count = Fread(buf, sizeof(buf[0]), sizeof(buf), fd);
|
||||
|
@ -123,8 +123,7 @@ static int buildForTarget(const char *arg, struct rpmBuildArguments *ba,
|
|||
sprintf(cmd, "%s < %s | tar xOvf - Specfile 2>&1 > %s",
|
||||
zcmds[res & 0x3], arg, tmpSpecFile);
|
||||
if (!(fp = popen(cmd, "r"))) {
|
||||
fprintf(stderr, _("Failed to open tar pipe: %s\n"),
|
||||
strerror(errno));
|
||||
rpmError(RPMERR_POPEN, _("Failed to open tar pipe: %m"));
|
||||
xfree(specDir);
|
||||
xfree(tmpSpecFile);
|
||||
return 1;
|
||||
|
@ -136,15 +135,14 @@ static int buildForTarget(const char *arg, struct rpmBuildArguments *ba,
|
|||
sprintf(cmd, "%s < %s | tar xOvf - \\*.spec 2>&1 > %s",
|
||||
zcmds[res & 0x3], arg, tmpSpecFile);
|
||||
if (!(fp = popen(cmd, "r"))) {
|
||||
fprintf(stderr, _("Failed to open tar pipe: %s\n"),
|
||||
strerror(errno));
|
||||
rpmError(RPMERR_POPEN, _("Failed to open tar pipe: %m"));
|
||||
xfree(specDir);
|
||||
xfree(tmpSpecFile);
|
||||
return 1;
|
||||
}
|
||||
if (!fgets(buf, sizeof(buf) - 1, fp)) {
|
||||
/* Give up */
|
||||
fprintf(stderr, _("Failed to read spec file from %s\n"), arg);
|
||||
rpmError(RPMERR_READ, _("Failed to read spec file from %s"), arg);
|
||||
unlink(tmpSpecFile);
|
||||
xfree(specDir);
|
||||
xfree(tmpSpecFile);
|
||||
|
@ -171,8 +169,8 @@ static int buildForTarget(const char *arg, struct rpmBuildArguments *ba,
|
|||
xfree(specDir);
|
||||
|
||||
if (res) {
|
||||
fprintf(stderr, _("Failed to rename %s to %s: %s\n"),
|
||||
tmpSpecFile, s, strerror(errno));
|
||||
rpmError(RPMERR_RENAME, _("Failed to rename %s to %s: %m"),
|
||||
tmpSpecFile, s);
|
||||
unlink(tmpSpecFile);
|
||||
xfree(tmpSpecFile);
|
||||
return 1;
|
||||
|
@ -209,16 +207,21 @@ static int buildForTarget(const char *arg, struct rpmBuildArguments *ba,
|
|||
|
||||
if (specut != URL_IS_DASH) {
|
||||
struct stat st;
|
||||
Stat(specURL, &st);
|
||||
if (Stat(specURL, &st) < 0) {
|
||||
rpmError(RPMERR_STAT, _("failed to stat %s: %m"), specURL);
|
||||
rc = 1;
|
||||
goto exit;
|
||||
}
|
||||
if (! S_ISREG(st.st_mode)) {
|
||||
fprintf(stderr, _("File is not a regular file: %s\n"), specURL);
|
||||
rpmError(RPMERR_NOTREG, _("File %s is not a regular file."),
|
||||
specURL);
|
||||
rc = 1;
|
||||
goto exit;
|
||||
}
|
||||
|
||||
/* Try to verify that the file is actually a specfile */
|
||||
if (!isSpecFile(specURL)) {
|
||||
fprintf(stderr, _("File %s does not appear to be a specfile.\n"),
|
||||
rpmError(RPMERR_BADSPEC, _("File %s does not appear to be a specfile."),
|
||||
specURL);
|
||||
rc = 1;
|
||||
goto exit;
|
||||
|
|
|
@ -249,46 +249,46 @@ int buildSpec(Spec spec, int what, int test)
|
|||
(what & ~RPMBUILD_RMSOURCE) |
|
||||
(x ? 0 : (what & RPMBUILD_PACKAGESOURCE)),
|
||||
test))) {
|
||||
return rc;
|
||||
goto exit;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ((what & RPMBUILD_PREP) &&
|
||||
(rc = doScript(spec, RPMBUILD_PREP, NULL, NULL, test)))
|
||||
return rc;
|
||||
goto exit;
|
||||
|
||||
if ((what & RPMBUILD_BUILD) &&
|
||||
(rc = doScript(spec, RPMBUILD_BUILD, NULL, NULL, test)))
|
||||
return rc;
|
||||
goto exit;
|
||||
|
||||
if ((what & RPMBUILD_INSTALL) &&
|
||||
(rc = doScript(spec, RPMBUILD_INSTALL, NULL, NULL, test)))
|
||||
return rc;
|
||||
goto exit;
|
||||
|
||||
if ((what & RPMBUILD_PACKAGESOURCE) &&
|
||||
(rc = processSourceFiles(spec)))
|
||||
return rc;
|
||||
goto exit;
|
||||
|
||||
if (((what & RPMBUILD_INSTALL) || (what & RPMBUILD_PACKAGEBINARY) ||
|
||||
(what & RPMBUILD_FILECHECK)) &&
|
||||
(rc = processBinaryFiles(spec, what & RPMBUILD_INSTALL, test)))
|
||||
return rc;
|
||||
goto exit;
|
||||
|
||||
if (((what & RPMBUILD_PACKAGESOURCE) && !test) &&
|
||||
(rc = packageSources(spec)))
|
||||
return rc;
|
||||
goto exit;
|
||||
|
||||
if (((what & RPMBUILD_PACKAGEBINARY) && !test) &&
|
||||
(rc = packageBinaries(spec)))
|
||||
return rc;
|
||||
goto exit;
|
||||
|
||||
if ((what & RPMBUILD_CLEAN) &&
|
||||
(rc = doScript(spec, RPMBUILD_CLEAN, NULL, NULL, test)))
|
||||
return rc;
|
||||
goto exit;
|
||||
|
||||
if ((what & RPMBUILD_RMBUILD) &&
|
||||
(rc = doScript(spec, RPMBUILD_RMBUILD, NULL, NULL, test)))
|
||||
return rc;
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if (what & RPMBUILD_RMSOURCE)
|
||||
|
@ -296,6 +296,13 @@ int buildSpec(Spec spec, int what, int test)
|
|||
|
||||
if (what & RPMBUILD_RMSPEC)
|
||||
unlink(spec->specFile);
|
||||
rc = 0;
|
||||
|
||||
return 0;
|
||||
exit:
|
||||
if (rc && rpmlogGetNrecs() > 0) {
|
||||
rpmMessage(RPMMESS_NORMAL, _("\n\nRPM build errors:\n"));
|
||||
rpmlogPrint(NULL);
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
|
|
@ -16,7 +16,6 @@ static gid_t gids[1024];
|
|||
/*@owned@*/ /*@null@*/ static const char *gnames[1024];
|
||||
static int gid_used = 0;
|
||||
|
||||
/** */
|
||||
void freeNames(void)
|
||||
{
|
||||
int x;
|
||||
|
@ -26,11 +25,6 @@ void freeNames(void)
|
|||
xfree(gnames[x]);
|
||||
}
|
||||
|
||||
/*
|
||||
* getUname() takes a uid, gets the username, and creates an entry in the
|
||||
* table to hold a string containing the user name.
|
||||
*/
|
||||
/** */
|
||||
const char *getUname(uid_t uid)
|
||||
{
|
||||
struct passwd *pw;
|
||||
|
@ -43,10 +37,8 @@ const char *getUname(uid_t uid)
|
|||
}
|
||||
|
||||
/* XXX - This is the other hard coded limit */
|
||||
if (x == 1024) {
|
||||
fprintf(stderr, _("RPMERR_INTERNAL: Hit limit in getUname()\n"));
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
if (x == 1024)
|
||||
rpmlog(RPMLOG_CRIT, _("getUname: too many uid's\n"));
|
||||
|
||||
pw = getpwuid(uid);
|
||||
uids[x] = uid;
|
||||
|
@ -59,11 +51,6 @@ const char *getUname(uid_t uid)
|
|||
return unames[x];
|
||||
}
|
||||
|
||||
/*
|
||||
* getUnameS() takes a username, gets the uid, and creates an entry in the
|
||||
* table to hold a string containing the user name.
|
||||
*/
|
||||
/** */
|
||||
const char *getUnameS(const char *uname)
|
||||
{
|
||||
struct passwd *pw;
|
||||
|
@ -76,10 +63,8 @@ const char *getUnameS(const char *uname)
|
|||
}
|
||||
|
||||
/* XXX - This is the other hard coded limit */
|
||||
if (x == 1024) {
|
||||
fprintf(stderr, _("RPMERR_INTERNAL: Hit limit in getUname()\n"));
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
if (x == 1024)
|
||||
rpmlog(RPMLOG_CRIT, _("getUnameS: too many uid's\n"));
|
||||
|
||||
pw = getpwnam(uname);
|
||||
uid_used++;
|
||||
|
@ -93,11 +78,6 @@ const char *getUnameS(const char *uname)
|
|||
return unames[x];
|
||||
}
|
||||
|
||||
/*
|
||||
* getGname() takes a gid, gets the group name, and creates an entry in the
|
||||
* table to hold a string containing the group name.
|
||||
*/
|
||||
/** */
|
||||
const char *getGname(gid_t gid)
|
||||
{
|
||||
struct group *gr;
|
||||
|
@ -110,10 +90,8 @@ const char *getGname(gid_t gid)
|
|||
}
|
||||
|
||||
/* XXX - This is the other hard coded limit */
|
||||
if (x == 1024) {
|
||||
fprintf(stderr, _("RPMERR_INTERNAL: Hit limit in getGname()\n"));
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
if (x == 1024)
|
||||
rpmlog(RPMLOG_CRIT, _("getGname: too many gid's\n"));
|
||||
|
||||
gr = getgrgid(gid);
|
||||
gids[x] = gid;
|
||||
|
@ -126,11 +104,6 @@ const char *getGname(gid_t gid)
|
|||
return gnames[x];
|
||||
}
|
||||
|
||||
/*
|
||||
* getGnameS() takes a group name, gets the gid, and creates an entry in the
|
||||
* table to hold a string containing the group name.
|
||||
*/
|
||||
/** */
|
||||
const char *getGnameS(const char *gname)
|
||||
{
|
||||
struct group *gr;
|
||||
|
@ -143,10 +116,8 @@ const char *getGnameS(const char *gname)
|
|||
}
|
||||
|
||||
/* XXX - This is the other hard coded limit */
|
||||
if (x == 1024) {
|
||||
fprintf(stderr, _("RPMERR_INTERNAL: Hit limit in getGname()\n"));
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
if (x == 1024)
|
||||
rpmlog(RPMLOG_CRIT, _("getGnameS: too many gid's\n"));
|
||||
|
||||
gr = getgrnam(gname);
|
||||
gid_used++;
|
||||
|
@ -160,19 +131,15 @@ const char *getGnameS(const char *gname)
|
|||
return gnames[x];
|
||||
}
|
||||
|
||||
/** */
|
||||
time_t *const getBuildTime(void)
|
||||
{
|
||||
static time_t buildTime = 0;
|
||||
|
||||
if (! buildTime) {
|
||||
if (! buildTime)
|
||||
buildTime = time(NULL);
|
||||
}
|
||||
|
||||
return &buildTime;
|
||||
}
|
||||
|
||||
/** */
|
||||
const char *const buildHost(void)
|
||||
{
|
||||
static char hostname[1024];
|
||||
|
|
|
@ -465,24 +465,24 @@ int writeRPM(Header h, const char *fileName, int type,
|
|||
/* Append the header and archive */
|
||||
ifd = Fopen(sigtarget, "r.ufdio");
|
||||
if (ifd == NULL || Ferror(ifd)) {
|
||||
rpmError(RPMERR_READERROR, _("Unable to open sigtarget %s: %s"),
|
||||
rpmError(RPMERR_READ, _("Unable to open sigtarget %s: %s"),
|
||||
sigtarget, Fstrerror(ifd));
|
||||
Fclose(fd);
|
||||
Unlink(sigtarget);
|
||||
xfree(sigtarget);
|
||||
Unlink(fileName);
|
||||
return RPMERR_READERROR;
|
||||
return RPMERR_READ;
|
||||
}
|
||||
while ((count = Fread(buf, sizeof(buf[0]), sizeof(buf), ifd)) > 0) {
|
||||
if (count == -1) {
|
||||
rpmError(RPMERR_READERROR, _("Unable to read sigtarget %s: %s"),
|
||||
rpmError(RPMERR_READ, _("Unable to read sigtarget %s: %s"),
|
||||
sigtarget, Fstrerror(ifd));
|
||||
Fclose(ifd);
|
||||
Fclose(fd);
|
||||
unlink(sigtarget);
|
||||
xfree(sigtarget);
|
||||
unlink(fileName);
|
||||
return RPMERR_READERROR;
|
||||
return RPMERR_READ;
|
||||
}
|
||||
if (Fwrite(buf, sizeof(buf[0]), count, fd) < 0) {
|
||||
rpmError(RPMERR_NOSPACE, _("Unable to write package %s: %s"),
|
||||
|
|
|
@ -77,29 +77,55 @@ typedef enum rpmParseState_e {
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* from build/names.h */
|
||||
|
||||
/** */
|
||||
/**
|
||||
* Destroy uid/gid caches.
|
||||
*/
|
||||
void freeNames(void);
|
||||
|
||||
/** */
|
||||
/**
|
||||
* Return cached user name from user id.
|
||||
* @todo Implement using hash.
|
||||
* @param user id
|
||||
* @return cached user name
|
||||
*/
|
||||
/*@observer@*/ const char *getUname(uid_t uid);
|
||||
|
||||
/** */
|
||||
/**
|
||||
* Return cached user name.
|
||||
* @todo Implement using hash.
|
||||
* @param user name
|
||||
* @return cached user name
|
||||
*/
|
||||
/*@observer@*/ const char *getUnameS(const char *uname);
|
||||
|
||||
/** */
|
||||
/**
|
||||
* Return cached group name from group id.
|
||||
* @todo Implement using hash.
|
||||
* @param group id
|
||||
* @return cached group name
|
||||
*/
|
||||
/*@observer@*/ const char *getGname(gid_t gid);
|
||||
|
||||
/** */
|
||||
/**
|
||||
* Return cached group name.
|
||||
* @todo Implement using hash.
|
||||
* @param group name
|
||||
* @return cached group name
|
||||
*/
|
||||
/*@observer@*/ const char *getGnameS(const char *gname);
|
||||
|
||||
/** */
|
||||
/*@observer@*/ const char *const buildHost(void);
|
||||
|
||||
/** */
|
||||
/**
|
||||
* Return build time stamp.
|
||||
* @return build time stamp
|
||||
*/
|
||||
/*@observer@*/ time_t *const getBuildTime(void);
|
||||
|
||||
/**
|
||||
* Return build hostname.
|
||||
* @return build hostname
|
||||
*/
|
||||
/*@observer@*/ const char *const buildHost(void);
|
||||
|
||||
/* from build/read.h */
|
||||
|
||||
/**
|
||||
|
|
|
@ -916,7 +916,7 @@ SYSCONFIGDIR="`echo /etc/rpm`"
|
|||
AC_DEFINE_UNQUOTED(SYSCONFIGDIR, "$SYSCONFIGDIR")
|
||||
AC_SUBST(SYSCONFIGDIR)
|
||||
|
||||
MACROFILES="${RPMCONFIGDIR}/macros:${RPMCONFIGDIR}/%{_target}/macros:${SYSCONFIGDIR}/macros:${SYSCONFIGDIR}/macros.specspo:${SYSCONFIGDIR}/%{_target}/macros:~/.rpmmacros"
|
||||
MACROFILES="${RPMCONFIGDIR}/macros:${RPMCONFIGDIR}/%{_target_platform}/macros:${SYSCONFIGDIR}/macros:${SYSCONFIGDIR}/macros.specspo:${SYSCONFIGDIR}/%{_target_platform}/macros:~/.rpmmacros"
|
||||
AC_DEFINE_UNQUOTED(MACROFILES, "$MACROFILES")
|
||||
AC_SUBST(MACROFILES)
|
||||
|
||||
|
|
|
@ -435,7 +435,10 @@ void headerCopyTags(Header headerFrom, Header headerTo, int_32 *tagstocopy)
|
|||
|
||||
#define RPM_MIN_TYPE 0
|
||||
|
||||
enum tagTypes {
|
||||
/**
|
||||
* @todo Add RPM_XREF_TYPE to carry (hdrNum,tagNum,valNum) cross reference.
|
||||
*/
|
||||
typedef enum rpmTagType_e {
|
||||
RPM_NULL_TYPE = 0,
|
||||
RPM_CHAR_TYPE = 1,
|
||||
RPM_INT8_TYPE = 2,
|
||||
|
@ -446,7 +449,7 @@ enum tagTypes {
|
|||
RPM_BIN_TYPE = 7,
|
||||
RPM_STRING_ARRAY_TYPE = 8,
|
||||
RPM_I18NSTRING_TYPE = 9
|
||||
};
|
||||
} rpmTagType;
|
||||
|
||||
#define RPM_MAX_TYPE 9
|
||||
|
||||
|
|
|
@ -97,6 +97,7 @@ static void * showProgress(const void * arg, const rpmCallbackType what,
|
|||
return rc;
|
||||
}
|
||||
|
||||
/** @todo Generalize --freshen policies. */
|
||||
int rpmInstall(const char * rootdir, const char ** fileArgv,
|
||||
rpmtransFlags transFlags,
|
||||
rpmInstallInterfaceFlags interfaceFlags,
|
||||
|
|
|
@ -49,7 +49,7 @@ int writeLead(FD_t fd, struct rpmlead *lead)
|
|||
int readLead(FD_t fd, struct rpmlead *lead)
|
||||
{
|
||||
if (timedRead(fd, (char *)lead, sizeof(*lead)) != sizeof(*lead)) {
|
||||
rpmError(RPMERR_READERROR, _("read failed: %s (%d)"), Fstrerror(fd),
|
||||
rpmError(RPMERR_READ, _("read failed: %s (%d)"), Fstrerror(fd),
|
||||
errno);
|
||||
return 1;
|
||||
}
|
||||
|
|
43
lib/rpmlib.h
43
lib/rpmlib.h
|
@ -339,8 +339,8 @@ typedef enum rpmsenseFlags_e {
|
|||
/* ==================================================================== */
|
||||
/** \name RPMRC */
|
||||
/*@{*/
|
||||
/* Stuff for maintaining "variables" like SOURCEDIR, BUILDDIR, etc */
|
||||
|
||||
/* Stuff for maintaining "variables" like SOURCEDIR, BUILDDIR, etc */
|
||||
#define RPMVAR_OPTFLAGS 3
|
||||
#define RPMVAR_PROVIDES 38
|
||||
#define RPMVAR_INCLUDE 43
|
||||
|
@ -349,18 +349,9 @@ typedef enum rpmsenseFlags_e {
|
|||
#define RPMVAR_NUM 55 /* number of RPMVAR entries */
|
||||
|
||||
/** \ingroup rpmrc
|
||||
* Return value of rpmrc variable.
|
||||
* @deprecated Use rpmExpand() with appropriate macro expression.
|
||||
* @todo Eliminate from API.
|
||||
* List of macro files to read for configuring rpm.
|
||||
*/
|
||||
const char * rpmGetVar(int var);
|
||||
|
||||
/** \ingroup rpmrc
|
||||
* Set value of rpmrc variable.
|
||||
* @deprecated Use rpmDefineMacro() to change appropriate macro instead.
|
||||
* @todo Eliminate from API.
|
||||
*/
|
||||
void rpmSetVar(int var, const char *val);
|
||||
const char * macrofiles;
|
||||
|
||||
/** \ingroup rpmrc
|
||||
* Build and install arch/os table identifiers.
|
||||
|
@ -375,20 +366,13 @@ enum rpm_machtable_e {
|
|||
#define RPM_MACHTABLE_COUNT 4 /* number of arch/os tables */
|
||||
|
||||
/** \ingroup rpmrc
|
||||
* Read rpmrc (and macro) configuration file(s) for a target.
|
||||
* Read macro configuration file(s) for a target.
|
||||
* @param file colon separated files to read (NULL uses default)
|
||||
* @param target target platform (NULL uses default)
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int rpmReadConfigFiles(const char * file, const char * target);
|
||||
|
||||
/** \ingroup rpmrc
|
||||
* Read rpmrc (and macro) configuration file(s).
|
||||
* @param file colon separated files to read (NULL uses default)
|
||||
* @return 0 on succes
|
||||
*/
|
||||
int rpmReadRC(const char * file);
|
||||
|
||||
/** \ingroup rpmrc
|
||||
* Return current arch name and/or number.
|
||||
* @todo Generalize to extract arch component from target_platform macro.
|
||||
|
@ -396,6 +380,10 @@ int rpmReadRC(const char * file);
|
|||
* @retval num address of arch number (or NULL)
|
||||
*/
|
||||
void rpmGetArchInfo( /*@out@*/ const char ** name, /*@out@*/ int * num);
|
||||
void XrpmGetArchInfo( /*@out@*/ const char ** name, /*@out@*/ int * num,
|
||||
const char * _f, unsigned _l);
|
||||
#define rpmGetArchInfo(_name, _num) \
|
||||
XrpmGetArchInfo(_name, _num, __FILE__, __LINE__)
|
||||
|
||||
/** \ingroup rpmrc
|
||||
* Return current os name and/or number.
|
||||
|
@ -404,6 +392,10 @@ void rpmGetArchInfo( /*@out@*/ const char ** name, /*@out@*/ int * num);
|
|||
* @retval num address of os number (or NULL)
|
||||
*/
|
||||
void rpmGetOsInfo( /*@out@*/ const char ** name, /*@out@*/ int * num);
|
||||
void XrpmGetOsInfo( /*@out@*/ const char ** name, /*@out@*/ int * num,
|
||||
const char * _f, unsigned _l);
|
||||
#define rpmGetOsInfo(_name, _num) \
|
||||
XrpmGetOsInfo(_name, _num, __FILE__, __LINE__)
|
||||
|
||||
/** \ingroup rpmrc
|
||||
* Return arch/os score of a name.
|
||||
|
@ -419,6 +411,9 @@ void rpmGetOsInfo( /*@out@*/ const char ** name, /*@out@*/ int * num);
|
|||
* @return arch score
|
||||
*/
|
||||
int rpmMachineScore(int type, const char * name);
|
||||
int XrpmMachineScore(int type, const char * name, const char *_f, unsigned _l);
|
||||
#define rpmMachineScore(_type, _name) \
|
||||
XrpmMachineScore(_type, _name, __FILE__, __LINE__)
|
||||
|
||||
/** \ingroup rpmrc
|
||||
* Display current rpmrc (and macro) configuration.
|
||||
|
@ -446,6 +441,10 @@ void rpmSetTables(int archTable, int osTable); /* only used by build code */
|
|||
* @param os os name (or NULL)
|
||||
*/
|
||||
void rpmSetMachine(const char * arch, const char * os);
|
||||
void XrpmSetMachine( /*@out@*/ const char *arch, /*@out@*/ const char *os,
|
||||
const char *_f, unsigned _l);
|
||||
#define rpmSetMachine(_arch, _os) \
|
||||
XrpmSetMachine(_arch, _os, __FILE__, __LINE__)
|
||||
|
||||
/** \ingroup rpmrc
|
||||
* Return current arch/os names.
|
||||
|
@ -456,6 +455,10 @@ void rpmSetMachine(const char * arch, const char * os);
|
|||
* @retval os address of os name (or NULL)
|
||||
*/
|
||||
void rpmGetMachine( /*@out@*/ const char **arch, /*@out@*/ const char **os);
|
||||
void XrpmGetMachine( /*@out@*/ const char **arch, /*@out@*/ const char **os,
|
||||
const char *_f, unsigned _l);
|
||||
#define rpmGetMachine(_arch, _os) \
|
||||
XrpmGetMachine(_arch, _os, __FILE__, __LINE__)
|
||||
|
||||
/** \ingroup rpmrc
|
||||
* Destroy rpmrc arch/os compatibility tables.
|
||||
|
|
29
lib/rpmrc.c
29
lib/rpmrc.c
|
@ -55,44 +55,44 @@ static struct _os_canon {
|
|||
{ NULL, 0 }
|
||||
};
|
||||
|
||||
static const char *macrofiles = MACROFILES;
|
||||
const char *macrofiles = MACROFILES;
|
||||
|
||||
#ifndef DYING
|
||||
const char *rpmGetVar(int var)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void rpmGetArchInfo(const char ** name, int * num)
|
||||
void XrpmGetArchInfo(const char ** name, int * num, const char *_f, unsigned _l)
|
||||
{
|
||||
fprintf(stderr, "*** rpmGetArchInfo(%p,%p)\n", name, num);
|
||||
fprintf(stderr, "*** rpmGetArchInfo(%p,%p) %s:%u\n", name, num, _f, _l);
|
||||
if (name)
|
||||
*name = rpmExpand("%{_target_cpu}", NULL);
|
||||
}
|
||||
|
||||
void rpmGetOsInfo(const char ** name, int * num)
|
||||
void XrpmGetOsInfo(const char ** name, int * num, const char *_f, unsigned _l)
|
||||
{
|
||||
fprintf(stderr, "*** rpmGetOsInfo(%p,%p)\n", name, num);
|
||||
fprintf(stderr, "*** rpmGetOsInfo(%p,%p) %s:%u\n", name, num, _f, _l);
|
||||
if (name)
|
||||
*name = rpmExpand("%{_target_os}", NULL);
|
||||
}
|
||||
|
||||
void rpmGetMachine(const char **arch, const char **os)
|
||||
void XrpmGetMachine(const char **arch, const char **os, const char *_f, unsigned _l)
|
||||
{
|
||||
fprintf(stderr, "*** rpmGetMachine(%p,%p) %s:%u\n", arch, os, _f, _l);
|
||||
}
|
||||
|
||||
void rpmSetMachine(const char * arch, const char * os)
|
||||
void XrpmSetMachine(const char * arch, const char * os, const char *_f, unsigned _l)
|
||||
{
|
||||
fprintf(stderr, "*** rpmSetMachine(%p,%p) %s:%u\n", arch, os, _f, _l);
|
||||
}
|
||||
#endif
|
||||
|
||||
int rpmMachineScore(int type, const char * name)
|
||||
int XrpmMachineScore(int type, const char * name, const char * _f, unsigned _l)
|
||||
{
|
||||
fprintf(stderr, "*** rpmMachineScore(%d,\"%s\") %s:%u\n", type, name, _f, _l);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void rpmFreeRpmrc(void)
|
||||
{
|
||||
fprintf(stderr, "*** rpmFreeRpmrc()\n");
|
||||
}
|
||||
|
||||
static void defaultMachine(/*@out@*/ char ** arch, /*@out@*/ char ** os)
|
||||
|
@ -218,7 +218,6 @@ fprintf(stderr, "*** _target: \"%s\"\n", *ct);
|
|||
int rpmReadConfigFiles(const char * mfiles, const char * target)
|
||||
{
|
||||
|
||||
fprintf(stderr, "*** rpmReadConfigFiles(%s,%s) %s\n", mfiles, target, macrofiles);
|
||||
if (mfiles == NULL)
|
||||
mfiles = macrofiles;
|
||||
|
||||
|
@ -227,11 +226,14 @@ fprintf(stderr, "*** rpmReadConfigFiles(%s,%s) %s\n", mfiles, target, macrofiles
|
|||
|
||||
if (mfiles) {
|
||||
mfiles = rpmExpand(mfiles, NULL);
|
||||
fprintf(stderr, "*** rpmInitMacros(NULL,\"%s\")\n", mfiles);
|
||||
rpmInitMacros(NULL, mfiles);
|
||||
xfree(mfiles);
|
||||
|
||||
#ifdef DYING
|
||||
/* Reset target macros */
|
||||
rpmRebuildTargetVars(&target);
|
||||
#endif
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -239,5 +241,6 @@ fprintf(stderr, "*** rpmReadConfigFiles(%s,%s) %s\n", mfiles, target, macrofiles
|
|||
|
||||
int rpmShowRC(FILE *fp)
|
||||
{
|
||||
fprintf(stderr, "*** rpmShowRC(%p)\n", fp);
|
||||
return 0;
|
||||
}
|
||||
|
|
13
macros.in
13
macros.in
|
@ -1,4 +1,4 @@
|
|||
# $Id: macros.in,v 1.67 2000/08/28 15:25:04 jbj Exp $
|
||||
# $Id: macros.in,v 1.68 2000/09/01 21:15:41 jbj Exp $
|
||||
#
|
||||
# This is a global RPM configuration file. All changes made here will
|
||||
# be lost when the rpm package is upgraded. Any per-system configuration
|
||||
|
@ -274,10 +274,13 @@
|
|||
%_vendor @RPMCANONVENDOR@
|
||||
%_os @RPMCANONOS@
|
||||
%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
|
||||
#
|
||||
# XXX use the rpmrc instantiated macro for now
|
||||
#%optflags -O2
|
||||
|
||||
#
|
||||
# Define a generic value for optflags. Normally overridden by per-target macros.
|
||||
%optflags -O2
|
||||
|
||||
#
|
||||
# Define per-arch and per-os defaults. Normally overridden by per-target macros.
|
||||
%__arch_install_post %{nil}
|
||||
%__os_install_post %{___build_post}
|
||||
|
||||
|
@ -500,7 +503,7 @@ cd %{u2p:%{_builddir}}\
|
|||
# gotcha is that arguments, if present, should be on the same line as the
|
||||
# %configure.
|
||||
#
|
||||
# This is the version of %configure used throuugh rpm-3.0.4.
|
||||
# This is the version of %configure used through rpm-3.0.4.
|
||||
#%configure \
|
||||
# %{?__libtoolize:[ -f configure.in ] && %{__libtoolize} --copy --force} \
|
||||
# CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix}
|
||||
|
|
902
po/pt_BR.po
902
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
925
po/rpm.pot
925
po/rpm.pot
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
10
rpm.c
10
rpm.c
|
@ -17,6 +17,7 @@
|
|||
#define GETOPT_EXCLUDEPATH 1019
|
||||
#define GETOPT_DEFINEMACRO 1020
|
||||
#define GETOPT_EVALMACRO 1021
|
||||
#define GETOPT_RCFILE 1022
|
||||
|
||||
enum modes {
|
||||
MODE_UNKNOWN = 0,
|
||||
|
@ -123,6 +124,7 @@ static struct poptOption optionsTable[] = {
|
|||
/* info and install both using 'i' is dumb */
|
||||
{ "install", '\0', 0, 0, GETOPT_INSTALL, NULL, NULL},
|
||||
{ "justdb", '\0', 0, &justdb, 0, NULL, NULL},
|
||||
{ "macros", '\0', POPT_ARG_STRING, ¯ofiles, 0, NULL, NULL},
|
||||
{ "nodeps", '\0', 0, &noDeps, 0, NULL, NULL},
|
||||
{ "nodirtokens", '\0', POPT_ARG_VAL, &_noDirTokens, 1, NULL, NULL},
|
||||
{ "nogpg", '\0', 0, &noGpg, 0, NULL, NULL},
|
||||
|
@ -139,7 +141,7 @@ static struct poptOption optionsTable[] = {
|
|||
{ "pipe", '\0', POPT_ARG_STRING, &pipeOutput, 0, NULL, NULL},
|
||||
{ "prefix", '\0', POPT_ARG_STRING, &prefix, 0, NULL, NULL},
|
||||
{ "quiet", '\0', 0, &quiet, 0, NULL, NULL},
|
||||
{ "rcfile", '\0', POPT_ARG_STRING, &rcfile, 0, NULL, NULL},
|
||||
{ "rcfile", '\0', 0, 0, GETOPT_RCFILE, NULL, NULL},
|
||||
{ "rebuilddb", '\0', 0, 0, GETOPT_REBUILDDB, NULL, NULL},
|
||||
{ "relocate", '\0', POPT_ARG_STRING, 0, GETOPT_RELOCATE, NULL, NULL},
|
||||
{ "replacefiles", '\0', 0, &replaceFiles, 0, NULL, NULL},
|
||||
|
@ -776,6 +778,12 @@ int main(int argc, const char ** argv)
|
|||
relocations[numRelocations++].newPath = NULL;
|
||||
break;
|
||||
|
||||
case GETOPT_RCFILE:
|
||||
fprintf(stderr, _("The --rcfile option has been eliminated.\n"));
|
||||
fprintf(stderr, _("Use --macros with a colon separated list of macro files to read.\n"));
|
||||
exit(EXIT_FAILURE);
|
||||
/*@notreached@*/ break;
|
||||
|
||||
default:
|
||||
fprintf(stderr, _("Internal error in argument processing (%d) :-(\n"), arg);
|
||||
exit(EXIT_FAILURE);
|
||||
|
|
|
@ -55,14 +55,17 @@ typedef FILE * FD_t;
|
|||
struct MacroContext rpmGlobalMacroContext;
|
||||
struct MacroContext rpmCLIMacroContext;
|
||||
|
||||
/**
|
||||
* Macro expansion data structure.
|
||||
*/
|
||||
typedef struct MacroBuf {
|
||||
const char *s; /* text to expand */
|
||||
char *t; /* expansion buffer */
|
||||
size_t nb; /* no. bytes remaining in expansion buffer */
|
||||
int depth; /* current expansion depth */
|
||||
int macro_trace; /* pre-print macro to expand? */
|
||||
int expand_trace; /* post-print macro expansion? */
|
||||
void *spec; /* (future) %file expansion info */
|
||||
const char *s; /*!< Text to expand. */
|
||||
char *t; /*!< Expansion buffer. */
|
||||
size_t nb; /*!< No. bytes remaining in expansion buffer. */
|
||||
int depth; /*!< Current expansion depth. */
|
||||
int macro_trace; /*!< Pre-print macro to expand? */
|
||||
int expand_trace; /*!< Post-print macro expansion? */
|
||||
void *spec; /*!< (future) %file expansion info. */
|
||||
MacroContext *mc;
|
||||
} MacroBuf;
|
||||
|
||||
|
@ -837,8 +840,10 @@ doFoo(MacroBuf *mb, int negate, const char *f, size_t fn, const char *g, size_t
|
|||
}
|
||||
}
|
||||
|
||||
/* The main recursion engine */
|
||||
|
||||
/**
|
||||
* The main recursion engine.
|
||||
* @todo Dynamically reallocate target buffer.
|
||||
*/
|
||||
static int
|
||||
expandMacro(MacroBuf *mb)
|
||||
{
|
||||
|
|
|
@ -60,7 +60,7 @@ typedef enum rpmerrCode_e {
|
|||
RPMERR_UNMATCHEDIF = _em(107), /*!< unclosed %ifarch or %ifos */
|
||||
RPMERR_BADARG = _em(109), /*!< @todo Document. */
|
||||
RPMERR_SCRIPT = _em(110), /*!< errors related to script exec */
|
||||
RPMERR_READERROR = _em(111), /*!< @todo Document. */
|
||||
RPMERR_READ = _em(111), /*!< @todo Document. */
|
||||
RPMERR_UNKNOWNOS = _em(112), /*!< @todo Document. */
|
||||
RPMERR_UNKNOWNARCH = _em(113), /*!< @todo Document. */
|
||||
RPMERR_EXEC = _em(114), /*!< @todo Document. */
|
||||
|
@ -70,6 +70,9 @@ typedef enum rpmerrCode_e {
|
|||
RPMERR_BADSPEC = _em(118), /*!< @todo Document. */
|
||||
RPMERR_LDD = _em(119), /*!< couldn't understand ldd output */
|
||||
RPMERR_BADFILENAME = _em(120), /*!< @todo Document. */
|
||||
RPMERR_OPEN = _em(121), /*!< @todo Document. */
|
||||
RPMERR_POPEN = _em(122), /*!< @todo Document. */
|
||||
RPMERR_NOTREG = _em(122), /*!< File %s is not a regular file */
|
||||
|
||||
RPMERR_BADSIGTYPE = _em(200), /*!< Unknown signature type */
|
||||
RPMERR_SIGGEN = _em(201) /*!< Error generating signature */
|
||||
|
@ -78,6 +81,10 @@ typedef enum rpmerrCode_e {
|
|||
/**
|
||||
* Retrofit rpmError() onto rpmlog sub-system.
|
||||
*/
|
||||
#define rpmError rpmlog
|
||||
#define rpmError rpmlog
|
||||
#define rpmErrorString() rpmlogMessage()
|
||||
#define rpmErrorSetCallback(_cb) rpmlogSetCallback(_cb)
|
||||
typedef rpmlogCallback rpmErrorCallBackType;
|
||||
|
||||
|
||||
#endif /* H_RPMERR */
|
||||
|
|
|
@ -39,32 +39,75 @@ typedef /*@abstract@*/ struct MacroContext {
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
*/
|
||||
void rpmDumpMacroTable (MacroContext * mc, FILE * fp);
|
||||
|
||||
/* XXX this is used only in build/expression.c and will go away. */
|
||||
/**
|
||||
* @deprecated Used only in build/expression.c.
|
||||
* @todo Eliminate.
|
||||
*/
|
||||
const char *getMacroBody (MacroContext *mc, const char *name);
|
||||
|
||||
/**
|
||||
* @deprecated Use rpmExpand().
|
||||
* @todo Eliminate from API.
|
||||
*/
|
||||
int expandMacros (void * spec, MacroContext * mc, char * sbuf,
|
||||
size_t sbuflen);
|
||||
|
||||
/**
|
||||
*/
|
||||
void addMacro (MacroContext * mc, const char * n, const char * o,
|
||||
const char * b, int depth);
|
||||
|
||||
/**
|
||||
*/
|
||||
void delMacro (MacroContext * mc, const char * n);
|
||||
|
||||
/**
|
||||
*/
|
||||
int rpmDefineMacro (MacroContext * mc, const char * macro, int level);
|
||||
|
||||
/**
|
||||
*/
|
||||
void rpmLoadMacros (MacroContext *mc, int level);
|
||||
|
||||
/**
|
||||
*/
|
||||
void rpmInitMacros (MacroContext * mc, const char * macrofiles);
|
||||
|
||||
/**
|
||||
*/
|
||||
void rpmFreeMacros (MacroContext * mc);
|
||||
|
||||
#define COMPRESSED_NOT 0
|
||||
#define COMPRESSED_OTHER 1
|
||||
#define COMPRESSED_BZIP2 2
|
||||
|
||||
/**
|
||||
*/
|
||||
int isCompressed (const char * file, int * compressed);
|
||||
|
||||
/**
|
||||
*/
|
||||
char * rpmExpand (const char * arg, ...);
|
||||
|
||||
/**
|
||||
*/
|
||||
char * rpmCleanPath (char * path);
|
||||
|
||||
/**
|
||||
*/
|
||||
const char *rpmGetPath (const char * path, ...);
|
||||
|
||||
/**
|
||||
*/
|
||||
const char *rpmGenPath (const char * root, const char * mdir,
|
||||
const char * file);
|
||||
|
||||
/**
|
||||
*/
|
||||
int rpmExpandNumeric (const char * arg);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
52
rpmqv.c
52
rpmqv.c
|
@ -61,6 +61,7 @@ static int noPgp = 0;
|
|||
#define GETOPT_SHOWRC 1018
|
||||
#define GETOPT_DEFINEMACRO 1020
|
||||
#define GETOPT_EVALMACRO 1021
|
||||
#define GETOPT_RCFILE 1022
|
||||
|
||||
enum modes {
|
||||
|
||||
|
@ -147,8 +148,10 @@ static struct poptOption optionsTable[] = {
|
|||
{ "quiet", '\0', 0, &quiet, 0, NULL, NULL},
|
||||
{ "verbose", 'v', 0, 0, 'v', NULL, NULL},
|
||||
|
||||
{ "define", '\0', POPT_ARG_STRING, 0, GETOPT_DEFINEMACRO,NULL, NULL},
|
||||
{ "eval", '\0', POPT_ARG_STRING, 0, GETOPT_EVALMACRO, NULL, NULL},
|
||||
{ "define", '\0', POPT_ARG_STRING, 0, GETOPT_DEFINEMACRO,
|
||||
N_("define macro <name> with value <body>"), N_("'<name> <body>'") },
|
||||
{ "eval", '\0', POPT_ARG_STRING, 0, GETOPT_EVALMACRO,
|
||||
N_("print macro expansion to stdout"), N_("<expr>+") },
|
||||
|
||||
{ "nodirtokens", '\0', POPT_ARG_VAL, &_noDirTokens, 1, NULL, NULL},
|
||||
{ "dirtokens", '\0', POPT_ARG_VAL, &_noDirTokens, 0, NULL, NULL},
|
||||
|
@ -172,7 +175,10 @@ static struct poptOption optionsTable[] = {
|
|||
{ "pipe", '\0', POPT_ARG_STRING, &pipeOutput, 0, NULL, NULL},
|
||||
{ "root", 'r', POPT_ARG_STRING, &rootdir, 0, NULL, NULL},
|
||||
|
||||
{ "rcfile", '\0', POPT_ARG_STRING, &rcfile, 0, NULL, NULL},
|
||||
{ "macros", '\0', POPT_ARG_STRING, ¯ofiles, 0,
|
||||
N_("read <file:...> instead of default macro file(s)"),
|
||||
N_("<file:...>") },
|
||||
{ "rcfile", '\0', 0, 0, GETOPT_RCFILE, NULL, NULL},
|
||||
{ "showrc", '\0', 0, &showrc, GETOPT_SHOWRC, NULL, NULL},
|
||||
|
||||
#if defined(IAM_RPMQV) || defined(IAM_RPMK)
|
||||
|
@ -286,14 +292,14 @@ static void printUsage(void) {
|
|||
|
||||
#ifdef IAM_RPMDB
|
||||
fprintf(fp, _(" %s {--initdb} [--dbpath <dir>]\n"), __progname);
|
||||
fprintf(fp, _(" %s {--rebuilddb} [--rcfile <file>] [--dbpath <dir>]\n"), __progname);
|
||||
fprintf(fp, _(" %s {--rebuilddb} [--macros <file:...>] [--dbpath <dir>]\n"), __progname);
|
||||
#endif
|
||||
|
||||
#ifdef IAM_RPMEIU
|
||||
fprintf(fp, _(" %s {--install -i} [-v] [--hash -h] [--percent] [--force] [--test]\n"), __progname);
|
||||
puts(_(" [--replacepkgs] [--replacefiles] [--root <dir>]"));
|
||||
puts(_(" [--excludedocs] [--includedocs] [--noscripts]"));
|
||||
puts(_(" [--rcfile <file>] [--ignorearch] [--dbpath <dir>]"));
|
||||
puts(_(" [--macros <file:...>] [--ignorearch] [--dbpath <dir>]"));
|
||||
puts(_(" [--prefix <dir>] [--ignoreos] [--nodeps] [--allfiles]"));
|
||||
puts(_(" [--ftpproxy <host>] [--ftpport <port>]"));
|
||||
puts(_(" [--httpproxy <host>] [--httpport <port>]"));
|
||||
|
@ -302,7 +308,7 @@ static void printUsage(void) {
|
|||
puts(_(" [--ignoresize] file1.rpm ... fileN.rpm"));
|
||||
fprintf(fp, (" %s {--upgrade -U} [-v] [--hash -h] [--percent] [--force] [--test]\n"), __progname);
|
||||
puts(_(" [--oldpackage] [--root <dir>] [--noscripts]"));
|
||||
puts(_(" [--excludedocs] [--includedocs] [--rcfile <file>]"));
|
||||
puts(_(" [--excludedocs] [--includedocs] [--macros <file:...>]"));
|
||||
puts(_(" [--ignorearch] [--dbpath <dir>] [--prefix <dir>] "));
|
||||
puts(_(" [--ftpproxy <host>] [--ftpport <port>]"));
|
||||
puts(_(" [--httpproxy <host>] [--httpport <port>]"));
|
||||
|
@ -310,21 +316,21 @@ static void printUsage(void) {
|
|||
puts(_(" [--noorder] [--relocate oldpath=newpath]"));
|
||||
puts(_(" [--badreloc] [--excludepath <path>] [--ignoresize]"));
|
||||
puts(_(" file1.rpm ... fileN.rpm"));
|
||||
fprintf(fp, _(" %s {--erase -e} [--root <dir>] [--noscripts] [--rcfile <file>]\n"), __progname);
|
||||
fprintf(fp, _(" %s {--erase -e} [--root <dir>] [--noscripts] [--macros <file:...>]\n"), __progname);
|
||||
puts(_(" [--dbpath <dir>] [--nodeps] [--allmatches]"));
|
||||
puts(_(" [--justdb] [--notriggers] package1 ... packageN"));
|
||||
#endif /* IAM_RPMEIU */
|
||||
|
||||
#ifdef IAM_RPMQV
|
||||
fprintf(fp, (" %s {--query -q} [-afpg] [-i] [-l] [-s] [-d] [-c] [-v] [-R]\n"), __progname);
|
||||
puts(_(" [--scripts] [--root <dir>] [--rcfile <file>]"));
|
||||
puts(_(" [--scripts] [--root <dir>] [--macros <file:...>]"));
|
||||
puts(_(" [--whatprovides] [--whatrequires] [--requires]"));
|
||||
puts(_(" [--triggeredby]"));
|
||||
puts(_(" [--ftpproxy <host>] [--ftpport <port>]"));
|
||||
puts(_(" [--httpproxy <host>] [--httpport <port>]"));
|
||||
puts(_(" [--provides] [--triggers] [--dump]"));
|
||||
puts(_(" [--changelog] [--dbpath <dir>] [targets]"));
|
||||
fprintf(fp, _(" %s {--verify -V -y} [-afpg] [--root <dir>] [--rcfile <file>]\n"), __progname);
|
||||
fprintf(fp, _(" %s {--verify -V -y} [-afpg] [--root <dir>] [--macros <file:...>]\n"), __progname);
|
||||
puts(_(" [--dbpath <dir>] [--nodeps] [--nofiles] [--noscripts]"));
|
||||
puts(_(" [--nomd5] [targets]"));
|
||||
fprintf(fp, (" %s {--querytags}\n"), __progname);
|
||||
|
@ -333,20 +339,20 @@ static void printUsage(void) {
|
|||
#endif /* IAM_RPMQV */
|
||||
|
||||
#ifdef IAM_RPMBT
|
||||
fprintf(fp, _(" %s {-b|t}[plcibas] [-v] [--short-circuit] [--clean] [--rcfile <file>]\n"), __progname);
|
||||
fprintf(fp, _(" %s {-b|t}[plcibas] [-v] [--short-circuit] [--clean] [--macros <file:...>]\n"), __progname);
|
||||
puts( (" [--sign] [--nobuild] ]"));
|
||||
puts(_(" [--target=platform1[,platform2...]]"));
|
||||
puts(_(" [--rmsource] [--rmspec] specfile"));
|
||||
fprintf(fp, _(" %s {--rmsource} [--rcfile <file>] [-v] specfile\n"), __progname);
|
||||
fprintf(fp, _(" %s {--rebuild} [--rcfile <file>] [-v] source1.rpm ... sourceN.rpm\n"), __progname);
|
||||
fprintf(fp, _(" %s {--recompile} [--rcfile <file>] [-v] source1.rpm ... sourceN.rpm\n"), __progname);
|
||||
fprintf(fp, _(" %s {--rmsource} [--macros <file:...>] [-v] specfile\n"), __progname);
|
||||
fprintf(fp, _(" %s {--rebuild} [--macros <file:...>] [-v] source1.rpm ... sourceN.rpm\n"), __progname);
|
||||
fprintf(fp, _(" %s {--recompile} [--macros <file:...>] [-v] source1.rpm ... sourceN.rpm\n"), __progname);
|
||||
fprintf(fp, _(" %s {--freshen -F} file1.rpm ... fileN.rpm\n"), __progname);
|
||||
#endif /* IAM_RPMBT */
|
||||
|
||||
#ifdef IAM_RPMK
|
||||
fprintf(fp, _(" %s {--resign} [--rcfile <file>] package1 package2 ... packageN\n"), __progname);
|
||||
fprintf(fp, _(" %s {--addsign} [--rcfile <file>] package1 package2 ... packageN"), __progname);
|
||||
fprintf(fp, _(" %s {--checksig -K} [--nopgp] [--nogpg] [--nomd5] [--rcfile <file>]\n"), __progname);
|
||||
fprintf(fp, _(" %s {--resign} [--macros <file:...>] package1 package2 ... packageN\n"), __progname);
|
||||
fprintf(fp, _(" %s {--addsign} [--macros <file:...>] package1 package2 ... packageN"), __progname);
|
||||
fprintf(fp, _(" %s {--checksig -K} [--nopgp] [--nogpg] [--nomd5] [--macros <file:...>]\n"), __progname);
|
||||
puts(_(" package1 ... packageN"));
|
||||
#endif /* IAM_RPMK */
|
||||
|
||||
|
@ -393,12 +399,12 @@ static void printHelp(void) {
|
|||
puts( _(" All modes support the following options:"));
|
||||
printHelpLine(_(" --define '<name> <body>'"),
|
||||
_("define macro <name> with value <body>"));
|
||||
printHelpLine(_(" --eval '<name>+' "),
|
||||
_("print the expansion of macro <name> to stdout"));
|
||||
printHelpLine(_(" --eval '<expr>+' "),
|
||||
_("print the expansion of macro <expr> to stdout"));
|
||||
printHelpLine(_(" --pipe <cmd> "),
|
||||
_("send stdout to <cmd>"));
|
||||
printHelpLine(_(" --rcfile <file> "),
|
||||
_("use <file> instead of /etc/rpmrc and $HOME/.rpmrc"));
|
||||
printHelpLine(_(" --macros <file:...> "),
|
||||
_("use <file:...> instead of default list of macro files"));
|
||||
printHelpLine( " --showrc ",
|
||||
_("display final rpmrc and macro configuration"));
|
||||
#if defined(IAM_RPMBT) || defined(IAM_RPMDB) || defined(IAM_RPMEIU) || defined(IAM_RPMQV)
|
||||
|
@ -913,6 +919,12 @@ int main(int argc, const char ** argv)
|
|||
noUsageMsg = 1;
|
||||
} break;
|
||||
|
||||
case GETOPT_RCFILE:
|
||||
fprintf(stderr, _("The --rcfile option has been eliminated.\n"));
|
||||
fprintf(stderr, _("Use \"--macros <file:...>\" instead..\n"));
|
||||
exit(EXIT_FAILURE);
|
||||
/*@notreached@*/ break;
|
||||
|
||||
default:
|
||||
fprintf(stderr, _("Internal error in argument processing (%d) :-(\n"), arg);
|
||||
exit(EXIT_FAILURE);
|
||||
|
|
Loading…
Reference in New Issue