summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenedikt Boehm <hollow@gentoo.org>2005-02-02 17:41:56 +0000
committerBenedikt Boehm <hollow@gentoo.org>2005-02-02 17:41:56 +0000
commit00c017a8b736a0a556280f65714525389c881783 (patch)
tree2a361a2f44c95ba75328c660b762ca7b0500fdec /app-portage
parentstable on ppc64 (diff)
downloadgentoo-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/ChangeLog7
-rw-r--r--app-portage/eix/Manifest18
-rw-r--r--app-portage/eix/eix-0.2.0_alpha.ebuild4
-rw-r--r--app-portage/eix/files/0.2.0_alpha-bugfixes.patch279
-rw-r--r--app-portage/eix/files/0.2.0_alpha-portdir.patch38
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;
- }
- }
-