lrzsz-0.12.20

#### Supplemental Linux® From Scratch - Version 13.0

### Chapter 3. General Utilities

- Prev

  Lotus 1-2-3 R3 for Linux 1.0.0rc4

- Next

  minicom-2.11

- Up
- Home

# lrzsz-0.12.20

## Introduction to lrzsz

The lrzsz package is for UNIX communication, providing the XMODEM, YMODEM, and ZMODEM file transfer protocols.

- Download: https://ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz

### Additional Downloads

- Required patch: https://github.com/gentoo/gentoo/raw/f7f659b24dba90b0278e54a2f4d966e24c7a94fb/net-dialup/lrzsz/files/lrzsz-0.12.20-AR.patch

- Required patch: https://github.com/gentoo/gentoo/raw/f7f659b24dba90b0278e54a2f4d966e24c7a94fb/net-dialup/lrzsz/files/lrzsz-0.12.20-automake-1.12.patch

- Required patch: https://github.com/gentoo/gentoo/raw/f7f659b24dba90b0278e54a2f4d966e24c7a94fb/net-dialup/lrzsz/files/lrzsz-0.12.20-automake-1.13.patch

- Required patch: https://github.com/gentoo/gentoo/raw/f7f659b24dba90b0278e54a2f4d966e24c7a94fb/net-dialup/lrzsz/files/lrzsz-0.12.20-c23.patch

- Required patch: https://github.com/gentoo/gentoo/raw/f7f659b24dba90b0278e54a2f4d966e24c7a94fb/net-dialup/lrzsz/files/lrzsz-0.12.20-c99.patch

- Required patch: https://github.com/gentoo/gentoo/raw/f7f659b24dba90b0278e54a2f4d966e24c7a94fb/net-dialup/lrzsz/files/lrzsz-0.12.20-configure-clang16.patch

- Required patch: https://github.com/gentoo/gentoo/raw/f7f659b24dba90b0278e54a2f4d966e24c7a94fb/net-dialup/lrzsz/files/lrzsz-0.12.20-fix-integer-overflow.patch

- Required patch: https://github.com/gentoo/gentoo/raw/f7f659b24dba90b0278e54a2f4d966e24c7a94fb/net-dialup/lrzsz/files/lrzsz-0.12.20-gettext-0.20.patch

- Required patch: https://github.com/gentoo/gentoo/raw/f7f659b24dba90b0278e54a2f4d966e24c7a94fb/net-dialup/lrzsz/files/lrzsz-0.12.20-gettext-0.22.patch

- Required patch: https://github.com/gentoo/gentoo/raw/f7f659b24dba90b0278e54a2f4d966e24c7a94fb/net-dialup/lrzsz/files/lrzsz-autotools.patch

- Required patch: https://github.com/gentoo/gentoo/raw/f7f659b24dba90b0278e54a2f4d966e24c7a94fb/net-dialup/lrzsz/files/lrzsz-implicit-decl.patch

## Installation of lrzsz

Apply several patches to fix various configuration, build, and security issues:

    patch -Np1 -i ../lrzsz-autotools.patch &&
    patch -Np1 -i ../lrzsz-implicit-decl.patch &&
    patch -Np1 -i ../lrzsz-0.12.20-automake-1.12.patch &&
    patch -Np1 -i ../lrzsz-0.12.20-automake-1.13.patch &&
    patch -Np1 -i ../lrzsz-0.12.20-gettext-0.20.patch &&
    patch -Np1 -i ../lrzsz-0.12.20-AR.patch &&
    patch -Np1 -i ../lrzsz-0.12.20-configure-clang16.patch &&
    patch -Np1 -i ../lrzsz-0.12.20-gettext-0.22.patch &&
    patch -Np1 -i ../lrzsz-0.12.20-c99.patch &&
    patch -Np1 -i ../lrzsz-0.12.20-fix-integer-overflow.patch &&
    patch -Np1 -i ../lrzsz-0.12.20-c23.patch

Remove an unneeded prototype that causes a build failure:

    for i in src/l{r,s}z.c; do
      sed -i '/extern\ char\ \*strstr/d' $i
    done

Add and remove files, then regenerate the autoconf files:

    touch config.rpath &&
    rm -vf missing &&
    rm -vf acconfig.h &&
    autoreconf -fiv -I/usr/share/gettext/m4

Install lrzsz by executing the following commands:

    ./configure --prefix=/usr --disable-nls &&
    make

Now as the `root` user:

    make install &&

    for x in {r,s}{b,x,z} ; do
        ln -svf l${x} /usr/bin/${x} &&
        ln -svf l${x:0:1}z.1 /usr/share/man/man1/${x}.1 &&
        [ "${x:1:1}" = "z" ] || ln -svf l${x:0:1}z.1 /usr/share/man/man1/l${x}.1
    done

## Command Explanations

touch config.rpath: This command creates an empty file that automake wishes to use, but is missing from the distribution.

rm -vf missing: This command deletes the `missing` file as it is too old to be used. automake, when executing autoreconf, will regenerate this file that will be current.

rm -vf acconfig.h: autoheader does not like the `acconfig.h` file existing, so this command deletes it.

`--disable-nls`: This parameter disables NLS support as it is broken for this package due to missing files.

for i in {r,s}{b,x,z} ; do...: This command block creates compatibility symlinks for the original rzsz package, which is required for minicom-2.11.

## Contents

Installed Programs: lrb (link to lrz), lrx (link to lrz), lrz, lsb (link to lsz), lsx (link to lsz), lsz, rb (link to lrb), rx (link to lrx), rz (link to lrz), sb (link to lsb), sx (link to lsx), and sz (link to lsz)
Installed Libraries: None
Installed Directories: None

### Short Descriptions

lrb | is a symlink pointing to lrz
lrx | is a symlink pointing to lrz
lrz | receives files using the XMODEM/YMODEM/ZMODEM protocols
lsb | is a symlink pointing to lsz
lsx | is a symlink pointing to lsz
lsz | sends files using the XMODEM/YMODEM/ZMODEM protocols
rb | is a symlink pointing to lrb
rx | is a symlink pointing to lrx
rz | is a symlink pointing to lrz
sb | is a symlink pointing to lsb
sx | is a symlink pointing to lsx
sz | is a symlink pointing to lsz

- Prev

  Lotus 1-2-3 R3 for Linux 1.0.0rc4

- Next

  minicom-2.11

- Up
- Home