Commit Graph

65 Commits

Author SHA1 Message Date
Panu Matilainen ef75cadf03 Pass and remember the controlling psm (if any) in fsm 2012-01-05 16:05:10 +02:00
Panu Matilainen 89c2fd9f51 Rip the stillborn, broken apply/commit transaction goo
- This was beginnings of something ten years ago, and that something
  was long since abandoned. These never did anything useful
  that --justdb/--noscripts wouldn't do.
2010-12-20 11:38:21 +02:00
Panu Matilainen 2fb15a5443 Stop abusing enum typedefs for bitfield types
- Enums are fine for defining the bitfield flags, but the bitfield
  itself is not an enumeration. Add a separate typedef on "rpmFlags"
  type (presenting a bitfield of flags) for all of these. Compilers
  hardly care, but the typedefs give a nice visual clue for
  us humans using these flags far away from ho^H^H definitions.
2010-09-21 11:10:14 +03:00
Panu Matilainen a795c69c20 Eliminate unused no-op FSM_CHROOT stage
- the fsm thingie doesn't need to deal with chroot issues: except for
  build where it doesn't matter, its only called from psm where the
  chroot is already taken care of
2010-05-31 13:29:43 +03:00
Panu Matilainen 6109d6388e Remove libcap stuff out of system.h
- just a few places need, avoid polluting everything with it
- make fsm->fcaps void * to avoid having to deal with fcap_t not defined
2010-01-05 13:29:52 +02:00
Panu Matilainen 0d4a9d13cb Remove bogus const from fsm [o]path members and use of _constfree()
- in reality the paths point to allocated memory at all times
2009-12-16 09:43:55 +02:00
Panu Matilainen bdfb54bd23 Remove cpio stuff from FD_t
- only the FSM cares about cpio position, move it there - there's only
  ever one fd active inside FSM, no need to track it per-fd
2009-10-14 17:03:14 +03:00
Jindrich Novy 7acdfded4a Add md5->filedigest aliases (rhbz#487597)
- add %verify(nofiledigest) as %verify(nomd5) file attribute alias
- reference digests as digests not checksums
- make old md5 related symbols obsolete and use newer reference
- update man page accordingly
2009-02-27 14:34:39 +01:00
Panu Matilainen 610347de6e Pass rpmte to fsmSetup()
- fsm needs the transaction element for progress notification and
  element type anyway
2008-11-27 09:25:12 +02:00
Panu Matilainen 54b683d2f3 Remove bogus consts from fsmSetup() args
- rpmfi is messed with (at least file actions)
- const on typedef'ed type doesn't mean a thing anyhow
2008-11-27 09:25:12 +02:00
Panu Matilainen 36d4908efe Use matching type for fsm->digest to avoid unnecessary cast 2008-11-19 15:46:02 +02:00
Panu Matilainen 2d5b4e3bac Lose useless fsm/rpmfi astriplen field
- only "used" for debugging output, duh...
2008-11-15 13:22:19 +02:00
Panu Matilainen ed9836dfba Remove unused fsm subbuf field 2008-11-12 21:58:56 +02:00
Panu Matilainen fbc06059cb Cpio flags are only relevant for fsm, get them out of rpmfi 2008-11-11 20:48:35 +02:00
Panu Matilainen 8e3b5bfc89 Push archivePos from rpmfi to fsm
- archive position is only meaningful in fsm context anyway
2008-11-11 18:16:22 +02:00
Panu Matilainen 97ab15cc9e Add fsm and rpmfi machinery for file capabilities
- new rpmfiFCaps() API to retrieve the info from rpmfi set
- fsm internals quite similar to selinux handling
- plenty of #ifdef's, another possibility would be adding cap_foo dummies to
  system.h like for selinux
2008-10-29 11:49:38 +02:00
Panu Matilainen 7681f80e25 Mark various fsm* bits internal
- build code uses fsmSetup() and fsmTearDown(), those need to remain
  visible for now
2008-10-09 15:35:36 +03:00
Panu Matilainen 2093f7cceb Plug leaks in selinux context handling in fsm 2008-07-03 17:14:45 +03:00
Panu Matilainen 161395648f Use 64bit type internally for package archive size & offset
- cpio "new" ascii format limits individual files to UINT32_MAX, no such
  limit on the entire archive though
- RPMSIGTAG_PAYLOADSIZE is 32bit type atm, assert that the archive size
  fits to UINT32_MAX despite internal presentation being larger
- FD_t limits the real archive to rpm_off_t still
2008-06-09 12:29:07 +03:00
Panu Matilainen 09d8cbafff Unexport file state machine internals
- fsmGetTs(), fsmGetFi(), fileStageString(), fileActionString(),
  fsmMapPath(), fsmMapAttrs() and fsmStage() aren't needed outside fsm,
  make 'em static to avoid leaking to symbol space
2008-06-03 14:26:34 +03:00
Panu Matilainen ae5667cf06 Lose unused fdigests array from rpmfi struct
- only used in rpmfiNew() where it's converted to binary from the header
  hex presentation and free'd immediately, a local variable will do just as
  well
- some useless references in fsm and psm, kill'em too
2008-06-02 09:50:48 +03:00
Panu Matilainen 4aa7ab6422 Teach fsm internals to honor rpmfi digest type 2008-06-02 09:50:48 +03:00
Panu Matilainen f771b641d3 Rename rpmfi and fsm checksum md5-sum fields to refer to digest
- no functional changes
- groundwork for supporting other than md5 checksums
2008-06-02 09:50:48 +03:00
Panu Matilainen e886043a10 Add rpm_off_t type for file size types, use where spotted
- preliminaries for bumping up the max size, use rpm-specific type
  as off_t size varies, header data needs fixed size
2008-02-04 11:27:00 +02:00
Panu Matilainen 8bdd462b50 Make fsm failedFile non-const like it really is
- callers need to free it so const is wrong
- cast away the hardlink-hackery in fsm instead
2007-12-18 10:10:03 +02:00
Panu Matilainen 6966c5d8ac Stick cpioMapFlags to fsm.h, they're only used by fsm.c
- allows FSM* typedefs to move to where they belong
2007-12-17 13:39:14 +02:00
Panu Matilainen 8268570f48 Hide fsmIterator_s struct details, not needed outside fsm.c 2007-12-17 13:20:05 +02:00
Panu Matilainen c3353c2af4 Stuff hardLink_s inside fsm.c, add pointer typedef to fsm.h
- nothing outside fsm.c needs except for the declaration in fsm_s
2007-12-17 13:15:53 +02:00
Panu Matilainen 9ce13e09ef Switch to <rpm/foo.h> style for public headers
- adjust include paths accordingly
2007-12-08 14:02:32 +02:00
Panu Matilainen 361a8e697b Move file action enums to rpmfi where they logically belong 2007-12-02 22:50:55 +02:00
Ralf Corsépius 60939d6985 Expand private include file names to be relative to $(top_srcdir) 2007-11-23 11:39:29 +01:00
Panu Matilainen c0149602a6 Rename public fileAction* type to rpmFileAction for namespacing 2007-09-20 16:19:25 +03:00
Ralf Corsépius ebef4f211c Remove splint tags. 2007-09-11 19:07:39 +02:00
Panu Matilainen 049674696d Remove const type-qualifiers from function return types everywhere.
They're meaningless in C and cause tonne of build warnings.
2007-07-10 12:15:43 +03:00
jbj 210183cc69 Add lsetfilecon to install modes.
CVS patchset: 7006
CVS date: 2003/12/25 23:00:44
2003-12-25 23:00:44 +00:00
jbj 9c5529608e - don't use error string after gzclose (Dmitry V. Levin).
Spliddles for rpmio, drill h_errno all the way through.

CVS patchset: 6826
CVS date: 2003/05/08 20:39:29
2003-05-08 20:39:29 +00:00
jbj 95f01d39a5 Splint clean.
CVS patchset: 6729
CVS date: 2003/04/02 21:16:26
2003-04-02 21:16:26 +00:00
jbj 97ec1053c9 - unify signal handling in librpmio, use condvar to deliver signal.
CVS patchset: 6707
CVS date: 2003/03/19 16:05:49
2003-03-19 16:05:49 +00:00
jbj 6cb657b9d2 Sanity.
CVS patchset: 6705
CVS date: 2003/03/19 03:00:02
2003-03-19 03:00:02 +00:00
jbj 7e716b70fb splint fiddles.
CVS patchset: 6023
CVS date: 2003/01/23 20:23:24
2003-01-23 20:23:24 +00:00
jbj ae8428475c - add --with-efence to configure, check install/upgrade with efence.
- beecrypt: short hex string conversion overflows target buffer.
- mark "successors only" packages in transaction.
- reap scriptlets with SIGCHLD handler.
- rename PSM_t to rpmpsm, add methods and refcounts to manage.
- remove %%configure/%%makeinstall from arch-os/macros, default is OK.
- don't export MALLOC_CHECK_ to scriptlets.
- squeaky clean memory leak checking.
- always malloc rpmfi structure, refcounts are correct in rpmtsRun().
- skip redundant /sbin/ldconfig scripts on upgrade (if possible).

CVS patchset: 5645
CVS date: 2002/08/19 22:27:44
2002-08-19 22:27:44 +00:00
jbj 241fad1287 Propagate splint-3.0.1.7 close(2) internalState annotation throughout.
CVS patchset: 5542
CVS date: 2002/07/08 14:21:26
2002-07-08 14:21:26 +00:00
jbj db4e72211e Sanity.
CVS patchset: 5477
CVS date: 2002/06/09 22:15:16
2002-06-09 22:15:16 +00:00
jbj 2126e4ad09 - Grand Renaming of rpm data types.
CVS patchset: 5439
CVS date: 2002/05/19 18:42:25
2002-05-19 18:42:25 +00:00
jbj b45c27e2ab doxygen cleanup.
CVS patchset: 5379
CVS date: 2002/04/08 18:56:01
2002-04-08 18:56:01 +00:00
jbj 3e0d0877ff - permit subset installs for %lang colored hardlink file sets.
CVS patchset: 5252
CVS date: 2002/01/11 23:03:22
2002-01-11 23:03:22 +00:00
jbj a3b362c466 - solaris: translate i86pc to i386 (#57182).
- fix: %GNUconfigure breaks with single quotes (#57264).
- fix: typo in find-requires.
- tru64 compiler message cleanup.
- add buildarch lines for hppa (#57728).

CVS patchset: 5228
CVS date: 2001/12/20 16:28:46
2001-12-20 16:28:46 +00:00
jbj ceed8357c7 - convert file md5sum's to binary on the fly, reducing memory footprint.
CVS patchset: 5192
CVS date: 2001/11/18 17:49:21
2001-11-18 17:49:21 +00:00
jbj 966fabbc44 - memory indices for dependency check are typedef'd and abstract'd.
- no-brainer refcounts for fi object, debug the mess.
- dump the header early in transaction, recreate fi before installing.

CVS patchset: 5137
CVS date: 2001/10/28 22:17:47
2001-10-28 22:17:47 +00:00
jbj c1d367a094 - transaction sets cerated in cli main.
- no-brainer refcounts for ts object.

CVS patchset: 5136
CVS date: 2001/10/27 22:31:10
2001-10-27 22:31:10 +00:00