Radish alpha
H
HardenedBSD Package Manager
Radicle
Git (anonymous pull)
Log in to clone via SSH
Now scripts are stored in database, support for old one : pkg-install pkg-deinstall
Baptiste Daroussin committed 15 years ago
commit a0e181cd52b4c54f45a72bd48b96c401539521b5
parent d46b4624ec94e049570f4c8c76cc794fdbc24536
4 files changed +60 -13
modified libpkg/pkg.c
@@ -298,6 +298,7 @@ pkg_addscript(struct pkg *pkg, const char *path)

	filename = strrchr(path, '/');
	filename[0] = '\0';
+
	filename++;

	if (strcmp(filename, "pkg-pre-install") == 0) {
		script->type = PKG_SCRIPT_PRE_INSTALL;
modified libpkg/pkgdb.c
@@ -556,8 +556,8 @@ pkgdb_register_pkg(struct pkgdb *db, struct pkg *pkg)
			"VALUES (?1, ?2, ?3);",
			-1, &stmt_file, NULL);

-
	sqlite3_prepare(db->sqlite, "INSERT INTO scripts (script, type, when, package_id)"
-
			"values (?1, ?2, ?3, ?4);",
+
	sqlite3_prepare(db->sqlite, "INSERT INTO scripts (script, type, package_id)"
+
			"values (?1, ?2, ?3);",
			-1, &stmt_scripts, NULL);

	sqlite3_prepare(db->sqlite, "INSERT INTO exec (cmd, type, package_id)"
@@ -614,8 +614,8 @@ pkgdb_register_pkg(struct pkgdb *db, struct pkg *pkg)
			sqlite3_bind_int(stmt_scripts, 2, pkg_script_type(scripts[i]));
			sqlite3_bind_text(stmt_scripts, 3, pkg_get(pkg, PKG_ORIGIN), -1, SQLITE_STATIC);

-
			sqlite3_step(stmt_exec);
-
			sqlite3_reset(stmt_exec);
+
			sqlite3_step(stmt_scripts);
+
			sqlite3_reset(stmt_scripts);
		}
	execs = pkg_execs(pkg);
	if (execs != NULL)
modified pkg/info.c
@@ -172,7 +172,7 @@ exec_info(int argc, char **argv)
		if (opt & INFO_EXISTS) {
			retcode = 0;
		} else if (opt & INFO_PRINT_DEP) {
-
			if (opt | INFO_QUIET)
+
			if (!(opt & INFO_QUIET))
				printf("%s-%s depends on:\n", pkg_get(pkg, PKG_NAME), pkg_get(pkg, PKG_VERSION));

			deps = pkg_deps(pkg);
@@ -180,7 +180,7 @@ exec_info(int argc, char **argv)
				printf("%s-%s\n", pkg_get(deps[i], PKG_NAME), pkg_get(deps[i], PKG_VERSION));
			}

-
			if (opt | INFO_QUIET)
+
			if (!(opt & INFO_QUIET))
				printf("\n");
		} else if (opt & INFO_PRINT_RDEP) {
			printf("%s-%s is required by:\n", pkg_get(pkg, PKG_NAME), pkg_get(pkg, PKG_VERSION));
modified ports/bsd.port.mk.patch
@@ -1,6 +1,22 @@
--- /usr/ports/Mk/bsd.port.mk.prepkgng	2011-01-14 00:14:59.962893785 +0100
-
+++ /usr/ports/Mk/bsd.port.mk	2011-01-14 18:12:25.129947229 +0100
-
@@ -2493,6 +2493,12 @@
+
+++ /usr/ports/Mk/bsd.port.mk	2011-01-18 14:56:07.129210350 +0100
+
@@ -2476,8 +2476,15 @@
+
 
+
 DESCR?=			${PKGDIR}/pkg-descr
+
 PLIST?=			${PKGDIR}/pkg-plist
+
+PKGPREINSTALL?=	${PKGDIR}/pkg-pre-install
+
+PKGPOSTINSTALL?=	${PKGDIR}/pkg-post-install
+
 PKGINSTALL?=	${PKGDIR}/pkg-install
+
+PKGPREDEINSTALL?=	${PKGDIR}/pkg-pre-deinstall
+
+PKGPOSTDETINSTALL?=	${PKGDIR}/pkg-post-deinstall
+
 PKGDEINSTALL?=	${PKGDIR}/pkg-deinstall
+
+PKGPREUPGRADE?=	${PKGDIR}/pkg-pre-upgrade
+
+PKGPOSTUPGRADE?=	${PKGDIR}/pkg-post-upgrade
+
+PKGUPGRADE?=	${PKGDIR}/pkg-upgrade
+
 PKGREQ?=		${PKGDIR}/pkg-req
+
 PKGMESSAGE?=	${PKGDIR}/pkg-message
+
 
+
@@ -2493,6 +2500,42 @@
 
 .if !defined(PKG_ARGS)
 PKG_ARGS=		-v -c -${COMMENT:Q} -d ${DESCR} -f ${TMPPLIST} -p ${PREFIX} -P "`cd ${.CURDIR} && ${MAKE} actual-package-depends | ${GREP} -v -E ${PKG_IGNORE_DEPENDS} | ${SORT} -u -t : -k 2`" ${EXTRA_PKG_ARGS} $${_LATE_PKG_ARGS}
@@ -9,11 +25,41 @@
+.if exists(${PKGMESSAGE})
+PKG_ARGS+= -M ${PKGMESSAGE}
+.endif
+
+.if exists(${PKGINSTALL})
+
+PKGSCRIPTS+=	${PKGINSTALL}
+
+.endif
+
+.if exists(${PKGPREINSTALL})
+
+PKGSCRIPTS+=	${PKGPREINSTALL}
+
+.endif
+
+.if exists(${PKGPOSTINSTALL})
+
+PKGSCRIPTS+=	${PKGPOSTINSTALL}
+
+.endif
+
+.if exists(${PKGDEINSTALL})
+
+PKGSCRIPTS+=	${PKGDEINSTALL}
+
+.endif
+
+.if exists(${PKGPREDEINSTALL})
+
+PKGSCRIPTS+=	${PKGPREDEINSTALL}
+
+.endif
+
+.if exists(${PKGPOSTDEINSTALL})
+
+PKGSCRIPTS+=	${PKGPOSTDEINSTALL}
+
+.endif
+
+.if exists(${PKGUPGRADE})
+
+PKGSCRIPTS+=	${PKGUPGRADE}
+
+.endif
+
+.if exists(${PKGPREUPGRADE})
+
+PKGSCRIPTS+=	${PKGPREUPGRADE}
+
+.endif
+
+.if exists(${PKGPOSTUPGRADE})
+
+PKGSCRIPTS+=	${PKGPOSTUPGRADE}
+
+.endif
+
+.if defined(PKGSCRIPTS)
+
+PKG_ARGS+=	-s "${PKGSCRIPTS}"
+
+.endif
+.endif
 .if !defined(NO_MTREE)
 PKG_ARGS+=		-m ${MTREE_FILE}
 .endif
-
@@ -5552,6 +5558,7 @@
+
@@ -5552,6 +5595,7 @@
 		fi; \
 	done
 
@@ -21,7 +67,7 @@
 ACTUAL-PACKAGE-DEPENDS?= \
 	if [ "${_LIB_RUN_DEPENDS}" != "  " ]; then \
 		origins=$$(for pkgname in ${PKG_DBDIR}/*; do \
-
@@ -5579,8 +5586,21 @@
+
@@ -5579,8 +5623,21 @@
 				shift 2; \
 			done; \
 		done; \
@@ -34,7 +80,7 @@
+		for dir in ${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}; do \
+			pkgname=$$(${PKG_INFO} -q $${dir\#\#${PORTSDIR}/}); \
+			${ECHO_CMD} $$pkgname:$${dir\#\#${PORTSDIR}/}; \
-
+			for pkg in $$(${PKG_INFO} -d $${dir\#\#${PORTSDIR}/}); do\
+
+			for pkg in $$(${PKG_INFO} -qd $${dir\#\#${PORTSDIR}/}); do\
+				origin=$$(${PKG_INFO} -qo $${pkg%-*}); \
+				${ECHO_CMD} $$pkg:$$origin; \
+			done; \
@@ -44,7 +90,7 @@
 
 # Print out package names.
 
-
@@ -5993,6 +6013,7 @@
+
@@ -5993,6 +6050,7 @@
 	fi
 	@${RM} -rf ${PKG_DBDIR}/${PKGNAME}
 .endif
@@ -52,7 +98,7 @@
 	@if [ ! -d ${PKG_DBDIR}/${PKGNAME} ]; then \
 		${ECHO_MSG} "===>   Registering installation for ${PKGNAME}"; \
 		${MKDIR} ${PKG_DBDIR}/${PKGNAME}; \
-
@@ -6031,6 +6052,11 @@
+
@@ -6031,6 +6089,11 @@
 		${RM} -f /tmp/${PKGNAME}-required-by; \
 	fi
 .else