diff options
author | kaiw <kaiw@FreeBSD.org> | 2010-05-17 09:37:59 +0000 |
---|---|---|
committer | kaiw <kaiw@FreeBSD.org> | 2010-05-17 09:37:59 +0000 |
commit | e87f2d48bc38fef35b49a5ba9f33703473cee54a (patch) | |
tree | c1fbbf0def71cdcf6cf8e4112b0f5d65cb69f755 /usr.bin | |
parent | bd4ac448d72b03f76644e769f11ee45445c8ead7 (diff) | |
download | FreeBSD-src-e87f2d48bc38fef35b49a5ba9f33703473cee54a.zip FreeBSD-src-e87f2d48bc38fef35b49a5ba9f33703473cee54a.tar.gz |
Removed ar(1)'s support for compressed archives. This change removes
ar(1)'s dependencies on compressor libraries -lz, -lbz2 and -llzma and
fixes building HEAD on some versions of FreeBSD[78]. Option -j and -z
is now accepted but ignored.
Compressed ar(1) archives are not useful without a ld(1) that can read
them. Also, the current ar(1) compression scheme prevents random
access of archive members and needs to be redesigned anyway.
Submitted by: kientzle (original patch)
Reviewed by: delphij
Discussed on: -current mailing list
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/ar/Makefile | 4 | ||||
-rw-r--r-- | usr.bin/ar/acpyacc.y | 2 | ||||
-rw-r--r-- | usr.bin/ar/ar.1 | 8 | ||||
-rw-r--r-- | usr.bin/ar/ar.c | 4 | ||||
-rw-r--r-- | usr.bin/ar/ar.h | 1 | ||||
-rw-r--r-- | usr.bin/ar/read.c | 2 | ||||
-rw-r--r-- | usr.bin/ar/write.c | 30 |
7 files changed, 11 insertions, 40 deletions
diff --git a/usr.bin/ar/Makefile b/usr.bin/ar/Makefile index 57ff447..e373120 100644 --- a/usr.bin/ar/Makefile +++ b/usr.bin/ar/Makefile @@ -3,8 +3,8 @@ PROG= ar SRCS= ar.c acplex.l acpyacc.y read.c util.c write.c y.tab.h -DPADD= ${LIBARCHIVE} ${LIBBZ2} ${LIBZ} ${LIBLZMA} ${LIBELF} -LDADD= -larchive -lbz2 -lz -llzma -lelf +DPADD= ${LIBARCHIVE} ${LIBELF} +LDADD= -larchive -lelf CFLAGS+=-I. -I${.CURDIR} diff --git a/usr.bin/ar/acpyacc.y b/usr.bin/ar/acpyacc.y index b686c3f5..e1a6e6d 100644 --- a/usr.bin/ar/acpyacc.y +++ b/usr.bin/ar/acpyacc.y @@ -250,7 +250,7 @@ arscp_open(char *fname) if ((a = archive_read_new()) == NULL) bsdar_errc(bsdar, EX_SOFTWARE, 0, "archive_read_new failed"); - archive_read_support_compression_all(a); + archive_read_support_compression_none(a); archive_read_support_format_ar(a); AC(archive_read_open_file(a, fname, DEF_BLKSZ)); if ((r = archive_read_next_header(a, &entry))) diff --git a/usr.bin/ar/ar.1 b/usr.bin/ar/ar.1 index 250cd20..6e00228 100644 --- a/usr.bin/ar/ar.1 +++ b/usr.bin/ar/ar.1 @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 31, 2007 +.Dd May 17, 2010 .Dt AR 1 .Os .Sh NAME @@ -186,8 +186,7 @@ Synonymous with option Synonymous with option .Fl b . .It Fl j -Compress the resulting archive with -.Xr bzip2 1 . +This option is accepted but ignored. .It Fl m Move archive members specified by arguments .Ar files ... @@ -344,8 +343,7 @@ of extraction unless the .Fl o option was specified. .It Fl z -Compress the resulting archive with -.Xr gzip 1 . +This option is accepted but ignored. .El .Sh EXAMPLES To create a new archive diff --git a/usr.bin/ar/ar.c b/usr.bin/ar/ar.c index dc4b6c4..1fe92fb 100644 --- a/usr.bin/ar/ar.c +++ b/usr.bin/ar/ar.c @@ -178,7 +178,7 @@ main(int argc, char **argv) bsdar->options |= AR_TR; break; case 'j': - bsdar->options |= AR_J; + /* ignored */ break; case 'l': /* ignored, for GNU ar comptibility */ @@ -223,7 +223,7 @@ main(int argc, char **argv) set_mode(bsdar, opt); break; case 'z': - bsdar->options |= AR_Z; + /* ignored */ break; case OPTION_HELP: bsdar_usage(); diff --git a/usr.bin/ar/ar.h b/usr.bin/ar/ar.h index 111f944..60fe8e8 100644 --- a/usr.bin/ar/ar.h +++ b/usr.bin/ar/ar.h @@ -81,7 +81,6 @@ struct bsdar { const char *addlib; /* target of ADDLIB. */ const char *posarg; /* position arg for modifiers -a, -b. */ char mode; /* program mode */ - char compression; /* compression mode */ int options; /* command line options */ const char *progname; /* program name */ diff --git a/usr.bin/ar/read.c b/usr.bin/ar/read.c index 37bd0a1..8df170d 100644 --- a/usr.bin/ar/read.c +++ b/usr.bin/ar/read.c @@ -87,7 +87,7 @@ read_archive(struct bsdar *bsdar, char mode) if ((a = archive_read_new()) == NULL) bsdar_errc(bsdar, EX_SOFTWARE, 0, "archive_read_new failed"); - archive_read_support_compression_all(a); + archive_read_support_compression_none(a); archive_read_support_format_ar(a); AC(archive_read_open_file(a, bsdar->filename, DEF_BLKSZ)); diff --git a/usr.bin/ar/write.c b/usr.bin/ar/write.c index 3d4f93d..8b6fbdf 100644 --- a/usr.bin/ar/write.c +++ b/usr.bin/ar/write.c @@ -247,7 +247,7 @@ read_objs(struct bsdar *bsdar, const char *archive, int checkargv) if ((a = archive_read_new()) == NULL) bsdar_errc(bsdar, EX_SOFTWARE, 0, "archive_read_new failed"); - archive_read_support_compression_all(a); + archive_read_support_compression_none(a); archive_read_support_format_ar(a); AC(archive_read_open_filename(a, archive, DEF_BLKSZ)); for (;;) { @@ -264,13 +264,6 @@ read_objs(struct bsdar *bsdar, const char *archive, int checkargv) continue; } - /* - * Remember the compression mode of existing archive. - * If neither -j nor -z is specified, this mode will - * be used for resulting archive. - */ - bsdar->compression = archive_compression(a); - name = archive_entry_pathname(entry); /* @@ -360,9 +353,6 @@ write_archive(struct bsdar *bsdar, char mode) pos = NULL; memset(&sb, 0, sizeof(sb)); - /* By default, no compression is assumed. */ - bsdar->compression = ARCHIVE_COMPRESSION_NONE; - /* * Test if the specified archive exists, to figure out * whether we are creating one here. @@ -618,23 +608,7 @@ write_objs(struct bsdar *bsdar) bsdar_errc(bsdar, EX_SOFTWARE, 0, "archive_write_new failed"); archive_write_set_format_ar_svr4(a); - - /* The compression mode of the existing archive is used - * for the result archive or if creating a new archive, we - * do not compress archive by default. This default behavior can - * be overrided by compression mode specified explicitly - * through command line option `-j' or `-z'. - */ - if (bsdar->options & AR_J) - bsdar->compression = ARCHIVE_COMPRESSION_BZIP2; - if (bsdar->options & AR_Z) - bsdar->compression = ARCHIVE_COMPRESSION_GZIP; - if (bsdar->compression == ARCHIVE_COMPRESSION_BZIP2) - archive_write_set_compression_bzip2(a); - else if (bsdar->compression == ARCHIVE_COMPRESSION_GZIP) - archive_write_set_compression_gzip(a); - else - archive_write_set_compression_none(a); + archive_write_set_compression_none(a); AC(archive_write_open_filename(a, bsdar->filename)); |