debian/0000755000000000000000000000000012143062435007166 5ustar debian/dirs0000644000000000000000000000003011161535240010041 0ustar etc usr/bin usr/lib/arj debian/watch0000644000000000000000000000026411161535240010217 0ustar # You can run the "uscan" command to check for upstream updates and more. # Site Directory Pattern Version Script version=3 http://sf.net/arj/ arj-(.*)\.tar\.gz debian uupdate debian/patches/0000755000000000000000000000000012143062435010615 5ustar debian/patches/006_use_safe_strcpy.patch0000644000000000000000000000433311423305126015421 0ustar --- arj.c | 2 +- arjdata.c | 9 +-------- ea_mgr.c | 2 +- misc.h | 4 ++++ msgbind.c | 2 +- packager.c | 2 +- 6 files changed, 9 insertions(+), 12 deletions(-) --- a/arjdata.c +++ b/arjdata.c @@ -204,13 +204,6 @@ void date_fmt(char *dest) #endif } -/* A safe strcpy() */ - -static void safe_strcpy(char *dest, char *src) -{ - memmove(dest, src, strlen(src)+1); -} - /* Context substitution routine */ char *expand_tags(char *str, int limit) @@ -232,7 +225,7 @@ char *expand_tags(char *str, int limit) { if(*(p+1)==TAG_CHAR) { - strcpy(p, p+1); + safe_strcpy(p, p+1); p++; } else if(*(p+1)==TAG_SPECIAL_BEGIN&&(et=strchr(p+3, TAG_SPECIAL_END))!=NULL) --- a/arj.c +++ b/arj.c @@ -1169,7 +1169,7 @@ int main(int argc, char *argv[]) if(strlen(tmp_ptr)<=121) tmp_ptr[0]='\0'; else if(tmp_ptr[120]==' ') - strcpy(tmp_ptr, tmp_ptr+121); + safe_strcpy(tmp_ptr, tmp_ptr+121); } if(cmd==ARJ_CMD_ORDER&&strpbrk(tmp_ptr, wildcard_pattern)!=NULL) error(M_ORDER_WILDCARD); --- a/ea_mgr.c +++ b/ea_mgr.c @@ -696,7 +696,7 @@ int resolve_longname(char *dest, char *n tmp_name[st_len]='\0'; if(tmp_name[0]==0xFD&&tmp_name[1]==0xFF) { - strcpy(tmp_name, (char *)tmp_name+4); + safe_strcpy(tmp_name, (char *)tmp_name+4); st_len-=4; } if(st_len==0||st_len+entry>=FILENAME_MAX) --- a/msgbind.c +++ b/msgbind.c @@ -578,7 +578,7 @@ int main(int argc, char **argv) } strcat(pool[tpool].data, msgname); strcat(pool[tpool].data, ", "); - strcpy(msg_buffer, msg_buffer+1); + safe_strcpy(msg_buffer, msg_buffer+1); buf_len=strlen(msg_buffer); msg_buffer[--buf_len]='\0'; patch_string(msg_buffer); --- a/packager.c +++ b/packager.c @@ -347,7 +347,7 @@ int main(int argc, char **argv) expand_tags(buf, sizeof(buf)-1); if((p=strchr(buf, '.'))!=NULL) { - strcpy(p, p+1); + safe_strcpy(p, p+1); if((p=strchr(buf, '.'))!=NULL) *p='\0'; } --- a/misc.h +++ b/misc.h @@ -11,6 +11,10 @@ #include "arjtypes.h" #include "filelist.h" +/* A safe strcpy() */ + +#define safe_strcpy(dest, src) memmove(dest, src, strlen(src)+1); + /* ASCIIZ string copy macro */ #define strcpyn(dest, src, n) \ debian/patches/doc_refer_robert_k_jung.patch0000644000000000000000000000106511161535240016500 0ustar Index: b/resource/en/arj.1 =================================================================== --- a/resource/en/arj.1 2005-06-21 21:27:20.000000000 +0300 +++ b/resource/en/arj.1 2008-06-16 08:25:47.000000000 +0300 @@ -21,6 +21,9 @@ arj \- Archiver for .arj files .IR archive [ .arj ] .RI [ "base directory" ] .RI [ "!list name" | "path name" | "wildcard name" ] +.SH DESCRIPTION +\fIarj\fP is a compression and file archiving utility. It was invented by +Robert K. Jung. \fIARJ\fP stands for \fIA\fPrchived by \fIR\fPobert \fIJ\fPung. .SH COMMANDS .TP .B ac debian/patches/series0000644000000000000000000000045512143062435012036 0ustar 001_arches_align.patch 002_no_remove_static_const.patch 003_64_bit_clean.patch 004_parallel_build.patch 005_use_system_strnlen.patch 006_use_safe_strcpy.patch hurd_no_fcntl_getlk.patch security_format.patch doc_refer_robert_k_jung.patch gnu_build_fix.patch gnu_build_flags.patch gnu_build_strip.patch debian/patches/security_format.patch0000644000000000000000000002020312143062434015051 0ustar --- arj_arcv.c | 12 ++++++------ arj_user.c | 8 ++++---- arjdisp.c | 58 ++++++++++++++++++++++++++++------------------------------ arjsfx.c | 2 +- fardata.c | 10 +++++----- rearj.c | 2 +- register.c | 2 +- 7 files changed, 46 insertions(+), 48 deletions(-) --- a/fardata.c +++ b/fardata.c @@ -52,7 +52,7 @@ int error_proc(FMSG *errmsg, ...) /* Check if the message could have a standard error code */ if(errno!=0&&is_std_error(errmsg)) { - msg_cprintf(0, lf); + msg_cprintf(0, "\n"); error_report(); } #endif @@ -379,10 +379,10 @@ static void flush_cbuf(int ccode, char * { #if SFX_LEVEL>=ARJSFXV fprintf(new_stdout, strform, n_text); - fprintf(new_stdout, lf); + fprintf(new_stdout, "\n"); #else printf(strform, n_text); - printf(lf); + printf("\n"); #endif } else @@ -393,13 +393,13 @@ static void flush_cbuf(int ccode, char * #ifdef NEED_CRLF scr_out("\r"); #endif - scr_out(lf); + scr_out("\n"); } if(!no_colors) textcolor(color_table[ccode&H_COLORMASK].color); #else printf(strform, n_text); - printf(lf); + printf("\n"); #endif n_text=t_text+1; #if SFX_LEVEL>=ARJ --- a/arj_user.c +++ b/arj_user.c @@ -1059,7 +1059,7 @@ static void finish_processing(int cmd) if(recover_file(tmp_archive_name, nullstr, tmp_tmp_filename, protected, eof_pos)) { msg_cprintf(H_HL, M_CANT_FIND_DAMAGE, archive_name); - printf(lf); + printf("\n"); } else { @@ -1294,7 +1294,7 @@ static void finish_processing(int cmd) if(recover_file(archive_name, nullstr, nullstr, protected, eof_pos)) { msg_cprintf(H_HL, M_CANT_FIND_DAMAGE, archive_name); - printf(lf); + printf("\n"); } else { @@ -1327,7 +1327,7 @@ static void finish_processing(int cmd) msg_cprintf(0, M_CHAPTERS_ON); else if(chapter_mode==CHAP_REMOVE) msg_cprintf(0, M_CHAPTERS_OFF); - msg_cprintf(0, strform, lf); + msg_cprintf(0, strform, "\n"); } if(cmd==ARJ_CMD_COPY&&protfile_option&&!arjprot_tail) msg_cprintf(0, M_ARJPROT_DISABLED); @@ -2303,7 +2303,7 @@ void process_archive() timestamp_to_str(timetext, &ftime_stamp); msg_cprintf(H_HL|H_NFMT, M_ARCHIVE_CREATED, timetext); if(show_ansi_comments) - printf(cmt_ptr); + fputs(cmt_ptr, stdout); else display_comment(cmt_ptr); /* The sfx_setup() occurs here */ --- a/arj_arcv.c +++ b/arj_arcv.c @@ -913,13 +913,13 @@ int supply_comment(char *cmtname, char * else { strcat(tmp_comment, tmp_cmtline); - strcat(tmp_comment, lf); + strcat(tmp_comment, "\n"); } } else { strcat(tmp_comment, tmp_cmtline); - strcat(tmp_comment, lf); + strcat(tmp_comment, "\n"); } } } @@ -1846,7 +1846,7 @@ int pack_file(int is_update, int is_repl raw_eh=eh_lookup(eh, UXSPECIAL_ID)->raw; uxspecial_stats(raw_eh, UXSTATS_SHORT); } - msg_cprintf(0, lf); + msg_cprintf(0, "\n"); } if(err_id==0&&user_wants_fail) { @@ -2523,9 +2523,9 @@ int unpack_validation() { msg_cprintf(0, (FMSG *)strform, misc_buf); if(search_mode==SEARCH_DEFAULT) - msg_cprintf(0, (FMSG *)lf); + msg_cprintf(0, "\n"); if(search_mode==SEARCH_BRIEF) - msg_cprintf(0, (FMSG *)cr); + msg_cprintf(0, "\r"); } for(pattern=0; pattern=ARJSFXV if(ferror(stdout)) - msg_fprintf(stderr, M_DISK_FULL); + msg_fprintf(stderr, "Can't write file. Disk full?"); if(debug_enabled&&strchr(debug_opt, 't')!=NULL) { ticks=get_ticks()-ticks; --- a/rearj.c +++ b/rearj.c @@ -935,7 +935,7 @@ static int convert_archive(char *name) msg_cprintf(H_HL|H_NFMT, M_OLD_SIZE, old_fsize); msg_cprintf(H_HL|H_NFMT, M_NEW_SIZE, new_fsize); msg_cprintf(H_HL|H_NFMT, M_SAVINGS_SIZE, gain); - printf(lf); + printf("\n"); total_old_fsize+=old_fsize; total_new_fsize+=new_fsize; total_files++; --- a/register.c +++ b/register.c @@ -205,7 +205,7 @@ int main(int argc, char **argv) char reg_source[200]; int i; - printf(M_REGISTER_BANNER); + fputs(M_REGISTER_BANNER, stdout); integrity_pattern[0]--; build_crc32_table(); if(argc!=2) --- a/arjdisp.c +++ b/arjdisp.c @@ -20,8 +20,6 @@ static long bytes; static long compsize; static char cmd_verb; static char msg_lf[]="\n"; -char strform[]="%s"; /* Export it for scrnio.c, too - (a byte saved is a byte gained) */ /* Pseudographical controls */ @@ -54,19 +52,19 @@ static void show_init_scrn() textcolor(7); clrscr(); gotoxy(2, 2); - scrprintf(win_top); + fputs(win_top, stdout); for(i=3; i<24; i++) { - gotoxy(2, i); scrprintf(win_border); - gotoxy(79, i); scrprintf(win_border); + gotoxy(2, i); fputs(win_border, stdout); + gotoxy(79, i); fputs(win_border, stdout); } - gotoxy(2, 24); scrprintf(win_bottom); + gotoxy(2, 24); fputs(win_bottom, stdout); gotoxy(10, 5); - scrprintf(M_ARJDISP_COPYRIGHT); + fputs(M_ARJDISP_COPYRIGHT, stdout); gotoxy(10, 6); - scrprintf(M_ARJDISP_DISTRIBUTION); + fputs(M_ARJDISP_DISTRIBUTION, stdout); gotoxy(10, 7); - scrprintf(M_ARJDISP_LICENSE); + fputs(M_ARJDISP_LICENSE, stdout); gotoxy(16, 10); scrprintf(M_PROCESSING_ARCHIVE, archive_name); t=strtok(M_ARJDISP_INFO, msg_lf); @@ -74,11 +72,11 @@ static void show_init_scrn() while(t!=NULL&&i<=23) { gotoxy(10, i++); - scrprintf(strform, t); + scrprintf("%s", t); t=strtok(NULL, msg_lf); } gotoxy(16, 20); - scrprintf(M_PRESS_ANY_KEY); + fputs(M_PRESS_ANY_KEY, stdout); uni_getch(); gotoxy(1, 24); } @@ -96,19 +94,19 @@ static void show_proc_scrn() { clrscr(); gotoxy(2, 2); - scrprintf(win_top); + fputs(win_top, stdout); for(i=3; i<24; i++) { - gotoxy(2, i); scrprintf(win_border); - gotoxy(79, i); scrprintf(win_border); + gotoxy(2, i); fputs(win_border, stdout); + gotoxy(79, i); fputs(win_border, stdout); } - gotoxy(2, 24); scrprintf(win_bottom); + gotoxy(2, 24); fputs(win_bottom, stdout); gotoxy(10, 5); - scrprintf(M_ARJDISP_COPYRIGHT); + fputs(M_ARJDISP_COPYRIGHT, stdout); gotoxy(10, 6); - scrprintf(M_ARJDISP_DISTRIBUTION); + fputs(M_ARJDISP_DISTRIBUTION, stdout); gotoxy(10, 7); - scrprintf(M_ARJDISP_LICENSE); + fputs(M_ARJDISP_LICENSE, stdout); gotoxy(16, 10); scrprintf(M_PROCESSING_ARCHIVE, archive_name); gotoxy(16, 12); @@ -132,13 +130,13 @@ static void show_proc_scrn() break; } gotoxy(15, 14); - scrprintf(ind_top); + fputs(ind_top, stdout); gotoxy(15, 15); - scrprintf(ind_middle); + fputs(ind_middle, stdout); gotoxy(15, 16); - scrprintf(ind_bottom); + fputs(ind_bottom, stdout); gotoxy(16, 18); - scrprintf(M_ARJDISP_CTR_START); + fputs(M_ARJDISP_CTR_START, stdout); } else { @@ -146,7 +144,7 @@ static void show_proc_scrn() gotoxy(16, 15); memset(progress, indo, i); progress[i]='\0'; - scrprintf(progress); + fputs(progress, stdout); gotoxy(16, 18); scrprintf(M_ARJDISP_CTR, calc_percentage(bytes, uncompsize)/10); } @@ -165,19 +163,19 @@ static void show_ending_scrn() textcolor(7); clrscr(); gotoxy(2, 2); - scrprintf(win_top); + fputs(win_top, stdout); for(i=3; i<24; i++) { - gotoxy(2, i); scrprintf(win_border); - gotoxy(79, i); scrprintf(win_border); + gotoxy(2, i); fputs(win_border, stdout); + gotoxy(79, i); fputs(win_border, stdout); } - gotoxy(2, 24); scrprintf(win_bottom); + gotoxy(2, 24); fputs(win_bottom, stdout); gotoxy(10, 5); - scrprintf(M_ARJDISP_COPYRIGHT); + fputs(M_ARJDISP_COPYRIGHT, stdout); gotoxy(10, 6); - scrprintf(M_ARJDISP_DISTRIBUTION); + fputs(M_ARJDISP_DISTRIBUTION, stdout); gotoxy(10, 7); - scrprintf(M_ARJDISP_LICENSE); + fputs(M_ARJDISP_LICENSE, stdout); gotoxy(16, 10); scrprintf(M_FINISHED_PROCESSING, archive_name); gotoxy(1, 24); debian/patches/005_use_system_strnlen.patch0000644000000000000000000000227611253246143016177 0ustar --- fardata.c | 2 ++ gnu/config.h.in | 1 + gnu/configure.in | 4 +++- 3 files changed, 6 insertions(+), 1 deletion(-) --- a/fardata.c +++ b/fardata.c @@ -190,6 +190,7 @@ int msg_sprintf(char *str, FMSG *fmt, .. /* Length-limited strlen() */ +#ifndef HAVE_STRNLEN static int strnlen(const char FAR *s, int count) { const char FAR *sc; @@ -198,6 +199,7 @@ static int strnlen(const char FAR *s, in ; return(sc-s); } +#endif /* Hex representation of digits */ --- a/gnu/config.h.in +++ b/gnu/config.h.in @@ -8,6 +8,7 @@ #undef HAVE_FCLOSEALL #undef HAVE_SETPRIORITY #undef HAVE_STRCASECMP +#undef HAVE_STRNLEN #undef HAVE_STRUPR #undef HAVE_STRLWR #undef USE_COLORS --- a/gnu/configure.in +++ b/gnu/configure.in @@ -35,7 +35,9 @@ AC_FUNC_MEMCMP AC_FUNC_SETVBUF_REVERSED AC_TYPE_SIGNAL AC_FUNC_VPRINTF -AC_CHECK_FUNCS([getcwd min max mkdir mkdtemp rmdir fcloseall strcasecmp setpriority strdup strerror strstr strupr strlwr strtol strtoul]) +AC_CHECK_FUNCS([getcwd min max mkdir mkdtemp rmdir fcloseall \ + strcasecmp setpriority strdup strerror strstr strnlen \ + strupr strlwr strtol strtoul]) dnl Platform-specific tuning PROG_EXT= debian/patches/gnu_build_fix.patch0000644000000000000000000000104711532614214014455 0ustar --- gnu/configure.in | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) --- a/gnu/configure.in +++ b/gnu/configure.in @@ -49,16 +49,11 @@ OS_DEF="-D_UNIX" DLL_CFLAGS="-fPIC" case $host_os in -linux*) +gnu*|linux*|k*bsd*) AC_DEFINE(ELF_EXECUTABLES, 1, [Define if executables use ELF format]) DYN_LIBS="-ldl" LD_STRIP="gnu/stripgcc.lnk" ;; -k*bsd*) - AC_DEFINE(ELF_EXECUTABLES) - DYN_LIBS="-ldl" - LD_STRIP="gnu/stripgcc.lnk" - ;; *bsd*) AC_DEFINE(ELF_EXECUTABLES) DLL_FLAGS="-shared -export-dynamic" debian/patches/001_arches_align.patch0000644000000000000000000000270211161535240014634 0ustar Index: b/arj_proc.c =================================================================== --- a/arj_proc.c 2005-06-21 22:53:12.000000000 +0300 +++ b/arj_proc.c 2008-06-16 08:25:28.000000000 +0300 @@ -2898,7 +2898,7 @@ char *ltrim(char *str) } #endif -#if defined(WORDS_BIGENDIAN)&&!defined(ARJDISP)&&!defined(REGISTER) +#if (defined(WORDS_BIGENDIAN) || defined(ALIGN_POINTERS)) && !defined(ARJDISP) && !defined(REGISTER) /* Model-independent routine to get 2 bytes from far RAM */ unsigned int mget_word(char FAR *p) Index: b/arj_proc.h =================================================================== --- a/arj_proc.h 2004-01-25 12:39:30.000000000 +0200 +++ b/arj_proc.h 2008-06-16 08:25:28.000000000 +0300 @@ -12,7 +12,7 @@ #define mget_byte(p) (*(unsigned char FAR *)(p)&0xFF) #define mput_byte(c, p) *(unsigned char FAR *)(p)=(unsigned char)(c) -#ifndef WORDS_BIGENDIAN +#if !defined(ALIGN_POINTERS) && !defined(WORDS_BIGENDIAN) #define mget_word(p) (*(unsigned short *)(p)&0xFFFF) #define mput_word(w,p) (*(unsigned short *)(p)=(unsigned short)(w)) #define mget_dword(p) (*(unsigned long *)(p)) @@ -60,7 +60,7 @@ void pack_mem(struct mempack *mempack); void unpack_mem(struct mempack *mempack); void strip_lf(char *str); char *ltrim(char *str); -#ifdef WORDS_BIGENDIAN +#if defined(ALIGN_POINTERS) || defined(WORDS_BIGENDIAN) unsigned int mget_word(char FAR *p); unsigned long mget_dword(char FAR *p); void mput_word(unsigned int w, char FAR *p); debian/patches/hurd_no_fcntl_getlk.patch0000644000000000000000000000067212143062434015654 0ustar --- environ.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/environ.c +++ b/environ.c @@ -1775,7 +1775,8 @@ int file_test_access(char *name) memset(&flk, 0, sizeof(flk)); rc=fcntl(handle, F_GETLK, &flk); close(handle); - return(((rc==-1&&errno!=EINVAL)||(rc!=1&&flk.l_type==F_RDLCK))?-1:0); + return(((rc==-1&&errno!=EINVAL&&errno!=ENOSYS)|| + (rc!=1&&flk.l_type==F_RDLCK))?-1:0); #endif } #endif debian/patches/003_64_bit_clean.patch0000644000000000000000000001422011161535240014446 0ustar Index: b/arj_arcv.c =================================================================== --- a/arj_arcv.c 2005-06-21 22:53:12.000000000 +0300 +++ b/arj_arcv.c 2008-06-16 08:25:43.000000000 +0300 @@ -59,27 +59,27 @@ static char idxid_fault[]="?"; #define setup_hput(ptr) (tmp_hptr=(ptr)) #define hget_byte() (*(tmp_hptr++)&0xFF) -#define hput_byte(c) (*(tmp_hptr++)=(char) (c)) +#define hput_byte(c) (*(tmp_hptr++)=(uint8_t) (c)) /* Reads two bytes from the header, incrementing the pointer */ -static unsigned int hget_word() +static uint16_t hget_word() { - unsigned int result; + uint16_t result; result=mget_word(tmp_hptr); - tmp_hptr+=sizeof(short); + tmp_hptr+=sizeof(uint16_t); return result; } /* Reads four bytes from the header, incrementing the pointer */ -static unsigned long hget_longword() +static uint32_t hget_longword() { - unsigned long result; + uint32_t result; result=mget_dword(tmp_hptr); - tmp_hptr+=sizeof(unsigned long); + tmp_hptr+=sizeof(uint32_t); return result; } @@ -87,18 +87,18 @@ static unsigned long hget_longword() /* Writes two bytes to the header, incrementing the pointer */ -static void hput_word(unsigned int w) +static void hput_word(uint16_t w) { mput_word(w,tmp_hptr); - tmp_hptr+=sizeof(unsigned short); + tmp_hptr+=sizeof(uint16_t); } /* Writes four bytes to the header, incrementing the pointer */ -static void hput_longword(unsigned long l) +static void hput_longword(uint32_t l) { mput_dword(l,tmp_hptr); - tmp_hptr+=sizeof(unsigned long); + tmp_hptr+=sizeof(uint32_t); } /* Calculates and stores the basic header size */ Index: b/arj_proc.c =================================================================== --- a/arj_proc.c 2008-06-16 08:25:28.000000000 +0300 +++ b/arj_proc.c 2008-06-16 08:25:43.000000000 +0300 @@ -585,7 +585,7 @@ int search_for_extension(char *name, cha /* Returns the exact amount of data that could be safely written to the destination volume */ -unsigned long get_volfree(unsigned int increment) +unsigned long get_volfree(unsigned long increment) { unsigned long pvol; unsigned int arjsec_overhead; @@ -605,7 +605,7 @@ unsigned long get_volfree(unsigned int i remain=volume_limit-ftell(aostream)-pvol-(long)arjsec_overhead- (long)out_bytes-(long)cpos-(long)ext_voldata- MULTIVOLUME_RESERVE-t_volume_offset; - return((unsigned long)min(remain, (unsigned long)increment)); + return((unsigned long)min(remain, increment)); } /* Performs various checks when multivolume data is packed to predict an @@ -2466,14 +2466,14 @@ static int get_str_from_jq() *tsptr='\0'; endptr=tsptr; tsptr=sptr; - while((unsigned int)tsptr<(unsigned int)endptr&&patterns>8 , p+1); @@ -2931,7 +2931,7 @@ void mput_word(unsigned int w, char FAR /* Model-independent routine to store 4 bytes in far RAM */ -void mput_dword(unsigned long d, char FAR *p) +void mput_dword(uint32_t d, char FAR *p) { mput_word(d&0xFFFF, p); mput_word(d>>16 , p+2); Index: b/arj_proc.h =================================================================== --- a/arj_proc.h 2008-06-16 08:25:28.000000000 +0300 +++ b/arj_proc.h 2008-06-16 08:25:43.000000000 +0300 @@ -8,15 +8,17 @@ #ifndef ARJ_PROC_INCLUDED #define ARJ_PROC_INCLUDED +#include + /* Helper macros */ -#define mget_byte(p) (*(unsigned char FAR *)(p)&0xFF) -#define mput_byte(c, p) *(unsigned char FAR *)(p)=(unsigned char)(c) +#define mget_byte(p) (*(uint8_t FAR *)(p)&0xFF) +#define mput_byte(c, p) *(uint8_t FAR *)(p)=(uint8_t)(c) #if !defined(ALIGN_POINTERS) && !defined(WORDS_BIGENDIAN) -#define mget_word(p) (*(unsigned short *)(p)&0xFFFF) -#define mput_word(w,p) (*(unsigned short *)(p)=(unsigned short)(w)) -#define mget_dword(p) (*(unsigned long *)(p)) -#define mput_dword(w,p) (*(unsigned long *)(p)=(unsigned long)(w)) +#define mget_word(p) (*(uint16_t *)(p)&0xFFFF) +#define mput_word(w,p) (*(uint16_t *)(p)=(uint16_t)(w)) +#define mget_dword(p) (*(uint32_t *)(p)) +#define mput_dword(w,p) (*(uint32_t *)(p)=(uint32_t)(w)) #endif /* Prototypes */ @@ -31,7 +33,7 @@ void copy_bytes(unsigned long nbytes); int translate_path(char *name); void restart_proc(char *dest); int search_for_extension(char *name, char *ext_list); -unsigned long get_volfree(unsigned int increment); +unsigned long get_volfree(unsigned long increment); unsigned int check_multivolume(unsigned int increment); void store(); void hollow_encode(); @@ -61,10 +63,10 @@ void unpack_mem(struct mempack *mempack) void strip_lf(char *str); char *ltrim(char *str); #if defined(ALIGN_POINTERS) || defined(WORDS_BIGENDIAN) -unsigned int mget_word(char FAR *p); -unsigned long mget_dword(char FAR *p); -void mput_word(unsigned int w, char FAR *p); -void mput_dword(unsigned long d, char FAR *p); +uint16_t mget_word(char FAR *p); +uint32_t mget_dword(char FAR *p); +void mput_word(uint16_t w, char FAR *p); +void mput_dword(uint32_t d, char FAR *p); #endif #endif debian/patches/gnu_build_strip.patch0000644000000000000000000000646312143062435015040 0ustar --- gnu/makefile.in | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) --- a/gnu/makefile.in +++ b/gnu/makefile.in @@ -50,10 +50,15 @@ endif ifdef DEBUG DEBUG_SM = d -ALL_CFLAGS += -g -DDEBUG +ALL_CFLAGS += -DDEBUG else DEBUG_SM = r -ADD_LDFLAGS = -s @LD_STRIP@ +endif + +ifdef BUILD_STRIP +STRIP = strip --strip-unneeded +else +STRIP = : endif ALL_CFLAGS += @CPPFLAGS@ $(CPPFLAGS) @CFLAGS@ $(CFLAGS) @@ -269,6 +274,7 @@ ARJCRYPT_OBJS = $(patsubst %,$(ARJCRYPT_ $(ARJCRYPT_DIR)/arjcrypt$d: $(ARJCRYPT_OBJS) $(TOOLS_DIR)/postproc$x $(CC) $(ALL_CFLAGS) $(DLL_FLAGS) -o $@ $(ARJCRYPT_OBJS) $(ARJCRYPT_DEF) $(LIBS) + $(STRIP) $@ $(TOOLS_DIR)/postproc $@ $(BASEDIR)/nmsg_crp.c $(BASEDIR)/msg_crp.h: $(TOOLS_DIR)/msgbind$x $(RESFILE) @@ -283,6 +289,7 @@ SFXSTUB_OBJS = $(patsubst %,$(SFXSTUB_DI $(SFXSTUB_DIR)/sfxstub$x: $(SFXSTUB_OBJS) $(TOOLS_DIR)/postproc$x $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(SFXSTUB_OBJS) $(LIBS) + $(STRIP) $@ $(TOOLS_DIR)/postproc$x $@ -sfx $(BASEDIR)/nmsg_stb.c $(BASEDIR)/msg_stb.h: $(TOOLS_DIR)/msgbind$x $(RESFILE) @@ -301,6 +308,7 @@ ARJSFXV_OBJS = $(patsubst %,$(ARJSFXV_DI $(ARJSFXV_DIR)/arjsfxv$x: $(ARJSFXV_OBJS) $(TOOLS_DIR)/postproc$x $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(ARJSFXV_OBJS) $(LIBS) $(DYN_LIBS) + $(STRIP) $@ $(TOOLS_DIR)/postproc$x $@ -sfx $(BASEDIR)/fmsg_sfv.c $(BASEDIR)/imsg_sfv.c $(BASEDIR)/nmsg_sfv.c \ @@ -319,6 +327,7 @@ ARJSFX_OBJS = $(patsubst %,$(ARJSFX_DIR) $(ARJSFX_DIR)/arjsfx$x: $(ARJSFX_OBJS) $(TOOLS_DIR)/postproc$x $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(ARJSFX_OBJS) $(LIBS) + $(STRIP) $@ $(TOOLS_DIR)/postproc$x $@ -sfx $(BASEDIR)/fmsg_sfx.c $(BASEDIR)/imsg_sfx.c $(BASEDIR)/nmsg_sfx.c \ @@ -335,6 +344,7 @@ ARJSFXJR_OBJS = $(patsubst %,$(ARJSFXJR_ $(ARJSFXJR_DIR)/arjsfxjr$x: $(ARJSFXJR_OBJS) $(TOOLS_DIR)/postproc$x $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(ARJSFXJR_OBJS) $(LIBS) + $(STRIP) $@ $(TOOLS_DIR)/postproc$x $@ -sfx $(BASEDIR)/fmsg_sfj.c $(BASEDIR)/imsg_sfj.c $(BASEDIR)/nmsg_sfj.c \ @@ -364,6 +374,7 @@ $(ARJ_DIR)/arj$x: $(ARJ_OBJS) \ $(ARJSFX_DIR)/arjsfx$x \ $(ARJSFXJR_DIR)/arjsfxjr$x $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(ARJ_OBJS) $(LIBS) $(DYN_LIBS) + $(STRIP) $@ $(TOOLS_DIR)/join $(ARJ_DIR)/arj$x $(ARJSFXJR_DIR)/arjsfxjr$x $(TOOLS_DIR)/join $(ARJ_DIR)/arj$x $(ARJSFX_DIR)/arjsfx$x $(TOOLS_DIR)/join $(ARJ_DIR)/arj$x $(ARJSFXV_DIR)/arjsfxv$x @@ -390,6 +401,7 @@ REARJ_OBJS = $(patsubst %,$(REARJ_DIR)/% $(REARJ_DIR)/rearj$x: $(REARJ_OBJS) \ $(TOOLS_DIR)/postproc$x $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(REARJ_OBJS) $(LIBS) + $(STRIP) $@ $(TOOLS_DIR)/postproc $@ $(BASEDIR)/fmsg_rej.c $(BASEDIR)/imsg_rej.c $(BASEDIR)/nmsg_rej.c \ @@ -407,6 +419,7 @@ REGISTER_OBJS = $(patsubst %,$(REGISTER_ $(REGISTER_DIR)/$(REGISTER)$x: $(REGISTER_OBJS) \ $(TOOLS_DIR)/postproc$x $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(REGISTER_OBJS) $(LIBS) + $(STRIP) $@ $(TOOLS_DIR)/postproc $@ -sfx $(BASEDIR)/fmsg_reg.c $(BASEDIR)/imsg_reg.c $(BASEDIR)/nmsg_reg.c \ @@ -423,6 +436,7 @@ ARJDISP_OBJS = $(patsubst %,$(ARJDISP_DI $(ARJDISP_DIR)/arjdisp$x: $(ARJDISP_OBJS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(ARJDISP_OBJS) $(LIBS) + $(STRIP) $@ $(BASEDIR)/fmsg_adi.c $(BASEDIR)/imsg_adi.c $(BASEDIR)/nmsg_adi.c \ $(BASEDIR)/msg_adi.h: $(TOOLS_DIR)/msgbind$x $(RESFILE) debian/patches/004_parallel_build.patch0000644000000000000000000001332712143062351015177 0ustar --- gnu/makefile.in | 74 +++++++++++++++++++++++++++++++++----------------------- 1 file changed, 44 insertions(+), 30 deletions(-) --- a/gnu/makefile.in +++ b/gnu/makefile.in @@ -159,13 +159,15 @@ $(SFXSTUB_DIR)/%.o: $(SRC_DIR)/%.c # Main dependency tree # -.PHONY: timestamp prepare cleanup package help +.PHONY: timestamp msg-headers depends prepare clean package help ifdef COMMERCIAL MAKE_KEY=$(TOOLS_DIR)/make_key$x endif all: prepare timestamp + $(MAKE) msg-headers + $(MAKE) depends $(MAKE) do-all do-all: \ @@ -175,8 +177,28 @@ do-all: \ $(REGISTER_DIR)/$(REGISTER)$x \ $(ARJDISP_DIR)/arjdisp$x \ $(TOOLS_DIR)/packager$x \ - $(MAKE_KEY) \ - dispose + $(MAKE_KEY) + +MSG_ID := \ + msg_crp msg_stb msg_sfv msg_sfx msg_sfj msg_arj msg_rej msg_reg msg_adi +MSG_HEADERS := $(patsubst %,$(BASEDIR)/%.h,$(MSG_ID)) + +msg-headers: $(MSG_HEADERS) + +.deps: + mkdir -p $@ + +.deps/%.d: %.c .deps + $(CC) $(CPPFLAGS) $(COPT) $< -MM > $@ + +SOURCES = $(wildcard *.c) +DEPS = $(addprefix .deps/,$(SOURCES:.c=.d)) + +ifeq ($(sort $(DEPS)),$(sort $(wildcard .deps/*.d))) +include $(DEPS) +endif + +depends: $(DEPS) # # Update timestamp file @@ -186,12 +208,6 @@ timestamp: $(TOOLS_DIR)/today$x $(TOOLS_DIR)/today$x $(LOCALE) $(BASEDIR) # -# Final cleanup -# - -dispose: - -# # The tools # @@ -255,7 +271,7 @@ $(ARJCRYPT_DIR)/arjcrypt$d: $(ARJCRYPT_O $(CC) $(ALL_CFLAGS) $(DLL_FLAGS) -o $@ $(ARJCRYPT_OBJS) $(ARJCRYPT_DEF) $(LIBS) $(TOOLS_DIR)/postproc $@ -$(BASEDIR)/nmsg_crp.c: $(TOOLS_DIR)/msgbind$x $(RESFILE) +$(BASEDIR)/nmsg_crp.c $(BASEDIR)/msg_crp.h: $(TOOLS_DIR)/msgbind$x $(RESFILE) $(TOOLS_DIR)/msgbind $(RESFILE) msg_crp $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR) # @@ -269,7 +285,7 @@ $(SFXSTUB_DIR)/sfxstub$x: $(SFXSTUB_OBJS $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(SFXSTUB_OBJS) $(LIBS) $(TOOLS_DIR)/postproc$x $@ -sfx -$(BASEDIR)/nmsg_stb.c: $(TOOLS_DIR)/msgbind$x $(RESFILE) +$(BASEDIR)/nmsg_stb.c $(BASEDIR)/msg_stb.h: $(TOOLS_DIR)/msgbind$x $(RESFILE) $(TOOLS_DIR)/msgbind $(RESFILE) msg_stb $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR) # @@ -287,7 +303,8 @@ $(ARJSFXV_DIR)/arjsfxv$x: $(ARJSFXV_OBJS $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(ARJSFXV_OBJS) $(LIBS) $(DYN_LIBS) $(TOOLS_DIR)/postproc$x $@ -sfx -$(BASEDIR)/fmsg_sfv.c $(BASEDIR)/imsg_sfv.c $(BASEDIR)/nmsg_sfv.c: $(TOOLS_DIR)/msgbind$x $(RESFILE) +$(BASEDIR)/fmsg_sfv.c $(BASEDIR)/imsg_sfv.c $(BASEDIR)/nmsg_sfv.c \ +$(BASEDIR)/msg_sfv.h: $(TOOLS_DIR)/msgbind$x $(RESFILE) $(TOOLS_DIR)/msgbind $(RESFILE) msg_sfv $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR) # @@ -304,7 +321,8 @@ $(ARJSFX_DIR)/arjsfx$x: $(ARJSFX_OBJS) $ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(ARJSFX_OBJS) $(LIBS) $(TOOLS_DIR)/postproc$x $@ -sfx -$(BASEDIR)/fmsg_sfx.c $(BASEDIR)/imsg_sfx.c $(BASEDIR)/nmsg_sfx.c: $(TOOLS_DIR)/msgbind$x $(RESFILE) +$(BASEDIR)/fmsg_sfx.c $(BASEDIR)/imsg_sfx.c $(BASEDIR)/nmsg_sfx.c \ +$(BASEDIR)/msg_sfx.h: $(TOOLS_DIR)/msgbind$x $(RESFILE) $(TOOLS_DIR)/msgbind $(RESFILE) msg_sfx $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR) # @@ -319,7 +337,8 @@ $(ARJSFXJR_DIR)/arjsfxjr$x: $(ARJSFXJR_O $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(ARJSFXJR_OBJS) $(LIBS) $(TOOLS_DIR)/postproc$x $@ -sfx -$(BASEDIR)/fmsg_sfj.c $(BASEDIR)/imsg_sfj.c $(BASEDIR)/nmsg_sfj.c: $(TOOLS_DIR)/msgbind$x $(RESFILE) +$(BASEDIR)/fmsg_sfj.c $(BASEDIR)/imsg_sfj.c $(BASEDIR)/nmsg_sfj.c \ +$(BASEDIR)/msg_sfj.h: $(TOOLS_DIR)/msgbind$x $(RESFILE) $(TOOLS_DIR)/msgbind $(RESFILE) msg_sfj $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR) # @@ -354,7 +373,8 @@ $(ARJ_DIR)/arj$x: $(ARJ_OBJS) \ $(TOOLS_DIR)/join $(ARJ_DIR)/arj$x $(BASEDIR)/help.arj $(TOOLS_DIR)/postproc $@ -$(BASEDIR)/fmsg_arj.c $(BASEDIR)/imsg_arj.c $(BASEDIR)/nmsg_arj.c: $(TOOLS_DIR)/msgbind$x $(RESFILE) +$(BASEDIR)/fmsg_arj.c $(BASEDIR)/imsg_arj.c $(BASEDIR)/nmsg_arj.c \ +$(BASEDIR)/msg_arj.h: $(TOOLS_DIR)/msgbind$x $(RESFILE) $(TOOLS_DIR)/msgbind $(RESFILE) msg_arj $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR) # @@ -372,7 +392,8 @@ $(REARJ_DIR)/rearj$x: $(REARJ_OBJS) \ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(REARJ_OBJS) $(LIBS) $(TOOLS_DIR)/postproc $@ -$(BASEDIR)/fmsg_rej.c $(BASEDIR)/imsg_rej.c $(BASEDIR)/nmsg_rej.c: $(TOOLS_DIR)/msgbind$x $(RESFILE) +$(BASEDIR)/fmsg_rej.c $(BASEDIR)/imsg_rej.c $(BASEDIR)/nmsg_rej.c \ +$(BASEDIR)/msg_rej.h: $(TOOLS_DIR)/msgbind$x $(RESFILE) $(TOOLS_DIR)/msgbind $(RESFILE) msg_rej $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR) # @@ -388,7 +409,8 @@ $(REGISTER_DIR)/$(REGISTER)$x: $(REGISTE $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(REGISTER_OBJS) $(LIBS) $(TOOLS_DIR)/postproc $@ -sfx -$(BASEDIR)/fmsg_reg.c $(BASEDIR)/imsg_reg.c $(BASEDIR)/nmsg_reg.c: $(TOOLS_DIR)/msgbind$x $(RESFILE) +$(BASEDIR)/fmsg_reg.c $(BASEDIR)/imsg_reg.c $(BASEDIR)/nmsg_reg.c \ +$(BASEDIR)/msg_reg.h: $(TOOLS_DIR)/msgbind$x $(RESFILE) $(TOOLS_DIR)/msgbind $(RESFILE) msg_reg $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR) # @@ -402,7 +424,8 @@ ARJDISP_OBJS = $(patsubst %,$(ARJDISP_DI $(ARJDISP_DIR)/arjdisp$x: $(ARJDISP_OBJS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(ARJDISP_OBJS) $(LIBS) -$(BASEDIR)/fmsg_adi.c $(BASEDIR)/imsg_adi.c $(BASEDIR)/nmsg_adi.c: $(TOOLS_DIR)/msgbind$x $(RESFILE) +$(BASEDIR)/fmsg_adi.c $(BASEDIR)/imsg_adi.c $(BASEDIR)/nmsg_adi.c \ +$(BASEDIR)/msg_adi.h: $(TOOLS_DIR)/msgbind$x $(RESFILE) $(TOOLS_DIR)/msgbind $(RESFILE) msg_adi $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR) # @@ -427,18 +450,9 @@ prepare: # clean: - -rm -f $(BASEDIR)/* - -rm -f $(TOOLS_DIR)/* - -rm -f $(ARJCRYPT_DIR)/* - -rm -f $(SFXSTUB_DIR)/* - -rm -f $(ARJSFXV_DIR)/* - -rm -f $(ARJSFX_DIR)/* - -rm -f $(ARJSFXJR_DIR)/* - -rm -f $(ARJ_DIR)/* - -rm -f $(REARJ_DIR)/* - -rm -f $(REGISTER_DIR)/* - -rm -f $(ARJDISP_DIR)/* - -rm -f arj.core + rm -rf .deps + rm -rf $(BASEDIR) + rm -f arj.core # # Local installation debian/patches/002_no_remove_static_const.patch0000644000000000000000000000050212143062351016757 0ustar --- integr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/integr.c +++ b/integr.c @@ -5,7 +5,7 @@ * */ -static const char intergrity_identifier[] = { +static volatile const char intergrity_identifier[] = { 0xB0, 0x03, 0xB0, 0x02, 0xB0, 0x03, 0xB0, 0x04, 0xB0, 0x05, 0x90, 0x90, 0x90, 0x90, debian/patches/gnu_build_flags.patch0000644000000000000000000000201312143062434014755 0ustar --- gnu/makefile.in | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) --- a/gnu/makefile.in +++ b/gnu/makefile.in @@ -56,7 +56,7 @@ DEBUG_SM = r ADD_LDFLAGS = -s @LD_STRIP@ endif -ALL_CFLAGS += $(CFLAGS) +ALL_CFLAGS += @CPPFLAGS@ $(CPPFLAGS) @CFLAGS@ $(CFLAGS) # Build Installation paths @@ -80,11 +80,11 @@ SFXSTUB_DIR = $(BASEDIR)/sfxstub # Definitions for compiling submodules LDFLAGS = @LDFLAGS@ $(ADD_LDFLAGS) -DLL_FLAGS = @DLL_FLAGS@ $(ADD_LDFLAGS) +DLL_FLAGS = @DLL_FLAGS@ $(LDFLAGS) DLL_CFLAGS = @DLL_CFLAGS@ REQUIRES_DEF = @REQUIRES_DEF@ -COPT = -c -I@OUT_DIR@ -I$(BASEDIR) -I$(SRC_DIR) @CFLAGS@ $(ALL_CFLAGS) +COPT = -c -I@OUT_DIR@ -I$(BASEDIR) -I$(SRC_DIR) $(ALL_CFLAGS) STD_COPT = -DARJUTIL $(COPT) ARJ_COPT = -DSFL=4 $(COPT) ARJSFXV_COPT = -DSFL=3 $(COPT) @@ -189,7 +190,7 @@ msg-headers: $(MSG_HEADERS) mkdir -p $@ .deps/%.d: %.c .deps - $(CC) $(CPPFLAGS) $(COPT) $< -MM > $@ + $(CC) $(COPT) $< -MM > $@ SOURCES = $(wildcard *.c) DEPS = $(addprefix .deps/,$(SOURCES:.c=.d)) debian/control0000644000000000000000000000131112142717457010577 0ustar Source: arj Section: utils Priority: optional Maintainer: Guillem Jover Uploaders: Ola Lundqvist Homepage: http://sf.net/projects/arj/ Vcs-Browser: http://git.hadrons.org/?p=debian/pkgs/arj.git Vcs-Git: git://git.hadrons.org/git/debian/pkgs/arj.git Build-Depends: debhelper (>= 7), autotools-dev, autoconf Standards-Version: 3.9.4 Package: arj Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: archiver for .arj files This package is an open source version of the arj archiver. This version has been created with the intent to preserve maximum compatibility and retain the feature set of original ARJ archiver as provided by ARJ Software, Inc. debian/source/0000755000000000000000000000000011310305154010457 5ustar debian/source/format0000644000000000000000000000001411275716334011705 0ustar 3.0 (quilt) debian/compat0000644000000000000000000000000211161535240010362 0ustar 7 debian/rules0000755000000000000000000000526712143062435010260 0ustar #!/usr/bin/make -f # GNU copyright 1997 to 1999 by Joey Hess. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 DESTDIR=$(CURDIR)/debian/arj INSTALL=install INSTALL_DATA=$(INSTALL) -m 644 DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) # XXX: The upstream build system does not support cross-building... ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) conf_gnu_type += --build $(DEB_HOST_GNU_TYPE) else conf_gnu_type += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) endif CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS) CFLAGS = $(shell dpkg-buildflags --get CFLAGS) -Wall LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) ifneq (,$(filter debug,$(DEB_BUILD_OPTIONS))) DEBUG = "DEBUG=1" endif ifeq (,$(filter nostrip,$(DEB_BUILD_OPTIONS))) STRIP = "BUILD_STRIP=1" endif gnu/configure: gnu/configure.in dh_testdir cd gnu && autoconf -f -i gnu/config.status: gnu/configure dh_testdir -test -r /usr/share/misc/config.sub && \ cp -fu /usr/share/misc/config.sub gnu/config.sub -test -r /usr/share/misc/config.guess && \ cp -fu /usr/share/misc/config.guess gnu/config.guess cd gnu && ./configure \ $(conf_gnu_type) \ --prefix=/usr \ --mandir=\$${prefix}/share/man build-indep: build-arch: gnu/config.status dh_testdir $(MAKE) $(DEBUG) $(STRIP)\ CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" build: build-arch build-indep clean: dh_testdir dh_testroot [ ! -f GNUmakefile ] || $(MAKE) clean -rm -f gnu/configure -rm -f gnu/config.status gnu/config.log gnu/config.cache -rm -rf gnu/autom4te.cache -rm -f c_defs.h GNUmakefile rm -f gnu/config.sub gnu/config.guess dh_clean install-arch: build-arch dh_testdir dh_testroot dh_prep dh_installdirs $(MAKE) install DESTDIR=$(DESTDIR) $(INSTALL_DATA) $(CURDIR)/resource/rearj.cfg.example \ $(DESTDIR)/etc/rearj.cfg binary-common: dh_testdir dh_testroot dh_installdocs dh_installexamples dh_installmenu dh_installcron dh_installman dh_installinfo dh_installchangelogs ChangeLog dh_link # NOTE: Do not strip here, it is currently done in the upstream build # system, after the linker stage and before preprocessing the binary # files. Otherwise when stripping the self-extracting modules and the # help text are removed. # dh_strip dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary-indep: binary-arch: install-arch $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common binary: binary-arch binary-indep .PHONY: clean configure build build-indep build-arch install-arch .PHONY: binary-common binary-indep binary-arch binary debian/docs0000644000000000000000000000010011161535240010026 0ustar doc/debug.txt doc/rev_hist.txt doc/glossary.txt doc/xlation.txt debian/changelog0000644000000000000000000002750312143062435011047 0ustar arj (3.10.22-11) unstable; urgency=low * Now using Standards-Version 3.9.4 (no changes needed). * Set the static const intergrity_identifier variable as volatile instead of building the file with -O0 to avoid the compiler optimizing it away, so that we can use standard flags everywhere. * Fix clean target by checking existence of GNUmakefile instead of Makefile. * Fix build failure on GNU/Hurd, by handling unimplemented fcntl(F_GETLK). * Fix upstream build system to honour CPPFLAGS and LDFLAGS. * Fix format security errors. * Switch to use dpkg-buildflags to set CPPFLAGS, CFLAGS and LDFLAGS, thus enabling hardening flags. (Closes: #673479) * Support nostrip build option, by changing the upstrem build system to optionally strip the binaries after the linking stage and before their preprocessing. (Closes: #436473) -- Guillem Jover Fri, 10 May 2013 05:01:06 +0200 arj (3.10.22-10) unstable; urgency=low * Fix build failure on GNU/Hurd due to missing -ldl, by adding “gnu*” to the configure case handling libdl linking. -- Guillem Jover Mon, 28 Feb 2011 04:52:17 +0100 arj (3.10.22-9) unstable; urgency=low * Use a safe strcpy for overlapping strings, among others fixes a build problem with a mangled generated .c file by msgbind (thus FTBFS), and CRC errors at run-time. (Closes: #590354) * Now using Standards-Version 3.9.1 (no changes needed). -- Guillem Jover Mon, 26 Jul 2010 15:18:11 +0200 arj (3.10.22-8) unstable; urgency=low * Switch to source format “3.0 (quilt)”: - Remove quilt from Build-Depends. - Remove quilt.make include from debian/rules. - Remove patch and unpatch targets from debian/rules. - Remove now unneeded debian/README.source. -- Guillem Jover Wed, 02 Dec 2009 21:27:38 +0100 arj (3.10.22-7) unstable; urgency=low * Switch to debhelper compatibility level 7. * Use dh_prep instead of “dh_clean -k”. * Use $(filter ...) instead of $(findstring ...) to extract space separated options from DEB_BUILD_OPTIONS in debian/rules. * Now using Standards-Version 3.8.3 (no changes needed). * Detect and conditionally use system strnlen function. This fixes build failures when the system has eglibc 2.10. (Closes: #546475) * Add misc:Depends substvar to arj Depends. * Update config.guess and config.sub before running configure and remove them on clean to avoid shipping them on the diff. * Build-Depend on autotools-dev to guarantee up to date config.guess and config.sub files. -- Guillem Jover Sun, 13 Sep 2009 22:16:12 +0200 arj (3.10.22-6) unstable; urgency=low * Update packaging Vcs fields to the new URL. * Remove DPATCHLEVEL variable from patches. * Refresh patches with -pab. * Add a debian/README.source file. * Now using Standards-Version 3.8.0. * Refer to GPL-2 from common-licenses instead of just GPL. -- Guillem Jover Sun, 22 Jun 2008 05:23:35 +0300 arj (3.10.22-5) unstable; urgency=low * Remove packaging svn information from debian/copyright. * Cleanup debian/copyright: - Change 'Copyright' to 'Copyright Holders'. - Use UTF-8 copyright symbol. * Refer to original author Robert K. Jung in the manual page. - doc_refer_robert_k_jung.patch: New file. (Closes: #456275) -- Guillem Jover Thu, 29 May 2008 04:04:06 +0300 arj (3.10.22-4) unstable; urgency=low * Do not ignore make errors on 'debian/rules clean'. * Add Vcs-Browser and Vcs-Svn fields. * Add Homepage field. * Now using Standards-Version 3.7.3 (no changes needed). * Call configure with autotools-dev recommended --build and --host options. * Remove irrelevant commented out debhelper commands. * Remove Tag field, it's better maintained outside the package. * Do not directly use the QA SourceForge redirector, instead use an URL to sf.net. (Closes: #453532) * Fix upstream Makefile to support parallel builds. - 004_parallel_build.patch: New file. * Move patch dependency in debian/rules from gnu/configure target to gnu/configure.in. -- Guillem Jover Fri, 07 Dec 2007 06:12:20 +0200 arj (3.10.22-3) unstable; urgency=low * Switched to quilt: - Add new debian/patches/series file. - Add Build-Depends on 'quilt (>= 0.40)'. - Include quilt.make from debian/rules. - Make clean a single colon target and depend on unpatch in debian/rules. - Remove now unused debian/patch.mk. * Split autoconf and configure targets. * Do not remove configure-stamp, as it's not created anymore. * Rename the build target to build-arch, add a build-indep target and a build one which depends on both. * Switch to debhelper compatibility level 5. * Now using Standards-Version 3.7.2 (no changes needed). * Get rid of brace expansion bashisms in debian/rules. * Add a Tag: field to the binary package, using the data from debtags. -- Guillem Jover Fri, 20 Apr 2007 03:03:26 +0300 arj (3.10.22-2) unstable; urgency=low * Make the code 64 bit clean. (Closes: #339815) - 003_64_bit_clean.patch: New patch. * Remove unused INSTALL variables and move nostrip comment just before the commented dh_strip command from debian/rules. * Reindent debian/copyright. * Update FSF's address. -- Guillem Jover Thu, 24 Nov 2005 03:38:31 +0200 arj (3.10.22-1) unstable; urgency=low * New Upstream Release. - 001_arches_align.patch: Synced. - 002_kbsd_build.patch: Integrated upstream. Removed. - 003_gcc34_static_const.patch: Likewise. - 004_doc_typos.patch: Likewise. * Update watch file to version 3 (no changes needed). * Use new QA SourceForge watch redirector. * Do not build integr.o with optimizations, otherwise gcc-4.0 removes the static const variable. (Closes: #318366) - 002_no_remove_static_const.patch: New file. * Now using Standards-Version 3.6.2 (no changes needed). * Removed transitional dummy package unarj. * Clean up debian/rules. -- Guillem Jover Thu, 4 Aug 2005 23:00:51 +0300 arj (3.10.21-4) unstable; urgency=low * Fix typos in documentation. (Closes: #309875, #309876) - 004_doc_typos.patch: New. Thanks to A Costa . -- Guillem Jover Sat, 4 Jun 2005 06:16:35 +0300 arj (3.10.21-3) unstable; urgency=low * Fix Subversion repository URL. * Fix build failure on GNU/k*BSD. (Closes: #303945) - 002_kbsd_build.patch: New. Thanks to Aurelien Jarno . * Mark an unreferenced variable as const otherwise gcc 3.4 removes it. (Closes: #283913) * Do not use a stamp file for configure. -- Guillem Jover Sun, 15 May 2005 18:10:22 +0300 arj (3.10.21-2) unstable; urgency=low * Fixed the watch file. * Make references to Debian, system neutral. * Do not use a build file stamp. -- Guillem Jover Mon, 15 Nov 2004 11:41:51 +0100 arj (3.10.21-1) unstable; urgency=low * New Upstream Release. * Provide a patch target instead of pre-build. - debian/patch.mk: Likewise. - debian/rules: Fix accordingly. * Added the location of the Subversion repo used for the packages. - debian/copyright. -- Guillem Jover Sun, 27 Jun 2004 08:07:09 +0200 arj (3.10.20-1) unstable; urgency=low * New Upstream Release. - 002_statsfs.patch: Integrated upstream. Patch removed. - 003_fix_CFLAGS.patch: Likewise. - 004_fix_warnings.patch: Likewise. * Fixed patches: - 001_arches_align.patch: Properly test for alignment and endianess. * Build binary independent packages only in binary-indep target. (Closes: #244395) * debian/copyright: Updated copyright year. -- Guillem Jover Tue, 27 Apr 2004 11:42:45 +0200 arj (3.10.19-2) unstable; urgency=low * Added patches: - 001_arches_align.patch: Correct build failure on ia64 due to unaligned memory access. - 004_fix_warnings.patch: Fix compilation warnings. * Allow user to override CFLAGS: - debian/rules: Likewise. - 003_fix_CFLAGS.patch: New patch. Likewise. * debian/copyright: Added "License:". -- Guillem Jover Fri, 9 Apr 2004 23:12:05 +0200 arj (3.10.19-1) unstable; urgency=low * New Upstream Release. - 000_fPIC.patch: Integrated upstream. Removed file. - 001_arches_align.patch: Likewise. - 002_statsfs.patch: Sync. * Provide a migration path from the old non-free unarj package. (Closes: #182273) -- Guillem Jover Sat, 13 Mar 2004 04:58:36 +0100 arj (3.10.18-3) unstable; urgency=low * The 'Happy New *RC*less Year' Release. * Moved autotools updating logic to the clean target, but only update the files. (Closes: #225688) -- Guillem Jover Thu, 1 Jan 2004 00:00:00 +0100 arj (3.10.18-2) unstable; urgency=low * Switched Maintainer and Co-Maintainer roles. * Lowercase package description initial letter. * Split diff patch: - 000_fPIC.patch - 001_arches_align.patch * Added patch: - 002_statsfs.patch: Include sys/statfs.h as it's not included in new linux kernel header linux/fs.h. (Closes: #223135) Thanks to Peter Hawkins . Also switch from FIGETBSZ ioctl to statvfs, thus removing any linux kernel header includes, that are breaking almost all builds lately. * Use debian/patch.mk. * Upgrade debhelper version to match DH_COMPAT. * Move autotools update to an independent target. * Move DH_COMPAT to debian/compat. -- Guillem Jover Wed, 10 Dec 2003 05:14:30 +0100 arj (3.10.18-1) unstable; urgency=low * New Upstream Release. - Fixed unaligned memory accesses. * Activate alignment support for ia64, hppa and arm. (Closes: #203832, #192563) * Build shared object with PIC flags. Thanks Randolph Chung . * debian/rules: Removed not used DDATE variable. -- Guillem Jover Thu, 23 Oct 2003 19:00:04 +0200 arj (3.10.17-1) unstable; urgency=low * New Upstream Release. * debian/copyright: Reformatted. * debian/rules: Changed misleading comment about stripping. * Now using Standards-Version 3.6.1. -- Guillem Jover Thu, 18 Sep 2003 08:51:46 +0200 arj (3.10.15-1) unstable; urgency=low * New Upstream Release. * Remove debian provided manpages as now they are integrated in upstream. * Specify configure argument for mandir. * Now using Standards-Version 3.6.0. -- Guillem Jover Wed, 30 Jul 2003 05:30:28 +0200 arj (3.10g-1) unstable; urgency=low * New Co-Maintainer. * New Upstream Version. * Added a watch file. * Added /etc/rearj.cfg (Closes: #180874). * Added arj crypto module. * Do not strip the binaries, as it removes all self-extracting modules and the help text appended to arj binary. * Converted man pages from pod to nroff, also adapted to Unix systems, and removed the build-dep on perl. * Removed temporal debian directory. * Do not include autoconf generated files, they are created at build time. * Fixed build system, now honours DESTDIR. * Use Makefile to install, thus allowig to build under non-linux systems. * Fixed join command returning an undefined exit code (Closes: #187854). * Now using Standards-Version 3.5.9. -- Guillem Jover Wed, 9 Apr 2003 21:55:10 +0200 arj (3.10b-3) unstable; urgency=low * Fixed build problem, closes: #179820. -- Ola Lundqvist Sun, 6 Apr 2003 14:01:09 +0200 arj (3.10b-2) unstable; urgency=low * Added more build dependencies, closes: #179691. -- Ola Lundqvist Tue, 4 Feb 2003 07:51:08 +0100 arj (3.10b-1) unstable; urgency=low * Initial release, closes: #178488. -- Ola Lundqvist Mon, 27 Jan 2003 19:47:51 +0100 debian/copyright0000644000000000000000000000241511532616120011120 0ustar This package was debianized by Ola Lundqvist on Mon, 27 Jan 2003 19:47:51 +0100. Now Co-Maintained with Guillem Jover . The upstream source was downloaded from: Upstream Authors: Andrew Belov -- programmer Viatcheslav Odintsov -- head of the testing group Copyright Holder: Copyright © 1999-2004 ARJ Software Russia License: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA On Debian systems, the complete text of the GNU General Public License can be found in '/usr/share/common-licenses/GPL-2'.