libdebian-installer
Macros | Functions
Di_system_dpkg

Macros

#define DI_SYSTEM_DPKG_ADMINDIR   "/var/lib/dpkg/"
 
#define DI_SYSTEM_DPKG_INFODIR   DI_SYSTEM_DPKG_ADMINDIR "info/"
 
#define DI_SYSTEM_DPKG_STATUSFILE   DI_SYSTEM_DPKG_ADMINDIR "status"
 
#define DI_SYSTEM_DPKG_TMPCONTROLDIR   DI_SYSTEM_DPKG_ADMINDIR "tmp.ci/"
 

Functions

int di_system_dpkg_package_control_file_exec (di_package *package, const char *name, int argc, const char *const argv[])
 

Detailed Description

Function Documentation

◆ di_system_dpkg_package_control_file_exec()

int di_system_dpkg_package_control_file_exec ( di_package package,
const char *  name,
int  argc,
const char *const  argv[] 
)
76{
77 char buf[PATH_MAX];
78 const char *real_argv[argc + 2];
79 int i;
80 struct stat statbuf;
81
82 snprintf (buf, sizeof (buf), "%s%s.%s", DI_SYSTEM_DPKG_INFODIR, package->package, name);
83
84 if (stat (buf, &statbuf))
85 return -1;
86 if (!S_ISREG (statbuf.st_mode))
87 return -1;
88
89 real_argv[0] = buf;
90 for (i = 0; i < argc; i++)
91 real_argv[i+1] = argv[i];
92 real_argv[argc + 1] = NULL;
93
94 i = di_exec (buf, real_argv);
95 return di_exec_mangle_status (i);
96}
static int di_exec(const char *path, const char *const argv[])
Definition exec.h:78
int di_exec_mangle_status(int status)
Definition exec.c:272
char * package
Definition package.h:99