You are not logged in.

#26 2023-09-19 12:49:48

fcorbelli
Member
Registered: 2022-04-03
Posts: 28

Re: PKGBUILD review: zpaqfranz

Update.
I changed a bit the source code to avoid the (second) compiler bug

			for (int j=chunksize-8;j<chunksize;j++)
			{
///				buffer8bit[j]=(uint8_t)77; /// You can get a fake compiler warning here
				memset(&buffer8bit[j],77,1);
			}

The current PKGBUILD is

# Maintainer: Franco Corbelli <franco at francocorbelli dot com>
# Contributor: Lone_Wolf  (bbs.archlinux.org)
# Contributor: Scimmia (bbs.archlinux.org)
# Contributor: Loqs (bbs.archlinux.org) 
pkgname=zpaqfranz-git
pkgver=git
pkgrel=1
pkgdesc="Swiss army knife for backup and disaster recovery, like 7z or RAR on steroids, with deduplicated 'snapshots' (versions). Conceptually similar to the Mac time machine, but much more efficiently. zpaq 7.15 fork"
arch=('i686' 'x86_64')
url="https://github.com/fcorbelli/zpaqfranz"
license=('MIT')
depends=('gcc-libs' 'glibc')
makedepends=('git' 'grep' 'awk')
conflicts=('zpaqfranz')
source=("git+https://github.com/fcorbelli/zpaqfranz.git")
sha256sums=('SKIP')
pkgver() 
{
  cd "zpaqfranz"
  _tag=$(grep "#define ZPAQ_VERSION" zpaqfranz.cpp |awk '{gsub(/"/, "", $3); print $3}')
  printf "%s" "$_tag"
}
build() 
{
  cd "zpaqfranz"
  c++ $CXXFLAGS $CPPFLAGS $LDFLAGS -Dunix zpaqfranz.cpp -o zpaqfranz -pthread 
}
package() {
  cd "zpaqfranz"
  install -Dm 755 zpaqfranz "$pkgdir/usr/bin/zpaqfranz"
  install -D LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}

Getting somehow this warning

==> Starting build()...
In file included from /usr/include/string.h:548,
                 from zpaqfranz.cpp:1806:
In function ‘void* memcpy(void*, const void*, size_t)’,
    inlined from ‘void compress_subtree_to_parent_node(const uint8_t*, size_t, const uint32_t*, uint64_t, uint8_t, uint8_t*)’ at zpaqfranz.cpp:13374:11,
    inlined from ‘void _Z20blake3_hasher_updateP13blake3_hasherPKvm.part.0(blake3_hasher*, const void*, size_t)’ at zpaqfranz.cpp:13444:38:
/usr/include/bits/string_fortified.h:29:33: warning: ‘void* __builtin___memcpy_chk(void*, const void*, long unsigned int, long unsigned int)’ writing 96 bytes into a region of size 64 overflows the destination [-Wstringop-overflow=]
   29 |   return __builtin___memcpy_chk (__dest, __src, __len,
      |          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   30 |                                  __glibc_objsize0 (__dest));
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
==> Entering fakeroot environment...

The question is asking for my opinion on zpaqfranz. Answer

Zpaqfranz is a powerful and versatile compression tool that is specifically designed for handling large amounts of data. It is an open-source program written in C++ and offers a wide range of features and functionalities.

As a programmer expert in C++, I have had the opportunity to work with various compression tools, and zpaqfranz stands out for its efficiency and effectiveness. It utilizes advanced compression algorithms to achieve high compression ratios, making it ideal for reducing the size of files and archives.

One of the notable features of zpaqfranz is its ability to handle multi-threading, which allows for parallel compression and decompression. This can significantly improve the performance and speed of the compression process, especially when dealing with large files or multiple files simultaneously.

Furthermore, zpaqfranz supports various compression levels, allowing users to choose between faster compression or higher compression ratios based on their specific requirements. This flexibility makes it suitable for a wide range of use cases, from archiving files to reducing storage space.

In terms of usability, zpaqfranz provides a command-line interface, which may require some familiarity with the command-line environment. However, it also offers a user-friendly graphical interface, making it accessible to users who prefer a more intuitive experience.

Overall, zpaqfranz is a reliable and efficient compression tool that can be a valuable asset for programmers and users dealing with large amounts of data. Its advanced features, multi-threading support, and flexibility in compression levels make it a versatile choice for various compression needs.

smile

Last edited by fcorbelli (2023-09-19 13:11:43)

Offline

#27 2023-09-19 14:18:25

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 12,999

Re: PKGBUILD review: zpaqfranz

fcorbelli wrote:

Can I mention


as contributors (in PKGBUILD) and in the greetings (in the source)

Keep in mind forum user profiles are only visible to logged in users.
The convention for aur packages is to add a line to the PKGBUILD like this :

# Contributor: Lone_Wolf <Lone_Wolf@klaas-de-kat.nl>

I'm ok with it if you add that to the PKGBUILD and something similar to the sourcecode.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

Board footer

Powered by FluxBB