Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
repo: only accept .pkg by default
Baptiste Daroussin committed 4 years ago
commit 098719db634b85bbbfea7b2ea35275624929f810
parent c4b3bd9
3 files changed +14 -1
modified libpkg/pkg_config.c
@@ -1,5 +1,5 @@
/*
-
 * Copyright (c) 2011-2020 Baptiste Daroussin <bapt@FreeBSD.org>
+
 * Copyright (c) 2011-2021 Baptiste Daroussin <bapt@FreeBSD.org>
 * Copyright (c) 2011-2012 Julien Laffaye <jlaffaye@FreeBSD.org>
 * Copyright (c) 2014 Matthew Seaman <matthew@FreeBSD.org>
 * Copyright (c) 2016 Vsevolod Stakhov <vsevolod@FreeBSD.org>
@@ -485,6 +485,12 @@ static struct config_entry c[] = {
		"FALSE",
		"Create a symlink to legacy extension for backward compatibility",
	},
+
	{
+
		PKG_BOOL,
+
		"REPO_ACCEPT_LEGACY_PKG",
+
		"FALSE",
+
		"Accept legacy package extensions when creating the repository",
+
	},
};

static bool parsed = false;
@@ -1314,6 +1320,7 @@ pkg_ini(const char *path, const char *reposdir, pkg_init_flags flags)
	ctx.triggers_path = pkg_object_string(pkg_config_get("PKG_TRIGGERS_DIR"));
	ctx.compression_level = pkg_object_int(pkg_config_get("COMPRESSION_LEVEL"));
	ctx.archive_symlink = pkg_object_bool(pkg_config_get("ARCHIVE_SYMLINK"));
+
	ctx.repo_accept_legacy_pkg = pkg_object_bool(pkg_config_get("REPO_ACCEPT_LEGACY_PKG"));

	it = NULL;
	object = ucl_object_find_key(config, "PKG_ENV");
modified libpkg/pkg_repo_create.c
@@ -287,6 +287,11 @@ pkg_create_repo_read_fts(struct pkg_fts_item **items, FTS *fts,
		if (!packing_is_valid_format(ext + 1))
			continue;

+
		/* skip all files which are not .pkg */
+
		if (!ctx.repo_accept_legacy_pkg && strcmp(ext + 1, "pkg") != 0)
+
			continue;
+

+

		*ext = '\0';

		if (pkg_repo_meta_is_old_file(fts_ent->fts_name, meta)) {
modified libpkg/private/pkg.h
@@ -267,6 +267,7 @@ struct pkg_ctx {
	const char *triggers_path;
	kh_strings_t *touched_dir_hash;
	bool defer_triggers;
+
	bool repo_accept_legacy_pkg;
};

extern struct pkg_ctx ctx;