diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2020-02-20 16:00:01 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2020-02-20 16:00:01 -0500 |
commit | 0c53a5d6fc03427306f821e0a4296e461203cc17 (patch) | |
tree | 00908f058edfcad0712b1e3cd723306ab8203d8d /src | |
parent | 5dee87e48d35eea8ba7022a6ba05b35ac6df167a (diff) | |
download | spmc-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.c | 4 | ||||
-rw-r--r-- | src/internal_cmd.c | 3 | ||||
-rw-r--r-- | src/manifest.c | 4 | ||||
-rw-r--r-- | src/relocation.c | 5 |
4 files changed, 8 insertions, 8 deletions
@@ -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 |