Skip to content

Commit 0217641

Browse files
committed
Bump version to 0.63; remove bundled zlib, link the system version;
include sufficient source to create the Autotools configure script, which is now named 'configure' instead of 'configure.sh'; add some boilerplate required by Autotools; update README/INSTALL; silence a few useless warnings during the build.
1 parent 3af67b9 commit 0217641

40 files changed

+918
-20156
lines changed

AUTHORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Craig Barratt and others.

COPYING

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

ChangeLog

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2025.11.08
2+
VERSION 0.63:
3+
- Remove the bundled zlib, which has security issues.
4+
- Replace 'configure.sh' by 'configure'. Original file remains for reference
5+
and probably still works.
6+
- To comply with GNU terms (and to satisfy Red Hat), include source sufficient
7+
to use GNU autotools to create the 'configure' script.
8+
- Silence a bunch of warnings.

Changes

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
Revision history for Perl extension BackupPC-XS.
22

3+
0.63: November 10, 2025
4+
5+
- Please consider this to be a Release Candidate and treat accordingly!
6+
7+
- Remove the bundled zlib, which has security issues.
8+
9+
- Replace 'configure.sh' by 'configure'. Original file remains for reference
10+
and probably still works.
11+
12+
- To comply with GNU terms (and to satisfy Red Hat), include source sufficient
13+
to use GNU autotools to create the 'configure' script.
14+
15+
- Silence a bunch of warnings.
16+
317
0.62: June 20, 2020
418

519
- force rewrite of attr file if xattr key fixup was applied

INSTALL

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
2025.11.12
2+
3+
For 'normal' installation see README.
4+
5+
If you're working on the installation scripts/makefiles etc. then
6+
there's a script to clean out the directory before running Automake.
7+
8+
$ ./make_clean_for_autotools.sh [*]
9+
10+
and then proceed as in the README with something like
11+
12+
$ autoreconf --install
13+
$ perl Makefile.PL
14+
or maybe for testing
15+
$ perl Makefile.PL INSTALL_BASE=/home/user/junk
16+
$ cp Makefile Makefile.real [**]
17+
$ make
18+
$ make test
19+
If you're installing in a user location
20+
$ make -f Makefile.real pure_install
21+
or if you're feeling adventurous as root
22+
# make -f Makefile.real pure_install
23+
24+
[*] This really ought to be 'make distclean' or something like that.
25+
[**] Sorry, a horrible hack (the C source files etc. should be in ./src/).
26+
27+
Hopefully Cmake will replace Autotools in the not too distant future,
28+
so the Autotools build stuff can all be junked.
29+
30+
== GWH ==

MANIFEST

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,32 +20,10 @@ rsync.h
2020
config.guess
2121
config.h.in
2222
config.sub
23-
configure.sh
23+
configure
2424
install-sh
2525
t/BackupPC_XS.t
2626
lib/BackupPC/XS.pm
2727
md5/Makefile.PL
2828
md5/md5.c
2929
md5/mdigest.h
30-
zlib/Makefile.PL
31-
zlib/adler32.c
32-
zlib/compress.c
33-
zlib/crc32.c
34-
zlib/crc32.h
35-
zlib/deflate.c
36-
zlib/deflate.h
37-
zlib/inffast.c
38-
zlib/inffast.h
39-
zlib/inffixed.h
40-
zlib/inflate.c
41-
zlib/inflate.h
42-
zlib/inftrees.c
43-
zlib/inftrees.h
44-
zlib/trees.c
45-
zlib/trees.h
46-
zlib/zconf.h
47-
zlib/zlib.h
48-
zlib/zutil.c
49-
zlib/zutil.h
50-
META.yml Module YAML meta-data (added by MakeMaker)
51-
META.json Module JSON meta-data (added by MakeMaker)

Makefile.PL

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,22 @@ my $object = q[
1616
];
1717
$object =~ s/[\n\r\s]+/ /g;
1818

19+
# 2025.11.12: Added 'realclean' target for 'make', removed 'zlib'. == GWH ==
1920
WriteMakefile(
2021
NAME => 'BackupPC::XS',
21-
VERSION_FROM => 'lib/BackupPC/XS.pm', # finds $VERSION
22+
VERSION_FROM => 'lib/BackupPC/XS.pm', # finds $VERSION (if you're lucky)
2223
ABSTRACT_FROM => 'lib/BackupPC/XS.pm', # finds ABSTRACT
2324
PREREQ_PM => {}, # e.g., Module::Name => 1.1
24-
LIBS => [''], # e.g., '-lm'
25+
LIBS => ['-lz'],
2526
DEFINE => '', # e.g., '-DHAVE_SOMETHING'
2627
INC => '-I.', # e.g., '-I. -I/usr/include/other'
2728
OBJECT => $object,
28-
MYEXTLIB => 'zlib/libzlib$(LIB_EXT) md5/libmd5$(LIB_EXT)',
29+
MYEXTLIB => 'md5/libmd5$(LIB_EXT)',
30+
# 2025.11.12: We could add more tests, all we do at the moment is check that it loads. == GWH ==
31+
# TESTS => ...,
2932
depend => { 'BackupPC_XS.o' => 'config.h' },
3033
clean => { FILES => "config.log config.status config.h" },
34+
realclean => { FILES => "config.log config.status config.h *.o" },
3135
);
3236

3337
# by Nicholas Clark <nick@ccl4.org>
@@ -42,14 +46,11 @@ sub MY::subdir_x {
4246
sub MY::postamble {
4347
return <<'EOF';
4448
45-
zlib/libzlib$(LIB_EXT): zlib/Makefile config.h
46-
cd zlib && $(MAKE) $(PASSTHRU)
47-
4849
md5/libmd5$(LIB_EXT): md5/Makefile config.h
4950
cd md5 && $(MAKE) $(PASSTHRU)
5051
5152
config.h: config.h.in
52-
./configure.sh
53+
./configure --disable-md2man
5354
5455
$(OBJECT) : config.h
5556

Makefile.am

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Makefile for BackupPC-XS
2+
3+
VERSION = 0.63
4+
5+
#SUBDIRS = lib md5
6+
SUBDIRS = md5
7+
8+
# Manual hacks:
9+
FULLPERLRUN = $(PERL)
10+
.PHONY : dynamic pure_all
11+
12+
# Tests:
13+
TEST_VERBOSE=0
14+
TEST_TYPE=test_$(LINKTYPE)
15+
TEST_FILE = test.pl
16+
TEST_FILES = t/*.t
17+
TESTDB_SW = -d
18+
19+
testdb :: testdb_$(LINKTYPE)
20+
$(NOECHO) $(NOOP)
21+
22+
test :: $(TEST_TYPE)
23+
$(NOECHO) $(NOOP)
24+
25+
# Occasionally we may face this degenerate target:
26+
test_ : test_dynamic
27+
$(NOECHO) $(NOOP)
28+
29+
subdirs-test_dynamic :: dynamic pure_all
30+
$(NOECHO) cd md5 && $(MAKE) test_dynamic $(PASTHRU)
31+
32+
test_dynamic :: subdirs-test_dynamic
33+
PERL_DL_NONLAZY=1 $(FULLPERLRUN) "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness($(TEST_VERBOSE), '$(INST_LIB)', '$(INST_ARCHLIB)')" $(TEST_FILES)
34+
35+
testdb_dynamic :: dynamic pure_all
36+
PERL_DL_NONLAZY=1 $(FULLPERLRUN) $(TESTDB_SW) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE)
37+
38+
subdirs-test_static :: static pure_all
39+
$(NOECHO) cd md5 && $(MAKE) test_static $(PASTHRU)
40+
41+
test_static :: subdirs-test_static $(MAP_TARGET)
42+
PERL_DL_NONLAZY=1 "/home/ged/backuppc-xs-master/$(MAP_TARGET)" $(MAP_PERLINC) "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness($(TEST_VERBOSE), '$(INST_LIB)', '$(INST_ARCHLIB)')" $(TEST_FILES)
43+
44+
testdb_static :: static pure_all $(MAP_TARGET)
45+
PERL_DL_NONLAZY=1 "/home/ged/backuppc-xs-master/$(MAP_TARGET)" $(MAP_PERLINC) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE)
46+

NEWS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2025.11.10
2+
3+
This version (0.63) of BackupPC use the system zlib library, the
4+
bundled version has been removed.
5+
6+
See also 'ChangeLog'.
7+
8+
== GWH ==

README

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,38 @@
1-
BackupPC-XS version 0.62
1+
BackupPC-XS version 0.63
22
========================
33

44
BackupPC::XS implements various BackupPC functions in a perl-callable
5-
module. This module is required for BackupPC V4+.
5+
module.
66

7-
INSTALLATION
7+
This version of the module is REQUIRED by all versions of BackupPC
8+
later than version 4.4.0, i.e. by version 4.4.1rc1 and later.
89

9-
To install this module type the following:
10+
This version is NOT for use with BackupPC versions 4.4.0 and earlier.
1011

11-
perl Makefile.PL
12-
make
13-
make test
14-
make install
12+
INSTALLATION (See also 'INSTALL'.)
13+
14+
To install this module please use a shell to execute the following
15+
commands after first unpacking the tarball - or alternatively after
16+
'git clone'- and 'cd'ing to the source directory. You do not type the
17+
'$' and '#' symbols - they indicate that you are running the shell as
18+
either an unprivileged user (the '$' symbol) or as user 'root' (the #
19+
symbol). The 'su' command will request the root password of course.
20+
21+
$ autoreconf --install
22+
$ perl Makefile.PL
23+
$ cp Makefile Makefile.real
24+
$ make
25+
$ make test
26+
$ su
27+
# make -f Makefile.real pure_install
28+
29+
If you have any problems, please post to the BackupPC Users' Mailing List.
30+
31+
== GWH ==
1532

1633
COPYRIGHT AND LICENCE
1734

18-
BackupPC code is copyright (C) 2013-2020 Craig Barratt
19-
<cbarratt@users.sourceforge.net>.
35+
BackupPC code is copyright (C) 2013-2025 Craig Barratt
2036

2137
bpc_hashTable.c is based on code from rsync. Rsync is Copyright
2238
(C) 1996-2001 by Andrew Tridgell, 1996 by Paul Mackerras, 2001-2002
@@ -25,9 +41,6 @@ by Martin Pool, and 2003-2009 by Wayne Davison, and others.
2541
The md5 library is from the rsync codebase, and is Copyright (C) 2001-2003
2642
Christophe Devine. See the code for the license.
2743

28-
The zlib library is from the rsync codebase, and is Copyright (C) 1995-2005
29-
Jean-loup Gailly and Mark Adler. See the code for the license.
30-
3144
This program is free software; you can redistribute it and/or modify
3245
it under the terms of the GNU General Public License as published by
3346
the Free Software Foundation; either version 3 of the License, or

0 commit comments

Comments
 (0)