aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2020-02-20 16:00:01 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2020-02-20 16:00:01 -0500
commit0c53a5d6fc03427306f821e0a4296e461203cc17 (patch)
tree00908f058edfcad0712b1e3cd723306ab8203d8d /src
parent5dee87e48d35eea8ba7022a6ba05b35ac6df167a (diff)
downloadspmc-0c53a5d6fc03427306f821e0a4296e461203cc17.tar.gz
Metadata:
* Add .SPM_FILELIST * Add .SPM_DESCRIPTOR * Add generators for both to spmbuild Add new metadata to runtime and arrays
Diffstat (limited to 'src')
-rw-r--r--src/deps.c4
-rw-r--r--src/internal_cmd.c3
-rw-r--r--src/manifest.c4
-rw-r--r--src/relocation.c5
4 files changed, 8 insertions, 8 deletions
diff --git a/src/deps.c b/src/deps.c
index 6be4ff4..5ab8316 100644
--- a/src/deps.c
+++ b/src/deps.c
@@ -179,7 +179,7 @@ int dep_all(Dependencies **deps, const char *root, const char *_package) {
free(suffix);
return -1;
}
- if (tar_extract_file(package, "./"SPM_META_DEPENDS, tmpdir) < 0) {
+ if (tar_extract_file(package, SPM_META_DEPENDS, tmpdir) < 0) {
perror(package);
fprintf(SYSERROR);
free(package);
@@ -188,7 +188,7 @@ int dep_all(Dependencies **deps, const char *root, const char *_package) {
}
// Scan depencency tree
- sprintf(depfile, "%s%c%s", tmpdir, DIRSEP, ".SPM_DEPENDS");
+ sprintf(depfile, "%s%c%s", tmpdir, DIRSEP, SPM_META_DEPENDS);
int resolved = dep_solve(deps, root, depfile);
// NOTE:
diff --git a/src/internal_cmd.c b/src/internal_cmd.c
index be300d6..753f6d9 100644
--- a/src/internal_cmd.c
+++ b/src/internal_cmd.c
@@ -176,7 +176,8 @@ int mkruntime_interface(int argc, char **argv) {
runtime_set(rt, "SPM_META_DEPENDS", SPM_META_DEPENDS);
runtime_set(rt, "SPM_META_PREFIX_BIN", SPM_META_PREFIX_BIN);
runtime_set(rt, "SPM_META_PREFIX_TEXT", SPM_META_PREFIX_TEXT);
- runtime_set(rt, "SPM_META_MANIFEST", SPM_META_MANIFEST);
+ runtime_set(rt, "SPM_META_DESCRIPTOR", SPM_META_DESCRIPTOR);
+ runtime_set(rt, "SPM_META_FILELIST", SPM_META_FILELIST);
runtime_set(rt, "SPM_META_PREFIX_PLACEHOLDER", SPM_META_PREFIX_PLACEHOLDER);
runtime_set(rt, "PATH", "$SPM_BIN:$PATH");
diff --git a/src/manifest.c b/src/manifest.c
index acc1107..c782940 100644
--- a/src/manifest.c
+++ b/src/manifest.c
@@ -109,8 +109,7 @@ Manifest *manifest_from(const char *package_dir) {
// Read package requirement specs
char *archive = join((char *[]) {info->origin, SPM_GLOBAL.repo_target, info->packages[i]->archive, NULL}, DIRSEPS);
- char *in_archive = join((char *[]) {".", SPM_META_DEPENDS, NULL}, DIRSEPS);
- if (tar_extract_file(archive, in_archive, tmpdir) != 0) {
+ if (tar_extract_file(archive, SPM_META_DEPENDS, tmpdir) != 0) {
// TODO: at this point is the package is invalid? .SPM_DEPENDS should be there...
fprintf(stderr, "extraction failure: %s\n", archive);
rmdirs(tmpdir);
@@ -130,7 +129,6 @@ Manifest *manifest_from(const char *package_dir) {
unlink(depfile);
free(depfile);
free(archive);
- free(in_archive);
split_free(parts);
}
diff --git a/src/relocation.c b/src/relocation.c
index 1df9f81..1c5b1cf 100644
--- a/src/relocation.c
+++ b/src/relocation.c
@@ -7,7 +7,8 @@ const char *METADATA_FILES[] = {
SPM_META_DEPENDS,
SPM_META_PREFIX_BIN,
SPM_META_PREFIX_TEXT,
- SPM_META_MANIFEST,
+ SPM_META_DESCRIPTOR,
+ SPM_META_FILELIST,
NULL,
};
@@ -238,7 +239,7 @@ RelocationEntry **prefixes_read(const char *filename) {
* #include "spm.h"
*
* int main() {
- * if (file_is_metadata("./.SPM_DEPENDS")) {
+ * if (file_is_metadata(".SPM_DEPENDS")) {
* // file is metadata
* } else {
* // file is not metadata