Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
arch detection: .h files are not arch specific
Baptiste Daroussin committed 4 years ago
commit fa49acc51d9d8fbdacc240ce72625ccdcffc0cc7
parent acc51bc
4 files changed +9 -10
modified libpkg/pkg.h.in
@@ -697,7 +697,7 @@ int pkg_config_files(const struct pkg *pkg, struct pkg_config_file **cf);
 /* Don't conflict with PKG_LOAD_* q.v. */
#define PKG_CONTAINS_ELF_OBJECTS	(1U << 24)
#define PKG_CONTAINS_STATIC_LIBS	(1U << 25)
-
#define PKG_CONTAINS_H_OR_LA		(1U << 26)
+
#define PKG_CONTAINS_LA			(1U << 26)

int pkg_analyse_files(struct pkgdb *, struct pkg *, const char *);

modified libpkg/pkg_arch.c
@@ -53,13 +53,13 @@ suggest_arch(struct pkg *pkg, bool isdefault)
			    "installs architecture specific files", pkg->abi);
		}
	} else {
-
		if (pkg->flags & PKG_CONTAINS_H_OR_LA) {
+
		if (pkg->flags & PKG_CONTAINS_LA) {
			if (iswildcard) {
				/* Could well be arch specific */
				pkg_emit_developer_mode("Warning: arch \"%s\" "
-
				    "-- package installs C/C++ headers or "
-
				    "libtool files,\n**** which are often "
-
				    "architecture specific", pkg->abi);
+
				    "-- package installs libtool files which "
+
				    " are often architecture specific",
+
				    pkg->abi);
			}
		} else {
			/* Might be arch independent */
modified libpkg/pkg_elf.c
@@ -457,9 +457,8 @@ analyse_fpath(struct pkg *pkg, const char *fpath)
	if (dot[1] == 'a' && dot[2] == '\0')
		pkg->flags |= PKG_CONTAINS_STATIC_LIBS;

-
	if ((dot[1] == 'l' && dot[2] == 'a' && dot[3] == '\0') ||
-
	    (dot[1] == 'h' && dot[2] == '\0'))
-
		pkg->flags |= PKG_CONTAINS_H_OR_LA;
+
	if ((dot[1] == 'l' && dot[2] == 'a' && dot[3] == '\0'))
+
		pkg->flags |= PKG_CONTAINS_LA;

	return (EPKG_OK);
}
@@ -498,7 +497,7 @@ pkg_analyse_files(struct pkgdb *db __unused, struct pkg *pkg, const char *stage)
	if (ctx.developer_mode)
		pkg->flags &= ~(PKG_CONTAINS_ELF_OBJECTS |
				PKG_CONTAINS_STATIC_LIBS |
-
				PKG_CONTAINS_H_OR_LA);
+
				PKG_CONTAINS_LA);

	while (pkg_files(pkg, &file) == EPKG_OK) {
		if (stage != NULL)
modified src/info.c
@@ -441,7 +441,7 @@ exec_info(int argc, char **argv)
		if (argc == 1 && !origin_search && !quiet && !e_flag &&
		    match == MATCH_GLOB &&
		    strcspn(pkgname, "*[]{}()") == strlen(pkgname) &&
-
		    opt == INFO_TAG_NAMEVER)
+
		    opt == INFO_TAG_NAMEVER && !quiet)
			opt |= INFO_FULL;

		query_flags = info_flags(opt, false);