{ "perl script text", RPMFC_PERL|RPMFC_INCLUDE },
{ "Perl5 module source text", RPMFC_PERL|RPMFC_MODULE|RPMFC_INCLUDE },
+ { " /usr/bin/python", RPMFC_PYTHON|RPMFC_INCLUDE },
+
+ /* XXX "a /usr/bin/python -t script text executable" */
+ /* XXX "python 2.3 byte-compiled" */
+ { "python ", RPMFC_PYTHON|RPMFC_INCLUDE },
+
{ "current ar archive", RPMFC_STATIC|RPMFC_LIBRARY|RPMFC_ARCHIVE|RPMFC_INCLUDE },
{ "Zip archive data", RPMFC_COMPRESSED|RPMFC_ARCHIVE|RPMFC_INCLUDE },
{ "tar archive", RPMFC_ARCHIVE|RPMFC_INCLUDE },
{ "cpio archive", RPMFC_ARCHIVE|RPMFC_INCLUDE },
{ "RPM v3", RPMFC_ARCHIVE|RPMFC_INCLUDE },
+ { "RPM v4", RPMFC_ARCHIVE|RPMFC_INCLUDE },
{ " image", RPMFC_IMAGE|RPMFC_INCLUDE },
{ " font", RPMFC_FONT|RPMFC_INCLUDE },
{ " commands", RPMFC_SCRIPT|RPMFC_INCLUDE },
{ " script", RPMFC_SCRIPT|RPMFC_INCLUDE },
- { "python compiled", RPMFC_WHITE|RPMFC_INCLUDE },
-
{ "empty", RPMFC_WHITE|RPMFC_INCLUDE },
{ "HTML", RPMFC_WHITE|RPMFC_INCLUDE },
}
if (fc->fcolor->vals[fc->ix] & RPMFC_PYTHON) {
xx = rpmfcHelper(fc, 'P', "python");
+#ifdef NOTYET
if (is_executable)
+#endif
xx = rpmfcHelper(fc, 'R', "python");
}
static struct rpmfcApplyTbl_s rpmfcApplyTable[] = {
{ rpmfcELF, RPMFC_ELF },
{ rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_PERL) },
+ { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_PYTHON) },
{ NULL, 0 }
};
/* Generate package and per-file dependencies. */
for (fc->ix = 0; fc->fn[fc->ix] != NULL; fc->ix++) {
+ /* XXX Insure that /usr/lib{,64}/python files are marked RPMFC_PYTHON */
+ /* XXX HACK: classification by path is intrinsically stupid. */
+ { const char *fn = strstr(fc->fn[fc->ix], "/usr/lib");
+ if (fn) {
+ fn += sizeof("/usr/lib")-1;
+ if (fn[0] == '6' && fn[1] == '4')
+ fn += 2;
+ if (!strncmp(fn, "/python", sizeof("/python")-1))
+ fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
+ }
+ }
+
for (fcat = rpmfcApplyTable; fcat->func != NULL; fcat++) {
if (!(fc->fcolor->vals[fc->ix] & fcat->colormask))
/*@innercontinue@*/ continue;
se = ftype;
rpmMessage(RPMMESS_DEBUG, "%s: %s\n", s, se);
+ /* Save the path. */
xx = argvAdd(&fc->fn, s);
+
+ /* Save the file type string. */
xx = argvAdd(&fcav, se);
/* Add (filtered) entry to sorted class dictionary. */
%define version @VERSION@
Version: %{version}
%{expand: %%define rpm_version %{version}}
-Release: 0.1
+Release: 0.3
Group: System Environment/Base
Source: ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.0.x/rpm-%{rpm_version}.tar.gz
License: GPL
%ifos linux
Prereq: fileutils shadow-utils
%endif
-Requires: popt = 1.10
+Requires: popt = 1.10.1
Obsoletes: rpm-perl < %{version}
# XXX necessary only to drag in /usr/lib/libelf.a, otherwise internal elfutils.
%package -n popt
Summary: A C library for parsing command line parameters.
Group: Development/Libraries
-Version: 1.10
+Version: 1.10.1
%description -n popt
Popt is a C library for parsing command line parameters. Popt was
%rpmattr %{__prefix}/lib/rpm/perldeps.pl
%rpmattr %{__prefix}/lib/rpm/perl.prov
%rpmattr %{__prefix}/lib/rpm/perl.req
+%rpmattr %{__prefix}/lib/rpm/pythondeps.sh
%rpmattr %{__prefix}/lib/rpm/rpm[bt]
%rpmattr %{__prefix}/lib/rpm/rpmdeps
%{__includedir}/popt.h
%changelog
+* Mon Dec 6 2004 Jeff Johnson <jbj@jbj.org> 4.4.1-0.2
+- automagically detect and emit "python(abi) = 2.4" dependencies.
+- popt 1.10.1 to preserve newer.
+
* Sun Dec 5 2004 Jeff Johnson <jbj@jbj.org> 4.4.1-0.1
- force *.py->*.pyo byte code compilation with brp-python-bytecompile.
-- automagically detect and emit "python(abi) = 2.4" dependencies.