32 #include "xbps_api_impl.h"
53 if (strcmp(xhp->
rootdir,
"/") == 0) {
54 tmpdir = getenv(
"TMPDIR");
60 fpath = strdup(
".xbps-script-XXXXXX");
64 if (chdir(xhp->
rootdir) == -1) {
70 if ((fd = mkstemp(fpath)) == -1) {
71 xbps_dbg_printf(xhp,
"%s: mkstemp %s\n",
72 __func__, strerror(errno));
77 ret = write(fd, blob, blobsiz);
79 xbps_dbg_printf(xhp,
"%s: write %s\n",
80 __func__, strerror(errno));
90 rv = xbps_file_exec(xhp, fpath, action, pkgname, version,
91 update ?
"yes" :
"no",
108 const char *pkgname, *version;
115 data = prop_dictionary_get(d, script);
119 prop_dictionary_get_cstring_nocopy(d,
"pkgname", &pkgname);
120 prop_dictionary_get_cstring_nocopy(d,
"version", &version);
123 prop_data_size(data), pkgname, version,