Tugger the SLUGger!SLUG Mailing List Archives

Re: [SLUG] How do I add a file (zip) to a package without compressing it

Matthew Hannigan wrote:
On Fri, Jul 29, 2011 at 09:11:20AM +1000, Marghanita da Cruz wrote:
Marghanita da Cruz wrote:
peter@xxxxxxxxxxxxxxxxxx wrote:
zip -0 file.epub mimetype

-0 says don't compress.  It's a zero, not an `oh'.


Thanks - looks like the command I was looking for.

Any suggestions of how to fix this problem?

"ERROR: test6.epub: extra field length for first filename must be 0, but
was 21 "

The requirements for the mimetype file are
a)no LF or LF/CR at the end of the line in the file
b)it must be the first file in the package

I can't figure out how to check either of these or specify them, or whether
they are relevent to the above error.

Goog search reveals:
    The Linux zip(1) command
    If you use the Linux zip(1) command to update or create EPUB
    files you must use the -X, --no-extra command-line option,
    if you do not the platform dependent extra fields will confuse
    epubcheck(1) which will emit errors like a^EURoeextra field length
    for first filename must be 0, but was 28a^EUR?.

Thanks, my searches were less fruitful.

"zip -0 -X file.epub mimetype" did the trick.

BTW, have you considered using http://calibre-ebook.com/
I think it's in most distros and on windows.

The ebook has been published through Lulu, which has now also provided an
itunes version. The book is DRM free, so I expect will pop up on calibre at
some stage. I am currently formatting the paperback version.

The epub file has to be valid before Lulu will accept it and the three
press site does the necessary validation.

Despite Patrick's talk on calibre at a recent SLUG meeting, I did not get
the connection. I am using the Google Firefox plug in to view the epub -
but it isn't as fussy as lulu.

My notes of the process (including links to the invaluable help provided on
SLUG) is now here:

I have offered to give a lightning talk, on the process, at SLUG tonight.

Marghanita da Cruz
Tel: 0414-869202