Only in ../tar-1.11.2-acamods: Makefile diff -r tar-1.11.2/Makefile.in ../tar-1.11.2-acamods/Makefile.in 113d112 < # tar.texinfo tar.info* texinfo.tex \ Only in ../tar-1.11.2-acamods: config.status diff -r tar-1.11.2/create.c ../tar-1.11.2-acamods/create.c 35a36,39 > #include > #include > #include > 37a42 > #warning Here! 234a240,243 > /*ACA*/ > if(f_no_mtime) > hstat.st_atime=hstat.st_mtime=hstat.st_ctime=0; > 665c674,675 < register struct dirent *d; --- > /*ACA*/ > register struct direct *d; 686a697 > 781a793,820 > /*ACA*/ > if(f_alpha_order){ > struct direct **dd; > int x,num; > > errno=0; > if((num=scandir(p,&dd,NULL,alphasort))<0){ > if(errno) > { > msg_perror ("can't open directory %s", p); > } > else > { > msg ("error opening directory %s", > p); > } > return; > } > > /* Hack to remove "./" from the front of all the file names */ > if (len == 2 && namebuf[0] == '.' && namebuf[1] == '/') > len = 0; > > for(x=0;x d=dd[x]; > /* Skip . and .. */ > if (is_dot_or_dotdot (d->d_name)) > continue; 782a822,840 > if (NLENGTH (d) + len >= buflen) > { > buflen = len + NLENGTH (d); > namebuf = ck_realloc (namebuf, buflen + 1); > /* namebuf[len]='\0'; > msg("file name %s%s too long", > namebuf, d->d_name); > continue; */ > } > strcpy (namebuf + len, d->d_name); > free(d); > if (f_exclude && check_exclude (namebuf)) > continue; > dump_file (namebuf, our_device, 0); > } > free(dd); > > > } else { 825a884 > } 1281,1282c1340,1348 < to_oct ((long) st->st_uid, 8, header->header.uid); < to_oct ((long) st->st_gid, 8, header->header.gid); --- > /* ACA */ > if(f_no_owners) > to_oct ((long) 0, 8, header->header.uid); > else > to_oct ((long) st->st_uid, 8, header->header.uid); > if(f_no_owners) > to_oct ((long) 0, 8, header->header.gid); > else > to_oct ((long) st->st_gid, 8, header->header.gid); 1298,1299c1364,1371 < finduname (header->header.uname, st->st_uid); < findgname (header->header.gname, st->st_gid); --- > /* ACA */ > if(f_no_owners){ > finduname (header->header.uname, 0L); > findgname (header->header.gname, 0L); > } else { > finduname (header->header.uname, 0L); > findgname (header->header.gname, 0L); > } diff -r tar-1.11.2/extract.c ../tar-1.11.2-acamods/extract.c 490c490 < if (we_are_root || f_do_chown) --- > if (!f_no_owners && (we_are_root || f_do_chown)) 508c508,509 < if (!f_modified) --- > /*ACA*/ > if (!f_modified && !f_no_mtime) 787c788 < if (we_are_root) --- > if (!f_no_owners && we_are_root) 883a885 > /*ACA*/ 885,894c887,898 < if (f_gnudump) < acc_upd_times.actime = saved_dir_info_head->atime; < else < acc_upd_times.actime = now; /* Accessed now */ < acc_upd_times.modtime = saved_dir_info_head->mtime; /* Mod'd */ < if (utime (saved_dir_info_head->path, &acc_upd_times) < 0) < { < msg_perror ("couldn't change access and modification times of %s", < saved_dir_info_head->path); < } --- > if(!f_no_mtime){ > if (f_gnudump) > acc_upd_times.actime = saved_dir_info_head->atime; > else > acc_upd_times.actime = now; /* Accessed now */ > acc_upd_times.modtime = saved_dir_info_head->mtime; /* Mod'd */ > if (utime (saved_dir_info_head->path, &acc_upd_times) < 0) > { > msg_perror ("couldn't change access and modification times of %s", > saved_dir_info_head->path); > } > } diff -r tar-1.11.2/gnu.c ../tar-1.11.2-acamods/gnu.c 19a20,24 > #include > #include > #include > #include > 551c556,557 < struct dirent *d; --- > /*ACA*/ > struct direct *d; 641c647,648 < struct dirent *dp; --- > /*ACA*/ > struct direct *dp; diff -r tar-1.11.2/port.h ../tar-1.11.2-acamods/port.h 108a109,111 > #undef bcopy > #undef bzero > #undef bcmp diff -r tar-1.11.2/tar.c ../tar-1.11.2-acamods/tar.c 182a183,186 > /*ACA*/ > {"no-mtime", 0, &f_no_mtime, 1}, > {"no-owners", 0, &f_no_owners, 1}, > {"alpha-order", 0, &f_alpha_order, 1}, 759a764,776 > \n\ > \n\ > The next few options are usefull when you want the diff of two archives\n\ > to be based only on file contents and modes.\n\ > Contact athan@cs.columbia.edu.\n\ > \n\ > --no-mtime Zero mtime in archive.\n\ > Also causes mtime not to be set on extract.\n\ > --no-owners Zero ownership information in archive.\n\ > Also causes owners not to be set on extract.\n\ > --alpha-order Alphabetically order the contents of each\n\ > directory. Useful only with -c (i.e., not\n\ > on update or extract).\n\ diff -r tar-1.11.2/tar.h ../tar-1.11.2-acamods/tar.h 235a236,239 > /*ACA*/ > TAR_EXTERN int f_no_mtime; /* --no-mtime */ > TAR_EXTERN int f_no_owners; /* --no-owners */ > TAR_EXTERN int f_alpha_order; /* --alpha-order */