- don't generate dependencies unless execute bit is set.
authorjbj <devnull@localhost>
Mon, 9 Dec 2002 17:22:55 +0000 (17:22 +0000)
committerjbj <devnull@localhost>
Mon, 9 Dec 2002 17:22:55 +0000 (17:22 +0000)
- enable internal automagic dependency generation as default.

CVS patchset: 5926
CVS date: 2002/12/09 17:22:55

CHANGES
build/rpmfc.c
macros.in
python/rpmbc-py.c
rpm.spec.in

diff --git a/CHANGES b/CHANGES
index 31da7a3..a865a07 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -41,6 +41,8 @@
        - use usrlib_LTLIBRARIES to install directly in /usr/lib64 instead.
        - late rpmts reference causes premature free (#78862).
        - internal automagic dependency generation (disabled for now).
+       - don't generate dependencies unless execute bit is set.
+       - enable internal automagic dependency generation as default.
 
 4.0.4 -> 4.1:
        - loosely wire beecrypt library into rpm.
index 5995aa8..7684967 100644 (file)
@@ -962,7 +962,7 @@ int rpmfcApply(rpmfc fc)
     const char * N;
     const char * EVR;
     int_32 Flags;
-    rpmfcApplyTbl fcat;
+    struct stat sb, * st = &sb;
     unsigned char deptype;
     int nddict;
     int previx;
@@ -974,6 +974,13 @@ int rpmfcApply(rpmfc fc)
 
     /* Generate package and per-file dependencies. */
     for (fc->ix = 0; fc->fn[fc->ix] != NULL; fc->ix++) {
+       rpmfcApplyTbl fcat;
+
+       /* Files with executable bit set only. */
+       if (stat(fc->fn[fc->ix], st) != 0
+        || !(st->st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)))
+           continue;
+           
        for (fcat = rpmfcApplyTable; fcat->func != NULL; fcat++) {
            if (!(fc->fcolor->vals[fc->ix] & fcat->colormask))
                /*@innercontinue@*/ continue;
@@ -1324,7 +1331,7 @@ int rpmfcGenerateDepends(const Spec spec, Package pkg)
        return 0;
 
     /* If new-fangled dependency generation is disabled ... */
-    if (!rpmExpandNumeric("%{?_classify_file_types}")) {
+    if (!rpmExpandNumeric("%{?_use_internal_dependency_generator}")) {
        /* ... then generate dependencies using %{__find_requires} et al. */
        rc = rpmfcGenerateDependsHelper(spec, pkg, fi);
 /*@-noeffect@*/
index 431bc6f..0be342c 100644 (file)
--- a/macros.in
+++ b/macros.in
@@ -1,7 +1,7 @@
 #/*! \page config_macros Default configuration: @RPMCONFIGDIR@/macros
 # \verbatim
 #
-# $Id: macros.in,v 1.128 2002/11/20 15:13:03 jbj Exp $
+# $Id: macros.in,v 1.129 2002/12/09 17:22:55 jbj Exp $
 #
 # This is a global RPM configuration file. All changes made here will
 # be lost when the rpm package is upgraded. Any per-system configuration
 #      The location of the rpm database file(s) after "rpm --rebuilddb".
 %_dbpath_rebuild       %{_dbpath}
 
+#
 #      Path to script that creates debug symbols in a /usr/lib/debug
 #      shadow tree.
 %__debug_install_post   \
@@ -129,17 +130,19 @@ package or when debugging this package. \
 
 %_defaultdocdir                %{_usr}/doc
 
+# Use internal dependency generator rather than external
+# find-provides/find-requires)?
+%_use_internal_dependency_generator    1
+
 #      Path to scripts to autogenerate package dependencies.
 %__find_provides       @RPMCONFIGDIR@/rpmdeps --provides
 %__find_requires       @RPMCONFIGDIR@/rpmdeps --requires
-#%__find_prereq                ???
 #%__find_conflicts     ???
 #%__find_obsoletes     ???
 
 %__perl_provides       @RPMCONFIGDIR@/perl.prov
 %__perl_requires       @RPMCONFIGDIR@/perl.req
 
-#
 # fixowner, fixgroup, and fixperms are run at the end of hardcoded setup
 # These macros are necessary only for legacy compatibility, and have moved
 # to per-platform macro configuration (i.e. @RPMCONFIGDIR@/<arch>-<os>/macros)
index cf2246a..2a3a5d7 100644 (file)
@@ -60,7 +60,7 @@ if (_rpmbc_debug)
 fprintf(stderr, "*** rpmbc_dealloc(%p)\n", s);
 
     mp32nfree(&s->n);
-    PyMem_DEL(s);
+    PyObject_DEL(s);
 }
 
 static int
index 172a4e6..9d6ceed 100644 (file)
@@ -16,7 +16,7 @@ Name: rpm
 %define version @VERSION@
 Version: %{version}
 %{expand: %%define rpm_version %{version}}
-Release: 0.19
+Release: 0.20
 Group: System Environment/Base
 Source: ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.0.x/rpm-%{rpm_version}.tar.gz
 Copyright: GPL
@@ -459,6 +459,10 @@ exit 0
 %{__prefix}/include/popt.h
 
 %changelog
+* Mon Dec  9 2002 Jeff Johnson <jbj@redhat.com> 4.2-0.20
+- don't generate dependencies unless execute bit is set.
+- enable internal automagic dependency generation as default.
+
 * Sat Dec  7 2002 Jeff Johnson <jbj@redhat.com> 4.2-0.19
 - resurrect  AutoReq: and AutoProv:.