diff options
Diffstat (limited to 'packages/opkg')
20 files changed, 0 insertions, 884 deletions
diff --git a/packages/opkg/files/fix_endianness.patch b/packages/opkg/files/fix_endianness.patch deleted file mode 100644 index 8632ce5658..0000000000 --- a/packages/opkg/files/fix_endianness.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urN opkg.orig/configure.ac opkg/configure.ac ---- opkg.orig/configure.ac 2008-03-20 13:29:09.000000000 +0100 -+++ opkg/configure.ac 2008-03-25 09:39:52.000000000 +0100 -@@ -94,7 +94,7 @@ - AC_CHECK_MEMBERS([struct stat.st_rdev]) - - # Checks endianness --AC_C_BIGENDIAN(ENDIAN_CFLAGS="-DWORDS_BIGENDIAN=1",) -+AC_C_BIGENDIAN(BIGENDIAN_CFLAGS="-DWORDS_BIGENDIAN=1",) - AC_SUBST(BIGENDIAN_CFLAGS) - - # Don't do annoying tests that don't work when cross-compiling, just trust them. diff --git a/packages/opkg/files/opkg_unarchive.patch b/packages/opkg/files/opkg_unarchive.patch deleted file mode 100644 index 9e5ccfb714..0000000000 --- a/packages/opkg/files/opkg_unarchive.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- trunk/libbb/unarchive.c.orig 2009-02-11 22:14:58.000000000 +0100 -+++ trunk/libbb/unarchive.c 2009-02-11 22:15:07.000000000 +0100 -@@ -606,6 +606,10 @@ - tar_entry->name = concat_path_file(tar.formated.prefix, tar.formated.name); - } - -+ if (strlen(tar_entry->name) > 100) { -+ tar_entry->name[100] = 0; -+ } -+ - // tar_entry->name = xstrdup(tar.formated.name); - - /* diff --git a/packages/opkg/files/opkg_wget.patch b/packages/opkg/files/opkg_wget.patch deleted file mode 100644 index b9773a54b6..0000000000 --- a/packages/opkg/files/opkg_wget.patch +++ /dev/null @@ -1,88 +0,0 @@ ---- opkg/libopkg/opkg_download.c.orig 2008-08-21 12:33:49.000000000 -0500 -+++ opkg/libopkg/opkg_download.c 2008-08-21 15:12:00.000000000 -0500 -@@ -17,7 +17,9 @@ - General Public License for more details. - */ - #include "config.h" -+#ifdef HAVE_CURL - #include <curl/curl.h> -+#endif - #ifdef HAVE_GPGME - #include <gpgme.h> - #endif -@@ -76,6 +78,7 @@ - setenv("no_proxy", conf->no_proxy, 1); - } - -+#ifdef HAVE_CURL - CURL *curl; - CURLcode res; - FILE * file = fopen (tmp_file_location, "w"); -@@ -121,6 +124,27 @@ - free(src_basec); - return -1; - } -+#else -+ { -+ int res; -+ char *wgetcmd; -+ char *wgetopts; -+ wgetopts = getenv("OPKG_WGETOPTS"); -+ sprintf_alloc(&wgetcmd, "wget -q %s%s -O \"%s\" \"%s\"", -+ (conf->http_proxy || conf->ftp_proxy) ? "-Y on " : "", -+ (wgetopts!=NULL) ? wgetopts : "", -+ tmp_file_location, src); -+ opkg_message(conf, OPKG_INFO, "Executing: %s\n", wgetcmd); -+ res = xsystem(wgetcmd); -+ free(wgetcmd); -+ if (res) { -+ opkg_message(conf, OPKG_ERROR, "Failed to download %s, error %d\n", src, res); -+ free(tmp_file_location); -+ free(src_basec); -+ return res; -+ } -+ } -+#endif - - err = file_move(tmp_file_location, dest_file_name); - ---- opkg/configure.ac.orig 2008-07-08 09:39:11.000000000 -0500 -+++ opkg/configure.ac 2008-08-21 14:57:35.000000000 -0500 -@@ -23,7 +23,7 @@ - # Checks for libraries - - # check for libcurl --PKG_CHECK_MODULES(CURL, libcurl) -+#PKG_CHECK_MODULES(CURL, libcurl) - - - ---- opkg/libopkg/opkg.c.orig 2008-08-21 19:49:35.000000000 -0500 -+++ opkg/libopkg/opkg.c 2008-08-21 19:55:27.000000000 -0500 -@@ -1021,7 +1021,9 @@ - return package; - } - -+#ifdef HAVE_CURL - #include <curl/curl.h> -+#endif - /** - * @brief Check the accessibility of repositories. It will try to access the repository to check if the respository is accessible throught current network status. - * @param opkg The opkg_t -@@ -1071,12 +1073,16 @@ - repositories--; - - err = opkg_download(opkg->conf, iter1->data, "/dev/null", NULL, NULL); -+#ifdef HAVE_CURL - if (!(err == CURLE_OK || - err == CURLE_HTTP_RETURNED_ERROR || - err == CURLE_FILE_COULDNT_READ_FILE || - err == CURLE_REMOTE_FILE_NOT_FOUND || - err == CURLE_TFTP_NOTFOUND - )) { -+#else -+ if (!(err == 0)) { -+#endif - ret++; - } - str_list_elt_deinit(iter1); diff --git a/packages/opkg/files/opkg_wget_nogpg_01_use_vfork_gunzip.patch b/packages/opkg/files/opkg_wget_nogpg_01_use_vfork_gunzip.patch deleted file mode 100644 index 00bd0bdd29..0000000000 --- a/packages/opkg/files/opkg_wget_nogpg_01_use_vfork_gunzip.patch +++ /dev/null @@ -1,163 +0,0 @@ -# This patchset updates the libbb stuff to use a vfork() version of -# gz_open, called gzvopen. This is done because a standard fork will -# duplicate the entire address space. This will invoke the OOM -# (out of memory) killer on small-memory machines, because most often -# by the time we unzip any package, we've read the entire package -# database into memory already. By using vfork() and immediatly -# execing the external gunzip utility, we avoid the need to clone the -# entire address space. -# -# Yes, this is actually **LESS** efficient than the original way! -# But there is no way to (currently) dodge the OOM killer on a -# per-process basis, so the alternatives are to either change the -# OOM killer behavior system-wide, or to use this workaround. -# -# Mike Westerhof, Dec 2008 - ---- orig/libbb/gz_open.c 2008-03-01 12:55:33.000000000 -0600 -+++ opkg/libbb/gz_open.c 2008-12-21 21:41:13.000000000 -0600 -@@ -56,3 +56,78 @@ - } - return(fdopen(unzip_pipe[0], "r")); - } -+ -+/* gz_open implementation using gunzip and a vfork/exec -- dodges OOM killer */ -+extern FILE *gzvopen(FILE *compressed_file, int *pid) -+{ -+ int unzip_pipe[2]; -+ off_t floc; -+ int cfile; -+ -+ /* create a new file descriptor for the input stream -+ * (it *must* be associated with a file) -+ * and seek to the same position in that fd as the stream. -+ */ -+ cfile = dup(fileno(compressed_file)); -+ floc = ftello(compressed_file); -+ lseek(cfile, floc, SEEK_SET); -+ -+ /* create the pipe */ -+ if (pipe(unzip_pipe)!=0) { -+ error_msg("gzvopen(): pipe error"); -+ return(NULL); -+ } -+ -+ *pid = vfork(); -+ -+ if (*pid < 0) { -+ error_msg("gzvopen(): fork failed"); -+ return(NULL); -+ } -+ -+ if (*pid==0) { -+ /* child process - reads STDIN, writes to pipe */ -+ -+ /* close unused read end of pipe */ -+ close(unzip_pipe[0]); -+ -+ /* connect child's stdout to the pipe write end */ -+ dup2(unzip_pipe[1], 1); -+ -+ /* connect child's stdin to the fd passed in to us */ -+ dup2(cfile, 0); -+ -+ /* execute the gunzip utility */ -+ execlp("gunzip","gunzip",NULL); -+ -+ /* if we get here, we had a failure - since we are -+ * using vfork(), we cannot call exit(), must call _exit(). -+ */ -+ _exit(-1); -+ } -+ -+ /* Parent process is executing here */ -+ -+ /* we have no more need of the duplicate fd */ -+ close(cfile); -+ -+ /* close the write end of the pipe */ -+ close(unzip_pipe[1]); -+ -+ /* return the read end of the pipe as a FILE */ -+ return(fdopen(unzip_pipe[0], "r")); -+} -+ -+extern void gzvclose(int gunzip_pid) -+{ -+ if (kill(gunzip_pid, SIGTERM) == -1) { -+ perror("gzvclose()"); -+ fprintf(stderr,"%s: unable to kill gunzip pid.\n", -+ __FUNCTION__); -+ } -+ -+ if (waitpid(gunzip_pid, NULL, 0) == -1) { -+ fprintf(stderr,"%s: unable to wait on gunzip pid.\n", -+ __FUNCTION__); -+ } -+} ---- orig/libbb/libbb.h 2008-12-20 15:06:51.000000000 -0600 -+++ opkg/libbb/libbb.h 2008-12-21 21:41:13.000000000 -0600 -@@ -270,6 +270,8 @@ - extern int unzip(FILE *l_in_file, FILE *l_out_file); - extern void gz_close(int gunzip_pid); - extern FILE *gz_open(FILE *compressed_file, int *pid); -+extern void gzvclose(int gunzip_pid); -+extern FILE *gzvopen(FILE *compressed_file, int *pid); - - extern struct hostent *xgethostbyname(const char *name); - extern int create_icmp_socket(void); ---- orig/libbb/unarchive.c 2008-09-10 11:48:23.000000000 -0500 -+++ opkg/libbb/unarchive.c 2008-12-21 21:41:13.000000000 -0600 -@@ -749,7 +749,7 @@ - while ((ar_header = get_header_ar(deb_stream)) != NULL) { - if (strcmp(ared_file, ar_header->name) == 0) { - /* open a stream of decompressed data */ -- uncompressed_stream = gz_open(deb_stream, &gunzip_pid); -+ uncompressed_stream = gzvopen(deb_stream, &gunzip_pid); - archive_offset = 0; - output_buffer = unarchive(uncompressed_stream, out_stream, get_header_tar, free_header_tar, extract_function, prefix, file_list); - } -@@ -757,7 +757,7 @@ - free (ar_header->name); - free (ar_header); - } -- gz_close(gunzip_pid); -+ gzvclose(gunzip_pid); - fclose(deb_stream); - fclose(uncompressed_stream); - free(ared_file); -@@ -769,7 +769,7 @@ - file_header_t *tar_header; - archive_offset = 0; - fseek(deb_stream, 0, SEEK_SET); -- unzipped_opkg_stream = gz_open(deb_stream, &unzipped_opkg_pid); -+ unzipped_opkg_stream = gzvopen(deb_stream, &unzipped_opkg_pid); - - /*fprintf(stderr, __FUNCTION__ ": processing opkg %s -- ared_file=%s\n", package_filename, ared_file);*/ - /* walk through outer tar file to find ared_file */ -@@ -779,7 +779,7 @@ - name_offset = 2; - if (strcmp(ared_file, tar_header->name+name_offset) == 0) { - /* open a stream of decompressed data */ -- uncompressed_stream = gz_open(unzipped_opkg_stream, &gunzip_pid); -+ uncompressed_stream = gzvopen(unzipped_opkg_stream, &gunzip_pid); - archive_offset = 0; - /*fprintf(stderr, __FUNCTION__ ":%d: here -- found file\n", __LINE__);*/ - output_buffer = unarchive(uncompressed_stream, -@@ -791,14 +791,14 @@ - file_list); - /*fprintf(stderr, __FUNCTION__ ":%d: unarchive complete\n", __LINE__);*/ - free_header_tar(tar_header); -- gz_close(gunzip_pid); -+ gzvclose(gunzip_pid); - fclose(uncompressed_stream); - break; - } - seek_sub_file(unzipped_opkg_stream, tar_header->size); - free_header_tar(tar_header); - } -- gz_close(unzipped_opkg_pid); -+ gzvclose(unzipped_opkg_pid); - fclose(unzipped_opkg_stream); - fclose(deb_stream); - free(ared_file); diff --git a/packages/opkg/files/opkg_wget_nogpg_02_use_vfork_system.patch b/packages/opkg/files/opkg_wget_nogpg_02_use_vfork_system.patch deleted file mode 100644 index 5eb9517df8..0000000000 --- a/packages/opkg/files/opkg_wget_nogpg_02_use_vfork_system.patch +++ /dev/null @@ -1,200 +0,0 @@ -# This patchset implements the suggestion found in xsystem.c in the -# original opkg sources -- use vfork and exec instead of system(). -# -# This, like the preceding patch in this patchset is vital to dodging -# the OOM killer on small-memory machines. -# -# Mike Westerhof, Dec 2008 - ---- orig/libopkg/opkg.c 2008-12-20 15:07:04.000000000 -0600 -+++ opkg/libopkg/opkg.c 2008-12-21 21:41:07.000000000 -0600 -@@ -31,6 +31,7 @@ - - #include "sprintf_alloc.h" - #include "file_util.h" -+#include "xsystem.h" - - #include <libbb/libbb.h> - ---- orig/libopkg/xsystem.h 2008-03-01 12:55:29.000000000 -0600 -+++ opkg/libopkg/xsystem.h 2008-12-21 21:41:07.000000000 -0600 -@@ -29,6 +29,7 @@ - as defined in <sys/wait.h>. - */ - int xsystem(const char *cmd); -+int xvsystem(const char *cmd, char *const argv[]); - - #endif - ---- orig/libopkg/xsystem.c 2008-04-17 11:00:51.000000000 -0500 -+++ opkg/libopkg/xsystem.c 2008-12-21 21:41:07.000000000 -0600 -@@ -62,3 +62,58 @@ - return -1; - } - -+int xvsystem(const char *cmd, char *const argv[]) -+{ -+ int err; -+ pid_t pid; -+ -+#ifdef DO_DEBUG -+ int i = 0; -+ char *p; -+ printf("DEBUG: xvsystem: execute "); -+ while (p = argv[i++]) { -+ printf("\"%s\" ", p); -+ } -+ printf("\n"); -+#endif -+ -+ pid = vfork(); -+ -+ if (pid == 0) { /* Child */ -+ execvp(cmd, argv); -+ _exit(1); -+ -+ } else if (pid == -1) { /* Error on fork() */ -+ perror("vfork()"); -+ fprintf(stderr, "%s: ERROR: fork failed before execution: `%s'\n", -+ __FUNCTION__, cmd); -+ return -1; -+ -+ } else { /* Parent */ -+ if (waitpid(pid, &err, 0) != pid) { /* wait for child */ -+ perror("waitpid()"); -+ fprintf(stderr, "%s: ERROR: failed to execute: `%s'\n", -+ __FUNCTION__, cmd); -+ return -1; -+ } -+ } -+ -+#ifdef DO_DEBUG -+ printf("DEBUG: xvsystem: child exit status %d\n", err); -+#endif -+ -+ if (WIFSIGNALED(err)) { -+ fprintf(stderr, "%s: ERROR: Child process died due to signal %d: `%s'\n", -+ __FUNCTION__, WTERMSIG(err), cmd); -+ return -1; -+ } -+ -+ if (WIFEXITED(err)) { -+ /* Normal child exit */ -+ return WEXITSTATUS(err); -+ } -+ -+ fprintf(stderr, "%s: ERROR: Received unintelligible return value from system: %d", -+ __FUNCTION__, err); -+ return -1; -+} ---- orig/libopkg/opkg_conf.c 2008-12-20 15:06:50.000000000 -0600 -+++ opkg/libopkg/opkg_conf.c 2008-12-21 21:41:07.000000000 -0600 -@@ -316,10 +320,8 @@ - err = rmdir(conf->tmp_dir); - if (err) { - if (errno == ENOTEMPTY) { -- char *cmd; -- sprintf_alloc(&cmd, "rm -fr %s\n", conf->tmp_dir); -- err = xsystem(cmd); -- free(cmd); -+ char *argv[] = {"rm", "-fr", conf->tmp_dir, NULL}; -+ err = xvsystem(argv[0], argv); - } - if (err) - fprintf(stderr, "WARNING: Unable to remove temporary directory: %s: %s\n", conf->tmp_dir, strerror(errno)); ---- orig/libopkg/opkg_install.c 2008-12-20 15:06:51.000000000 -0600 -+++ opkg/libopkg/opkg_install.c 2008-12-21 21:41:07.000000000 -0600 -@@ -1617,13 +1617,9 @@ - } - - if (strcmp(response, "d") == 0) { -- char *cmd; -- -+ char *argv[] = {"diff", "-u", backup, file_name, NULL}; - free(response); -- /* XXX: BUG rewrite to use exec or busybox's internal diff */ -- sprintf_alloc(&cmd, "diff -u %s %s", backup, file_name); -- xsystem(cmd); -- free(cmd); -+ xvsystem(argv[0], argv); - printf(" [Press ENTER to continue]\n"); - response = file_read_line_alloc(stdin); - free(response); ---- orig/libopkg/pkg.c 2008-12-20 15:06:50.000000000 -0600 -+++ opkg/libopkg/pkg.c 2008-12-21 23:31:39.000000000 -0600 -@@ -1534,7 +1564,12 @@ - sprintf_alloc(&cmd, "%s %s", path, args); - free(path); - -- err = xsystem(cmd); -+// err = xsystem(cmd); -+ { -+ char *argv[] = {"sh", "-c", cmd, NULL}; -+ err = xvsystem(argv[0], argv); -+ } -+ - free(cmd); - - if (err) { ---- orig/libopkg/opkg_cmd.c 2008-12-20 15:07:04.000000000 -0600 -+++ opkg/libopkg/opkg_cmd.c 2008-12-21 21:41:07.000000000 -0600 -@@ -33,6 +33,7 @@ - #include "libbb/libbb.h" - #include "opkg_utils.h" - #include "opkg_defines.h" -+#include "xsystem.h" - - #include <fnmatch.h> - -@@ -371,7 +373,7 @@ - - sprintf_alloc (&path, "%s/%s", ctx->statedir, de->d_name); - if (access (path, X_OK) == 0) { -- if (system (path)) { -+ if (system (path)) { /* FIXME FIXME */ - err = errno; - perror (de->d_name); - } -@@ -382,7 +384,7 @@ - perror (ctx->statedir); - - sprintf_alloc (&cmd, "rm -rf %s", ctx->statedir); -- err = system (cmd); -+ err = system (cmd); /* FIXME FIXME */ - free (cmd); - - free (ctx->statedir); ---- orig/libopkg/opkg_download.c 2008-12-20 15:07:04.000000000 -0600 -+++ opkg/libopkg/opkg_download.c 2008-12-21 21:44:30.000000000 -0600 -@@ -129,16 +129,21 @@ - #else - { - int res; -- char *wgetcmd; -- char *wgetopts; -- wgetopts = getenv("OPKG_WGETOPTS"); -- sprintf_alloc(&wgetcmd, "wget -q %s%s -O \"%s\" \"%s\"", -- (conf->http_proxy || conf->ftp_proxy) ? "-Y on " : "", -- (wgetopts!=NULL) ? wgetopts : "", -- tmp_file_location, src); -- opkg_message(conf, OPKG_INFO, "Executing: %s\n", wgetcmd); -- res = xsystem(wgetcmd); -- free(wgetcmd); -+ char *argv[16]; -+ int i = 0; -+ -+ argv[i++] = "wget"; -+ argv[i++] = "-q"; -+ if (conf->http_proxy || conf->ftp_proxy) { -+ argv[i++] = "-Y"; -+ argv[i++] = "on"; -+ } -+ argv[i++] = "-O"; -+ argv[i++] = tmp_file_location; -+ argv[i++] = src; -+ argv[i++] = NULL; -+ res = xvsystem(argv[0], argv); -+ - if (res) { - opkg_message(conf, OPKG_ERROR, "Failed to download %s, error %d\n", src, res); - free(tmp_file_location); diff --git a/packages/opkg/files/opkg_wget_nogpg_03_fix_tmpdirs.patch b/packages/opkg/files/opkg_wget_nogpg_03_fix_tmpdirs.patch deleted file mode 100644 index 68c2b93555..0000000000 --- a/packages/opkg/files/opkg_wget_nogpg_03_fix_tmpdirs.patch +++ /dev/null @@ -1,187 +0,0 @@ -# Further compounding the problem on small-memory machines is that -# opkg does not really honor the TMPDIR environment variable nor -# the command-line option to select the temporary file directory. -# The result is that when /tmp is an in-memory filesystem, the temp -# files it creates further reduce the amount of available memory. -# -# Mike Westerhof, Dec 2008 -# -# Patch updated Jan 2009 ---- orig/libopkg/opkg.c 2008-12-20 15:07:04.000000000 -0600 -+++ opkg/libopkg/opkg.c 2008-12-21 21:41:07.000000000 -0600 -@@ -773,15 +773,17 @@ - } - } - -- tmp = strdup ("/tmp/opkg.XXXXXX"); -+ sprintf_alloc(&tmp, "%s-XXXXXX", opkg->conf->tmp_dir); - - if (mkdtemp (tmp) == NULL) - { - /* XXX: Error: could not create temporary file name */ -+ perror("mkdtemp()"); - free (lists_dir); - free (tmp); - return 1; - } -+ /* printf("%s: Using tmp_dir %s\n", __FUNCTION__, tmp); */ - - /* count the number of sources so we can give some progress updates */ - sources_list_count = 0; ---- orig/libopkg/pkg_extract.c 2008-07-27 16:41:58.000000000 -0500 -+++ opkg/libopkg/pkg_extract.c 2008-12-21 23:32:32.000000000 -0600 -@@ -24,6 +24,8 @@ - #include "file_util.h" - #include "sprintf_alloc.h" - -+extern char *opkg_conf_tmp_name; /* Hack - workaround tmpfile issue */ -+ - /* assuage libb functions */ - const char *applet_name = "opkg"; - -@@ -91,6 +93,8 @@ - char *line, *data_file; - FILE *file; - FILE *tmp; -+ char *tmp_fname; -+ int tmp_f; - - file = fopen(file_name, "w"); - if (file == NULL) { -@@ -99,7 +103,19 @@ - return EINVAL; - } - -- tmp = tmpfile(); -+// tmp = tmpfile(); -+ sprintf_alloc(&tmp_fname, "%s-XXXXXX", opkg_conf_tmp_name); -+ tmp_f = mkstemp(tmp_fname); -+ if (tmp_f < 0) { -+ perror("mkstemp()"); -+ free(tmp_fname); -+ return errno; -+ } -+ /* printf("%s: Using tmp_fname %s\n", __FUNCTION__, tmp_fname); */ -+ unlink(tmp_fname); -+ free(tmp_fname); -+ tmp = fdopen(tmp_f, "w+"); -+ - if (pkg->installed_files) { - str_list_elt_t *elt; - for (elt = pkg->installed_files->head; elt; elt = elt->next) { ---- orig/libopkg/opkg_conf.c 2008-12-20 15:06:50.000000000 -0600 -+++ opkg/libopkg/opkg_conf.c 2008-12-21 21:41:07.000000000 -0600 -@@ -101,6 +101,8 @@ - } - } - -+char *opkg_conf_tmp_name; -+ - int opkg_conf_init(opkg_conf_t *conf, const args_t *args) - { - int err; -@@ -153,6 +155,8 @@ - __FUNCTION__, conf->tmp_dir, strerror(errno)); - return OPKG_CONF_ERR_TMP_DIR; - } -+ /* printf("%s: Using tmp_dir %s\n", __FUNCTION__, conf->tmp_dir); */ -+ opkg_conf_tmp_name = strdup(conf->tmp_dir); - - pkg_hash_init("pkg-hash", &conf->pkg_hash, OPKG_CONF_DEFAULT_HASH_LEN); - hash_table_init("file-hash", &conf->file_hash, OPKG_CONF_DEFAULT_HASH_LEN); ---- orig/libopkg/pkg.c 2008-12-20 15:06:50.000000000 -0600 -+++ opkg/libopkg/pkg.c 2008-12-21 23:31:39.000000000 -0600 -@@ -34,6 +34,8 @@ - #include "xsystem.h" - #include "opkg_conf.h" - -+extern char *opkg_conf_tmp_name; /* Hack - workaround tmpfile issue */ -+ - typedef struct enum_map enum_map_t; - struct enum_map - { -@@ -278,13 +280,27 @@ - int err; - char **raw; - FILE *control_file; -+ char *tmp_fname; -+ int tmp_f; - - err = pkg_init(pkg); - if (err) { return err; } - - pkg->local_filename = strdup(filename); - -- control_file = tmpfile(); -+// control_file = tmpfile(); -+ sprintf_alloc(&tmp_fname, "%s-XXXXXX", opkg_conf_tmp_name); -+ tmp_f = mkstemp(tmp_fname); -+ if (tmp_f < 0) { -+ perror("mkstemp()"); -+ free(tmp_fname); -+ return errno; -+ } -+ /* printf("%s: Using tmp_fname %s\n", __FUNCTION__, tmp_fname); */ -+ unlink(tmp_fname); -+ free(tmp_fname); -+ control_file = fdopen(tmp_f, "w+"); -+ - err = pkg_extract_control_file_to_stream(pkg, control_file); - if (err) { return err; } - -@@ -1302,6 +1318,8 @@ - char *line; - char *installed_file_name; - int rootdirlen; -+ char *tmp_fname; -+ int tmp_f; - - pkg->installed_files_ref_cnt++; - -@@ -1326,7 +1344,19 @@ - file. In other words, change deb_extract so that it can - simply return the file list as a char *[] rather than - insisting on writing in to a FILE * as it does now. */ -- list_file = tmpfile(); -+// list_file = tmpfile(); -+ sprintf_alloc(&tmp_fname, "%s-XXXXXX", opkg_conf_tmp_name); -+ tmp_f = mkstemp(tmp_fname); -+ if (tmp_f < 0) { -+ perror("mkstemp()"); -+ free(tmp_fname); -+ return pkg->installed_files; -+ } -+ /* printf("%s: Using tmp_fname %s\n", __FUNCTION__, tmp_fname); */ -+ unlink(tmp_fname); -+ free(tmp_fname); -+ list_file = fdopen(tmp_f, "w+"); -+ - err = pkg_extract_data_file_names_to_stream(pkg, list_file); - if (err) { - fclose(list_file); ---- orig/libopkg/opkg_cmd.c 2008-12-20 15:07:04.000000000 -0600 -+++ opkg/libopkg/opkg_cmd.c 2008-12-21 21:41:07.000000000 -0600 -@@ -210,12 +210,13 @@ - failures = 0; - - -- tmp = strdup ("/tmp/opkg.XXXXXX"); -+ sprintf_alloc(&tmp, "%s-XXXXXX", conf->tmp_dir); - - if (mkdtemp (tmp) == NULL) { - perror ("mkdtemp"); - failures++; - } -+ /* printf("%s: Using tmp_dir %s\n", __FUNCTION__, tmp); */ - - - for (iter = conf->pkg_src_list.head; iter; iter = iter->next) { -@@ -334,7 +335,7 @@ - - gen = 0; - retry: -- sprintf_alloc (&ctx->statedir, "/tmp/opkg-intercept-%d-%d", getpid (), gen); -+ sprintf_alloc (&ctx->statedir, "%s-intercept-%d-%d", conf->tmp_dir, getpid (), gen); - if (mkdir (ctx->statedir, 0770) < 0) { - if (errno == EEXIST) { - free (ctx->statedir); diff --git a/packages/opkg/files/opkg_wget_nogpg_04_default_tmpdir.patch b/packages/opkg/files/opkg_wget_nogpg_04_default_tmpdir.patch deleted file mode 100644 index 403073fced..0000000000 --- a/packages/opkg/files/opkg_wget_nogpg_04_default_tmpdir.patch +++ /dev/null @@ -1,20 +0,0 @@ -# This patch moves the default tmpdir from /tmp, which is -# normally an in-memory filesystem to /root, which is not. -# This is desirable on very small-memory systems -- for -# example, the ipk for samba is nearly 20MB in size, and -# simply won't fit in /tmp, and attempting to do so very -# often causes a silent failure due to the OOM killer. -# -# Mike Westerhof, Feb 2009 -# ---- orig/libopkg/opkg_conf.h 2009-02-13 21:56:27.000000000 -0600 -+++ opkg/libopkg/opkg_conf.h 2009-02-13 21:56:39.000000000 -0600 -@@ -28,7 +28,7 @@ typedef struct opkg_conf opkg_conf_t; - #include "pkg_dest_list.h" - #include "nv_pair_list.h" - --#define OPKG_CONF_DEFAULT_TMP_DIR_BASE "/tmp" -+#define OPKG_CONF_DEFAULT_TMP_DIR_BASE "/root" - #define OPKG_CONF_TMP_DIR_SUFFIX "opkg-XXXXXX" - #define OPKG_CONF_LISTS_DIR OPKG_STATE_DIR_PREFIX "/lists" - #define OPKG_CONF_PENDING_DIR OPKG_STATE_DIR_PREFIX "/pending" diff --git a/packages/opkg/files/reduce-nogpg-noise.patch b/packages/opkg/files/reduce-nogpg-noise.patch deleted file mode 100644 index 47b4d23ca3..0000000000 --- a/packages/opkg/files/reduce-nogpg-noise.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- opkg/libopkg/opkg_cmd.c.old 2008-11-12 02:32:20.000000000 +0100 -+++ opkg/libopkg/opkg_cmd.c 2008-11-12 02:30:20.000000000 +0100 -@@ -288,7 +288,7 @@ - free (tmp_file_name); - free (url); - #else -- opkg_message (conf, OPKG_NOTICE, "Signature check for %s skipped " -+ opkg_message (conf, OPKG_INFO, "Signature check for %s skipped " - "because GPG support was not enabled in this build\n", src->name); - #endif - free(list_file_name); diff --git a/packages/opkg/opkg-collateral.bb b/packages/opkg/opkg-collateral.bb deleted file mode 100644 index 401e76e8be..0000000000 --- a/packages/opkg/opkg-collateral.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "opkg configuration files" -SECTION = "base" -LICENSE = "MIT" -PR = "r1" - -SRC_URI = "file://opkg.conf.comments \ - file://lists \ - file://dest \ - file://src " - -do_compile () { - cat ${WORKDIR}/opkg.conf.comments >${WORKDIR}/opkg.conf - cat ${WORKDIR}/src >>${WORKDIR}/opkg.conf - cat ${WORKDIR}/dest >>${WORKDIR}/opkg.conf - cat ${WORKDIR}/lists >>${WORKDIR}/opkg.conf -} - -do_install () { - install -d ${D}${sysconfdir}/opkg - install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf -} - -CONFFILES_${PN} = "${sysconfdir}/opkg/opkg.conf" diff --git a/packages/opkg/opkg-collateral/dest b/packages/opkg/opkg-collateral/dest deleted file mode 100644 index 088ca403da..0000000000 --- a/packages/opkg/opkg-collateral/dest +++ /dev/null @@ -1 +0,0 @@ -dest root / diff --git a/packages/opkg/opkg-collateral/lists b/packages/opkg/opkg-collateral/lists deleted file mode 100644 index f8aecd8e15..0000000000 --- a/packages/opkg/opkg-collateral/lists +++ /dev/null @@ -1,2 +0,0 @@ -lists_dir ext /var/lib/opkg - diff --git a/packages/opkg/opkg-collateral/opkg.conf.comments b/packages/opkg/opkg-collateral/opkg.conf.comments deleted file mode 100644 index e1fdada9b5..0000000000 --- a/packages/opkg/opkg-collateral/opkg.conf.comments +++ /dev/null @@ -1,26 +0,0 @@ -# Must have one or more source entries of the form: -# -# src <src-name> <source-url> -# -# and one or more destination entries of the form: -# -# dest <dest-name> <target-path> -# -# where <src-name> and <dest-names> are identifiers that -# should match [a-zA-Z0-9._-]+, <source-url> should be a -# URL that points to a directory containing a Familiar -# Packages file, and <target-path> should be a directory -# that exists on the target system. - -# Proxy Support -#option http_proxy http://proxy.tld:3128 -#option ftp_proxy http://proxy.tld:3128 -#option proxy_username <username> -#option proxy_password <password> - -# Enable GPGME signature -# option check_signature 1 - -# Offline mode (for use in constructing flash images offline) -#option offline_root target - diff --git a/packages/opkg/opkg-collateral/src b/packages/opkg/opkg-collateral/src deleted file mode 100644 index e69de29bb2..0000000000 --- a/packages/opkg/opkg-collateral/src +++ /dev/null diff --git a/packages/opkg/opkg-ipkg-compat.bb b/packages/opkg/opkg-ipkg-compat.bb deleted file mode 100644 index 58c81451ae..0000000000 --- a/packages/opkg/opkg-ipkg-compat.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "Files to make opkg and ipkg coexist" -RDEPENDS = "opkg ipkg ipkg-collateral" - -PR = "r0" -PACKAGE_ARCH = "all" - -do_compile() { - : -} - - -do_install () { - install -d ${D}${sysconfdir} - install -d ${D}/var/lib/ipkg - ln -sf ${sysconfdir}/ipkg.conf ${D}${sysconfdir}/opkg.conf - ln -sf ${sysconfdir}/ipkg/ ${D}${sysconfdir}/opkg - ln -sf /var/lib/ipkg ${D}/var/lib/ipkg -} - diff --git a/packages/opkg/opkg-native_svn.bb b/packages/opkg/opkg-native_svn.bb deleted file mode 100644 index 82c74e0b86..0000000000 --- a/packages/opkg/opkg-native_svn.bb +++ /dev/null @@ -1,16 +0,0 @@ -require opkg.inc - -DEPENDS = "curl-native" -PR = "r3" - -target_libdir := "${libdir}" - -inherit native - -# The nogpg version isn't getting much love and has an unused variable which trips up -Werror -do_configure_prepend() { - sed -i -e s:-Werror::g ${S}/libopkg/Makefile.am -} - - -EXTRA_OECONF += "--with-opkglibdir=${target_libdir} --disable-gpg" diff --git a/packages/opkg/opkg-nogpg-nocurl_svn.bb b/packages/opkg/opkg-nogpg-nocurl_svn.bb deleted file mode 100644 index 6f8b446ead..0000000000 --- a/packages/opkg/opkg-nogpg-nocurl_svn.bb +++ /dev/null @@ -1,28 +0,0 @@ -require opkg_svn.bb - -DEPENDS = "" -PROVIDES += "opkg" - -SRC_URI += " \ - file://opkg_wget.patch;patch=1;maxrev=180 \ - file://reduce-nogpg-noise.patch;patch=1;maxrev=180 \ - file://opkg_wget_nogpg_01_use_vfork_gunzip.patch;patch=1 \ - file://opkg_wget_nogpg_02_use_vfork_system.patch;patch=1 \ - file://opkg_wget_nogpg_03_fix_tmpdirs.patch;patch=1 \ - file://opkg_wget_nogpg_04_default_tmpdir.patch;patch=1 \ - " -PR = "r5" - -SRCREV = "${SRCREV_pn-opkg}" - -EXTRA_OECONF += "--disable-gpg --enable-static --disable-shared" - -# NOTE: Use this one after svn rev 180 (should be a different recipe) -#EXTRA_OECONF += "--disable-gpg --disable-curl --enable-static --disable-shared" - -# The nogpg version isn't getting much love and has an unused variable which trips up -Werror -do_configure_prepend() { - sed -i -e s:-Werror::g ${S}/libopkg/Makefile.am -} - -DEFAULT_PREFERENCE = "-1" diff --git a/packages/opkg/opkg-nogpg_svn.bb b/packages/opkg/opkg-nogpg_svn.bb deleted file mode 100644 index a9297d7645..0000000000 --- a/packages/opkg/opkg-nogpg_svn.bb +++ /dev/null @@ -1,17 +0,0 @@ -require opkg_svn.bb - -DEPENDS = "curl" -PROVIDES += "opkg" - -PR = "r3" - -SRCREV = "${SRCREV_pn-opkg}" - -EXTRA_OECONF += "--disable-gpg" - -# The nogpg version isn't getting much love and has an unused variable which trips up -Werror -do_configure_prepend() { - sed -i -e s:-Werror::g ${S}/libopkg/Makefile.am -} - -DEFAULT_PREFERENCE = "-1" diff --git a/packages/opkg/opkg-sdk_svn.bb b/packages/opkg/opkg-sdk_svn.bb deleted file mode 100644 index d9b3727d82..0000000000 --- a/packages/opkg/opkg-sdk_svn.bb +++ /dev/null @@ -1,8 +0,0 @@ -require opkg.inc - -DEPENDS = "curl-sdk" -PR = "r3" -target_libdir := "${libdir}" -inherit sdk - -EXTRA_OECONF += "--with-opkglibdir=${target_libdir} --disable-gpg" diff --git a/packages/opkg/opkg.inc b/packages/opkg/opkg.inc deleted file mode 100644 index be8287734b..0000000000 --- a/packages/opkg/opkg.inc +++ /dev/null @@ -1,16 +0,0 @@ -DESCRIPTION = "Opkg Package Manager" -DESCRIPTION_libopkg = "Opkg Package Manager Library" -SECTION = "base" -LICENSE = "GPL" -DEPENDS = "curl gpgme" -PV = "0.1.6+svnr${SRCREV}" - -SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;proto=http \ - file://opkg_unarchive.patch;patch=1;maxrev=201" -S = "${WORKDIR}/trunk" - -inherit autotools pkgconfig - -do_stage() { - autotools_stage_all -} diff --git a/packages/opkg/opkg_svn.bb b/packages/opkg/opkg_svn.bb deleted file mode 100644 index a4728970ce..0000000000 --- a/packages/opkg/opkg_svn.bb +++ /dev/null @@ -1,34 +0,0 @@ -require opkg.inc - -PR = "r2" - -PACKAGES =+ "libopkg-dev libopkg" - -FILES_libopkg-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so" -FILES_libopkg = "${libdir}/*.so.*" - -# Define a variable to allow distros to run configure earlier. -# (for example, to enable loading of ethernet kernel modules before networking starts) -OPKG_INIT_POSITION = "98" -OPKG_INIT_POSITION_slugos = "41" - -pkg_postinst_${PN} () { -#!/bin/sh -if [ "x$D" != "x" ]; then - install -d $D${sysconfdir}/rcS.d - # this happens at S98 where our good 'ole packages script used to run - echo "#!/bin/sh -opkg-cl configure -rm -f ${sysconfdir}/rcS.d/S${OPKG_INIT_POSITION}configure -" > $D${sysconfdir}/rcS.d/S${OPKG_INIT_POSITION}configure - chmod 0755 $D${sysconfdir}/rcS.d/S${OPKG_INIT_POSITION}configure -fi - -update-alternatives --install ${bindir}/opkg opkg ${bindir}/opkg-cl 100 -} - -pkg_postrm_${PN} () { -#!/bin/sh -update-alternatives --remove opkg ${bindir}/opkg-cl -} - |