1
0
Fork 0
mirror of https://github.com/pygos/pkg-utils.git synced 2024-11-22 21:09:47 +01:00
pkg-utils/main/cmd/install/install.h
David Oberhollenzer c23a2c8c33 Add listing modes to install command
Allow the install command to either list the packages it wants to install,
or to list the files it would install.

Optionally allow the command to ignore dependencies.

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-03 15:02:37 +01:00

52 lines
1 KiB
C

#ifndef INSTALL_H
#define INSTALL_H
#include <stdbool.h>
#include <getopt.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#include <fcntl.h>
#include "image_entry.h"
#include "pkgreader.h"
#include "command.h"
#include "pkgio.h"
#include "util.h"
enum {
INSTALL_MODE_INSTALL = 0,
INSTALL_MODE_LIST_PKG,
INSTALL_MODE_LIST_FILES,
};
struct pkg_dep_node {
char *name;
/* num dependencies == number of outgoing edges */
size_t num_deps;
/* direct dependencies == array of outgoing edges */
struct pkg_dep_node **deps;
/* linked list pointer */
struct pkg_dep_node *next;
};
struct pkg_dep_list {
struct pkg_dep_node *head;
struct pkg_dep_node *tail;
};
struct pkg_dep_node *append_pkg(struct pkg_dep_list *list, const char *name);
struct pkg_dep_node *find_pkg(struct pkg_dep_list *list, const char *name);
void pkg_list_cleanup(struct pkg_dep_list *list);
int collect_dependencies(int repofd, struct pkg_dep_list *list);
int sort_by_dependencies(struct pkg_dep_list *list);
#endif /* INSTALL_H */