public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mike Frysinger (vapier)" <vapier@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] gentoo-projects commit in portage-utils: qmerge.c
Date: Mon, 29 Apr 2013 06:28:22 +0000 (UTC)	[thread overview]
Message-ID: <20130429062822.1E8192171D@flycatcher.gentoo.org> (raw)

vapier      13/04/29 06:28:22

  Modified:             qmerge.c
  Log:
  qmerge: fall back to loading the Packages file from the binpkg store when the temp one does not exist (in case we want to avoid fetching all the damn time)

Revision  Changes    Path
1.122                portage-utils/qmerge.c

file : http://sources.gentoo.org/viewvc.cgi/gentoo-projects/portage-utils/qmerge.c?rev=1.122&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-projects/portage-utils/qmerge.c?rev=1.122&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-projects/portage-utils/qmerge.c?r1=1.121&r2=1.122

Index: qmerge.c
===================================================================
RCS file: /var/cvsroot/gentoo-projects/portage-utils/qmerge.c,v
retrieving revision 1.121
retrieving revision 1.122
diff -u -r1.121 -r1.122
--- qmerge.c	29 Apr 2013 06:26:57 -0000	1.121
+++ qmerge.c	29 Apr 2013 06:28:21 -0000	1.122
@@ -1,7 +1,7 @@
 /*
  * Copyright 2005-2010 Gentoo Foundation
  * Distributed under the terms of the GNU General Public License v2
- * $Header: /var/cvsroot/gentoo-projects/portage-utils/qmerge.c,v 1.121 2013/04/29 06:26:57 vapier Exp $
+ * $Header: /var/cvsroot/gentoo-projects/portage-utils/qmerge.c,v 1.122 2013/04/29 06:28:21 vapier Exp $
  *
  * Copyright 2005-2010 Ned Ludd        - <solar@gentoo.org>
  * Copyright 2005-2010 Mike Frysinger  - <vapier@gentoo.org>
@@ -65,7 +65,7 @@
 	COMMON_OPTS_HELP
 };
 
-static const char qmerge_rcsid[] = "$Id: qmerge.c,v 1.121 2013/04/29 06:26:57 vapier Exp $";
+static const char qmerge_rcsid[] = "$Id: qmerge.c,v 1.122 2013/04/29 06:28:21 vapier Exp $";
 #define qmerge_usage(ret) usage(ret, QMERGE_FLAGS, qmerge_long_opts, qmerge_opts_help, lookup_applet_idx("qmerge"))
 
 char search_pkgs = 0;
@@ -1467,6 +1467,26 @@
 	return 0;
 }
 
+_q_static FILE *
+open_binpkg_index(void)
+{
+	FILE *fp;
+	char buf[BUFSIZ];
+
+	snprintf(buf, sizeof(buf), "%s/portage/%s", port_tmpdir, Packages);
+	fp = fopen(buf, "r");
+	if (fp)
+		return fp;
+
+	snprintf(buf, sizeof(buf), "%s/%s", pkgdir, Packages);
+	fp = fopen(buf, "r");
+	if (fp)
+		return fp;
+
+	errp("Unable to open package file %s in %s/portage or %s",
+		Packages, port_tmpdir, pkgdir);
+}
+
 _q_static struct pkg_t *
 grab_binpkg_info(const char *name)
 {
@@ -1475,19 +1495,14 @@
 	char *p;
 	depend_atom *atom;
 
-	struct pkg_t *pkg = xmalloc(sizeof(struct pkg_t));
-	struct pkg_t *rpkg = xmalloc(sizeof(struct pkg_t));
+	struct pkg_t *pkg = xzalloc(sizeof(struct pkg_t));
+	struct pkg_t *rpkg = xzalloc(sizeof(struct pkg_t));
 
 	static char best_match[sizeof(Pkg.PF)+2+sizeof(Pkg.CATEGORY)];
 
 	best_match[0] = 0;
 
-	memset(pkg, 0, sizeof(struct pkg_t));
-	memset(rpkg, 0, sizeof(struct pkg_t));
-	snprintf(buf, sizeof(buf), "%s/portage/Packages", port_tmpdir);
-
-	if ((fp = fopen(buf, "r")) == NULL)
-		errp("Unable to open package file %s", buf);
+	fp = open_binpkg_index();
 
 	while (fgets(buf, sizeof(buf), fp) != NULL) {
 		if (*buf == '\n') {
@@ -1588,10 +1603,7 @@
 	if (NULL == name)
 		return best_match;
 
-	snprintf(buf, sizeof(buf), "%s/portage/Packages", port_tmpdir);
-
-	if ((fp = fopen(buf, "r")) == NULL)
-		errp("Unable to open package file %s", buf);
+	fp = open_binpkg_index();
 
 	while (fgets(buf, sizeof(buf), fp) != NULL) {
 		if (*buf == '\n') {
@@ -1664,8 +1676,7 @@
 	char *buf, *p;
 	long lineno = 0;
 
-	if ((fp = fopen(Packages, "r")) == NULL)
-		errp("Unable to open package file %s", Packages);
+	fp = open_binpkg_index();
 
 	memset(&Pkg, 0, sizeof(Pkg));
 





             reply	other threads:[~2013-04-29  6:28 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-29  6:28 Mike Frysinger (vapier) [this message]
  -- strict thread matches above, loose matches on Subject: below --
2014-02-18  6:59 [gentoo-commits] gentoo-projects commit in portage-utils: qmerge.c Mike Frysinger (vapier)
2014-02-18  6:58 Mike Frysinger (vapier)
2014-02-18  6:58 Mike Frysinger (vapier)
2014-02-18  6:57 Mike Frysinger (vapier)
2014-02-18  4:32 Mike Frysinger (vapier)
2014-02-17  6:32 Mike Frysinger (vapier)
2014-01-07 19:17 Mike Frysinger (vapier)
2013-05-09  5:28 Mike Frysinger (vapier)
2013-05-03 22:28 Mike Frysinger (vapier)
2013-04-30  1:50 Mike Frysinger (vapier)
2013-04-29 23:03 Mike Frysinger (vapier)
2013-04-29 16:30 Mike Frysinger (vapier)
2013-04-29 16:18 Mike Frysinger (vapier)
2013-04-29  6:29 Mike Frysinger (vapier)
2013-04-29  6:26 Mike Frysinger (vapier)
2013-04-22  3:55 Mike Frysinger (vapier)
2013-04-20  7:32 Mike Frysinger (vapier)
2011-12-19  4:58 Mike Frysinger (vapier)
2011-12-18 20:41 Mike Frysinger (vapier)
2011-12-12 20:47 Fabian Groffen (grobian)
2011-10-02 22:09 Mike Frysinger (vapier)
2011-03-17  2:02 Mike Frysinger (vapier)
2011-03-05 19:28 Ned Ludd (solar)
2011-03-02  9:22 Mike Frysinger (vapier)
2011-03-02  3:51 Ned Ludd (solar)
2011-02-24  1:29 Mike Frysinger (vapier)
2011-02-22  6:10 Mike Frysinger (vapier)
2011-02-21 22:02 Mike Frysinger (vapier)
2011-02-21  1:52 Mike Frysinger (vapier)
2010-06-08  4:52 Mike Frysinger (vapier)
2010-01-18  6:30 Ned Ludd (solar)
2010-01-13 19:15 Mike Frysinger (vapier)
2010-01-13  6:14 Ned Ludd (solar)
2009-05-03 17:19 Ned Ludd (solar)
2009-04-17 14:44 Ned Ludd (solar)
2009-03-21  6:37 Ned Ludd (solar)
2008-05-10 20:21 Diego Petteno (flameeyes)
2007-10-24 16:50 Ned Ludd (solar)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130429062822.1E8192171D@flycatcher.gentoo.org \
    --to=vapier@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox