Move internal stuff from fsm.h to fsm.c
Reduce fileStage to the three "goal" stages
This commit is contained in:
parent
84867c8784
commit
b4486175f3
29
lib/fsm.c
29
lib/fsm.c
|
@ -27,12 +27,41 @@
|
|||
#include "lib/rpmte_internal.h" /* XXX rpmfs */
|
||||
#include "lib/rpmts_internal.h" /* rpmtsSELabelFoo() only */
|
||||
#include "lib/rpmug.h"
|
||||
#include "lib/cpio.h"
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
#define _FSM_DEBUG 0
|
||||
int _fsm_debug = _FSM_DEBUG;
|
||||
|
||||
extern int _fsm_debug;
|
||||
|
||||
/** \ingroup payload
|
||||
*/
|
||||
enum cpioMapFlags_e {
|
||||
CPIO_MAP_PATH = (1 << 0),
|
||||
CPIO_MAP_MODE = (1 << 1),
|
||||
CPIO_MAP_UID = (1 << 2),
|
||||
CPIO_MAP_GID = (1 << 3),
|
||||
CPIO_FOLLOW_SYMLINKS= (1 << 4), /*!< only for building. */
|
||||
CPIO_MAP_ABSOLUTE = (1 << 5),
|
||||
CPIO_MAP_ADDDOT = (1 << 6),
|
||||
CPIO_MAP_TYPE = (1 << 8), /*!< only for building. */
|
||||
CPIO_SBIT_CHECK = (1 << 9)
|
||||
};
|
||||
typedef rpmFlags cpioMapFlags;
|
||||
|
||||
typedef struct fsmIterator_s * FSMI_t;
|
||||
typedef struct fsm_s * FSM_t;
|
||||
|
||||
typedef struct hardLink_s * hardLink_t;
|
||||
|
||||
typedef enum fileStage_e {
|
||||
FSM_PKGINSTALL,
|
||||
FSM_PKGERASE,
|
||||
FSM_PKGBUILD,
|
||||
} fileStage;
|
||||
|
||||
/* XXX Failure to remove is not (yet) cause for failure. */
|
||||
static int strict_erasures = 0;
|
||||
|
||||
|
|
95
lib/fsm.h
95
lib/fsm.h
|
@ -7,104 +7,13 @@
|
|||
*/
|
||||
|
||||
#include <rpm/rpmfi.h>
|
||||
#include "cpio.h"
|
||||
|
||||
extern int _fsm_debug;
|
||||
|
||||
/**
|
||||
*/
|
||||
#define FSM_VERBOSE 0x8000
|
||||
#define FSM_INTERNAL 0x4000
|
||||
#define FSM_SYSCALL 0x2000
|
||||
#define FSM_DEAD 0x1000
|
||||
|
||||
#define _fv(_a) ((_a) | FSM_VERBOSE)
|
||||
#define _fi(_a) ((_a) | FSM_INTERNAL)
|
||||
#define _fs(_a) ((_a) | (FSM_INTERNAL | FSM_SYSCALL))
|
||||
#define _fd(_a) ((_a) | (FSM_INTERNAL | FSM_DEAD))
|
||||
|
||||
typedef enum fileStage_e {
|
||||
FSM_UNKNOWN = 0,
|
||||
FSM_INIT = _fd(1),
|
||||
FSM_PRE = _fd(2),
|
||||
FSM_PROCESS = _fv(3),
|
||||
FSM_POST = _fd(4),
|
||||
FSM_UNDO = 5,
|
||||
FSM_FINI = 6,
|
||||
|
||||
FSM_PKGINSTALL = _fd(7),
|
||||
FSM_PKGERASE = _fd(8),
|
||||
FSM_PKGBUILD = _fd(9),
|
||||
FSM_PKGUNDO = _fd(11),
|
||||
|
||||
FSM_CREATE = _fd(17),
|
||||
FSM_MAP = _fd(18),
|
||||
FSM_MKDIRS = _fi(19),
|
||||
FSM_RMDIRS = _fi(20),
|
||||
FSM_MKLINKS = _fi(21),
|
||||
FSM_NOTIFY = _fd(22),
|
||||
FSM_DESTROY = _fd(23),
|
||||
FSM_VERIFY = _fd(24),
|
||||
FSM_COMMIT = _fd(25),
|
||||
|
||||
FSM_UNLINK = _fs(33),
|
||||
FSM_RENAME = _fs(34),
|
||||
FSM_MKDIR = _fs(35),
|
||||
FSM_RMDIR = _fs(36),
|
||||
FSM_LSETFCON= _fs(39),
|
||||
FSM_CHOWN = _fs(40),
|
||||
FSM_LCHOWN = _fs(41),
|
||||
FSM_CHMOD = _fs(42),
|
||||
FSM_UTIME = _fs(43),
|
||||
FSM_SYMLINK = _fs(44),
|
||||
FSM_LINK = _fs(45),
|
||||
FSM_MKFIFO = _fs(46),
|
||||
FSM_MKNOD = _fs(47),
|
||||
FSM_LSTAT = _fs(48),
|
||||
FSM_STAT = _fs(49),
|
||||
FSM_READLINK= _fs(50),
|
||||
FSM_SETCAP = _fs(52),
|
||||
|
||||
FSM_NEXT = _fd(65),
|
||||
FSM_EAT = _fd(66),
|
||||
FSM_POS = _fd(67),
|
||||
FSM_PAD = _fd(68),
|
||||
FSM_TRAILER = _fd(69),
|
||||
FSM_HREAD = _fd(70),
|
||||
FSM_HWRITE = _fd(71),
|
||||
FSM_DREAD = _fs(72),
|
||||
FSM_DWRITE = _fs(73),
|
||||
} fileStage;
|
||||
#undef _fv
|
||||
#undef _fi
|
||||
#undef _fs
|
||||
#undef _fd
|
||||
|
||||
/** \ingroup payload
|
||||
*/
|
||||
enum cpioMapFlags_e {
|
||||
CPIO_MAP_PATH = (1 << 0),
|
||||
CPIO_MAP_MODE = (1 << 1),
|
||||
CPIO_MAP_UID = (1 << 2),
|
||||
CPIO_MAP_GID = (1 << 3),
|
||||
CPIO_FOLLOW_SYMLINKS= (1 << 4), /*!< only for building. */
|
||||
CPIO_MAP_ABSOLUTE = (1 << 5),
|
||||
CPIO_MAP_ADDDOT = (1 << 6),
|
||||
CPIO_MAP_TYPE = (1 << 8), /*!< only for building. */
|
||||
CPIO_SBIT_CHECK = (1 << 9)
|
||||
};
|
||||
typedef rpmFlags cpioMapFlags;
|
||||
|
||||
typedef struct fsmIterator_s * FSMI_t;
|
||||
typedef struct fsm_s * FSM_t;
|
||||
typedef struct rpmpsm_s * rpmpsm;
|
||||
|
||||
typedef struct hardLink_s * hardLink_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct rpmpsm_s * rpmpsm;
|
||||
|
||||
/**
|
||||
* Execute a file actions for package
|
||||
* @param ts transaction set
|
||||
|
|
Loading…
Reference in New Issue