[prev in list] [next in list] [prev in thread] [next in thread] 

List:       busybox
Subject:    Re: [PATCH] unbreak uncomressed files with tar, modutils, and man
From:       Denys Vlasenko <vda.linux () googlemail ! com>
Date:       2014-01-27 12:03:55
Message-ID: CAK1hOcMNkQAJYE1NZC5_NL--cGYUb+Es3_CZE2Zj+LQoPNx2aw () mail ! gmail ! com
[Download RAW message or body]

On Fri, Jan 17, 2014 at 6:25 AM,  <ibid.ag@gmail.com> wrote:
> This afternoon I updated a small system to git HEAD, rebooted,
> and discovered that modprobe no longer worked.
> Specifically, it spat out an error like this:
> modprobe: no gzip/bzip2/xz magic
> grep helped me track this down to archival/libarchive/open_transformer.c.
>
> I'm using uncompressed modules, so I need modprobe to simply proceed on
> when an uncompressed file is encountered.
> This was the most obvious way to do that; in the process, I happened to find
> and fix similar issues in man and tar.

How about this fix?

--- a/archival/libarchive/open_transformer.c
+++ b/archival/libarchive/open_transformer.c
@@ -200,7 +200,16 @@ int FAST_FUNC open_zipped(const char *fname)
         || (ENABLE_FEATURE_SEAMLESS_BZ2)
         || (ENABLE_FEATURE_SEAMLESS_XZ)
        ) {
-               setup_unzip_on_fd(fd, /*fail_if_not_detected:*/ 1);
+               /*
+                * Do we want to fail_if_not_detected?
+                * In most cases, no: think "insmod non_compressed_module".
+                * A case which would like to fail is "zcat uncompressed_file":
+                * otherwise, it happily outputs uncompressed_file as-is,
+                * which is, strictly speaking, not what is expected.
+                * If this ever becomes a problem, we can add
+                * fail_if_not_detected bool argument to open_zipped().
+                */
+               setup_unzip_on_fd(fd, /*fail_if_not_detected:*/ 0);
        }

        return fd;


Please try current git.


> I'm not sure how far back this is an issue; it looks like it may be from
> this commit:
>
> commit 7c47b560a8fc97956dd8132bd7f1863d83c19866
> Author: Denys Vlasenko <vda.linux@googlemail.com>
> Date:   Fri Jan 10 14:06:57 2014 +0100
>
>     libarchive: open_zipped() does not need to check extensions for e.g. gzip

Yes, that was the culprit.

-- 
vda
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic