+
+#mode user group hash mtime csvtags path
+
+zpm shell $pkgfile <<-EOS
+.header off
+select
+ printf('%s %s %s %s %s %s %s',
+ F.mode, F.username, F.groupname,
+ case when F.filetype = 'c' then
+ F.devmajor || ',' || F.devminor
+ when F.filetype = 'd' then
+ 'directory'
+ else
+ F.hash
+ end
+ ,strftime('%Y-%m-%dT%H:%M:%S', F.mtime, 'unixepoch')
+ , coalesce(T.tags, '-')
+ ,F.path)
+from packagefiles as F
+left join (
+ select TG.package, TG.version, TG.release, TG.path
+ ,group_concat(tag) as tags
+ from pathtags TG
+ group by package, version, release, path
+) T
+on T.package = F.package and T.version = F.version and T.release = F.release
+and T.path = F.path
+-- apparently going to have to do this in C because there's
+-- no way to order the aggregated tags
+where
+'$pkg' = F.package||'-'||F.version||'-'||F.release
+;
+EOS
+}