X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=archival%2Frpm.c;h=83160f975eaecd5671cb3c0628cce1f9e9bc4f1e;hb=179e88bec91cfe58096900dc5509a080ff37b083;hp=86ba4dca490fbe09006a8814fe5eaea9038d7be4;hpb=8e6a1ea8250137d1dd9b0a37b7a1d6d596a91099;p=oweals%2Fbusybox.git diff --git a/archival/rpm.c b/archival/rpm.c index 86ba4dca4..83160f975 100644 --- a/archival/rpm.c +++ b/archival/rpm.c @@ -7,6 +7,15 @@ * Licensed under GPLv2 or later, see file LICENSE in this source tree. */ +//config:config RPM +//config: bool "rpm" +//config: default y +//config: help +//config: Mini RPM applet - queries and extracts RPM packages. + +//applet:IF_RPM(APPLET(rpm, BB_DIR_BIN, BB_SUID_DROP)) +//kbuild:lib-$(CONFIG_RPM) += rpm.o + //usage:#define rpm_trivial_usage //usage: "-i PACKAGE.rpm; rpm -qp[ildc] PACKAGE.rpm" //usage:#define rpm_full_usage "\n\n" @@ -20,6 +29,7 @@ //usage: "\n -qpc List config files" #include "libbb.h" +#include "common_bufsiz.h" #include "bb_archive.h" #include "rpm.h" @@ -84,8 +94,8 @@ struct globals { rpm_index **mytags; int tagcount; } FIX_ALIASING; -#define G (*(struct globals*)&bb_common_bufsiz1) -#define INIT_G() do { } while (0) +#define G (*(struct globals*)bb_common_bufsiz1) +#define INIT_G() do { setup_common_bufsiz(); } while (0) static void extract_cpio(int fd, const char *source_rpm) { @@ -113,7 +123,7 @@ static void extract_cpio(int fd, const char *source_rpm) archive_handle->src_fd = fd; /*archive_handle->offset = 0; - init_handle() did it */ - setup_unzip_on_fd(archive_handle->src_fd, /*fail_if_not_detected:*/ 1); + setup_unzip_on_fd(archive_handle->src_fd, /*fail_if_not_compressed:*/ 1); while (get_header_cpio(archive_handle) == EXIT_SUCCESS) continue; }