extract: fix regression when dealing with symlinks in the path
modified libpkg/pkg_add.c
@@ -1,30 +1,11 @@
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
|
|
|
|
|
@@ -52,6 +33,7 @@
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -421,19 +403,19 @@ reopen_tempdir(int rootfd, struct tempdir *t)
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -451,16 +433,16 @@ close_tempdir(struct tempdir *t)
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
@@ -500,14 +482,14 @@ create_dir(struct pkg *pkg, struct pkg_dir *d, tempdirs_t *tempdirs, c_charv_t *
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -520,7 +502,7 @@ do_extract_dir(struct pkg* pkg, struct archive *a __unused, struct archive_entry
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -546,19 +528,18 @@ try_mkdir(int fd, const char *path)
|
|
|
|
|
|
| - | |
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -592,15 +573,14 @@ retry:
|
|
|
|
|
|
| - | |
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -614,7 +594,7 @@ do_extract_symlink(struct pkg *pkg, struct archive *a __unused, struct archive_e
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -625,8 +605,7 @@ do_extract_symlink(struct pkg *pkg, struct archive *a __unused, struct archive_e
|
|
|
|
|
|
| - | |
| - | |
| + | |
|
|
|
|
|
@@ -635,15 +614,15 @@ create_hardlink(struct pkg *pkg, struct pkg_file *f, const char *path, tempdirs_
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
@@ -655,14 +634,14 @@ create_hardlink(struct pkg *pkg, struct pkg_file *f, const char *path, tempdirs_
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -670,7 +649,7 @@ create_hardlink(struct pkg *pkg, struct pkg_file *f, const char *path, tempdirs_
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -700,15 +679,14 @@ retry:
|
|
|
|
|
|
| - | |
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -716,7 +694,7 @@ do_extract_hardlink(struct pkg *pkg, struct archive *a __unused, struct archive_
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -747,9 +725,8 @@ retry:
|
|
|
|
|
|
| - | |
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -757,14 +734,14 @@ create_regfile(struct pkg *pkg, struct pkg_file *f, struct archive *a,
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -781,7 +758,7 @@ create_regfile(struct pkg *pkg, struct pkg_file *f, struct archive *a,
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -793,7 +770,7 @@ create_regfile(struct pkg *pkg, struct pkg_file *f, struct archive *a,
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -821,7 +798,7 @@ create_regfile(struct pkg *pkg, struct pkg_file *f, struct archive *a,
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -841,14 +818,14 @@ create_regfile(struct pkg *pkg, struct pkg_file *f, struct archive *a,
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -862,7 +839,7 @@ do_extract_regfile(struct pkg *pkg, struct archive *a, struct archive_entry *ae,
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -874,15 +851,15 @@ do_extract_regfile(struct pkg *pkg, struct archive *a, struct archive_entry *ae,
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
@@ -891,7 +868,7 @@ do_extract(struct archive *a, struct archive_entry *ae,
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -945,7 +922,7 @@ do_extract(struct archive *a, struct archive_entry *ae,
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -963,7 +940,7 @@ do_extract(struct archive *a, struct archive_entry *ae,
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1357,12 +1334,15 @@ pkg_add_common(struct pkgdb *db, const char *path, unsigned flags,
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -1370,6 +1350,7 @@ pkg_add_common(struct pkgdb *db, const char *path, unsigned flags,
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -1421,6 +1402,7 @@ pkg_add_common(struct pkgdb *db, const char *path, unsigned flags,
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -1465,8 +1447,8 @@ pkg_add_common(struct pkgdb *db, const char *path, unsigned flags,
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -1564,7 +1546,7 @@ pkg_add_common(struct pkgdb *db, const char *path, unsigned flags,
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1647,7 +1629,7 @@ pkg_add_group(struct pkg *pkg)
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1663,10 +1645,13 @@ pkg_add_fromdir(struct pkg *pkg, const char *src)
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1676,6 +1661,8 @@ pkg_add_fromdir(struct pkg *pkg, const char *src)
|
|
|
|
|
|
| + | |
| + | |
|
|
|
|
|
@@ -1723,7 +1710,7 @@ pkg_add_fromdir(struct pkg *pkg, const char *src)
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1795,7 +1782,7 @@ pkg_add_fromdir(struct pkg *pkg, const char *src)
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1817,13 +1804,13 @@ pkg_add_fromdir(struct pkg *pkg, const char *src)
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1845,9 +1832,83 @@ pkg_add_fromdir(struct pkg *pkg, const char *src)
|
|
|
|
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
modified libpkg/pkg_ports.c
@@ -1335,7 +1335,7 @@ pkg_add_port(struct pkgdb *db, struct pkg *pkg, const char *input_path,
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
modified libpkg/private/pkg.h
@@ -840,7 +840,7 @@ enum pkg_metalog_type {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
modified libpkg/private/utils.h
@@ -116,7 +116,6 @@ char *rtrimspace(char *buf);
|
|
|
|
|
|
| - | |
|
|
|
|
|
modified libpkg/utils.c
@@ -983,61 +983,6 @@ json_escape(const char *str)
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
|
|
|
|
|
modified tests/lib/utils.c
@@ -28,6 +28,7 @@
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -73,13 +74,14 @@ ATF_TC_BODY(json_escape, tc) {
|
|
|
|
|
|
| + | |
|
|
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -87,7 +89,7 @@ ATF_TC_BODY(open_tempdir, tc) {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -95,10 +97,10 @@ ATF_TC_BODY(open_tempdir, tc) {
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|