diff options
Diffstat (limited to 'package/system/opkg/patches/220-drop-release-support.patch')
-rw-r--r-- | package/system/opkg/patches/220-drop-release-support.patch | 812 |
1 files changed, 0 insertions, 812 deletions
diff --git a/package/system/opkg/patches/220-drop-release-support.patch b/package/system/opkg/patches/220-drop-release-support.patch deleted file mode 100644 index b674e33a91..0000000000 --- a/package/system/opkg/patches/220-drop-release-support.patch +++ /dev/null @@ -1,812 +0,0 @@ ---- a/libopkg/Makefile.am -+++ b/libopkg/Makefile.am -@@ -15,7 +15,6 @@ opkg_cmd_sources = opkg_cmd.c opkg_cmd.h - opkg_upgrade.c opkg_upgrade.h \ - opkg_remove.c opkg_remove.h - opkg_db_sources = opkg_conf.c opkg_conf.h \ -- release.c release.h release_parse.c release_parse.h \ - opkg_utils.c opkg_utils.h pkg.c pkg.h hash_table.h \ - pkg_depends.c pkg_depends.h pkg_extract.c pkg_extract.h \ - hash_table.c pkg_hash.c pkg_hash.h pkg_parse.c pkg_parse.h \ -@@ -28,7 +27,6 @@ opkg_list_sources = conffile.c conffile. - active_list.c active_list.h list.h - opkg_util_sources = file_util.c file_util.h opkg_message.h opkg_message.c md5.c md5.h \ - parse_util.c parse_util.h \ -- cksum_list.c cksum_list.h \ - sprintf_alloc.c sprintf_alloc.h \ - xregex.c xregex.h xsystem.c xsystem.h - if HAVE_PATHFINDER ---- a/libopkg/cksum_list.c -+++ /dev/null -@@ -1,87 +0,0 @@ --/* cksum_lis.c - the opkg package management system -- -- Copyright (C) 2010,2011 Javier Palacios -- -- 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, 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. --*/ -- --#include "config.h" -- --#include <stdio.h> -- --#include "cksum_list.h" --#include "libbb/libbb.h" -- -- --int cksum_init(cksum_t *cksum, char **itemlist) --{ -- cksum->value = xstrdup(*itemlist++); -- cksum->size = atoi(*itemlist++); -- cksum->name = xstrdup(*itemlist++); -- -- return 0; --} -- --void cksum_deinit(cksum_t *cksum) --{ -- free (cksum->name); -- cksum->name = NULL; -- -- free (cksum->value); -- cksum->value = NULL; --} -- --void cksum_list_init(cksum_list_t *list) --{ -- void_list_init((void_list_t *) list); --} -- --void cksum_list_deinit(cksum_list_t *list) --{ -- cksum_list_elt_t *iter, *n; -- cksum_t *cksum; -- -- list_for_each_entry_safe(iter, n, &list->head, node) { -- cksum = (cksum_t *)iter->data; -- cksum_deinit(cksum); -- -- /* malloced in cksum_list_append */ -- free(cksum); -- iter->data = NULL; -- } -- void_list_deinit((void_list_t *) list); --} -- --cksum_t *cksum_list_append(cksum_list_t *list, char **itemlist) --{ -- /* freed in cksum_list_deinit */ -- cksum_t *cksum = xcalloc(1, sizeof(cksum_t)); -- cksum_init(cksum, itemlist); -- -- void_list_append((void_list_t *) list, cksum); -- -- return cksum; --} -- --const cksum_t *cksum_list_find(cksum_list_t *list, const char *name) --{ -- cksum_list_elt_t *iter; -- cksum_t *cksum; -- -- list_for_each_entry(iter, &list->head, node) { -- cksum = (cksum_t *)iter->data; -- if (strcmp(cksum->name, name) == 0) { -- return cksum; -- } -- } -- return NULL; --} -- ---- a/libopkg/cksum_list.h -+++ /dev/null -@@ -1,46 +0,0 @@ --/* cksum_list.h - the opkg package management system -- -- Copyright (C) 2010,2011 Javier Palacios -- -- 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, 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. --*/ -- --#ifndef CKSUM_LIST_H --#define CKSUM_LIST_H -- --typedef struct --{ -- char *name; -- char *value; -- int size; --} cksum_t; -- --int cksum_init(cksum_t *cksum, char **itemlist); --void cksum_deinit(cksum_t *cksum); -- --#include "void_list.h" -- --typedef struct void_list_elt cksum_list_elt_t; -- --typedef struct void_list cksum_list_t; -- --static inline int cksum_list_empty(cksum_list_t *list) --{ -- return void_list_empty ((void_list_t *)list); --} -- --void cksum_list_init(cksum_list_t *list); --void cksum_list_deinit(cksum_list_t *list); -- --cksum_t *cksum_list_append(cksum_list_t *list, char **itemlist); --const cksum_t *cksum_list_find(cksum_list_t *list, const char *name); -- --#endif ---- a/libopkg/release.c -+++ /dev/null -@@ -1,342 +0,0 @@ --/* release.c - the opkg package management system -- -- Copyright (C) 2010,2011 Javier Palacios -- -- 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, 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. --*/ -- --#include <unistd.h> --#include <ctype.h> -- --#include "release.h" --#include "opkg_utils.h" --#include "libbb/libbb.h" -- --#include "opkg_download.h" --#include "sprintf_alloc.h" -- --#include "release_parse.h" -- --#include "parse_util.h" --#include "file_util.h" -- --static void --release_init(release_t *release) --{ -- release->name = NULL; -- release->datestring = NULL; -- release->architectures = NULL; -- release->architectures_count = 0; -- release->components = NULL; -- release->components_count = 0; -- release->complist = NULL; -- release->complist_count = 0; --} -- --release_t * --release_new(void) --{ -- release_t *release; -- -- release = xcalloc(1, sizeof(release_t)); -- release_init(release); -- -- return release; --} -- --void --release_deinit(release_t *release) --{ -- int i; -- -- free(release->name); -- free(release->datestring); -- -- for(i = 0; i < release->architectures_count; i++){ -- free(release->architectures[i]); -- } -- free(release->architectures); -- -- for(i = 0; i < release->components_count; i++){ -- free(release->components[i]); -- } -- free(release->components); -- -- for(i = 0; i < release->complist_count; i++){ -- free(release->complist[i]); -- } -- free(release->complist); -- --} -- --int --release_init_from_file(release_t *release, const char *filename) --{ -- int err = 0; -- FILE *release_file; -- -- release_file = fopen(filename, "r"); -- if (release_file == NULL) { -- opkg_perror(ERROR, "Failed to open %s", filename); -- return -1; -- } -- -- err=release_parse_from_stream(release, release_file); -- if (!err) { -- if (!release_arch_supported(release)) { -- opkg_msg(ERROR, "No valid architecture found on Release file.\n"); -- err = -1; -- } -- } -- -- return err; --} -- --const char * --item_in_list(const char *comp, char **complist, const unsigned int count) --{ -- int i; -- -- if (!complist) -- return comp; -- -- for(i = 0; i < count; i++){ -- if (strcmp(comp, complist[i]) == 0) -- return complist[i]; -- } -- -- return NULL; --} -- --int --release_arch_supported(release_t *release) --{ -- nv_pair_list_elt_t *l; -- -- list_for_each_entry(l , &conf->arch_list.head, node) { -- nv_pair_t *nv = (nv_pair_t *)l->data; -- if (item_in_list(nv->name, release->architectures, release->architectures_count)) { -- opkg_msg(DEBUG, "Arch %s (priority %s) supported for dist %s.\n", -- nv->name, nv->value, release->name); -- return 1; -- } -- } -- -- return 0; --} -- --int --release_comps_supported(release_t *release, const char *complist) --{ -- int ret = 1; -- int i; -- -- if (complist) { -- release->complist = parse_list(complist, &release->complist_count, ' ', 1); -- for(i = 0; i < release->complist_count; i++){ -- if (!item_in_list(release->complist[i], release->components, release->components_count)) { -- opkg_msg(ERROR, "Component %s not supported for dist %s.\n", -- release->complist[i], release->name); -- ret = 0; -- } -- } -- } -- -- return ret; --} -- --const char ** --release_comps(release_t *release, unsigned int *count) --{ -- char **comps = release->complist; -- -- if (!comps) { -- comps = release->components; -- *count = release->components_count; -- } else { -- *count = release->complist_count; -- } -- -- return (const char **)comps; --} -- --int --release_download(release_t *release, pkg_src_t *dist, char *lists_dir, char *tmpdir) --{ -- int ret = 0; -- unsigned int ncomp; -- const char **comps = release_comps(release, &ncomp); -- nv_pair_list_elt_t *l; -- int i; -- -- for(i = 0; i < ncomp; i++){ -- int err = 0; -- char *prefix; -- -- sprintf_alloc(&prefix, "%s/dists/%s/%s/binary", dist->value, dist->name, -- comps[i]); -- -- list_for_each_entry(l , &conf->arch_list.head, node) { -- char *url; -- char *tmp_file_name, *list_file_name; -- char *subpath = NULL; -- -- nv_pair_t *nv = (nv_pair_t *)l->data; -- -- sprintf_alloc(&list_file_name, "%s/%s-%s-%s", lists_dir, dist->name, comps[i], nv->name); -- -- sprintf_alloc(&tmp_file_name, "%s/%s-%s-%s%s", tmpdir, dist->name, comps[i], nv->name, ".gz"); -- -- sprintf_alloc(&subpath, "%s/binary-%s/%s", comps[i], nv->name, dist->gzip ? "Packages.gz" : "Packages"); -- -- if (dist->gzip) { -- sprintf_alloc(&url, "%s-%s/Packages.gz", prefix, nv->name); -- err = opkg_download(url, tmp_file_name, NULL, NULL, 1); -- if (!err) { -- err = release_verify_file(release, tmp_file_name, subpath); -- if (err) { -- unlink (tmp_file_name); -- unlink (list_file_name); -- } -- } -- if (!err) { -- FILE *in, *out; -- opkg_msg(NOTICE, "Inflating %s.\n", url); -- in = fopen (tmp_file_name, "r"); -- out = fopen (list_file_name, "w"); -- if (in && out) { -- err = unzip (in, out); -- if (err) -- opkg_msg(INFO, "Corrumpt file at %s.\n", url); -- } else -- err = 1; -- if (in) -- fclose (in); -- if (out) -- fclose (out); -- unlink (tmp_file_name); -- } -- free(url); -- } -- -- if (err) { -- sprintf_alloc(&url, "%s-%s/Packages", prefix, nv->name); -- err = opkg_download(url, list_file_name, NULL, NULL, 1); -- if (!err) { -- err = release_verify_file(release, tmp_file_name, subpath); -- if (err) -- unlink (list_file_name); -- } -- free(url); -- } -- -- free(tmp_file_name); -- free(list_file_name); -- } -- -- if(err) -- ret = 1; -- -- free(prefix); -- } -- -- return ret; --} -- --int --release_get_size(release_t *release, const char *pathname) --{ -- const cksum_t *cksum; -- -- if (release->md5sums) { -- cksum = cksum_list_find(release->md5sums, pathname); -- return cksum->size; -- } -- --#ifdef HAVE_SHA256 -- if (release->sha256sums) { -- cksum = cksum_list_find(release->sha256sums, pathname); -- return cksum->size; -- } --#endif -- -- return -1; --} -- --const char * --release_get_md5(release_t *release, const char *pathname) --{ -- const cksum_t *cksum; -- -- if (release->md5sums) { -- cksum = cksum_list_find(release->md5sums, pathname); -- return cksum->value; -- } -- -- return '\0'; --} -- --#ifdef HAVE_SHA256 --const char * --release_get_sha256(release_t *release, const char *pathname) --{ -- const cksum_t *cksum; -- -- if (release->sha256sums) { -- cksum = cksum_list_find(release->sha256sums, pathname); -- return cksum->value; -- } -- -- return '\0'; --} --#endif -- --int --release_verify_file(release_t *release, const char* file_name, const char *pathname) --{ -- struct stat f_info; -- char *f_md5 = NULL; -- const char *md5 = release_get_md5(release, pathname); --#ifdef HAVE_SHA256 -- char *f_sha256 = NULL; -- const char *sha256 = release_get_sha256(release, pathname); --#endif -- int ret = 0; -- -- if (stat(file_name, &f_info) || (f_info.st_size!=release_get_size(release, pathname))) { -- opkg_msg(ERROR, "Size verification failed for %s - %s.\n", release->name, pathname); -- ret = 1; -- } else { -- -- f_md5 = file_md5sum_alloc(file_name); --#ifdef HAVE_SHA256 -- f_sha256 = file_sha256sum_alloc(file_name); --#endif -- -- if (md5 && strcmp(md5, f_md5)) { -- opkg_msg(ERROR, "MD5 verification failed for %s - %s.\n", release->name, pathname); -- ret = 1; --#ifdef HAVE_SHA256 -- } else if (sha256 && strcmp(sha256, f_sha256)) { -- opkg_msg(ERROR, "SHA256 verification failed for %s - %s.\n", release->name, pathname); -- ret = 1; --#endif -- } -- -- } -- -- free(f_md5); --#ifdef HAVE_SHA256 -- free(f_sha256); --#endif -- -- return ret; --} ---- a/libopkg/release.h -+++ /dev/null -@@ -1,53 +0,0 @@ --/* release.h - the opkg package management system -- -- Copyright (C) 2010,2011 Javier Palacios -- -- 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, 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. --*/ -- --#ifndef RELEASE_H --#define RELEASE_H -- --#include <stdio.h> --#include "pkg.h" --#include "cksum_list.h" -- --struct release --{ -- char *name; -- char *datestring; -- char **architectures; -- unsigned int architectures_count; -- char **components; -- unsigned int components_count; -- cksum_list_t *md5sums; --#ifdef HAVE_SHA256 -- cksum_list_t *sha256sums; --#endif -- char **complist; -- unsigned int complist_count; --}; -- --typedef struct release release_t; -- --release_t *release_new(void); --void release_deinit(release_t *release); --int release_init_from_file(release_t *release, const char *filename); -- --int release_arch_supported(release_t *release); --int release_comps_supported(release_t *release, const char *complist); --int release_download(release_t *release, pkg_src_t *dist, char *lists_dir, char *tmpdir); -- --const char **release_comps(release_t *release, unsigned int *count); -- --int release_verify_file(release_t *release, const char *filename, const char *pathname); -- --#endif ---- a/libopkg/release_parse.c -+++ /dev/null -@@ -1,126 +0,0 @@ --/* release_parse.c - the opkg package management system -- -- Copyright (C) 2010,2011 Javier Palacios -- -- 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, 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. --*/ -- --#include "config.h" -- --#include <stdio.h> -- --#include "release.h" --#include "release_parse.h" --#include "libbb/libbb.h" --#include "parse_util.h" -- --static int --release_parse_line(void *ptr, const char *line, uint mask) --{ -- release_t *release = (release_t *) ptr; -- -- int ret = 0; -- unsigned int count = 0; -- char **list = 0; -- static int reading_md5sums = 0; --#ifdef HAVE_SHA256 -- static int reading_sha256sums = 0; --#endif -- -- switch (*line) { -- case 'A': -- if (is_field("Architectures", line)) { -- release->architectures = parse_list(line, &release->architectures_count, ' ', 0); -- } -- break; -- -- case 'C': -- if (is_field("Codename", line)) { -- release->name = parse_simple("Codename", line); -- } -- else if (is_field("Components", line)) { -- release->components = parse_list(line, &release->components_count, ' ', 0); -- } -- break; -- -- case 'D': -- if (is_field("Date", line)) { -- release->datestring = parse_simple("Date", line); -- } -- break; -- -- case 'M': -- if (is_field("MD5sum", line)) { -- reading_md5sums = 1; -- if (release->md5sums == NULL) { -- release->md5sums = xcalloc(1, sizeof(cksum_list_t)); -- cksum_list_init(release->md5sums); -- } -- goto dont_reset_flags; -- } -- break; -- --#ifdef HAVE_SHA256 -- case 'S': -- if (is_field("SHA256", line)) { -- reading_sha256sums = 1; -- if (release->sha256sums == NULL) { -- release->sha256sums = xcalloc(1, sizeof(cksum_list_t)); -- cksum_list_init(release->sha256sums); -- } -- goto dont_reset_flags; -- } -- break; --#endif -- -- case ' ': -- if (reading_md5sums) { -- list = parse_list(line, &count, ' ', 1); -- cksum_list_append(release->md5sums, list); -- goto dont_reset_flags; -- } --#ifdef HAVE_SHA256 -- else if (reading_sha256sums) { -- list = parse_list(line, &count, ' ', 1); -- cksum_list_append(release->sha256sums, list); -- goto dont_reset_flags; -- } --#endif -- break; -- -- default: -- ret = 1; -- } -- -- reading_md5sums = 0; --#ifdef HAVE_SHA256 -- reading_sha256sums = 0; --#endif -- --dont_reset_flags: -- -- return ret; --} -- --int --release_parse_from_stream(release_t *release, FILE *fp) --{ -- int ret; -- char *buf; -- const size_t len = 4096; -- -- buf = xmalloc(len); -- ret = parse_from_stream_nomalloc(release_parse_line, release, fp, 0, &buf, len); -- free(buf); -- -- return ret; --} -- ---- a/libopkg/release_parse.h -+++ /dev/null -@@ -1,21 +0,0 @@ --/* release_parse.h - the opkg package management system -- -- Copyright (C) 2010,2011 Javier Palacios -- -- 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, 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. --*/ -- --#ifndef RELEASE_PARSE_H --#define RELEASE_PARSE_H -- --int release_parse_from_stream(release_t *release, FILE *fp); -- --#endif ---- a/libopkg/opkg_cmd.c -+++ b/libopkg/opkg_cmd.c -@@ -27,7 +27,6 @@ - #include "opkg_conf.h" - #include "opkg_cmd.h" - #include "opkg_message.h" --#include "release.h" - #include "pkg.h" - #include "pkg_dest.h" - #include "pkg_parse.h" -@@ -114,39 +113,6 @@ opkg_update_cmd(int argc, char **argv) - } - - -- for (iter = void_list_first(&conf->dist_src_list); iter; iter = void_list_next(&conf->dist_src_list, iter)) { -- char *url, *list_file_name; -- -- src = (pkg_src_t *)iter->data; -- -- sprintf_alloc(&url, "%s/dists/%s/Release", src->value, src->name); -- -- sprintf_alloc(&list_file_name, "%s/%s", lists_dir, src->name); -- err = opkg_download(url, list_file_name, NULL, NULL, 0); -- if (!err) { -- opkg_msg(NOTICE, "Downloaded release files for dist %s.\n", -- src->name); -- release_t *release = release_new(); -- err = release_init_from_file(release, list_file_name); -- if (!err) { -- if (!release_comps_supported(release, src->extra_data)) -- err = -1; -- } -- if (!err) { -- err = release_download(release, src, lists_dir, tmp); -- } -- release_deinit(release); -- if (err) -- unlink(list_file_name); -- } -- -- if (err) -- failures++; -- -- free(list_file_name); -- free(url); -- } -- - for (iter = void_list_first(&conf->pkg_src_list); iter; iter = void_list_next(&conf->pkg_src_list, iter)) { - char *url, *list_file_name; - ---- a/libopkg/pkg_hash.c -+++ b/libopkg/pkg_hash.c -@@ -18,7 +18,6 @@ - #include <stdio.h> - - #include "hash_table.h" --#include "release.h" - #include "pkg.h" - #include "opkg_message.h" - #include "pkg_vec.h" -@@ -184,40 +183,6 @@ pkg_hash_load_feeds(void) - lists_dir = conf->restrict_to_default_dest ? - conf->default_dest->lists_dir : conf->lists_dir; - -- for (iter = void_list_first(&conf->dist_src_list); iter; -- iter = void_list_next(&conf->dist_src_list, iter)) { -- -- src = (pkg_src_t *)iter->data; -- -- sprintf_alloc(&list_file, "%s/%s", lists_dir, src->name); -- -- if (file_exists(list_file)) { -- int i; -- release_t *release = release_new(); -- if(release_init_from_file(release, list_file)) { -- free(list_file); -- return -1; -- } -- -- unsigned int ncomp; -- const char **comps = release_comps(release, &ncomp); -- subdist = (pkg_src_t *) xmalloc(sizeof(pkg_src_t)); -- memcpy(subdist, src, sizeof(pkg_src_t)); -- -- for(i = 0; i < ncomp; i++){ -- subdist->name = NULL; -- sprintf_alloc(&subdist->name, "%s-%s", src->name, comps[i]); -- if (dist_hash_add_from_file(lists_dir, subdist)) { -- free(subdist->name); free(subdist); -- free(list_file); -- return -1; -- } -- } -- free(subdist->name); free(subdist); -- } -- free(list_file); -- } -- - for (iter = void_list_first(&conf->pkg_src_list); iter; - iter = void_list_next(&conf->pkg_src_list, iter)) { - |