Opened 13 years ago

Closed 13 years ago

#30245 closed defect (invalid)

Macports incorrectly copies gzip file from local filesystem

Reported by: lgillentine@… Owned by: macports-tickets@…
Priority: Low Milestone:
Component: base Version: 1.9.2
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port:

Description

A portfile I created to install Berkely DB XML (dbxml) has revealed an interesting issue. It seems that when the {master_sites} directive in a Portfile points to a directory in the local filesystem, the gzipped source is copied over incorrectly.

Here is my /opt/local/var/macports/distfiles/dbxml directory, where the zipped source gets copied during the extract phase:

lee@l:/opt/local/var/macports/distfiles/dbxml> ls -la
total 8
drwxr-xr-x   3 root  admin   102 Jul 19 16:15 .
drwxr-xr-x  90 root  admin  3060 Jul 19 17:39 ..
-rw-r--r--   1 root  admin   820 Jul 19 16:15 dbxml-2.5.16.tar.gz

And here is a directory with a copy of the original .tar.gz:

lee@l:~/Desktop/t> ls -la
total 103168
drwxr-xr-x   3 lee  staff       102 Jul 19 17:58 .
drwx------+ 84 lee  staff      2856 Jul 19 17:17 ..
-rw-rw-rw-@  1 lee  staff  52819154 Dec 15  2010 dbxml-2.5.16.tar.gz

The original gzipped source is much larger than the gzipped source that makes its way into opt/local

However

The only reason I discovered this is because I wrote a Portfile that only works with my local filesystem, so this is an edge case in the extreme.

Attachments (2)

main.log (3.3 KB) - added by lgillentine@… 13 years ago.
Port install log
Portfile (1.6 KB) - added by lgillentine@… 13 years ago.

Download all attachments as: .zip

Change History (9)

Changed 13 years ago by lgillentine@…

Attachment: main.log added

Port install log

Changed 13 years ago by lgillentine@…

Attachment: Portfile added

comment:1 Changed 13 years ago by lgillentine@…

Cc: lgillentine@… added

Cc Me!

comment:2 Changed 13 years ago by jmroot (Joshua Root)

Cc: lgillentine@… removed
Keywords: gzip port extract phase removed

Is there any way to get the distfile for this without creating an account with Oracle?

comment:3 Changed 13 years ago by pixilla (Bradley Giesbrecht)

This seems to work for master_sites
http://download-east.oracle.com/berkeley-db/

You can also put the file into distfiles manually and port will find it and not try to fetch it from elsewhere.

rm /opt/local/var/macports/distfiles/dbxml/dbxml-2.5.16.tar.gz
cp ~/Desktop/t/dbxml-2.5.16.tar.gz /opt/local/var/macports/distfiles/dbxml/

comment:4 Changed 13 years ago by jmroot (Joshua Root)

I can't reproduce the problem. I changed the master_sites to point to my desktop, put the distfile there, corrected the checksums, and successfully ran port build. I am running 2.0 so I guess it's possible 1.9.2 is broken.

comment:5 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added

The log says:

:info:extract gzip: /opt/local/var/macports/distfiles/dbxml/dbxml-2.5.16.tar.gz: not in gzip format

If not in gzip format, what format is the file in? What are its contents? I assume the bug does not exist as described; I assume you instead downloaded an HTML file, computed its checksums, and put them in the Portfile, which of course doesn't work.

comment:6 in reply to:  5 Changed 13 years ago by lgillentine@…

Replying to ryandesign@…:

The log says:

:info:extract gzip: /opt/local/var/macports/distfiles/dbxml/dbxml-2.5.16.tar.gz: not in gzip format

If not in gzip format, what format is the file in? What are its contents? I assume the bug does not exist as described; I assume you instead downloaded an HTML file, computed its checksums, and put them in the Portfile, which of course doesn't work.

You are totally correct, as running strings on the partial file in the distfiles/ gives me an html file. How I downloaded an html file and called it dbxml-2.5.16 -- I have no idea.. But thanks to pixilla's download link, I now have a completely working Portfile. Is there a way to commit this working Portfile back to the main port list? I based this port file off another uncommited portfile: #24429

Thanks!

comment:7 Changed 13 years ago by jmroot (Joshua Root)

Resolution: invalid
Status: newclosed

OK. You can attach your portfile to the other ticket.

Note: See TracTickets for help on using tickets.