Fri, 19 Oct 2007 23:03:17 -0400
[svn] Add support for Ruby Gems, and extracting metadata from .deb/.gem files.
28
4d88f2231d33
[svn] Change all the license notices from GPLv2 to GPLv3.
brett
parents:
25
diff
changeset
|
1 | We should always extract to a new, temporary directory (except maybe in the |
4d88f2231d33
[svn] Change all the license notices from GPLv2 to GPLv3.
brett
parents:
25
diff
changeset
|
2 | straight decompression case), and then move that directory based on what we |
4d88f2231d33
[svn] Change all the license notices from GPLv2 to GPLv3.
brett
parents:
25
diff
changeset
|
3 | actually want. This has several advantages: |
4d88f2231d33
[svn] Change all the license notices from GPLv2 to GPLv3.
brett
parents:
25
diff
changeset
|
4 | |
4d88f2231d33
[svn] Change all the license notices from GPLv2 to GPLv3.
brett
parents:
25
diff
changeset
|
5 | * Much easier to check whether or not the archive is a bomb (O(1) operation) |
4d88f2231d33
[svn] Change all the license notices from GPLv2 to GPLv3.
brett
parents:
25
diff
changeset
|
6 | * Can find other archives more reliably |
4d88f2231d33
[svn] Change all the license notices from GPLv2 to GPLv3.
brett
parents:
25
diff
changeset
|
7 | * Can set up a direct pipe from a decompressed to the unarchiver, since we're |
4d88f2231d33
[svn] Change all the license notices from GPLv2 to GPLv3.
brett
parents:
25
diff
changeset
|
8 | not interested in reading it multiple times anymore. |
4d88f2231d33
[svn] Change all the license notices from GPLv2 to GPLv3.
brett
parents:
25
diff
changeset
|
9 | * All this should mean x is faster, too. |
4d88f2231d33
[svn] Change all the license notices from GPLv2 to GPLv3.
brett
parents:
25
diff
changeset
|
10 | |
3 | 11 | Things which I have a use case/anti-use case for: |
28
4d88f2231d33
[svn] Change all the license notices from GPLv2 to GPLv3.
brett
parents:
25
diff
changeset
|
12 | * CAB extraction. |
22
b240777ae53e
[svn] Improve the way we check archive contents. If all the entries look like
brett
parents:
18
diff
changeset
|
13 | * Use file to detect the archive type. |
b240777ae53e
[svn] Improve the way we check archive contents. If all the entries look like
brett
parents:
18
diff
changeset
|
14 | * Support lzma compression (http://tukaani.org/lzma/download) |
b240777ae53e
[svn] Improve the way we check archive contents. If all the entries look like
brett
parents:
18
diff
changeset
|
15 | * Support pisi packages (http://paketler.pardus.org.tr/pardus-2007/) |
b240777ae53e
[svn] Improve the way we check archive contents. If all the entries look like
brett
parents:
18
diff
changeset
|
16 | * Steal ideas from <http://martin.ankerl.com/files/e>. |
b240777ae53e
[svn] Improve the way we check archive contents. If all the entries look like
brett
parents:
18
diff
changeset
|
17 | * Figure out what the deal is with strerror. (done?) |
13
0a3ef1b9f6d4
[svn] Add options to tweak the logging level to taste.
brett
parents:
11
diff
changeset
|
18 | * Better error messages (file doesn't exist, isn't readable, etc.) |
18
1600807a32bd
[svn] Add basic documentation, and make this version 3.0.
brett
parents:
13
diff
changeset
|
19 | * Consistently raise and handle exceptions. |
3 | 20 | |
21 | Things that are generally good: | |
6
77043f4e6a9f
[svn] The big thing here is recursive extraction. Find archive files in the
brett
parents:
5
diff
changeset
|
22 | * Better tests. |
5 | 23 | * Better error messages. |
3 | 24 | |
25 | Things I think might be good but can't prove: | |
28
4d88f2231d33
[svn] Change all the license notices from GPLv2 to GPLv3.
brett
parents:
25
diff
changeset
|
26 | * Take URLs as arguments. |
8
97388f5ff770
[svn] Make ExtractorApplication suck less. Now the strategies for handling
brett
parents:
7
diff
changeset
|
27 | * Consider having options about whether or not to make sane directories, |
97388f5ff770
[svn] Make ExtractorApplication suck less. Now the strategies for handling
brett
parents:
7
diff
changeset
|
28 | have tarbomb protection, etc. |
3 | 29 | * Use zipfile instead of the zip commands. |
30 | * Processing from stdin. | |
6
77043f4e6a9f
[svn] The big thing here is recursive extraction. Find archive files in the
brett
parents:
5
diff
changeset
|
31 | * Extracting control.tar.gz from deb files. |
18
1600807a32bd
[svn] Add basic documentation, and make this version 3.0.
brett
parents:
13
diff
changeset
|
32 | * shar support. |