Commit Graph

50 Commits

Author SHA1 Message Date
Lubos Kardos 7a84b45c62 Add support for various types of dependencies to rpmdeps tool
Options added to rpmdeps tool:
--recommends
--suggests
--supplements
--enhances
--conflicts
--obsoletes
2015-09-21 14:21:27 +02:00
Florian Festi a357c99c58 Do not write the dependencies to the header instantly.
Add the dependencies generated from the files to the package and write them to the header at the end.
2014-07-08 15:42:54 +02:00
Panu Matilainen a66ca57369 Remember buildroot directory in rpmfc struct
- New constructor rpmfcCreate() which takes buildroot as an argument,
  and "flags" argument for future use. Calculate brlen at initialization
  now that we can.
- Preserve rpmfcNew() as a compatibility wrapper as it's something
  somebody could, in theory, have used legitimately.
2010-12-01 11:09:02 +02:00
Panu Matilainen b2a688ee00 Make rpmfcExec() internal
- Nobody in their right mind is likely to be calling what's really
  an internal helper function in the build code. Simply missed in
  the first round of librpmbuild API butchery.
- This eliminates the last remaining exposure of StringBuf in the API
2010-10-26 23:28:39 +03:00
Panu Matilainen a0444009a1 rpmfcGenerateDepends() is internal, move away from public header 2010-10-01 13:23:03 +03: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 ad2c8485ea Use text token attributes instead of bitfield for file classification
- 32 bits are nowhere near enough to meaningfully classify all the
  types of data we might want to extract dependencies for, the bitfield
  was already almost used up and twisty with embedded enumeration in the
  middle etc. With text-based tokens, there are no limits to the total
  number of known attributes or number of attributes that can be attached
  to a given file. This also paves way to moving the classification table
  out of librpmbuild into configuration file(s).
- Remove most of the now unused RPMFC_FOO definitions from the FCOLOR enum,
  leaving just the more abstract INCLUDE, WHITE etc which control other
  aspects of the operation. Also ELF is special as the value ends up
  in headers, preserve it too.
2010-02-17 15:09:20 +02:00
Panu Matilainen 50d1b52edb Avoid exposing libmagic dependency in public headers 2009-12-08 16:22:42 +02:00
Panu Matilainen 15fb8ccb41 Teach the internal dep generator about OCaml
- OCaml seems to have fairly well detectable magic in its files, nice
- Dont call the regular find-requires from the scripts now that internal
  is working
2009-10-06 12:34:44 +03:00
Panu Matilainen c29adcee80 ARGV_t const pendantry
- const on typedef'ed ARGV_t doesn't mean a thing, add a new,
  (exec* compatible) ARGV_const_t and use where appropriate consistently in
  argv.h, rpmcli.h etc
- popt's argv const is the wrong way around for exec() family, add explicit
  ARGV_t casts on popGetArgs() uses where needed
- compiler silence, aaahh...
2008-04-07 12:19:58 +03:00
Panu Matilainen 16686e9663 Make rpmfc token and apply tables readonly 2008-03-06 19:57:01 +02:00
Panu Matilainen bb72efaaaa rpm5.org: free 5 bits for rpmfc coloring expansion
- also fixes an overlap between RPMFC_LIBTOOL and RPMFC_MONO which we
  had and were out of bits already
2008-02-05 14:50:42 +02:00
Panu Matilainen e7ac5fb183 Add rpm_mode_t type, use where spotted
- bring the types under some sort of control, previously mixture of
  int16_t, uint16_t and unsigned short was used..
2008-02-05 12:31:32 +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 9ce13e09ef Switch to <rpm/foo.h> style for public headers
- adjust include paths accordingly
2007-12-08 14:02:32 +02:00
Panu Matilainen d4622b5135 Yet more rpmbuild fixups from rpmerr.h removal (partly from rpm5.org)
- additionally use rpmRC return types instead of numbers where appropriate
2007-12-07 10:43:53 +02:00
Panu Matilainen 1a0968f31f Add doxygen group for rpmfc, include in librpm + hacking docs 2007-11-23 14:57:18 +02:00
Panu Matilainen d6990c3ab1 Move stringbuf into librpmio, rename header
- rename header to more generic rpmstring.h for collecting misc string
  helper functions
2007-11-23 08:11:42 +02:00
Ralf Corsépius abeea80a38 Use #include <x.h> syntax to include public headers. 2007-11-23 06:46:19 +01:00
Panu Matilainen 43b1952dc6 Eliminate rpmfcToken struct internals from the API 2007-11-02 12:11:33 +02:00
Ralf Corsépius 847e431706 Make headers self-contained. 2007-10-08 12:40:55 +02:00
Ralf Corsépius d6ffa9891f 'Adjust extern C {} blocks.' 2007-10-08 10:05:06 +02:00
Ralf Corsépius c29845f584 'Include <magic.h> instead of magic.h' 2007-10-08 09:55:55 +02:00
Panu Matilainen d16bdb1550 Hide rpmfc structure internals from the API 2007-09-25 22:46:02 +03:00
Panu Matilainen 2c2538d726 Rename Spec -> rpmSpec for namespacing 2007-09-21 15:23:02 +03:00
Ralf Corsépius 32419bbba5 Remove splint tags. 2007-09-11 23:03:27 +02:00
Ralf Corsépius cec1322621 Remove FILE_RCSID. 2007-09-03 15:12:38 +02:00
Panu Matilainen 6c4b0fc9e4 Extract pkgconfig and libtool dependencies automatically.
Ported from rpm5.org work of Jeff Johnson.
2007-07-31 12:06:34 +03:00
Paul Nasrat a94e9ed5c5 Add mono req/provides support
Alexander Larsson alexl@redhat.com
2007-05-10 13:15:34 +01:00
jbj 0f21a8eda0 Handle %dev markers more gracefully.
CVS patchset: 7826
CVS date: 2005/03/19 20:07:12
2005-03-19 20:07:12 +00:00
jbj 6bb128c5f4 - don't build with sqlite3 if <sqlite3.h> is missing.
CVS patchset: 7764
CVS date: 2005/02/14 01:34:12
2005-02-14 01:34:12 +00:00
jbj b7f251ae16 - port to internal file-4.10 libmagic rather than libfmagic.
CVS patchset: 7500
CVS date: 2004/10/21 18:40:56
2004-10-21 18:40:56 +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 d7a0ee2ca8 splint fiddles.
CVS patchset: 5980
CVS date: 2002/12/28 23:17:06
2002-12-28 23:17:06 +00:00
jbj c7975dbe48 - disable perl module magic rule.
CVS patchset: 5976
CVS date: 2002/12/27 18:01:00
2002-12-27 18:01:00 +00:00
jbj 268376a208 Rescusitate doxygen file manifest.
CVS patchset: 5968
CVS date: 2002/12/24 17:06:35
2002-12-24 17:06:35 +00:00
jbj b2402702ae splint fiddles.
CVS patchset: 5956
CVS date: 2002/12/21 01:31:24
2002-12-21 01:31:24 +00:00
jbj d5a81771b6 - fix: add rpmlib(VersionedDependencies) if versioned Provides: found.
CVS patchset: 5937
CVS date: 2002/12/12 19:16:45
2002-12-12 19:16:45 +00:00
jbj 9e737c3f6d Insturment auto request/provide disabling.
CVS patchset: 5921
CVS date: 2002/12/07 22:29:21
2002-12-07 22:29:21 +00:00
jbj bb2c78fdba Splint fiddles.
CVS patchset: 5920
CVS date: 2002/12/07 21:27:09
2002-12-07 21:27:09 +00:00
jbj 704ad49b02 Handle (N,EVR,Flags) Provide:/Require: triple.
CVS patchset: 5918
CVS date: 2002/12/07 05:48:45
2002-12-07 05:48:45 +00:00
jbj c96202ddef - internal automagic dependency generation (disabled for now).
CVS patchset: 5913
CVS date: 2002/12/03 02:57:02
2002-12-03 02:57:02 +00:00
jbj bd00220d41 Splint fiddles.
CVS patchset: 5907
CVS date: 2002/11/30 21:42:24
2002-11-30 21:42:24 +00:00
jbj cd993acac7 - bundle libfmagic into librpmbuild for now.
CVS patchset: 5881
CVS date: 2002/11/26 22:44:47
2002-11-26 22:44:47 +00:00
jbj 90d7f52399 Remove multilib patch.
splint fiddles.

CVS patchset: 5825
CVS date: 2002/11/05 22:45:02
2002-11-05 22:45:02 +00:00
jbj 9f8af168ce Add per-interpreter perl dependencies.
CVS patchset: 5792
CVS date: 2002/10/21 19:29:23
2002-10-21 19:29:23 +00:00
jbj e9e68be03a Functional ELF/SCRIPT dependency generation.
CVS patchset: 5790
CVS date: 2002/10/19 22:48:25
2002-10-19 22:48:25 +00:00
jbj ada36102ab Replace libelf with elfutils.
CVS patchset: 5778
CVS date: 2002/10/15 18:44:16
2002-10-15 18:44:16 +00:00
jbj aab865e847 Classify images.
CVS patchset: 5774
CVS date: 2002/10/14 18:48:01
2002-10-14 18:48:01 +00:00
jbj a0bdebee4d Spin mostly complete file classifier off to rpmfc.[ch].
CVS patchset: 5773
CVS date: 2002/10/14 14:52:45
2002-10-14 14:52:45 +00:00