diff --git a/pkin/.cache/clangd/index/command.h.727709215E1D2925.idx b/pkin/.cache/clangd/index/command.h.727709215E1D2925.idx deleted file mode 100644 index c436398..0000000 Binary files a/pkin/.cache/clangd/index/command.h.727709215E1D2925.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/command.h.E33C7F315E9CF039.idx b/pkin/.cache/clangd/index/command.h.E33C7F315E9CF039.idx deleted file mode 100644 index 9ee4e04..0000000 Binary files a/pkin/.cache/clangd/index/command.h.E33C7F315E9CF039.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin-fetch.c.B7C410291EA526B1.idx b/pkin/.cache/clangd/index/pkin-fetch.c.B7C410291EA526B1.idx deleted file mode 100644 index 92284f2..0000000 Binary files a/pkin/.cache/clangd/index/pkin-fetch.c.B7C410291EA526B1.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin-search.c.8730E14F4B8BB0EA.idx b/pkin/.cache/clangd/index/pkin-search.c.8730E14F4B8BB0EA.idx deleted file mode 100644 index ddba38d..0000000 Binary files a/pkin/.cache/clangd/index/pkin-search.c.8730E14F4B8BB0EA.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin-search.c.D3DBB6646E975011.idx b/pkin/.cache/clangd/index/pkin-search.c.D3DBB6646E975011.idx deleted file mode 100644 index a561e61..0000000 Binary files a/pkin/.cache/clangd/index/pkin-search.c.D3DBB6646E975011.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin.c.C675078E4F1A4042.idx b/pkin/.cache/clangd/index/pkin.c.C675078E4F1A4042.idx deleted file mode 100644 index 72995a2..0000000 Binary files a/pkin/.cache/clangd/index/pkin.c.C675078E4F1A4042.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin.c.D857533628058145.idx b/pkin/.cache/clangd/index/pkin.c.D857533628058145.idx deleted file mode 100644 index a70469a..0000000 Binary files a/pkin/.cache/clangd/index/pkin.c.D857533628058145.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin.h.5D4259BBCB8EB07C.idx b/pkin/.cache/clangd/index/pkin.h.5D4259BBCB8EB07C.idx deleted file mode 100644 index bbe8320..0000000 Binary files a/pkin/.cache/clangd/index/pkin.h.5D4259BBCB8EB07C.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin__spawn.c.044553C952326624.idx b/pkin/.cache/clangd/index/pkin__spawn.c.044553C952326624.idx deleted file mode 100644 index c24ae20..0000000 Binary files a/pkin/.cache/clangd/index/pkin__spawn.c.044553C952326624.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_internal.h.C7C817E1AC1D4889.idx b/pkin/.cache/clangd/index/pkin_internal.h.C7C817E1AC1D4889.idx deleted file mode 100644 index aea4561..0000000 Binary files a/pkin/.cache/clangd/index/pkin_internal.h.C7C817E1AC1D4889.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_pkg_fetch_add.c.567D59DC572DF25C.idx b/pkin/.cache/clangd/index/pkin_pkg_fetch_add.c.567D59DC572DF25C.idx deleted file mode 100644 index d5b4f6e..0000000 Binary files a/pkin/.cache/clangd/index/pkin_pkg_fetch_add.c.567D59DC572DF25C.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_pkg_fetch_prepare.c.3C43AEA4633DFE94.idx b/pkin/.cache/clangd/index/pkin_pkg_fetch_prepare.c.3C43AEA4633DFE94.idx deleted file mode 100644 index 4f3878c..0000000 Binary files a/pkin/.cache/clangd/index/pkin_pkg_fetch_prepare.c.3C43AEA4633DFE94.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_pkg_fetch_start.c.00A52DA4899B5257.idx b/pkin/.cache/clangd/index/pkin_pkg_fetch_start.c.00A52DA4899B5257.idx deleted file mode 100644 index 10010b9..0000000 Binary files a/pkin/.cache/clangd/index/pkin_pkg_fetch_start.c.00A52DA4899B5257.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_repo.h.084305234E7EB486.idx b/pkin/.cache/clangd/index/pkin_repo.h.084305234E7EB486.idx deleted file mode 100644 index fc342b1..0000000 Binary files a/pkin/.cache/clangd/index/pkin_repo.h.084305234E7EB486.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_repo_findpkg.c.ABF447006ED33B46.idx b/pkin/.cache/clangd/index/pkin_repo_findpkg.c.ABF447006ED33B46.idx deleted file mode 100644 index 5a2a086..0000000 Binary files a/pkin/.cache/clangd/index/pkin_repo_findpkg.c.ABF447006ED33B46.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_repo_iter_init.c.7D258EE86721E7C5.idx b/pkin/.cache/clangd/index/pkin_repo_iter_init.c.7D258EE86721E7C5.idx deleted file mode 100644 index 3cac3a2..0000000 Binary files a/pkin/.cache/clangd/index/pkin_repo_iter_init.c.7D258EE86721E7C5.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_repo_iter_init.c.9C0D1EC759DF3F44.idx b/pkin/.cache/clangd/index/pkin_repo_iter_init.c.9C0D1EC759DF3F44.idx deleted file mode 100644 index d26bb3c..0000000 Binary files a/pkin/.cache/clangd/index/pkin_repo_iter_init.c.9C0D1EC759DF3F44.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_repo_iter_init.c.B9E838E2E779EB3F.idx b/pkin/.cache/clangd/index/pkin_repo_iter_init.c.B9E838E2E779EB3F.idx deleted file mode 100644 index 9e82ccf..0000000 Binary files a/pkin/.cache/clangd/index/pkin_repo_iter_init.c.B9E838E2E779EB3F.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_repo_iter_next.c.1FA39567996AB993.idx b/pkin/.cache/clangd/index/pkin_repo_iter_next.c.1FA39567996AB993.idx deleted file mode 100644 index 642a44c..0000000 Binary files a/pkin/.cache/clangd/index/pkin_repo_iter_next.c.1FA39567996AB993.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_repo_iter_read.c.3F15063555755D99.idx b/pkin/.cache/clangd/index/pkin_repo_iter_read.c.3F15063555755D99.idx deleted file mode 100644 index 1263dae..0000000 Binary files a/pkin/.cache/clangd/index/pkin_repo_iter_read.c.3F15063555755D99.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_repo_iter_read.c.491CCB70672EBC34.idx b/pkin/.cache/clangd/index/pkin_repo_iter_read.c.491CCB70672EBC34.idx deleted file mode 100644 index beedf57..0000000 Binary files a/pkin/.cache/clangd/index/pkin_repo_iter_read.c.491CCB70672EBC34.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_repo_iter_read.c.9FDBB2252A5F37B7.idx b/pkin/.cache/clangd/index/pkin_repo_iter_read.c.9FDBB2252A5F37B7.idx deleted file mode 100644 index 35fc604..0000000 Binary files a/pkin/.cache/clangd/index/pkin_repo_iter_read.c.9FDBB2252A5F37B7.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_repo_query_end.c.B4AE0E46BC59281A.idx b/pkin/.cache/clangd/index/pkin_repo_query_end.c.B4AE0E46BC59281A.idx deleted file mode 100644 index ac5b8bc..0000000 Binary files a/pkin/.cache/clangd/index/pkin_repo_query_end.c.B4AE0E46BC59281A.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_repo_query_next.c.9AE71B0E26964D21.idx b/pkin/.cache/clangd/index/pkin_repo_query_next.c.9AE71B0E26964D21.idx deleted file mode 100644 index 513a4cb..0000000 Binary files a/pkin/.cache/clangd/index/pkin_repo_query_next.c.9AE71B0E26964D21.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_repo_query_start.c.FD7A5877F7EA8868.idx b/pkin/.cache/clangd/index/pkin_repo_query_start.c.FD7A5877F7EA8868.idx deleted file mode 100644 index 28f360f..0000000 Binary files a/pkin/.cache/clangd/index/pkin_repo_query_start.c.FD7A5877F7EA8868.idx and /dev/null differ diff --git a/pkin/.cache/clangd/index/pkin_repo_simple.c.EAE9A2D3F20C471B.idx b/pkin/.cache/clangd/index/pkin_repo_simple.c.EAE9A2D3F20C471B.idx deleted file mode 100644 index 5dfcbe3..0000000 Binary files a/pkin/.cache/clangd/index/pkin_repo_simple.c.EAE9A2D3F20C471B.idx and /dev/null differ diff --git a/pkin/README b/pkin/README index 15f559f..7298779 100644 --- a/pkin/README +++ b/pkin/README @@ -13,5 +13,6 @@ goal: - lazy metadata - -deps: aria2 -makedeps: meson(or muon), ninja(or samu), a c compiler +makedeps: meson, ninja, libowfat +deps: aria2, libowfat + `-> or statically link diff --git a/pkin/pkin/pkin_pkg_fetch.c b/pkin/pkin/pkin_pkg_fetch.c deleted file mode 100644 index f5c3071..0000000 --- a/pkin/pkin/pkin_pkg_fetch.c +++ /dev/null @@ -1,2 +0,0 @@ - -int pkin_pkg_fetch(char *url, char *dir, stralloc *result); diff --git a/pkin/pkin/pkin_pkg_fetch_add.c b/pkin/pkin/pkin_pkg_fetch_add.c index b92f3a3..640c62f 100644 --- a/pkin/pkin/pkin_pkg_fetch_add.c +++ b/pkin/pkin/pkin_pkg_fetch_add.c @@ -3,6 +3,8 @@ void pkin_fetch_add(pkin_fetch_queue *queue, char *url, char *output) { buffer_puts(&queue->writeb, url); - buffer_puts(&queue->writeb, "\n -o "); + buffer_puts(&queue->writeb, "\n out="); buffer_puts(&queue->writeb, output); + buffer_puts(&queue->writeb, "\n user-agent=pkin "); + buffer_puts(&queue->writeb, "\n"); } diff --git a/pkin/pkin/pkin_pkg_fetch_start.c b/pkin/pkin/pkin_pkg_fetch_start.c index 8272b3d..6e963d0 100644 --- a/pkin/pkin/pkin_pkg_fetch_start.c +++ b/pkin/pkin/pkin_pkg_fetch_start.c @@ -1,5 +1,6 @@ #include #include +#include #include "../pkin.h" #include "../pkin_internal.h" @@ -11,6 +12,7 @@ int pkin_fetch_start(pkin_fetch_queue *queue) carpsys("write to pipe"); return 0; } + close(queue->pipefd[1]); fetchcmd = (char *[]){"aria2c", "-i", "-", NULL}; pid = pkin__spawn(fetchcmd, queue->pipefd[0], 1, 2); diff --git a/pkin/pkin_internal/pkin__spawn.c b/pkin/pkin_internal/pkin__spawn.c index 1c44256..856c6e6 100644 --- a/pkin/pkin_internal/pkin__spawn.c +++ b/pkin/pkin_internal/pkin__spawn.c @@ -25,17 +25,18 @@ pid_t pkin__spawn(char *args[], int infd, int outfd, int errfd) switch (pid) { case -1: carpsys("fork: "); return -1; case 0: - // TODO pipe - if (dup2(0, infd)<0 - || dup2(1, outfd)<0 - || dup2(2, errfd)<0 + if (dup2(infd, 0)<0 + || dup2(outfd, 1)<0 + || dup2(errfd, 2)<0 ) { - carpsys("dup2"); - return -1; + diesys(111, "dup2"); } + if (infd != 0) close(infd); + if (outfd != 1) close(outfd); + if (errfd != 2) close(errfd); execvp(args[0], args); carpsysargs(args); - return -1; + _exit(111); default: return pid; }