forked from cvengler/sysget
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathutils.cpp
More file actions
96 lines (76 loc) · 1.59 KB
/
Copy pathutils.cpp
File metadata and controls
96 lines (76 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include "utils.hpp"
bool file_exists(const char *filename) {
ifstream file(filename);
return (bool)file;
}
string read_conf(string filename) {
string line;
string packageManager;
ifstream file(filename);
if(file.is_open()) {
while(getline(file, line)) {
if(line == "apt" || line == "apt-get") {
packageManager = "apt-get";
}
else if(line == "xbps") {
packageManager = "xbps";
}
else if(line == "dnf") {
packageManager = "dnf";
}
else if(line == "yum") {
packageManager = "yum";
}
else if(line == "zypper") {
packageManager = "zypper";
}
else if(line == "eopkg") {
packageManager = "eopkg";
}
else if(line == "pacman") {
packageManager = "pacman";
}
else if(line == "emerge") {
packageManager = "emerge";
}
else if(line == "pkg") {
packageManager = "pkg";
}
else if(line == "chromebrew") {
packageManager = "chromebrew";
}
else if(line == "homebrew") {
packageManager = "homebrew";
}
else if(line == "nix") {
packageManager = "nix";
}
else if(line == "snap") {
packageManager = "snap";
}
else if(line == "npm") {
packageManager = "npm";
}
else {
packageManager = "ERROR";
}
}
}
else {
cout << "Unable to open config file" << endl;
exit(1);
}
return packageManager;
}
int create_conf(string filename, string packagemanager) {
system("mkdir -p /usr/local/share/sysget");
ofstream file(filename);
if(file.is_open()) {
file << packagemanager;
}
else {
cout << "Unable to create config, are you root ?" << endl;
exit(1);
}
return 0;
}