}
int
-pkg_init_from_file(pkg_t *pkg, const char *filename)
+pkg_init_from_file(opkg_conf_t *conf, pkg_t *pkg, const char *filename)
{
int fd, err = 0;
FILE *control_file;
pkg->local_filename = xstrdup(filename);
- sprintf_alloc(&control_path, "%s.control.XXXXXX", filename);
+ sprintf_alloc(&control_path, "%s/%s.control.XXXXXX",
+ conf->tmp_dir,
+ basename(filename));
fd = mkstemp(control_path);
if (fd == -1) {
perror_msg("%s: mkstemp(%s)", __FUNCTION__, control_path);
return;
}
-const char*
-constraint_to_str(enum version_constraint c)
-{
- switch (c) {
- case NONE:
- return "";
- case EARLIER:
- return "< ";
- case EARLIER_EQUAL:
- return "<= ";
- case EQUAL:
- return "= ";
- case LATER_EQUAL:
- return ">= ";
- case LATER:
- return "> ";
- }
-
- return "";
-}
-
void pkg_formatted_field(FILE *fp, pkg_t *pkg, const char *field)
{
int i;
if (pkg->depends_count) {
fprintf(fp, "Depends:");
for(i = 0; i < pkg->depends_count; i++) {
- fprintf(fp, "%s %s", i == 0 ? "" : ",", pkg->depends_str[i]);
+ char *str = pkg_depend_str(pkg, i);
+ fprintf(fp, "%s %s", i == 0 ? "" : ",", str);
+ free(str);
}
fprintf(fp, "\n");
}