summaryrefslogtreecommitdiff
path: root/app-arch/tarsync
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-12-22 01:55:45 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-12-22 01:55:45 +0000
commitb2c59335bfbeb25c5644f32172e1e9b23c447710 (patch)
tree0e8e19f47e39be0a7b9b06cb86db760c6d6b5965 /app-arch/tarsync
parent427ba64bd6bcdd59a1ae9bc7c5cec0299d135413 (diff)
gentoo auto-resync : 22:12:2022 - 01:55:45
Diffstat (limited to 'app-arch/tarsync')
-rw-r--r--app-arch/tarsync/Manifest3
-rw-r--r--app-arch/tarsync/files/tarsync-0.2.1-gcc5.patch59
-rw-r--r--app-arch/tarsync/files/tarsync-0.2.1-make.patch13
-rw-r--r--app-arch/tarsync/files/tarsync-0.2.1-symlink.patch139
4 files changed, 0 insertions, 214 deletions
diff --git a/app-arch/tarsync/Manifest b/app-arch/tarsync/Manifest
index dd9a42d59f40..7bcd13f4d2fb 100644
--- a/app-arch/tarsync/Manifest
+++ b/app-arch/tarsync/Manifest
@@ -1,6 +1,3 @@
-AUX tarsync-0.2.1-gcc5.patch 2069 BLAKE2B eaa4c529c95caa2d70eda5c9a6901cc92ca3e885a0fd2ef3c4df1a6e53d6b1febe8aba4a043844dd31334aea0d58df964152c1245cccdc112658d2bdc229cf1e SHA512 f62fa7f65e506d34d6f9a90579cda2e0568da55cd11c0926dc8f39b5f3d0f4952e6984bd4b6913f3bff938271d37e689e2b8168f393382a04ae269aafbebcd8c
-AUX tarsync-0.2.1-make.patch 295 BLAKE2B e8356136db5fa470d65691703c57a3fe86fc04857407cb99effe7a0aecfd0822dfbfcf37d6a6413c59d1aaef83df14b02e2d9342618cf849b90baddedaddab09 SHA512 ce1449e91dabb54f82535669010662237878c1e843c4f4505333cfdc4accd3c3923887f564c63ad3e5a91474878d05176103a83f65d9d82fde42ed3edf965bad
-AUX tarsync-0.2.1-symlink.patch 4136 BLAKE2B f62da5293228efe173631e14c4edccb61d3ad4ad922e293ee0af77ccc60258509ee22720045d8fd2cfbb58e781ab215c834bc6904ca8864d5a8134271c57a754 SHA512 b52f24b4d3c17178a25e2d1b9299bed06e398512d0d05f866828c207bbd578b344ff071acdd09e159812cc962ac7a1931462dc67c9347e4e286164115ccf29f4
DIST tarsync-0.2.3.tar.gz 21148 BLAKE2B 53eff0b6b8b3a6fe9c9e56a08659c02ec01b9e521dd06abd3fe9c04da6ec463eb79758ffe5bce17dc0396c3c5d6daf258d8dc5c2479047f9a1e14f892e05948b SHA512 dcb4c4e329b2a25ce0e9986defb0dfb76417352683c9ff5c71ed32861be3847d47af7db4e28b214e194cb1751b8934bb11644450a3dccd0bf24fcf009167a03b
EBUILD tarsync-0.2.3.ebuild 459 BLAKE2B 7d224af7aad0c7757444f109374e2df4f59cfa536fb6c5155abc528fad02b5cd4460a4b7271c1dbe700974d84b1abcead9af26cad75b58129b30f6d8afccad46 SHA512 f4156b3e30a476746f78bc68017aa0928cee54bf3fe568ff13d44390eebf29732fe2ea14aa532e0d283535abc3df1a2e6eb38829728ed58fa6df40a25fe62f75
MISC metadata.xml 325 BLAKE2B 84d779f955a5e9df931a64e90d4928f1220a56ebdd2724d0b3c9d497027422b79981889b60eafeb1c1c477bb1dd307b3e7d05d8e3421e759ae608455e50fb8d1 SHA512 52f5e30499361af47838aa905320eb4f1c115d168c317961346589f846485f46b4dfebf2f64f97b25fcce156c795b3172012d6888a6f491059bc385fb3f14ba5
diff --git a/app-arch/tarsync/files/tarsync-0.2.1-gcc5.patch b/app-arch/tarsync/files/tarsync-0.2.1-gcc5.patch
deleted file mode 100644
index f11c86bb248a..000000000000
--- a/app-arch/tarsync/files/tarsync-0.2.1-gcc5.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-diff --git a/excludes.c b/excludes.c
-index b7c928d..fa43cef 100644
---- a/excludes.c
-+++ b/excludes.c
-@@ -106,7 +106,7 @@ build_exclude(fnm_exclude **ex_ptr, const char *pattern)
- }
-
-
--inline int
-+int
- match_excludes(const char *dir, const char *file, fnm_exclude **excludes)
- {
- char *p;
-diff --git a/main.c b/main.c
-index 84feed4..2c2da3e 100644
---- a/main.c
-+++ b/main.c
-@@ -42,8 +42,8 @@ int remove_node(const char *path, struct stat *st);
- int ensure_files_layout(const tar_entry **ttar, const unsigned int ttar_count, tar_entry ***missing,
- unsigned int *missing_count, tar_entry ***existing, unsigned int *existing_count,
- fnm_exclude **excludes);
--inline int check_existing_node(const struct dirent *de, const tar_entry *t, struct stat *st);
--inline int enforce_owner(const char *path, const tar_entry *t, struct stat *st);
-+int check_existing_node(const struct dirent *de, const tar_entry *t, struct stat *st);
-+int enforce_owner(const char *path, const tar_entry *t, struct stat *st);
- int copy_whole_file(cfile *tar_cfh, const tar_entry *ttent);
-
- static int check_mtime = 1;
-@@ -669,7 +669,7 @@ recursively_delete_dir(const char *path)
- return ret;
- }
-
--inline int
-+int
- check_existing_node(const struct dirent *de, const tar_entry *t, struct stat *st)
- {
- int type;
-@@ -685,7 +685,7 @@ check_existing_node(const struct dirent *de, const tar_entry *t, struct stat *st
- return 0;
- }
-
--inline int
-+int
- enforce_owner(const char *path, const tar_entry *t, struct stat *st)
- {
- struct stat st2;
-diff --git a/tar.c b/tar.c
-index 792ccd4..42dc8e7 100644
---- a/tar.c
-+++ b/tar.c
-@@ -40,7 +40,7 @@ int check_str_chksum(const char *block)
-
- /* possibly this could be done different, what of endptr of strtol?
- Frankly I worry about strtol trying to go too far and causing a segfault, due to tar fields not always having trailing \0 */
--inline unsigned long octal_str2long(const char *string, unsigned int length)
-+unsigned long octal_str2long(const char *string, unsigned int length)
- {
- if(string[length]) {
- char *ptr = strndup(string, length);
diff --git a/app-arch/tarsync/files/tarsync-0.2.1-make.patch b/app-arch/tarsync/files/tarsync-0.2.1-make.patch
deleted file mode 100644
index 4f3d062f3619..000000000000
--- a/app-arch/tarsync/files/tarsync-0.2.1-make.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Respect CC, CPPFLAGS and LDFLAGS.
-
---- a/Makefile
-+++ b/Makefile
-@@ -2,7 +2,7 @@
- CC=gcc
- endif
- tarsync: main.o names.o tar.o string-misc.o fs.o options.o excludes.o
-- gcc $(CFLAGS) $^ -o tarsync -lcfile
-+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $^ -o tarsync -lcfile
- all: tarsync
-
- clean:
diff --git a/app-arch/tarsync/files/tarsync-0.2.1-symlink.patch b/app-arch/tarsync/files/tarsync-0.2.1-symlink.patch
deleted file mode 100644
index cb0efd01b1ba..000000000000
--- a/app-arch/tarsync/files/tarsync-0.2.1-symlink.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From 6654d41a14da2fc521e889f01669f0dbb89aef15 Mon Sep 17 00:00:00 2001
-From: Zac Medico <zmedico@gentoo.org>
-Date: Tue, 5 Oct 2021 23:21:53 -0700
-Subject: [PATCH] Symlink support
-
-Bug: https://bugs.gentoo.org/815823
-Signed-off-by: Zac Medico <zmedico@gentoo.org>
----
- main.c | 37 +++++++++++++++++++++++++++++++++++--
- tar.c | 16 ++++++++++++++--
- tar.h | 2 ++
- 3 files changed, 51 insertions(+), 4 deletions(-)
-
-diff --git a/main.c b/main.c
-index 2c2da3e..448a9d0 100644
---- a/main.c
-+++ b/main.c
-@@ -257,7 +257,14 @@ main(int argc, char **argv)
- // no need to seek. cfile handles resetting streams as needed
-
- for(x=0; x < missing_count; x++) {
-- if(copy_whole_file(&tar_cfh, missing[x]) != 0) {
-+ if (missing[x]->type == SYMTYPE) {
-+ if(copy_symlink(&tar_cfh, missing[x]) != 0) {
-+ v0printf("failed transfering symlink %s\n", missing[x]->fullname);
-+ exit(9);
-+ }
-+ continue;
-+ }
-+ else if(copy_whole_file(&tar_cfh, missing[x]) != 0) {
- v0printf("failed transfering file %s\n", missing[x]->fullname);
- exit(9);
- }
-@@ -673,6 +680,8 @@ int
- check_existing_node(const struct dirent *de, const tar_entry *t, struct stat *st)
- {
- int type;
-+ unsigned char linkname[TAR_LINKNAME_LEN];
-+ ssize_t linkname_len;
- type = convert_lstat_type_tar_type(de->d_name, st);
- if(type < 0)
- return -1;
-@@ -682,6 +691,15 @@ check_existing_node(const struct dirent *de, const tar_entry *t, struct stat *st
- return 2;
- if(REGTYPE == type && (st->st_size != t->size || (check_mtime && t->mtime != st->st_mtime)))
- return 3;
-+ if (SYMTYPE == type) {
-+ if ((linkname_len = readlink(de->d_name, linkname, TAR_LINKNAME_LEN)) == -1) {
-+ return -1;
-+ }
-+ if(strncmp((const char *)linkname, (const char *)t->linkname, linkname_len) != 0) {
-+ remove_node(de->d_name, st);
-+ return 3;
-+ }
-+ }
- return 0;
- }
-
-@@ -703,7 +721,22 @@ enforce_owner(const char *path, const tar_entry *t, struct stat *st)
- }
- return 0;
- }
--
-+
-+int
-+copy_symlink(cfile *tar_cfh, const tar_entry *ttent)
-+{
-+ v1printf("creating %s\n", ttent->fullname);
-+
-+ if (symlink(ttent->linkname, ttent->fullname) != 0) {
-+ v0printf("failed creating symlink %s -> %s\n", ttent->fullname, ttent->linkname);
-+ return -1;
-+ }
-+ if(lchown(ttent->fullname, ttent->uid, ttent->gid) != 0) {
-+ v0printf("failed chown'ing %s\n", ttent->fullname);
-+ return -1;
-+ }
-+ return 0;
-+}
-
- int
- copy_whole_file(cfile *tar_cfh, const tar_entry *ttent)
-diff --git a/tar.c b/tar.c
-index 42dc8e7..514e5fb 100644
---- a/tar.c
-+++ b/tar.c
-@@ -214,8 +214,7 @@ read_entry(cfile *src_cfh, off_u64 start, tar_entry *entry)
- case AREGTYPE:
- entry->type = REGTYPE; break;
- case SYMTYPE:
-- v0printf("symlinks not supported\n");
-- entry->type = TTAR_UNSUPPORTED_TYPE; break;
-+ entry->type = SYMTYPE; break;
- case LNKTYPE:
- v0printf("hardlinks not supported!\n");
- entry->type = TTAR_UNSUPPORTED_TYPE; break;
-@@ -242,6 +241,17 @@ read_entry(cfile *src_cfh, off_u64 start, tar_entry *entry)
- if(get_uid(block + TAR_UNAME_LOC, &entry->uid))
- entry->uid = octal_str2long(block + TAR_UID_LOC, TAR_UID_LOC);
-
-+ if (entry->type == SYMTYPE) {
-+ name_len = strnlen((char *)block + TAR_LINKNAME_LOC, TAR_LINKNAME_LEN);
-+ if((entry->linkname = (char *)malloc(name_len + 1)) == NULL){
-+ v0printf("unable to allocate needed memory, bailing\n");
-+ return MEM_ERROR;
-+ }
-+ memcpy(entry->linkname, block + TAR_LINKNAME_LOC, name_len);
-+ entry->linkname[name_len] = '\0';
-+ entry->linkname_len = name_len;
-+ }
-+
- // if(entry->end % 512)
- // entry->end += 512 - (entry->end % 512);
- return 0;
-@@ -256,6 +266,8 @@ convert_lstat_type_tar_type(const char *path, struct stat *st)
- if(S_ISREG(st->st_mode)) {
- if(st->st_nlink == 1)
- return REGTYPE;
-+ } else if(S_ISLNK(st->st_mode)) {
-+ return SYMTYPE;
- } else if(S_ISDIR(st->st_mode))
- return DIRTYPE;
-
-diff --git a/tar.h b/tar.h
-index e9d9ee9..95f957c 100644
---- a/tar.h
-+++ b/tar.h
-@@ -78,6 +78,8 @@ typedef struct {
- off_u64 size;
- unsigned int fullname_len;
- char *fullname;
-+ unsigned int linkname_len;
-+ char *linkname;
- time_t mtime;
- uid_t uid;
- gid_t gid;
---
-2.32.0
-