diff options
Diffstat (limited to 'packages/ipkg/files/is-processing.patch')
-rw-r--r-- | packages/ipkg/files/is-processing.patch | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/packages/ipkg/files/is-processing.patch b/packages/ipkg/files/is-processing.patch deleted file mode 100644 index 45ede41668..0000000000 --- a/packages/ipkg/files/is-processing.patch +++ /dev/null @@ -1,179 +0,0 @@ -diff -Nur ipkg-0.99.163.orig/ipkg_install.c ipkg-0.99.163/ipkg_install.c ---- ipkg-0.99.163.orig/ipkg_install.c 2006-03-30 21:50:24.000000000 +0800 -+++ ipkg-0.99.163/ipkg_install.c 2007-03-15 08:01:20.000000000 +0800 -@@ -211,6 +211,7 @@ - anyone ever wants to make a nice libipkg. */ - - ipkg_message(conf, IPKG_DEBUG2,"Function: %s calling ipkg_install_pkg \n",__FUNCTION__); -+ new->is_processing = 1; - return ipkg_install_pkg(conf, new,0); - } - -diff -Nur ipkg-0.99.163.orig/libbb/unzip.c ipkg-0.99.163/libbb/unzip.c ---- ipkg-0.99.163.orig/libbb/unzip.c 2006-02-06 16:13:02.000000000 +0800 -+++ ipkg-0.99.163/libbb/unzip.c 2007-03-15 08:03:45.000000000 +0800 -@@ -1028,13 +1028,15 @@ - */ - extern void gz_close(int gunzip_pid) - { -- if (kill(gunzip_pid, SIGTERM) == -1) { -- error_msg_and_die("*** Couldnt kill old gunzip process *** aborting"); -- } -+ if (kill(gunzip_pid, 0) == 0) { -+ if (kill(gunzip_pid, SIGTERM) == -1) { -+ error_msg_and_die("*** Couldnt kill old gunzip process *** aborting"); -+ } - -- if (waitpid(gunzip_pid, NULL, 0) == -1) { -- printf("Couldnt wait ?"); -+ if (waitpid(gunzip_pid, NULL, 0) == -1) { -+ printf("Couldnt wait ?"); -+ } - } -- free(window); -- free(crc_table); -+ free(window); -+ free(crc_table); - } -diff -Nur ipkg-0.99.163.orig/pkg.c ipkg-0.99.163/pkg.c ---- ipkg-0.99.163.orig/pkg.c 2006-04-21 04:29:28.000000000 +0800 -+++ ipkg-0.99.163/pkg.c 2007-03-20 15:11:32.845064480 +0800 -@@ -33,6 +33,7 @@ - #include "xsystem.h" - #include "ipkg_conf.h" - -+ - typedef struct enum_map enum_map_t; - struct enum_map - { -@@ -522,6 +523,10 @@ - strncat(buff ,line, strlen(line)); - free(line); - -+ line = pkg_formatted_field(pkg, "Installed-Size"); -+ strncat(buff ,line, strlen(line)); -+ free(line); -+ - return buff; - } - -@@ -542,7 +547,6 @@ - } - - temp[0]='\0'; -- - switch (field[0]) - { - case 'a': -@@ -690,13 +694,42 @@ - case 'I': { - if (strcasecmp(field, "Installed-Size") == 0) { - /* Installed-Size */ -- temp = (char *)realloc(temp,strlen(pkg->installed_size)+17); -- if ( temp == NULL ){ -- fprintf(stderr, "%s: out of memory\n", __FUNCTION__); -- return NULL; -- } -- temp[0]='\0'; -- snprintf(temp, (strlen(pkg->installed_size)+17), "Installed-Size: %s\n", pkg->installed_size); -+ if (pkg->installed_size) { -+ temp = (char *)realloc(temp,strlen(pkg->installed_size)+18); -+ if ( temp == NULL ){ -+ fprintf(stderr, "%s: out of memory\n", __FUNCTION__); -+ return NULL; -+ } -+ temp[0]='\0'; -+ snprintf(temp, (strlen(pkg->installed_size)+18), "Installed-Size: %s\n", pkg->installed_size); -+ } else { -+ /* Caculate installed files size */ -+ str_list_elt_t *iter; -+ struct stat buf; -+ int installed_files_length = 0; -+ if (pkg->installed_files == NULL) -+ break; -+ -+ if (pkg->is_processing!=1) -+ break; -+ -+ for (iter = pkg->installed_files->head; iter; iter = iter->next) { -+ memset(&buf, 0, sizeof(struct stat)); -+ stat(iter->data, &buf); -+ if (S_ISREG(buf.st_mode)) -+ installed_files_length += buf.st_size; -+ } -+ /*printf("installed_files_length:%d\n", installed_files_length);*/ -+ -+ sprintf_alloc(&pkg->installed_size, "%d", installed_files_length); -+ temp = (char *)realloc(temp,strlen(pkg->installed_size)+18); -+ if ( temp == NULL ){ -+ fprintf(stderr, "%s: out of memory\n", __FUNCTION__); -+ return NULL; -+ } -+ temp[0]='\0'; -+ snprintf(temp, (strlen(pkg->installed_size)+18), "Installed-Size: %s\n", pkg->installed_size); -+ } - } else if (strcasecmp(field, "Installed-Time") == 0 && pkg->installed_time) { - temp = (char *)realloc(temp,29); - if ( temp == NULL ){ -@@ -720,7 +753,7 @@ - return NULL; - } - temp[0]='\0'; -- snprintf(temp, (strlen(pkg->maintainer)+14), "maintainer: %s\n", pkg->maintainer); -+ snprintf(temp, (strlen(pkg->maintainer)+14), "Maintainer: %s\n", pkg->maintainer); - } - } else if (strcasecmp(field, "MD5sum") == 0) { - /* MD5sum */ -@@ -871,6 +904,24 @@ - } - temp[0]='\0'; - snprintf(temp, (strlen(pkg->size)+8), "Size: %s\n", pkg->size); -+ } else { -+ if ( pkg->local_filename ) { -+ struct stat buf; -+ memset(&buf, 0, sizeof(struct stat)); -+ -+ if ( stat(pkg->local_filename, &buf) == 0 ) { -+ -+ sprintf_alloc(&pkg->size, "%d", buf.st_size); -+ temp = (char *)realloc(temp, strlen(pkg->size)+8); -+ if ( temp == NULL ){ -+ fprintf(stderr, "%s: out of memory\n", __FUNCTION__); -+ return NULL; -+ } -+ temp[0]='\0'; -+ snprintf(temp, (strlen(pkg->size)+8), "Size: %s\n", pkg->size); -+ } -+ } -+ - } - } else if (strcasecmp(field, "Source") == 0) { - /* Source */ -@@ -1016,6 +1067,12 @@ - pkg_print_field(pkg, file, "Essential"); /* @@@@ should be removed in future release. */ - pkg_print_field(pkg, file, "Architecture"); - pkg_print_field(pkg, file, "Conffiles"); -+ pkg_print_field(pkg, file, "Description"); -+ pkg_print_field(pkg, file, "Maintainer"); -+ pkg_print_field(pkg, file, "Section"); -+ pkg_print_field(pkg, file, "Size"); -+ pkg_print_field(pkg, file, "Filename"); -+ pkg_print_field(pkg, file, "Installed-Size"); - pkg_print_field(pkg, file, "Installed-Time"); - fputs("\n", file); - } -diff -Nur ipkg-0.99.163.orig/pkg.h ipkg-0.99.163/pkg.h ---- ipkg-0.99.163.orig/pkg.h 2006-05-30 16:31:08.000000000 +0800 -+++ ipkg-0.99.163/pkg.h 2007-03-15 08:01:20.000000000 +0800 -@@ -176,6 +176,10 @@ - int arch_priority; - /* Adding this flag, to "force" ipkg to choose a "provided_by_hand" package, if there are multiple choice */ - int provided_by_hand; -+ -+ /* Check whether this pkg is being removed or installed */ -+ int is_processing; -+ - }; - - pkg_t *pkg_new(void); -
|