- make librpmio standalone.
CVS patchset: 3824 CVS date: 2000/06/09 21:24:37
This commit is contained in:
parent
685d3e79b0
commit
4afe94756b
1
CHANGES
1
CHANGES
|
@ -55,6 +55,7 @@
|
||||||
- fix: segfault with legacy packages missing RPMTAG_FILEINODES.
|
- fix: segfault with legacy packages missing RPMTAG_FILEINODES.
|
||||||
- require db3 in default configuration.
|
- require db3 in default configuration.
|
||||||
- create rpmio directory for librpmio.
|
- create rpmio directory for librpmio.
|
||||||
|
- make librpmio standalone.
|
||||||
|
|
||||||
3.0.3 -> 3.0.4
|
3.0.3 -> 3.0.4
|
||||||
- use compressed filenames on install side.
|
- use compressed filenames on install side.
|
||||||
|
|
|
@ -27,7 +27,6 @@ librpm_la_SOURCES = \
|
||||||
rpmlead.c rpmrc.c signature.c stringbuf.c stubs.c \
|
rpmlead.c rpmrc.c signature.c stringbuf.c stubs.c \
|
||||||
tagName.c tagtable.c transaction.c uninstall.c verify.c
|
tagName.c tagtable.c transaction.c uninstall.c verify.c
|
||||||
librpm_la_LDFLAGS = -L$(top_builddir)/rpmio/.libs -lrpmio
|
librpm_la_LDFLAGS = -L$(top_builddir)/rpmio/.libs -lrpmio
|
||||||
# -L$(top_builddir)/popt -lpopt
|
|
||||||
librpm_la_LIBADD = $(subst .c,.lo,$(DBLIBOBJS))
|
librpm_la_LIBADD = $(subst .c,.lo,$(DBLIBOBJS))
|
||||||
|
|
||||||
# XXX Drill out -L ldflags remnants until libtool-1.4 appears
|
# XXX Drill out -L ldflags remnants until libtool-1.4 appears
|
||||||
|
|
112
lib/rpmlib.h
112
lib/rpmlib.h
|
@ -6,6 +6,8 @@
|
||||||
/* and it shouldn't need these :-( */
|
/* and it shouldn't need these :-( */
|
||||||
|
|
||||||
#include "rpmio.h"
|
#include "rpmio.h"
|
||||||
|
#include "rpmmessages.h"
|
||||||
|
#include "rpmerr.h"
|
||||||
#include "header.h"
|
#include "header.h"
|
||||||
#include "popt.h"
|
#include "popt.h"
|
||||||
|
|
||||||
|
@ -320,26 +322,10 @@ void rpmSetMachine(const char * arch, const char * os);
|
||||||
void rpmGetMachine( /*@out@*/ const char **arch, /*@out@*/ const char **os);
|
void rpmGetMachine( /*@out@*/ const char **arch, /*@out@*/ const char **os);
|
||||||
void rpmFreeRpmrc(void);
|
void rpmFreeRpmrc(void);
|
||||||
|
|
||||||
|
/* ==================================================================== */
|
||||||
/** **/
|
/** **/
|
||||||
|
|
||||||
typedef /*@abstract@*/ struct rpmdb_s * rpmdb;
|
typedef /*@abstract@*/ struct rpmdb_s * rpmdb;
|
||||||
|
|
||||||
typedef enum rpmCallbackType_e {
|
|
||||||
RPMCALLBACK_INST_PROGRESS, RPMCALLBACK_INST_START,
|
|
||||||
RPMCALLBACK_INST_OPEN_FILE, RPMCALLBACK_INST_CLOSE_FILE,
|
|
||||||
RPMCALLBACK_TRANS_PROGRESS, RPMCALLBACK_TRANS_START, RPMCALLBACK_TRANS_STOP,
|
|
||||||
RPMCALLBACK_UNINST_PROGRESS, RPMCALLBACK_UNINST_START, RPMCALLBACK_UNINST_STOP
|
|
||||||
} rpmCallbackType;
|
|
||||||
|
|
||||||
typedef void * (*rpmCallbackFunction)(const Header h,
|
|
||||||
const rpmCallbackType what,
|
|
||||||
const unsigned long amount,
|
|
||||||
const unsigned long total,
|
|
||||||
const void * pkgKey, void * data);
|
|
||||||
|
|
||||||
void urlSetCallback(rpmCallbackFunction notify, void *notifyData, int notifyCount);
|
|
||||||
|
|
||||||
/* ==================================================================== */
|
|
||||||
/**
|
/**
|
||||||
* @param dbp address of rpm database
|
* @param dbp address of rpm database
|
||||||
*/
|
*/
|
||||||
|
@ -654,24 +640,6 @@ int rpmRunTransactions(rpmTransactionSet ts, rpmCallbackFunction notify,
|
||||||
#define RPMPROB_FILTER_OLDPACKAGE (1 << 6)
|
#define RPMPROB_FILTER_OLDPACKAGE (1 << 6)
|
||||||
#define RPMPROB_FILTER_DISKSPACE (1 << 7)
|
#define RPMPROB_FILTER_DISKSPACE (1 << 7)
|
||||||
|
|
||||||
/** messages.c **/
|
|
||||||
|
|
||||||
#define RPMMESS_DEBUG 1
|
|
||||||
#define RPMMESS_VERBOSE 2
|
|
||||||
#define RPMMESS_NORMAL 3
|
|
||||||
#define RPMMESS_WARNING 4
|
|
||||||
#define RPMMESS_ERROR 5
|
|
||||||
#define RPMMESS_FATALERROR 6
|
|
||||||
|
|
||||||
#define RPMMESS_QUIET (RPMMESS_NORMAL + 1)
|
|
||||||
|
|
||||||
void rpmIncreaseVerbosity(void);
|
|
||||||
void rpmSetVerbosity(int level);
|
|
||||||
int rpmGetVerbosity(void);
|
|
||||||
int rpmIsVerbose(void);
|
|
||||||
int rpmIsDebug(void);
|
|
||||||
void rpmMessage(int level, const char * format, ...);
|
|
||||||
|
|
||||||
/** rpmlead.c **/
|
/** rpmlead.c **/
|
||||||
|
|
||||||
#define RPMLEAD_BINARY 0
|
#define RPMLEAD_BINARY 0
|
||||||
|
@ -708,80 +676,6 @@ struct oldrpmlead { /* for version 1 packages */
|
||||||
unsigned int archiveOffset;
|
unsigned int archiveOffset;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
/** rpmerr.c **/
|
|
||||||
|
|
||||||
typedef void (*rpmErrorCallBackType)(void);
|
|
||||||
|
|
||||||
#if defined(__GNUC__)
|
|
||||||
void rpmError(int code, char * format, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
|
|
||||||
#else
|
|
||||||
void rpmError(int code, char * format, ...);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int rpmErrorCode(void);
|
|
||||||
char *rpmErrorCodeString(void);
|
|
||||||
char *rpmErrorString(void);
|
|
||||||
rpmErrorCallBackType rpmErrorSetCallback(rpmErrorCallBackType);
|
|
||||||
|
|
||||||
#define RPMERR_GDBMOPEN -2 /* gdbm open failed */
|
|
||||||
#define RPMERR_GDBMREAD -3 /* gdbm read failed */
|
|
||||||
#define RPMERR_GDBMWRITE -4 /* gdbm write failed */
|
|
||||||
#define RPMERR_INTERNAL -5 /* internal RPM error */
|
|
||||||
#define RPMERR_DBCORRUPT -6 /* rpm database is corrupt */
|
|
||||||
#define RPMERR_OLDDBCORRUPT -7 /* old style rpm database is corrupt */
|
|
||||||
#define RPMERR_OLDDBMISSING -8 /* old style rpm database is missing */
|
|
||||||
#define RPMERR_NOCREATEDB -9 /* cannot create new database */
|
|
||||||
#define RPMERR_DBOPEN -10 /* database open failed */
|
|
||||||
#define RPMERR_DBGETINDEX -11 /* database get from index failed */
|
|
||||||
#define RPMERR_DBPUTINDEX -12 /* database get from index failed */
|
|
||||||
#define RPMERR_NEWPACKAGE -13 /* package is too new to handle */
|
|
||||||
#define RPMERR_BADMAGIC -14 /* bad magic for an RPM */
|
|
||||||
#define RPMERR_RENAME -15 /* rename(2) failed */
|
|
||||||
#define RPMERR_UNLINK -16 /* unlink(2) failed */
|
|
||||||
#define RPMERR_RMDIR -17 /* rmdir(2) failed */
|
|
||||||
#define RPMERR_PKGINSTALLED -18 /* package already installed */
|
|
||||||
#define RPMERR_CHOWN -19 /* chown() call failed */
|
|
||||||
#define RPMERR_NOUSER -20 /* user does not exist */
|
|
||||||
#define RPMERR_NOGROUP -21 /* group does not exist */
|
|
||||||
#define RPMERR_MKDIR -22 /* mkdir() call failed */
|
|
||||||
#define RPMERR_FILECONFLICT -23 /* file being installed exists */
|
|
||||||
#define RPMERR_RPMRC -24 /* bad line in rpmrc */
|
|
||||||
#define RPMERR_NOSPEC -25 /* .spec file is missing */
|
|
||||||
#define RPMERR_NOTSRPM -26 /* a source rpm was expected */
|
|
||||||
#define RPMERR_FLOCK -27 /* locking the database failed */
|
|
||||||
#define RPMERR_OLDPACKAGE -28 /* trying upgrading to old version */
|
|
||||||
/*#define RPMERR_BADARCH -29 bad architecture or arch mismatch */
|
|
||||||
#define RPMERR_CREATE -30 /* failed to create a file */
|
|
||||||
#define RPMERR_NOSPACE -31 /* out of disk space */
|
|
||||||
#define RPMERR_NORELOCATE -32 /* tried to do improper relocatation */
|
|
||||||
/*#define RPMERR_BADOS -33 bad architecture or arch mismatch */
|
|
||||||
#define RPMMESS_BACKUP -34 /* backup made during [un]install */
|
|
||||||
#define RPMERR_MTAB -35 /* failed to read mount table */
|
|
||||||
#define RPMERR_STAT -36 /* failed to stat something */
|
|
||||||
#define RPMERR_BADDEV -37 /* file on device not listed in mtab */
|
|
||||||
#define RPMMESS_ALTNAME -38 /* file written as .rpmnew */
|
|
||||||
#define RPMMESS_PREREQLOOP -39 /* loop in prerequisites */
|
|
||||||
#define RPMERR_BADRELOCATE -40 /* bad relocation was specified */
|
|
||||||
#define RPMERR_OLDDB -41 /* old format database */
|
|
||||||
|
|
||||||
/* spec.c build.c pack.c */
|
|
||||||
#define RPMERR_UNMATCHEDIF -107 /* unclosed %ifarch or %ifos */
|
|
||||||
#define RPMERR_BADARG -109
|
|
||||||
#define RPMERR_SCRIPT -110 /* errors related to script exec */
|
|
||||||
#define RPMERR_READERROR -111
|
|
||||||
#define RPMERR_UNKNOWNOS -112
|
|
||||||
#define RPMERR_UNKNOWNARCH -113
|
|
||||||
#define RPMERR_EXEC -114
|
|
||||||
#define RPMERR_FORK -115
|
|
||||||
#define RPMERR_CPIO -116
|
|
||||||
#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 */
|
|
||||||
|
|
||||||
/** signature.c **/
|
/** signature.c **/
|
||||||
|
|
||||||
/**************************************************/
|
/**************************************************/
|
||||||
|
|
82
po/rpm.pot
82
po/rpm.pot
|
@ -6,7 +6,7 @@
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"POT-Creation-Date: 2000-06-09 15:18-0400\n"
|
"POT-Creation-Date: 2000-06-09 17:03-0400\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -2387,7 +2387,7 @@ msgstr ""
|
||||||
msgid "opening db file %s mode 0x%x\n"
|
msgid "opening db file %s mode 0x%x\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/db1.c:430 rpmio/url.c:444
|
#: lib/db1.c:430 rpmio/url.c:445
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "failed to open %s: %s\n"
|
msgid "failed to open %s: %s\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3749,141 +3749,141 @@ msgstr ""
|
||||||
msgid "Unsatisfied dependencies for %s-%s-%s: "
|
msgid "Unsatisfied dependencies for %s-%s-%s: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/rpmio.c:537
|
#: rpmio/rpmio.c:532
|
||||||
msgid "Success"
|
msgid "Success"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/rpmio.c:540
|
#: rpmio/rpmio.c:535
|
||||||
msgid "Bad server response"
|
msgid "Bad server response"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/rpmio.c:543
|
#: rpmio/rpmio.c:538
|
||||||
msgid "Server IO error"
|
msgid "Server IO error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/rpmio.c:546
|
#: rpmio/rpmio.c:541
|
||||||
msgid "Server timeout"
|
msgid "Server timeout"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/rpmio.c:549
|
#: rpmio/rpmio.c:544
|
||||||
msgid "Unable to lookup server host address"
|
msgid "Unable to lookup server host address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/rpmio.c:552
|
#: rpmio/rpmio.c:547
|
||||||
msgid "Unable to lookup server host name"
|
msgid "Unable to lookup server host name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/rpmio.c:555
|
#: rpmio/rpmio.c:550
|
||||||
msgid "Failed to connect to server"
|
msgid "Failed to connect to server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/rpmio.c:558
|
#: rpmio/rpmio.c:553
|
||||||
msgid "Failed to establish data connection to server"
|
msgid "Failed to establish data connection to server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/rpmio.c:561
|
#: rpmio/rpmio.c:556
|
||||||
msgid "IO error to local file"
|
msgid "IO error to local file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/rpmio.c:564
|
#: rpmio/rpmio.c:559
|
||||||
msgid "Error setting remote server to passive mode"
|
msgid "Error setting remote server to passive mode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/rpmio.c:567
|
#: rpmio/rpmio.c:562
|
||||||
msgid "File not found on server"
|
msgid "File not found on server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/rpmio.c:570
|
#: rpmio/rpmio.c:565
|
||||||
msgid "Abort in progress"
|
msgid "Abort in progress"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/rpmio.c:574
|
#: rpmio/rpmio.c:569
|
||||||
msgid "Unknown or unexpected error"
|
msgid "Unknown or unexpected error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/rpmio.c:1107
|
#: rpmio/rpmio.c:1164
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "logging into %s as %s, pw %s\n"
|
msgid "logging into %s as %s, pw %s\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:160
|
#: rpmio/macro.c:161
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "======================== active %d empty %d\n"
|
msgid "======================== active %d empty %d\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. XXX just in case
|
#. XXX just in case
|
||||||
#: rpmio/macro.c:255
|
#: rpmio/macro.c:256
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%3d>%*s(empty)"
|
msgid "%3d>%*s(empty)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:290
|
#: rpmio/macro.c:291
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%3d<%*s(empty)\n"
|
msgid "%3d<%*s(empty)\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:469
|
#: rpmio/macro.c:470
|
||||||
msgid "Macro %%%s has unterminated body"
|
msgid "Macro %%%s has unterminated body"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:495
|
#: rpmio/macro.c:496
|
||||||
msgid "Macro %%%s has illegal name (%%define)"
|
msgid "Macro %%%s has illegal name (%%define)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:501
|
#: rpmio/macro.c:502
|
||||||
msgid "Macro %%%s has unterminated opts"
|
msgid "Macro %%%s has unterminated opts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:506
|
#: rpmio/macro.c:507
|
||||||
msgid "Macro %%%s has empty body"
|
msgid "Macro %%%s has empty body"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:511
|
#: rpmio/macro.c:512
|
||||||
msgid "Macro %%%s failed to expand"
|
msgid "Macro %%%s failed to expand"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:536
|
#: rpmio/macro.c:537
|
||||||
msgid "Macro %%%s has illegal name (%%undefine)"
|
msgid "Macro %%%s has illegal name (%%undefine)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:613
|
#: rpmio/macro.c:614
|
||||||
msgid "Macro %%%s (%s) was not used below level %d"
|
msgid "Macro %%%s (%s) was not used below level %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:710
|
#: rpmio/macro.c:711
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Unknown option %c in %s(%s)"
|
msgid "Unknown option %c in %s(%s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:890
|
#: rpmio/macro.c:891
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Recursion depth(%d) greater than max(%d)"
|
msgid "Recursion depth(%d) greater than max(%d)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:956 rpmio/macro.c:972
|
#: rpmio/macro.c:957 rpmio/macro.c:973
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Unterminated %c: %s"
|
msgid "Unterminated %c: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:1012
|
#: rpmio/macro.c:1013
|
||||||
msgid "A %% is followed by an unparseable macro"
|
msgid "A %% is followed by an unparseable macro"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:1138
|
#: rpmio/macro.c:1139
|
||||||
msgid "Macro %%%.*s not found, skipping"
|
msgid "Macro %%%.*s not found, skipping"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:1219
|
#: rpmio/macro.c:1220
|
||||||
msgid "Target buffer overflow"
|
msgid "Target buffer overflow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. XXX Fstrerror
|
#. XXX Fstrerror
|
||||||
#: rpmio/macro.c:1399 rpmio/macro.c:1405
|
#: rpmio/macro.c:1400 rpmio/macro.c:1406
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "File %s: %s"
|
msgid "File %s: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/macro.c:1408
|
#: rpmio/macro.c:1409
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "File %s is smaller than %d bytes"
|
msgid "File %s is smaller than %d bytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3909,37 +3909,37 @@ msgstr ""
|
||||||
msgid "memory alloc (%u bytes) returned NULL.\n"
|
msgid "memory alloc (%u bytes) returned NULL.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/url.c:87
|
#: rpmio/url.c:88
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "warning: u %p ctrl %p nrefs != 0 (%s %s)\n"
|
msgid "warning: u %p ctrl %p nrefs != 0 (%s %s)\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/url.c:104
|
#: rpmio/url.c:105
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "warning: u %p data %p nrefs != 0 (%s %s)\n"
|
msgid "warning: u %p data %p nrefs != 0 (%s %s)\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/url.c:131
|
#: rpmio/url.c:132
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "warning: uCache[%d] %p nrefs(%d) != 1 (%s %s)\n"
|
msgid "warning: uCache[%d] %p nrefs(%d) != 1 (%s %s)\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/url.c:217
|
#: rpmio/url.c:218
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Password for %s@%s: "
|
msgid "Password for %s@%s: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/url.c:242 rpmio/url.c:268
|
#: rpmio/url.c:243 rpmio/url.c:269
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "error: %sport must be a number\n"
|
msgid "error: %sport must be a number\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: rpmio/url.c:404
|
#: rpmio/url.c:405
|
||||||
msgid "url port must be a number\n"
|
msgid "url port must be a number\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. XXX Fstrerror
|
#. XXX Fstrerror
|
||||||
#: rpmio/url.c:461
|
#: rpmio/url.c:462
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "failed to create %s: %s\n"
|
msgid "failed to create %s: %s\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
2
rpm.spec
2
rpm.spec
|
@ -5,7 +5,7 @@ Summary: The Red Hat package management system.
|
||||||
Name: rpm
|
Name: rpm
|
||||||
%define version 4.0
|
%define version 4.0
|
||||||
Version: %{version}
|
Version: %{version}
|
||||||
Release: 0.34
|
Release: 0.35
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
Source: ftp://ftp.rpm.org/pub/rpm/dist/rpm-3.0.x/rpm-%{version}.tar.gz
|
Source: ftp://ftp.rpm.org/pub/rpm/dist/rpm-3.0.x/rpm-%{version}.tar.gz
|
||||||
Copyright: GPL
|
Copyright: GPL
|
||||||
|
|
|
@ -6,11 +6,12 @@ INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/build -I$(top_srcdir)/lib \
|
||||||
-I$(top_srcdir)/popt @INCPATH@
|
-I$(top_srcdir)/popt @INCPATH@
|
||||||
|
|
||||||
pkgincdir = $(pkgincludedir)
|
pkgincdir = $(pkgincludedir)
|
||||||
pkginc_HEADERS = rpmio.h rpmurl.h rpmmacro.h
|
pkginc_HEADERS = rpmio.h rpmurl.h rpmmacro.h rpmmessages.h rpmerr.h
|
||||||
noinst_HEADERS = rpmio_internal.h ugid.h
|
noinst_HEADERS = rpmio_internal.h ugid.h
|
||||||
|
|
||||||
lib_LTLIBRARIES = librpmio.la
|
lib_LTLIBRARIES = librpmio.la
|
||||||
librpmio_la_SOURCES = rpmio.c url.c macro.c ugid.c rpmmalloc.c rpmerr.c messages.c
|
librpmio_la_SOURCES = rpmrpc.c rpmio.c url.c macro.c \
|
||||||
|
ugid.c rpmmalloc.c rpmerr.c messages.c
|
||||||
librpmio_la_LDFLAGS = -L$(top_builddir)/popt/.libs -lpopt
|
librpmio_la_LDFLAGS = -L$(top_builddir)/popt/.libs -lpopt
|
||||||
librpmio_la_LIBADD = @LIBMISC@
|
librpmio_la_LIBADD = @LIBMISC@
|
||||||
|
|
||||||
|
|
|
@ -39,8 +39,9 @@ typedef FILE * FD_t;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#include <rpmlib.h>
|
|
||||||
#include <rpmio_internal.h>
|
#include <rpmio_internal.h>
|
||||||
|
#include <rpmmessages.h>
|
||||||
|
#include <rpmerr.h>
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
#include <rpmlib.h>
|
#include <rpmmessages.h>
|
||||||
|
|
||||||
static int minLevel = RPMMESS_NORMAL;
|
static int minLevel = RPMMESS_NORMAL;
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
#include <rpmlib.h>
|
#include <rpmerr.h>
|
||||||
|
|
||||||
static struct err {
|
static struct err {
|
||||||
int code;
|
int code;
|
||||||
|
|
|
@ -0,0 +1,84 @@
|
||||||
|
#ifndef H_RPMERR
|
||||||
|
#define H_RPMERR
|
||||||
|
|
||||||
|
#define RPMERR_GDBMOPEN -2 /* gdbm open failed */
|
||||||
|
#define RPMERR_GDBMREAD -3 /* gdbm read failed */
|
||||||
|
#define RPMERR_GDBMWRITE -4 /* gdbm write failed */
|
||||||
|
#define RPMERR_INTERNAL -5 /* internal RPM error */
|
||||||
|
#define RPMERR_DBCORRUPT -6 /* rpm database is corrupt */
|
||||||
|
#define RPMERR_OLDDBCORRUPT -7 /* old style rpm database is corrupt */
|
||||||
|
#define RPMERR_OLDDBMISSING -8 /* old style rpm database is missing */
|
||||||
|
#define RPMERR_NOCREATEDB -9 /* cannot create new database */
|
||||||
|
#define RPMERR_DBOPEN -10 /* database open failed */
|
||||||
|
#define RPMERR_DBGETINDEX -11 /* database get from index failed */
|
||||||
|
#define RPMERR_DBPUTINDEX -12 /* database get from index failed */
|
||||||
|
#define RPMERR_NEWPACKAGE -13 /* package is too new to handle */
|
||||||
|
#define RPMERR_BADMAGIC -14 /* bad magic for an RPM */
|
||||||
|
#define RPMERR_RENAME -15 /* rename(2) failed */
|
||||||
|
#define RPMERR_UNLINK -16 /* unlink(2) failed */
|
||||||
|
#define RPMERR_RMDIR -17 /* rmdir(2) failed */
|
||||||
|
#define RPMERR_PKGINSTALLED -18 /* package already installed */
|
||||||
|
#define RPMERR_CHOWN -19 /* chown() call failed */
|
||||||
|
#define RPMERR_NOUSER -20 /* user does not exist */
|
||||||
|
#define RPMERR_NOGROUP -21 /* group does not exist */
|
||||||
|
#define RPMERR_MKDIR -22 /* mkdir() call failed */
|
||||||
|
#define RPMERR_FILECONFLICT -23 /* file being installed exists */
|
||||||
|
#define RPMERR_RPMRC -24 /* bad line in rpmrc */
|
||||||
|
#define RPMERR_NOSPEC -25 /* .spec file is missing */
|
||||||
|
#define RPMERR_NOTSRPM -26 /* a source rpm was expected */
|
||||||
|
#define RPMERR_FLOCK -27 /* locking the database failed */
|
||||||
|
#define RPMERR_OLDPACKAGE -28 /* trying upgrading to old version */
|
||||||
|
/*#define RPMERR_BADARCH -29 bad architecture or arch mismatch */
|
||||||
|
#define RPMERR_CREATE -30 /* failed to create a file */
|
||||||
|
#define RPMERR_NOSPACE -31 /* out of disk space */
|
||||||
|
#define RPMERR_NORELOCATE -32 /* tried to do improper relocatation */
|
||||||
|
/*#define RPMERR_BADOS -33 bad architecture or arch mismatch */
|
||||||
|
#define RPMMESS_BACKUP -34 /* backup made during [un]install */
|
||||||
|
#define RPMERR_MTAB -35 /* failed to read mount table */
|
||||||
|
#define RPMERR_STAT -36 /* failed to stat something */
|
||||||
|
#define RPMERR_BADDEV -37 /* file on device not listed in mtab */
|
||||||
|
#define RPMMESS_ALTNAME -38 /* file written as .rpmnew */
|
||||||
|
#define RPMMESS_PREREQLOOP -39 /* loop in prerequisites */
|
||||||
|
#define RPMERR_BADRELOCATE -40 /* bad relocation was specified */
|
||||||
|
#define RPMERR_OLDDB -41 /* old format database */
|
||||||
|
|
||||||
|
/* spec.c build.c pack.c */
|
||||||
|
#define RPMERR_UNMATCHEDIF -107 /* unclosed %ifarch or %ifos */
|
||||||
|
#define RPMERR_BADARG -109
|
||||||
|
#define RPMERR_SCRIPT -110 /* errors related to script exec */
|
||||||
|
#define RPMERR_READERROR -111
|
||||||
|
#define RPMERR_UNKNOWNOS -112
|
||||||
|
#define RPMERR_UNKNOWNARCH -113
|
||||||
|
#define RPMERR_EXEC -114
|
||||||
|
#define RPMERR_FORK -115
|
||||||
|
#define RPMERR_CPIO -116
|
||||||
|
#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 */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef void (*rpmErrorCallBackType)(void);
|
||||||
|
|
||||||
|
#if defined(__GNUC__)
|
||||||
|
void rpmError(int code, char * format, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
|
||||||
|
#else
|
||||||
|
void rpmError(int code, char * format, ...);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int rpmErrorCode(void);
|
||||||
|
char *rpmErrorCodeString(void);
|
||||||
|
char *rpmErrorString(void);
|
||||||
|
rpmErrorCallBackType rpmErrorSetCallback(rpmErrorCallBackType);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* H_RPMERR */
|
1214
rpmio/rpmio.c
1214
rpmio/rpmio.c
File diff suppressed because it is too large
Load Diff
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
#include <rpmio.h>
|
#include <rpmio.h>
|
||||||
#include <rpmurl.h>
|
#include <rpmurl.h>
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
typedef struct _FDSTACK_s {
|
typedef struct _FDSTACK_s {
|
||||||
FDIO_t io;
|
FDIO_t io;
|
||||||
|
@ -56,9 +57,31 @@ struct _FD_s {
|
||||||
};
|
};
|
||||||
/*@access FD_t */
|
/*@access FD_t */
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#define FDSANE(fd) assert(fd && fd->magic == FDMAGIC)
|
#define FDSANE(fd) assert(fd && fd->magic == FDMAGIC)
|
||||||
|
|
||||||
|
extern int _rpmio_debug;
|
||||||
|
|
||||||
|
#define DBG(_f, _m, _x) \
|
||||||
|
if ((_rpmio_debug | ((_f) ? ((FD_t)(_f))->flags : 0)) & (_m)) fprintf _x
|
||||||
|
|
||||||
|
#define DBGIO(_f, _x) DBG((_f), RPMIO_DEBUG_IO, _x)
|
||||||
|
#define DBGREFS(_f, _x) DBG((_f), RPMIO_DEBUG_REFS, _x)
|
||||||
|
|
||||||
|
#define xfree(_p) free((void *)_p)
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int fdFgets(FD_t fd, char * buf, size_t len);
|
||||||
|
|
||||||
|
/*@null@*/ FD_t ftpOpen(const char *url, /*@unused@*/ int flags,
|
||||||
|
/*@unused@*/ mode_t mode, /*@out@*/ urlinfo *uret);
|
||||||
|
int ftpReq(FD_t data, const char * ftpCmd, const char * ftpArg);
|
||||||
|
int ftpCmd(const char * cmd, const char * url, const char * arg2);
|
||||||
|
|
||||||
|
int ufdClose( /*@only@*/ void * cookie);
|
||||||
|
|
||||||
static inline /*@null@*/ const FDIO_t fdGetIo(FD_t fd) {
|
static inline /*@null@*/ const FDIO_t fdGetIo(FD_t fd) {
|
||||||
FDSANE(fd);
|
FDSANE(fd);
|
||||||
return fd->fps[fd->nfps].io;
|
return fd->fps[fd->nfps].io;
|
||||||
|
@ -241,4 +264,8 @@ static inline void fadSetFirstFree(FD_t fd, unsigned int firstFree) {
|
||||||
fd->firstFree = firstFree;
|
fd->firstFree = firstFree;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* H_RPMIO_INTERNAL */
|
#endif /* H_RPMIO_INTERNAL */
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
#ifndef H_RPMMESSAGES
|
||||||
|
#define H_RPMMESSAGES
|
||||||
|
|
||||||
|
#define RPMMESS_DEBUG 1
|
||||||
|
#define RPMMESS_VERBOSE 2
|
||||||
|
#define RPMMESS_NORMAL 3
|
||||||
|
#define RPMMESS_WARNING 4
|
||||||
|
#define RPMMESS_ERROR 5
|
||||||
|
#define RPMMESS_FATALERROR 6
|
||||||
|
|
||||||
|
#define RPMMESS_QUIET (RPMMESS_NORMAL + 1)
|
||||||
|
|
||||||
|
typedef enum rpmCallbackType_e {
|
||||||
|
RPMCALLBACK_INST_PROGRESS, RPMCALLBACK_INST_START,
|
||||||
|
RPMCALLBACK_INST_OPEN_FILE, RPMCALLBACK_INST_CLOSE_FILE,
|
||||||
|
RPMCALLBACK_TRANS_PROGRESS, RPMCALLBACK_TRANS_START, RPMCALLBACK_TRANS_STOP,
|
||||||
|
RPMCALLBACK_UNINST_PROGRESS, RPMCALLBACK_UNINST_START, RPMCALLBACK_UNINST_STOP
|
||||||
|
} rpmCallbackType;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef void * (*rpmCallbackFunction)(const void * h,
|
||||||
|
const rpmCallbackType what,
|
||||||
|
const unsigned long amount,
|
||||||
|
const unsigned long total,
|
||||||
|
const void * pkgKey, void * data);
|
||||||
|
|
||||||
|
void urlSetCallback(rpmCallbackFunction notify, void *notifyData, int notifyCount);
|
||||||
|
|
||||||
|
void rpmIncreaseVerbosity(void);
|
||||||
|
void rpmSetVerbosity(int level);
|
||||||
|
int rpmGetVerbosity(void);
|
||||||
|
int rpmIsVerbose(void);
|
||||||
|
int rpmIsDebug(void);
|
||||||
|
void rpmMessage(int level, const char * format, ...);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* H_RPMMESSAGES */
|
File diff suppressed because it is too large
Load Diff
35
rpmio/url.c
35
rpmio/url.c
|
@ -9,7 +9,8 @@
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#endif /* __LCLINT__ */
|
#endif /* __LCLINT__ */
|
||||||
|
|
||||||
#include <rpmbuild.h>
|
#include <rpmmacro.h>
|
||||||
|
#include <rpmmessages.h>
|
||||||
#include <rpmio_internal.h>
|
#include <rpmio_internal.h>
|
||||||
|
|
||||||
#ifndef IPPORT_FTP
|
#ifndef IPPORT_FTP
|
||||||
|
@ -28,10 +29,10 @@ int url_iobuf_size = URL_IOBUF_SIZE;
|
||||||
#define RPMURL_DEBUG_REFS 0x20000000
|
#define RPMURL_DEBUG_REFS 0x20000000
|
||||||
|
|
||||||
int _url_debug = 0;
|
int _url_debug = 0;
|
||||||
#define DBG(_f, _m, _x) if ((_url_debug | (_f)) & (_m)) fprintf _x
|
#define URLDBG(_f, _m, _x) if ((_url_debug | (_f)) & (_m)) fprintf _x
|
||||||
|
|
||||||
#define DBGIO(_f, _x) DBG((_f), RPMURL_DEBUG_IO, _x)
|
#define URLDBGIO(_f, _x) URLDBG((_f), RPMURL_DEBUG_IO, _x)
|
||||||
#define DBGREFS(_f, _x) DBG((_f), RPMURL_DEBUG_REFS, _x)
|
#define URLDBGREFS(_f, _x) URLDBG((_f), RPMURL_DEBUG_REFS, _x)
|
||||||
|
|
||||||
/*@only@*/ /*@null@*/ static urlinfo *uCache = NULL;
|
/*@only@*/ /*@null@*/ static urlinfo *uCache = NULL;
|
||||||
static int uCount = 0;
|
static int uCount = 0;
|
||||||
|
@ -40,7 +41,7 @@ urlinfo XurlLink(urlinfo u, const char *msg, const char *file, unsigned line)
|
||||||
{
|
{
|
||||||
URLSANE(u);
|
URLSANE(u);
|
||||||
u->nrefs++;
|
u->nrefs++;
|
||||||
DBGREFS(0, (stderr, "--> url %p ++ %d %s at %s:%u\n", u, u->nrefs, msg, file, line));
|
URLDBGREFS(0, (stderr, "--> url %p ++ %d %s at %s:%u\n", u, u->nrefs, msg, file, line));
|
||||||
return u;
|
return u;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,7 +68,7 @@ urlinfo XurlNew(const char *msg, const char *file, unsigned line)
|
||||||
urlinfo XurlFree(urlinfo u, const char *msg, const char *file, unsigned line)
|
urlinfo XurlFree(urlinfo u, const char *msg, const char *file, unsigned line)
|
||||||
{
|
{
|
||||||
URLSANE(u);
|
URLSANE(u);
|
||||||
DBGREFS(0, (stderr, "--> url %p -- %d %s at %s:%u\n", u, u->nrefs, msg, file, line));
|
URLDBGREFS(0, (stderr, "--> url %p -- %d %s at %s:%u\n", u, u->nrefs, msg, file, line));
|
||||||
if (--u->nrefs > 0)
|
if (--u->nrefs > 0)
|
||||||
return u;
|
return u;
|
||||||
if (u->ctrl) {
|
if (u->ctrl) {
|
||||||
|
@ -108,16 +109,16 @@ DBGREFS(0, (stderr, "--> url %p -- %d %s at %s:%u\n", u, u->nrefs, msg, file, li
|
||||||
free(u->buf);
|
free(u->buf);
|
||||||
u->buf = NULL;
|
u->buf = NULL;
|
||||||
}
|
}
|
||||||
FREE(u->url);
|
if (u->url) xfree(u->url);
|
||||||
FREE(u->service);
|
if (u->service) xfree(u->service);
|
||||||
FREE(u->user);
|
if (u->user) xfree(u->user);
|
||||||
FREE(u->password);
|
if (u->password) xfree(u->password);
|
||||||
FREE(u->host);
|
if (u->host) xfree(u->host);
|
||||||
FREE(u->portstr);
|
if (u->portstr) xfree(u->portstr);
|
||||||
FREE(u->proxyu);
|
if (u->proxyu) xfree(u->proxyu);
|
||||||
FREE(u->proxyh);
|
if (u->proxyh) xfree(u->proxyh);
|
||||||
|
|
||||||
/*@-refcounttrans@*/ FREE(u); /*@-refcounttrans@*/
|
/*@-refcounttrans@*/ xfree(u); /*@-refcounttrans@*/
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -206,7 +207,7 @@ static void urlFind(urlinfo *uret, int mustAsk)
|
||||||
|
|
||||||
/* Zap proxy host and port in case they have been reset */
|
/* Zap proxy host and port in case they have been reset */
|
||||||
u->proxyp = -1;
|
u->proxyp = -1;
|
||||||
FREE(u->proxyh);
|
if (u->proxyh) xfree(u->proxyh);
|
||||||
|
|
||||||
/* Perform one-time FTP initialization */
|
/* Perform one-time FTP initialization */
|
||||||
if (u->urltype == URL_IS_FTP) {
|
if (u->urltype == URL_IS_FTP) {
|
||||||
|
@ -215,7 +216,7 @@ static void urlFind(urlinfo *uret, int mustAsk)
|
||||||
char * prompt;
|
char * prompt;
|
||||||
prompt = alloca(strlen(u->host) + strlen(u->user) + 256);
|
prompt = alloca(strlen(u->host) + strlen(u->user) + 256);
|
||||||
sprintf(prompt, _("Password for %s@%s: "), u->user, u->host);
|
sprintf(prompt, _("Password for %s@%s: "), u->user, u->host);
|
||||||
FREE(u->password);
|
if (u->password) xfree(u->password);
|
||||||
u->password = xstrdup( /*@-unrecog@*/ getpass(prompt) /*@=unrecog@*/ );
|
u->password = xstrdup( /*@-unrecog@*/ getpass(prompt) /*@=unrecog@*/ );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue