From 236ad71b105365bedf9d28a5606616fb9aed3168 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 16 Sep 2015 07:16:06 +0200 Subject: Implement pkg-unpack command --- bpkg/package | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'bpkg/package') diff --git a/bpkg/package b/bpkg/package index 8c1e047..0c46300 100644 --- a/bpkg/package +++ b/bpkg/package @@ -37,16 +37,24 @@ namespace bpkg { // path // + using optional_string = optional; + using optional_path = optional; + using optional_dir_path = optional; + #pragma db map type(path) as(string) \ to((?).string ()) from(bpkg::path (?)) - using optional_path = optional; - using optional_string = optional; - #pragma db map type(optional_path) as(bpkg::optional_string) \ to((?) ? (?)->string () : bpkg::optional_string ()) \ from((?) ? bpkg::path (*(?)) : bpkg::optional_path ()) + #pragma db map type(dir_path) as(string) \ + to((?).string ()) from(bpkg::dir_path (?)) + + #pragma db map type(optional_dir_path) as(bpkg::optional_string) \ + to((?) ? (?)->string () : bpkg::optional_string ()) \ + from((?) ? bpkg::dir_path (*(?)) : bpkg::optional_dir_path ()) + // version // #pragma db map type(version) as(_version) \ @@ -101,6 +109,14 @@ namespace bpkg optional archive; bool archive_purge; + // Path to the source directory of this package, if any. If not + // absolute, then it is relative to the configuration directory. + // The purge flag indicates whether the directory should be + // removed when the packaged is purged. + // + optional source; + bool source_purge; + // Database mapping. // #pragma db member(name) id -- cgit v1.1