227cddca88
%{uncompress:...} is fairly complicated as far as builtin macros go: it needs to first expand its argument to discover the actual file its supposed to look at, then determine whether the file exists and what sort of compression to use, then determine the macro to use for decompressing that kind of file, expand said macro and finally catenate the expanded argument to the lot. That's a lot of goo to do inline doFoo(), so refactor it into a separate function. Up to now the last step was implemented by re-expanding the argument too, which makes it impossible to reliably handle paths with percent signs. Just expand the command, and catenate the argument as deity intended. Additionally make behavior with empty argument consistent with other builtins: %{uncompress:} expands to nothing instead of printing out an error message with an empty filename. |
||
---|---|---|
build | ||
ci | ||
db3 | ||
doc | ||
fileattrs | ||
lib | ||
luaext | ||
misc | ||
plugins | ||
po | ||
python | ||
rpmio | ||
scripts | ||
sign | ||
tests | ||
tools | ||
.gitignore | ||
.mailmap | ||
CHANGES | ||
COPYING | ||
CREDITS | ||
INSTALL | ||
Makefile.am | ||
Makefile.maint | ||
README | ||
autogen.sh | ||
cliutils.c | ||
cliutils.h | ||
configure.ac | ||
debug.h | ||
installplatform | ||
macros.in | ||
mkinstalldirs | ||
platform.in | ||
preinstall.am | ||
rpm.am | ||
rpm.c | ||
rpm.pc.in | ||
rpm2archive.c | ||
rpm2cpio.c | ||
rpmbuild.c | ||
rpmdb.c | ||
rpmkeys.c | ||
rpmpopt.in | ||
rpmrc.in | ||
rpmsign.c | ||
rpmspec.c | ||
system.h |
README
This is RPM, the RPM Package Manager. The latest releases are always available at: http://rpm.org/releases/ Additional RPM documentation (papers, slides, HOWTOs) can also be found at the same site: http://rpm.org. http://rpm.org/community all rpm releated mailing lists. RPM was originally written by: Erik Troan <ewt@redhat.com> Marc Ewing <marc@redhat.com> See the CREDITS file for a list of folks who have helped us out tremendously. RPM is Copyright (c) 1998 by Red Hat Software, Inc., and may be distributed under the terms of the GPL and LGPL (see the file COPYING for details).