diff options
-rw-r--r-- | app-portage/portage-utils/files/portage-utils-0.61-solaris.patch | 27 | ||||
-rw-r--r-- | app-portage/portage-utils/portage-utils-0.61.ebuild | 1 |
2 files changed, 28 insertions, 0 deletions
diff --git a/app-portage/portage-utils/files/portage-utils-0.61-solaris.patch b/app-portage/portage-utils/files/portage-utils-0.61-solaris.patch new file mode 100644 index 000000000000..8bcc9c1b0bad --- /dev/null +++ b/app-portage/portage-utils/files/portage-utils-0.61-solaris.patch @@ -0,0 +1,27 @@ +qcache: work around missing d_type/DT_DIR + +--- qcache.c ++++ qcache.c +@@ -750,13 +750,21 @@ + + xasprintf(&catpath, "%s/dep/%s", portedb, data->overlay); + dir = opendir(catpath); +- while ((de = readdir(dir))) ++ while ((de = readdir(dir))) { ++#ifndef DT_DIR ++ struct stat s; ++ if (stat(de->d_name, &s)) ++ continue; ++ if (S_ISDIR(s.st_mode) && de->d_name[0] != '.') { ++#else + if (de->d_type == DT_DIR && de->d_name[0] != '.') { ++#endif + bool ok; + allcats = add_set_unique(de->d_name, allcats, &ok); + if (ok) + ++numcat; + } ++ } + closedir(dir); + free(catpath); + diff --git a/app-portage/portage-utils/portage-utils-0.61.ebuild b/app-portage/portage-utils/portage-utils-0.61.ebuild index 205874bdf8b9..1b2667911661 100644 --- a/app-portage/portage-utils/portage-utils-0.61.ebuild +++ b/app-portage/portage-utils/portage-utils-0.61.ebuild @@ -22,6 +22,7 @@ DEPEND="${RDEPEND} static? ( dev-libs/iniparser:0[static-libs] )" src_prepare() { + epatch "${FILESDIR}"/${P}-solaris.patch epatch_user } |