tar xzf does not work anymore on my arm system

Denys Vlasenko vda.linux at googlemail.com
Tue Apr 22 01:16:42 UTC 2008


On Tuesday 22 April 2008 01:11, Martinb_ARM_NOMMU_KISSDVD wrote:
> You are correct (as always :) )
> 
> But im 100% sure i also did not have a gunzip on my old environment and it
> did "work"

From busybox 1.2.1:

open_transformer() call is responsible for running a child which
decompresses the stream:

char get_header_tar_gz(archive_handle_t *archive_handle)
{
...
        check_header_gzip(archive_handle->src_fd);
        archive_handle->src_fd = open_transformer(archive_handle->src_fd, inflate_gunzip);
...
        return(EXIT_FAILURE);
}

And open_transformer uses fork():

int open_transformer(int src_fd, int (*transformer)(int src_fd, int dst_fd))
{
...
        pid = fork();
        if (pid == -1) {
                bb_perror_msg_and_die("Fork failed");
        }
...
        return(fd_pipe[0]);
}

This cannot work on NOMMU platform (fork() will fail).
--
vda



More information about the busybox mailing list