Compare commits

...

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
789ddfada8
!17 Update to 0.5.4.20
From: @misaka00251 
Reviewed-by: @zhang__3125 
Signed-off-by: @zhang__3125
2023-01-04 12:50:06 +00:00
misaka00251
7b07aa2fea
Update to 0.5.4.20 2023-01-04 19:37:20 +08:00
openeuler-ci-bot
1459930597
!16 update to 0.5.4.18
From: @zhang__3125 
Reviewed-by: @dwl301 
Signed-off-by: @dwl301
2022-06-23 10:19:11 +00:00
zhang__3125
aa1a42882f update to 0.5.4.18 2022-06-23 18:05:54 +08:00
openeuler-ci-bot
c2752d2dfc
!15 [sync] PR-13: remove autogen.sh for rebuild
From: @openeuler-sync-bot 
Reviewed-by: @dwl301 
Signed-off-by: @dwl301
2022-04-29 04:27:37 +00:00
丈青山
520028ec30 update xarchiver.spec.
remove autogen.sh for rebuild

(cherry picked from commit 6ea1807cae2cacb83e94eec41a6aaae9a931692e)
2022-04-29 12:18:04 +08:00
openeuler-ci-bot
56aa5cf948 !3 upgrade to 0.5.4.17 for xfce 4.16
From: @zhang__3125
Reviewed-by: @dwl301
Signed-off-by: @dwl301
2021-06-25 08:25:33 +00:00
zhang__3125
9b94836ce4 upgrade to 0.5.4.17 for xfce 4.16 2021-06-25 15:53:28 +08:00
openeuler-ci-bot
eea97a51d4 !2 20201127 add yaml file
From: @zhang__3125
Reviewed-by: @dwl301
Signed-off-by: @dwl301
2020-11-30 17:30:19 +08:00
张琳
0c9ff53b75 update xarchiver.yaml. 2020-11-30 17:21:46 +08:00
9 changed files with 17 additions and 256 deletions

Binary file not shown.

BIN
0.5.4.20.tar.gz Normal file

Binary file not shown.

View File

@ -1,36 +0,0 @@
# xarchiver
#### Description
Archive manager for Xfce
#### Software Architecture
Software architecture description
#### Installation
1. xxxx
2. xxxx
3. xxxx
#### Instructions
1. xxxx
2. xxxx
3. xxxx
#### Contribution
1. Fork the repository
2. Create Feat_xxx branch
3. Commit your code
4. Create Pull Request
#### Gitee Feature
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
4. The most valuable open source project [GVP](https://gitee.com/gvp)
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

View File

@ -1,37 +0,0 @@
# xarchiver
#### 介绍
Archive manager for Xfce
#### 软件架构
软件架构说明
#### 安装教程
1. xxxx
2. xxxx
3. xxxx
#### 使用说明
1. xxxx
2. xxxx
3. xxxx
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 码云特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

View File

@ -1,25 +0,0 @@
From 080c9316350bc3a72efe3423e20a31a628e89524 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ingo=20Br=C3=BCckl?= <ib@wupperonline.de>
Date: Tue, 2 Jun 2020 13:06:46 +0200
Subject: [PATCH] Handle multi-volume 7zip archives
Replace a sloppy data section detection with a more robust one.
This fixes github issue #92, reported by apoleon.
---
src/7zip.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/7zip.c b/src/7zip.c
index 091a19aa..1d5f2e59 100644
--- a/src/7zip.c
+++ b/src/7zip.c
@@ -213,7 +213,7 @@ static void xa_7zip_parse_output (gchar *line, XArchive *archive)
archive->has_password = TRUE;
}
- if ((line[0] == '-') && line[3])
+ if (strncmp(line, "-----", 5) == 0)
{
data_line = TRUE;
return;

View File

@ -1,35 +0,0 @@
From a357525312112491b2cefc144a6d5853db9f1a4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ingo=20Br=C3=BCckl?= <ib@wupperonline.de>
Date: Wed, 17 Jun 2020 13:34:06 +0200
Subject: [PATCH] Add xa_7zip_seek_position()
This will allow going through volumes later on.
---
src/7zip.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/7zip.c b/src/7zip.c
index 1d5f2e59..54ceb956 100644
--- a/src/7zip.c
+++ b/src/7zip.c
@@ -29,6 +29,11 @@
static gboolean data_line, encrypted, last_line;
+static void xa_7zip_seek_position (GIOChannel *file, gint64 offset, GSeekType type)
+{
+ g_io_channel_seek_position(file, offset, type, NULL);
+}
+
static void xa_7zip_uint64_skip (GIOChannel *file)
{
gchar first, byte;
@@ -85,7 +90,7 @@ gboolean is7zip_mhe (const gchar *filename)
}
/* skip next header size and CRC32 */
- g_io_channel_seek_position(file, 12 + offset, G_SEEK_CUR, NULL);
+ xa_7zip_seek_position(file, 12 + offset, G_SEEK_CUR);
/* header info */
g_io_channel_read_chars(file, &byte, sizeof(byte), NULL, NULL);

View File

@ -1,112 +0,0 @@
From 62249180ee80494fc74ea3731af9bd52a78d1e02 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ingo=20Br=C3=BCckl?= <ib@wupperonline.de>
Date: Wed, 17 Jun 2020 21:40:59 +0200
Subject: [PATCH] Handle header encrypted multi-volume 7zip archives
Keep skipping volumes until the offset is reached and proceed
with is7zip_mhe() to detect header encryption as before.
This fixes github issue #92, reported by Ski-lleR.
---
src/7zip.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 63 insertions(+), 3 deletions(-)
diff --git a/src/7zip.c b/src/7zip.c
index 54ceb956..71bba0cd 100644
--- a/src/7zip.c
+++ b/src/7zip.c
@@ -17,6 +17,7 @@
*/
#include <string.h>
+#include <glib/gstdio.h>
#include "7zip.h"
#include "gzip_et_al.h"
#include "interface.h"
@@ -29,9 +30,67 @@
static gboolean data_line, encrypted, last_line;
-static void xa_7zip_seek_position (GIOChannel *file, gint64 offset, GSeekType type)
+static void xa_7zip_seek_position (const gchar *filename, GIOChannel **file, gint64 offset, GSeekType type)
{
- g_io_channel_seek_position(file, offset, type, NULL);
+ gchar byte;
+
+ g_io_channel_seek_position(*file, offset, type, NULL);
+
+ /* check whether it's a volume. i.e. whether offset is beyond the end of the file */
+ if (g_io_channel_read_chars(*file, &byte, sizeof(byte), NULL, NULL) == G_IO_STATUS_NORMAL)
+ /* doesn't seem so - back to requested position */
+ g_io_channel_seek_position(*file, -(gint64) sizeof(byte), G_SEEK_CUR, NULL);
+ else /* find the volume the offset is pointing to */
+ {
+ guint64 position, volsizes = 0;
+ gchar *fvname;
+ size_t ext;
+ guint i;
+ GStatBuf st;
+ GIOChannel *fnew;
+
+ if (!g_str_has_suffix(filename, ".001"))
+ return;
+
+ position = 12 + 8 + (guint64) offset; // absolute position
+
+ fvname = g_strdup(filename);
+ ext = strlen(fvname) - 4;
+
+ /* check volumes ... */
+ for (i = 1; i < 1000; i++)
+ {
+ fvname[ext] = 0;
+ sprintf(fvname, "%s.%03u", fvname, i);
+
+ if (!g_file_test(fvname, G_FILE_TEST_EXISTS) || (g_stat(fvname, &st) != 0))
+ break;
+
+ volsizes += (guint64) st.st_size;
+
+ /* ... up to the one we're looking for */
+ if (volsizes > position)
+ {
+ fnew = g_io_channel_new_file(fvname, "r", NULL);
+
+ if (!fnew)
+ break;
+
+ /* switch to volume */
+
+ g_io_channel_shutdown(*file, FALSE, NULL);
+
+ *file = fnew;
+
+ g_io_channel_set_encoding(*file, NULL, NULL);
+ g_io_channel_seek_position(*file, position - (volsizes - (guint64) st.st_size), G_SEEK_SET, NULL);
+
+ break;
+ }
+ }
+
+ g_free(fvname);
+ }
}
static void xa_7zip_uint64_skip (GIOChannel *file)
@@ -78,6 +137,7 @@ gboolean is7zip_mhe (const gchar *filename)
if (file)
{
g_io_channel_set_encoding(file, NULL, NULL);
+ g_io_channel_set_buffered(file, FALSE);
/* skip signature, version and header CRC32 */
g_io_channel_seek_position(file, 12, G_SEEK_SET, NULL);
@@ -90,7 +150,7 @@ gboolean is7zip_mhe (const gchar *filename)
}
/* skip next header size and CRC32 */
- xa_7zip_seek_position(file, 12 + offset, G_SEEK_CUR);
+ xa_7zip_seek_position(filename, &file, 12 + offset, G_SEEK_CUR);
/* header info */
g_io_channel_read_chars(file, &byte, sizeof(byte), NULL, NULL);

View File

@ -1,16 +1,12 @@
Name: xarchiver Name: xarchiver
Version: 0.5.4.15 Version: 0.5.4.20
Release: 1 Release: 1
Summary: Archive manager for Xfce Summary: Archive manager for Xfce
License: GPLv2+ License: GPLv2+
#Group: Development/Libraries
URL: https://github.com/ib/xarchiver URL: https://github.com/ib/xarchiver
Source0: https://github.com/ib/xarchiver/archive/%{version}.tar.gz Source0: https://github.com/ib/xarchiver/archive/refs/tags/%{version}.tar.gz
Patch1: debian-bug-959914.patch
Patch2: debian-bug-959914_part2.patch
Patch3: debian-bug-959914_part3.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#BuildArch: noarch
BuildRequires: gtk2-devel, libxml2-devel, gettext, desktop-file-utils BuildRequires: gtk2-devel, libxml2-devel, gettext, desktop-file-utils
BuildRequires: xfce4-dev-tools >= 4.3.90.2 BuildRequires: xfce4-dev-tools >= 4.3.90.2
BuildRequires: autoconf >= 2.69 BuildRequires: autoconf >= 2.69
@ -30,12 +26,10 @@ Xarchiver allows you to create archives and add, extract, and delete files
from them. Password protected archives in the arj, 7z, rar, zip and lrzip from them. Password protected archives in the arj, 7z, rar, zip and lrzip
formats are supported. formats are supported.
%prep %prep
%autosetup -p1 %autosetup
%build %build
./autogen.sh
%configure %configure
%make_build %make_build
@ -60,5 +54,17 @@ rm %{buildroot}%{_docdir}/%{name}/{COPYING,ChangeLog,README}
%{_mandir}/man1/%{name}.1* %{_mandir}/man1/%{name}.1*
%changelog %changelog
* Wed Jan 04 2023 misaka00251 <liuxin@iscas.ac.cn> - 0.5.4.20-1
- Update to 0.5.4.20
* Mon Jun 20 2022 zhanglin <lin.zhang@turbolinux.com.cn> - 0.5.4.18-1
- Update to 0.5.4.18
* Sat Feb 12 2022 zhanglin <lin.zhang@turbolinux.com.cn> - 0.5.4.17-2
- remove autogen.sh for rebuild
* Fri Jun 18 2021 zhanglin <lin.zhang@turbolinux.com.cn> - 0.5.4.17-1
- Update to 0.5.4.17
* Mon Jul 27 2020 Dillon Chen <dillon.chen@turbolinux.com.cn> - 0.5.4.15-1 * Mon Jul 27 2020 Dillon Chen <dillon.chen@turbolinux.com.cn> - 0.5.4.15-1
- Init package - Init package

View File

@ -1,4 +1,4 @@
version_control: git version_control: git
src_repo: src_repo: https://github.com/ib/xarchiver.git
tag_prefix: "xarchiver-" tag_prefix: "xarchiver-"
seperator: "." seperator: "."