diff options
author | Benedikt Boehm <hollow@gentoo.org> | 2005-02-02 17:41:56 +0000 |
---|---|---|
committer | Benedikt Boehm <hollow@gentoo.org> | 2005-02-02 17:41:56 +0000 |
commit | 00c017a8b736a0a556280f65714525389c881783 (patch) | |
tree | 2a361a2f44c95ba75328c660b762ca7b0500fdec /app-portage | |
parent | stable on ppc64 (diff) | |
download | gentoo-2-00c017a8b736a0a556280f65714525389c881783.tar.gz gentoo-2-00c017a8b736a0a556280f65714525389c881783.tar.bz2 gentoo-2-00c017a8b736a0a556280f65714525389c881783.zip |
removed portdir patch which is in a generic bugfix patch. fixes #80241
(Portage version: 2.0.51-r15)
Diffstat (limited to 'app-portage')
-rw-r--r-- | app-portage/eix/ChangeLog | 7 | ||||
-rw-r--r-- | app-portage/eix/Manifest | 18 | ||||
-rw-r--r-- | app-portage/eix/eix-0.2.0_alpha.ebuild | 4 | ||||
-rw-r--r-- | app-portage/eix/files/0.2.0_alpha-bugfixes.patch | 279 | ||||
-rw-r--r-- | app-portage/eix/files/0.2.0_alpha-portdir.patch | 38 |
5 files changed, 291 insertions, 55 deletions
diff --git a/app-portage/eix/ChangeLog b/app-portage/eix/ChangeLog index 6cd0718ecde2..e617f6c920ef 100644 --- a/app-portage/eix/ChangeLog +++ b/app-portage/eix/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for app-portage/eix # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-portage/eix/ChangeLog,v 1.8 2005/02/01 14:31:43 hollow Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-portage/eix/ChangeLog,v 1.9 2005/02/02 17:41:56 hollow Exp $ + + 02 Feb 2005; Benedikt Boehm <hollow@gentoo.org> + +files/0.2.0_alpha-bugfixes.patch, -files/0.2.0_alpha-portdir.patch, + eix-0.2.0_alpha.ebuild: + removed portdir patch which is in a generic bugfix patch. fixes #80241 01 Feb 2005; Benedikt Boehm <hollow@gentoo.org> +files/0.2.0_alpha-portdir.patch, eix-0.2.0_alpha.ebuild: diff --git a/app-portage/eix/Manifest b/app-portage/eix/Manifest index 7aaf68954680..94c94f4d2992 100644 --- a/app-portage/eix/Manifest +++ b/app-portage/eix/Manifest @@ -1,21 +1,11 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - +MD5 004e77d2b441f532ed6c9f16390d80b7 ChangeLog 1322 MD5 f9174308ba5481ddcf2bcdccfbbc78fc eix-0.1.2.ebuild 906 -MD5 8f1f32492a9ae859b2393939bf9b5ee2 ChangeLog 1101 -MD5 74c5aadf8e3e9d642a20e64d1afefec8 metadata.xml 239 MD5 899859c820908cdddfde8b785d28ce13 eix-0.1.3.ebuild 906 MD5 5b05bad1e4a1351770d39b0db3ad61eb eix-0.1.4.ebuild 929 -MD5 baa277fa9435ab225dad7c9e04af8ca0 eix-0.2.0_alpha.ebuild 1006 +MD5 7a953bbd6c9ab1196341799ca46f2a4c eix-0.2.0_alpha.ebuild 1007 +MD5 74c5aadf8e3e9d642a20e64d1afefec8 metadata.xml 239 MD5 3081ee5e5e220ef71769117b2c358728 files/digest-eix-0.1.2 62 MD5 32cf20c34a830b9f3489b66d5515bed9 files/digest-eix-0.1.3 62 MD5 6344828d1a455d5b7c31a1d5dea74661 files/digest-eix-0.1.4 62 MD5 60e6685c015f26383866ec5a58a54a25 files/digest-eix-0.2.0_alpha 68 -MD5 10c6bee37e79e0d24cc25a9fdba886e6 files/0.2.0_alpha-portdir.patch 1667 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.0 (GNU/Linux) - -iD8DBQFB/5LymPFBzbX68WERApYkAJ47KXzZFw6XEbU5VZcpiJJ/1KAomwCfQmAJ -r6YPoKxGh3K1NccpF0n8ci4= -=uNuQ ------END PGP SIGNATURE----- +MD5 1799d094d8f713c906ebbca17a1fceba files/0.2.0_alpha-bugfixes.patch 10004 diff --git a/app-portage/eix/eix-0.2.0_alpha.ebuild b/app-portage/eix/eix-0.2.0_alpha.ebuild index 37ca049a056c..b69df174a14d 100644 --- a/app-portage/eix/eix-0.2.0_alpha.ebuild +++ b/app-portage/eix/eix-0.2.0_alpha.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-portage/eix/eix-0.2.0_alpha.ebuild,v 1.2 2005/02/01 14:31:43 hollow Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-portage/eix/eix-0.2.0_alpha.ebuild,v 1.3 2005/02/02 17:41:56 hollow Exp $ inherit eutils flag-o-matic @@ -18,7 +18,7 @@ RDEPEND="sys-apps/portage virtual/libc" src_compile() { - epatch ${FILESDIR}/${PV}-portdir.patch || die "portdir patch failed" + epatch ${FILESDIR}/${PV}-bugfixes.patch || die "portdir patch failed" aclocal libtoolize --force --copy diff --git a/app-portage/eix/files/0.2.0_alpha-bugfixes.patch b/app-portage/eix/files/0.2.0_alpha-bugfixes.patch new file mode 100644 index 000000000000..ffb8ce7ca787 --- /dev/null +++ b/app-portage/eix/files/0.2.0_alpha-bugfixes.patch @@ -0,0 +1,279 @@ +This patch includes Christian Heim's <christian.th.heim@gmx.de> patch from +http://bugs.gentoo.org/show_bug.cgi?id=80318 + +diff -Naur eix-0.2.0_alpha.orig/configure.in eix-0.2.0_alpha/configure.in +--- eix-0.2.0_alpha.orig/configure.in 2005-02-02 16:40:55.045430120 +0100 ++++ eix-0.2.0_alpha/configure.in 2005-02-02 16:41:12.715743824 +0100 +@@ -1,4 +1,4 @@ +-AC_INIT(eix, 0.1.4) ++AC_INIT(eix, 0.2.0_alpha) + + AM_CONFIG_HEADER(config.h) + AM_INIT_AUTOMAKE() +diff -Naur eix-0.2.0_alpha.orig/src/portagedb.cc eix-0.2.0_alpha/src/portagedb.cc +--- eix-0.2.0_alpha.orig/src/portagedb.cc 2005-02-02 16:40:55.037431336 +0100 ++++ eix-0.2.0_alpha/src/portagedb.cc 2005-02-02 16:51:23.240929888 +0100 +@@ -119,11 +119,11 @@ + { + // get portdir + VarsReader vr("/etc/make.conf"); +- portdir = vr["portdir"]; ++ portdir = vr["PORTDIR"]; + if( portdir.size() == 0 ) + portdir = "/usr/portage/"; + else +- /* dont neet to do this because "/usr/" is the same as "/usr//" ++ /* dont need to do this because "/usr/" is the same as "/usr//" + * else if( portdir[portdir.size() - 1] != '/' ) */ + portdir.append("/"); + +@@ -240,12 +240,15 @@ + } + } + ++#if 0 + // filter function for scandir64 called in portagedb::readcats + int portagedb::readcats_selector (const struct dirent64* dent) + { + if( dent->d_name[0]!='.' && strchr(dent->d_name, '-')!=0 ) return 1; + return 0; + } ++#endif ++ + // filter function for scandir64 called in portagedb::readcachedpkgs + int portagedb::readcpkgs_selector (const struct dirent64* dent) + { +@@ -419,97 +422,111 @@ + free(dir_entry); + } + +-// overlays ++ ++/** Read overlay into portagedb::packages. ++ * FIXME: This thing needs to be cleaned. (It's disgusting, the big while's should be somehow put ++ * into functions .. this is soo baaaah!) */ + void portagedb::readoverlay(string directory) throw(exBasic) + { +- DIR *dir_base, *dir_category; +- struct dirent64** dir_package_entries; +- vector<string> listdir_base, listdir_category; +- string path_base, path_category, path_package; +- string category, package_dirname; +- string ebuild_filename; +- +- // read overlay base directory +- path_base = directory; +- if ( (dir_base = opendir(path_base.c_str())) == NULL) +- throw exBasic("Can't open " + directory ); ++ /* Pointers to overlay, category and package DIRectory */ ++ DIR *dir_overlay, *dir_category, *dir_package; ++ ++ char *current_ebuild_name = NULL; /* Pointer to ebuildname .. DON'T FREE THIS, it's static */ + +- dir_entry_list(dir_base, listdir_base, true); +- // cout << "Number of categories in overlay: " << listdir_base.size() << endl; +- // for(size_t i=0; i<listdir_base.size(); i++) +- // { +- // cout << " " << listdir_base[i] << endl; +- // } ++ struct dirent* category_entry; /* current category dirent */ ++ struct dirent* package_entry; /* current package dirent */ ++ string current_category_path, /* Path to category */ ++ current_package_path, /* Path to package */ ++ current_package, /* Name of current package */ ++ current_category; /* Name of current category */ + +- // read category directories +- for(size_t i=0; i<listdir_base.size();i++) ++ /* open base-directory of overlay */ ++ if( (dir_overlay = opendir(directory.c_str())) == NULL) ++ throw exBasic("Can't open " + directory ); ++ ++ /* cycle through categories in overlay */ ++ while( (category_entry = readdir(dir_overlay)) != NULL ) + { +- path_category = path_base + listdir_base[i]; +- category = listdir_base[i]; ++ if(category_entry->d_name[0] == '.') ++ continue; + +- if ( (dir_category = opendir(path_category.c_str())) == NULL ) +- { ++ current_category = category_entry->d_name; ++ ++ if( !(current_category.find('-'))) + continue; +- } + +- listdir_category.clear(); +- dir_entry_list(dir_category, listdir_category, false); +- closedir( dir_category ); // was a 6 MB leak ! ++ current_category_path = directory + current_category; + +- // read package directories +- for(unsigned int j=0;j<listdir_category.size();j++) ++ /* Open dir_category */ ++ if( (dir_category = opendir( current_category_path.c_str() )) == NULL ) ++ continue; ++ ++ /* Cycle through package-directories in this category */ ++ while( (package_entry = readdir(dir_category)) != NULL ) + { +- path_package = path_category + "/" + listdir_category[j]; +- package_dirname = listdir_category[j]; ++ if(package_entry->d_name[0] == '.') /* We don't want dot-files */ ++ continue; + +- package p; +- int versioncounter=0; ++ current_package = package_entry->d_name; ++ current_package_path = current_category_path + "/" + current_package + "/"; + +- //cout << " - Overlay package: " << package_dirname << endl; +- int numdirs = scandir64( path_package.c_str(), &dir_package_entries, &dirlist_select_all, alphasort64 ); +- for( int k=0; k<numdirs; k++ ) +- { +- char* fntemp = dir_package_entries[k]->d_name; +- if( strstr( fntemp, ".ebuild" ) != 0 ) +- { +- // --> read the ebuild +- ebuild_filename = path_package + "/" + fntemp; +- VarsReader ebuild( ebuild_filename.c_str() ); ++ /* Open dir_package */ ++ if( (dir_package = opendir( current_package_path.c_str() )) == NULL ) ++ continue; + +- // now we don't need fntemp anymore, so we can cut off the .ebuild +- fntemp[strlen(fntemp)-7]=0; ++ bool have_onetime_info = false; ++ package p; + +- // only copy ebuild infos once +- if( ++versioncounter == 1 ) +- { +- // cout << "overlay ebuild: " << package_dirname << endl; +- p.name = package_dirname; +- p.rootcat = category.substr(0,category.find("-")); +- p.subcat = category.substr(category.find("-")+1); +- p.homepage = ebuild["HOMEPAGE"]; +- p.licenses = ebuild["LICENSE"]; +- p.desc = ebuild["DESCRIPTION"]; +- } ++ /* Cycle through files in package-directory */ ++ while( (package_entry = readdir(dir_package)) != NULL ) /* {{{ */ ++ { ++ /* Check if this is a ebuild ++ * TODO: Perhaps we should try something else .. check use rindex for '.' ++ * and look if the position is ok for a ebuild .. if not break. ++ * Then check if the return from rindex points to ".ebuild\n". */ ++ if( strstr(package_entry->d_name, ".ebuild") == 0 ) ++ continue; ++ ++ current_ebuild_name = package_entry->d_name; ++ ++ /* read the ebuild */ ++ VarsReader ebuild( (current_package_path + current_ebuild_name).c_str() ); ++ ++ /* now we don't need the filename anymore, so we can cut off the .ebuild ++ * Could we use package_entry->d_reclen insteed of strlen? man 3 readdir whines ++ * about being not portable if we use this d_reclen .. because it's not in posix or ++ * so. Do we care? */ ++ current_ebuild_name[strlen(current_ebuild_name) - 7] = '\0'; + +- // add any version of the ebuild +- char* ver = globals_local.ExplodePkgFileName( fntemp, globals_local.xplodeVersion ); +- versionEx ve(ver); +- ve.stability = p.getStability( arch.c_str(), (char *)ebuild["KEYWORDS"].c_str() ); +- p.addVersion( ve ); +- free( ver ); ++ /* only copy ebuild infos once */ ++ if( !(have_onetime_info) ) ++ { ++ p.name = current_package; ++ p.rootcat = current_category.substr(0,current_category.find("-")); ++ p.subcat = current_category.substr(current_category.find("-")+1); ++ p.homepage = ebuild["HOMEPAGE"]; ++ p.licenses = ebuild["LICENSE"]; ++ p.desc = ebuild["DESCRIPTION"]; + ++ have_onetime_info = true; + } +- free( dir_package_entries[k] ); +- } +- if(numdirs) free(dir_package_entries); + +- // debug +- /* cout << p.rootcat << "-" << p.subcat << "/" << p.name << "\n\tversions: "; +- for(list<versionEx>::iterator i=p.versions.begin(); i!=p.versions.end(); i++) cout << (*i).full << " "; +- cout << endl;*/ ++ // add any version of the ebuild ++ char* ver = globals_local.ExplodePkgFileName( current_ebuild_name, globals_local.xplodeVersion ); ++ versionEx ve(ver); ++ ve.stability = p.getStability( arch.c_str(), (char *)ebuild["KEYWORDS"].c_str() ); ++ p.addVersion( ve ); ++ free( ver ); ++ } /* }}} */ ++ ++#if 0 ++ cout << p.rootcat << "-" << p.subcat << "/" << p.name << "\n\tversions: "; ++ for(list<versionEx>::iterator i=p.versions.begin(); i!=p.versions.end(); i++) cout << (*i).full << " "; ++ cout << endl; ++#endif + +- // merge package with portagedb::packages +- if( versioncounter > 0 ) ++ /* merge package with portagedb::packages */ ++ if(have_onetime_info) + { + bool packageexists=false; + vector<pcat>::iterator it = find( categories.begin(), categories.end(), p.rootcat ); +@@ -534,16 +551,12 @@ + packages.push_back(p); + (*it).package_indices.push_back(packages.size()-1); + } +- + } +- +- // read the next package ++ closedir(dir_package); + } +- +- // read the next category ++ closedir(dir_category); + } +- +- closedir(dir_base); ++ closedir(dir_overlay); + } + + // Full db update +@@ -604,7 +617,7 @@ + * @param db_query DBQuery with search-pattern et cetera. */ + void portagedb::DBSelectEntry( FILE *is, DBQuery &db_query) throw(exBasic) + { +- bool name_no_match; ++ bool name_no_match = false; + unsigned short numVersions = 0; + long next_pkg; + package *p = &(db_query.matching_packages[db_query.matches]); +diff -Naur eix-0.2.0_alpha.orig/src/version.cc eix-0.2.0_alpha/src/version.cc +--- eix-0.2.0_alpha.orig/src/version.cc 2005-02-02 16:40:55.038431184 +0100 ++++ eix-0.2.0_alpha/src/version.cc 2005-02-02 16:51:50.049854312 +0100 +@@ -61,7 +61,7 @@ + else + { + primary = full; +- cerr << "Error in versions.cc: regexec(\"" << full << "\") failed. can't determine primary version." << endl; ++ cerr << "Error in version.cc: regexec(\"" << full << "\") failed. can't determine primary version." << endl; + } + + // try to split primary version +@@ -86,7 +86,7 @@ + gr+=2; + gentoorelease=strtol(gr,NULL,10); + if( gentoorelease == 0 ) { +- cerr << "Error in versions.cc: invalid gentoo release number in \"" << full << "\"" << endl; ++ cerr << "Error in version.cc: invalid gentoo release number in \"" << full << "\"" << endl; + } + } + diff --git a/app-portage/eix/files/0.2.0_alpha-portdir.patch b/app-portage/eix/files/0.2.0_alpha-portdir.patch deleted file mode 100644 index 7dbe43c864fa..000000000000 --- a/app-portage/eix/files/0.2.0_alpha-portdir.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -urN eix-0.2.0_alpha/work/eix-0.2.0_alpha/src/portagedb.cc eix-0.2.0_alpha-corrected/work/eix-0.2.0_alpha/src/portagedb.cc ---- eix-0.2.0_alpha/work/eix-0.2.0_alpha/src/portagedb.cc 2005-02-01 13:08:57.000000000 +0100 -+++ eix-0.2.0_alpha-corrected/work/eix-0.2.0_alpha/src/portagedb.cc 2005-02-01 13:05:05.000000000 +0100 -@@ -119,11 +119,11 @@ - { - // get portdir - VarsReader vr("/etc/make.conf"); -- portdir = vr["portdir"]; -+ portdir = vr["PORTDIR"]; - if( portdir.size() == 0 ) - portdir = "/usr/portage/"; - else -- /* dont neet to do this because "/usr/" is the same as "/usr//" -+ /* dont need to do this because "/usr/" is the same as "/usr//" - * else if( portdir[portdir.size() - 1] != '/' ) */ - portdir.append("/"); - -diff -urN eix-0.2.0_alpha/work/eix-0.2.0_alpha/src/version.cc eix-0.2.0_alpha-corrected/work/eix-0.2.0_alpha/src/version.cc ---- eix-0.2.0_alpha/work/eix-0.2.0_alpha/src/version.cc 2005-01-31 22:39:22.000000000 +0100 -+++ eix-0.2.0_alpha-corrected/work/eix-0.2.0_alpha/src/version.cc 2005-02-01 13:11:10.000000000 +0100 -@@ -61,7 +61,7 @@ - else - { - primary = full; -- cerr << "Error in versions.cc: regexec(\"" << full << "\") failed. can't determine primary version." << endl; -+ cerr << "Error in version.cc: regexec(\"" << full << "\") failed. can't determine primary version." << endl; - } - - // try to split primary version -@@ -86,7 +86,7 @@ - gr+=2; - gentoorelease=strtol(gr,NULL,10); - if( gentoorelease == 0 ) { -- cerr << "Error in versions.cc: invalid gentoo release number in \"" << full << "\"" << endl; -+ cerr << "Error in version.cc: invalid gentoo release number in \"" << full << "\"" << endl; - } - } - |