From 971303be3e56cd9123c2a4d0b8897052ad2a6658 Mon Sep 17 00:00:00 2001 From: jbj Date: Mon, 9 Dec 2002 17:22:55 +0000 Subject: [PATCH] - don't generate dependencies unless execute bit is set. - enable internal automagic dependency generation as default. CVS patchset: 5926 CVS date: 2002/12/09 17:22:55 --- CHANGES | 2 ++ build/rpmfc.c | 11 +++++++++-- macros.in | 9 ++++++--- python/rpmbc-py.c | 2 +- rpm.spec.in | 6 +++++- 5 files changed, 23 insertions(+), 7 deletions(-) diff --git a/CHANGES b/CHANGES index 31da7a37c..a865a0711 100644 --- 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. diff --git a/build/rpmfc.c b/build/rpmfc.c index 5995aa827..768496798 100644 --- a/build/rpmfc.c +++ b/build/rpmfc.c @@ -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@*/ diff --git a/macros.in b/macros.in index 431bc6fa7..0be342cf1 100644 --- 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 @@ -107,6 +107,7 @@ # 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@/-/macros) diff --git a/python/rpmbc-py.c b/python/rpmbc-py.c index cf2246a6c..2a3a5d704 100644 --- a/python/rpmbc-py.c +++ b/python/rpmbc-py.c @@ -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 diff --git a/rpm.spec.in b/rpm.spec.in index 172a4e6b5..9d6ceedb6 100644 --- a/rpm.spec.in +++ b/rpm.spec.in @@ -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 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 4.2-0.19 - resurrect AutoReq: and AutoProv:.