Steve Lawrence
2fd0913a6a
Add common Collection requirements
...
This patch adds the install-time feature that if a package requires a package
in a collection, then it also requires all other packages in that collection.
This has the effect that collections will be roughly grouped together during a
transaction.
Although this is not absolutely necessary for the majority of collections, it
is required for the SELinux collection. This is because all SELinux policies
must be installed before the applications they secure to ensure correct labels.
This means we must ensure packages in the selinux collection are ordered
earlier in the transaction than all applications they protect. Adding this
implicit runtime requirements achieves this in a general manner, without major
modifications to dependency ordering.
To accomplish this, this patch splits the addRelation function into two parts:
one that determines which relations to add, and one that actually adds them.
After the usual relation is added between two packages, it then determines if
the required package contains any collections. If so, it finds all other
packages that are in the same collections and creates additional relations.
2010-06-22 11:12:43 +03:00
Panu Matilainen
03576e6f9f
Lose leftovers from former rpmal implementation
2010-03-18 23:21:01 +02:00
Panu Matilainen
e79cf036af
rpmalAdd() prototype cosmetics
2010-03-18 20:10:26 +02:00
Panu Matilainen
c1a677e839
Lazy rpmal hash creation on first lookup, make rpmalMakeIndex() static
...
- the "new" hash-based rpmal only uses rpmalMakeIndex() for initial
creation of the hash tables as late as possible for better estimate
of needed hash size, but doesn't require any index regeneration if something
is added
- first call to rpmalSatisfiedDepend() now initializes the hashes, if
significant amount of entries are added after the first call hash
table might get full ... so dont do that ;) (this was already true
with rpmalMakeIndex(), now its just hidden out of sight)
2010-03-18 19:58:39 +02:00
Panu Matilainen
ec1e622307
Make rpmalAllFileSatisfiesDepend() and rpmalAllSatisfiesDepend() static
...
- rpmtsCheck() only wants yes/no answers from rpmal, and ordering
wants the best provider, rpmalSatisfiesDepend() works for both
- update comments
2010-03-18 19:49:25 +02:00
Panu Matilainen
31f0d94df1
Add preferred color to rpmal
2009-06-11 17:16:03 +03:00
Panu Matilainen
26ac9b3d94
Make rpmal header & all internal
...
- rpmal is hardly useful outside rpm itself, avoid exporting stuff
unnecessarily
2009-04-03 13:07:42 +03:00
Florian Festi
3a6f3133a1
Reimplement rpmal by using hashes and cleaning up the color handling
2009-03-26 12:20:26 +01:00
Florian Festi
3e37044eb9
Make rpmal store rpmtes and kill rpmte->pkgKey
2009-03-26 12:15:27 +01:00
Panu Matilainen
630a5a4c1a
Add rpm_color_t type for rpm color bits, use where spotted
2008-02-05 12:12:31 +02:00
Panu Matilainen
458bf3b208
Remove bunch of unnecessary rpmlib.h includes
...
- replace with rpmtypes.h where needed
2008-01-30 11:49:25 +02:00
Panu Matilainen
8f4000b00b
Move rpmalKey and rpmal to rpmtypes
2008-01-30 10:57:15 +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
fc53d307ad
Add separate public header for callback declarations
...
- rpmmessages is empty, lose it
- adjust includes
2007-12-01 10:08:13 +02:00
Ralf Corsépius
abeea80a38
Use #include <x.h> syntax to include public headers.
2007-11-23 06:46:19 +01:00
Ralf Corsépius
bebeb89735
Eliminate [u|]int_[8|16|32]. Use c99 stdint.h types instead.
2007-10-26 13:24:14 +02:00
Ralf Corsépius
9e1a6a395f
Make headers self-contained.
2007-10-08 11:03:57 +02:00
Ralf Corsépius
d6ffa9891f
'Adjust extern C {} blocks.'
2007-10-08 10:05:06 +02:00
Panu Matilainen
7e5099e52f
Rename alKey & alNum to rpmal* for namespacing
...
Also move it out of rpmlib.h, nothing needs it there...
2007-09-21 15:17:08 +03:00
Ralf Corsépius
ebef4f211c
Remove splint tags.
2007-09-11 19:07:39 +02:00
jbj
39cbc98d69
1st crack at colored installs.
...
CVS patchset: 5989
CVS date: 2002/12/31 01:23:03
2002-12-31 01:23:03 +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
261b4a2ecb
- install rpmal.h and rpmhash.h, implicit rpmps.hinclude, for now.
...
- revert headerFree/headerLink/headerUnlink debugging.
CVS patchset: 5550
CVS date: 2002/07/13 19:08:51
2002-07-13 19:08:51 +00:00
jbj
05cb73a7ee
Factor bounds checking annotations into source code.
...
CVS patchset: 5521
CVS date: 2002/06/22 18:51:56
2002-06-22 18:51:56 +00:00
jbj
8d1ff9feac
Lclint fiddles.
...
CVS patchset: 5468
CVS date: 2002/06/05 22:07:55
2002-06-05 22:07:55 +00:00
jbj
259bb824cc
Add rpmal bindings, Grand Renaming to rpmalFoo().
...
CVS patchset: 5450
CVS date: 2002/05/27 18:12:12
2002-05-27 18:12:12 +00:00
jbj
386882db7a
- fix: synthesize unpacking progress callbacks for packages w/o files.
...
CVS patchset: 5440
CVS date: 2002/05/19 23:37:24
2002-05-19 23:37:24 +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
46bbc20b32
- use rpmdb-redhat to suggest dependency resolution(s).
...
CVS patchset: 5401
CVS date: 2002/04/13 01:28:20
2002-04-13 01:28:20 +00:00
jbj
2404e8d918
- rescusitate --rebuild.
...
CVS patchset: 5389
CVS date: 2002/04/11 16:55:19
2002-04-11 16:55:19 +00:00
jbj
21a35690b3
- commit to using rpmDepSet and TFI_t, not header.
...
- lclint rpmio fiddles.
CVS patchset: 5177
CVS date: 2001/11/12 20:51:05
2001-11-12 20:51:05 +00:00
jbj
55ffccbdde
- unify rpmFNSet into TFI_t.
...
- eliminate header reference in rpmtransAddPackage, use TFI_t data.
CVS patchset: 5176
CVS date: 2001/11/11 22:51:00
2001-11-11 22:51:00 +00:00
jbj
7ea4943276
Iterate over TR_REMOVED transactionElement stripped data, don't hit rpmdb.
...
CVS patchset: 5171
CVS date: 2001/11/11 02:50:31
2001-11-11 02:50:31 +00:00
jbj
8d08d4a43b
Rip headers out of addedPackages.
...
CVS patchset: 5170
CVS date: 2001/11/11 01:46:43
2001-11-11 01:46:43 +00:00
jbj
a086ad7dd1
Start removing alGetHeader.
...
CVS patchset: 5168
CVS date: 2001/11/10 19:24:19
2001-11-10 19:24:19 +00:00
jbj
431499aeca
- strip header tags for erased as well as installed transactionElements.
...
CVS patchset: 5167
CVS date: 2001/11/10 01:39:50
2001-11-10 01:39:50 +00:00
jbj
eb1789dad7
- no-brainer refcounts for rpmDepSet and rpmFNSet objects.
...
CVS patchset: 5166
CVS date: 2001/11/09 23:13:50
2001-11-09 23:13:50 +00:00
jbj
56a319f1aa
- header tag sets are per-transactionElement, not per-availablePackage.
...
CVS patchset: 5165
CVS date: 2001/11/09 20:41:18
2001-11-09 20:41:18 +00:00
jbj
ae2e9b1bad
- linear search on added package provides is dumb.
...
- discarding entire signature header when using --addsign is dumb.
- typedef the fuile name/python object "key" throughout as fnpyKey.
- start ripping rpmDependencyConflict out of the API.
CVS patchset: 5160
CVS date: 2001/11/08 00:12:49
2001-11-08 00:12:49 +00:00
jbj
e680cce3e8
- fix: harmless typo in db3 chroot hack.
...
- fix: big-endian's with sizeof(time_t) != sizeof(int_32) mtime broken.
- fix: add Korean message catalogs (#54473 ).
- add RPHNPLATFORM and PLATFORM tags.
- linear search on added package provides is dumb.
- discarding entire signature header when using --addsign is dumb.
CVS patchset: 5159
CVS date: 2001/11/06 22:46:26
2001-11-06 22:46:26 +00:00
jbj
0724785fb3
Start merging file info into dependency set.
...
CVS patchset: 5157
CVS date: 2001/11/05 14:09:22
2001-11-05 14:09:22 +00:00
jbj
a5a5eed7c4
Start deconstructing availablePackage list.
...
CVS patchset: 5156
CVS date: 2001/11/05 03:44:05
2001-11-05 03:44:05 +00:00
jbj
37a303a3a7
- rpmal: availablePackage is totally opaque, alKey with index replaces.
...
CVS patchset: 5155
CVS date: 2001/11/04 22:00:11
2001-11-04 22:00:11 +00:00
jbj
358848088d
- depends.c: rpmDepSet is (almost) opaque, move to rpmds.[ch].
...
CVS patchset: 5152
CVS date: 2001/11/03 02:34:15
2001-11-03 02:34:15 +00:00
jbj
b9520f3a94
- create toy rpmDepSet iterators.
...
CVS patchset: 5150
CVS date: 2001/11/02 21:01:25
2001-11-02 21:01:25 +00:00
jbj
973638fdc2
- create rpmDepSet constructors/destructors.
...
CVS patchset: 5149
CVS date: 2001/11/02 05:36:48
2001-11-02 05:36:48 +00:00
jbj
b0e16172c3
- depends.c: availablePackage is (almost) opaque.
...
CVS patchset: 5147
CVS date: 2001/11/01 23:18:15
2001-11-01 23:18:15 +00:00
jbj
df89c3d200
Do tsort on transactionElement's, not availaiblePackage's.
...
CVS patchset: 5145
CVS date: 2001/10/31 22:19:42
2001-10-31 22:19:42 +00:00
jbj
a15e74ecd6
More unraveling of availablePackage from depends.c.
...
CVS patchset: 5144
CVS date: 2001/10/31 04:00:58
2001-10-31 04:00:58 +00:00
jbj
93ab09b3d9
Create rpmDepSet.
...
CVS patchset: 5143
CVS date: 2001/10/30 18:55:39
2001-10-30 18:55:39 +00:00