FIXED: the binary driver (NOTEDB::binary) encounters now if a note

entry is bigger then MaxNoteByte. It prints the overlapping
                part to STDERR, and a warning message and finally saves
                the complete, unchanged note entry to an external text file.
This commit is contained in:
TLINDEN
2012-02-10 20:30:10 +01:00
parent c15c8ba731
commit 23c301be2a
8 changed files with 404 additions and 301 deletions

View File

@@ -1,3 +1,9 @@
1.2.6:
FIXED: the binary driver (NOTEDB::binary) encounters now if a note
entry is bigger then MaxNoteByte. It prints the overlapping
part to STDERR, and a warning message and finally saves
the complete, unchanged note entry to an external text file.
================================================================================ ================================================================================
1.2.5: 1.2.5:
FIXED: removed any file/path actions using '/'. replaced by portable FIXED: removed any file/path actions using '/'. replaced by portable

View File

@@ -1,7 +1,7 @@
# This Makefile is for the NOTEDB extension to perl. # This Makefile is for the NOTEDB extension to perl.
# #
# It was generated automatically by MakeMaker version # It was generated automatically by MakeMaker version
# 6.03 (Revision: 1.63) from the contents of # 6.17 (Revision: 1.133) from the contents of
# Makefile.PL. Don't edit this file, edit Makefile.PL instead. # Makefile.PL. Don't edit this file, edit Makefile.PL instead.
# #
# ANY CHANGES MADE HERE WILL BE LOST! # ANY CHANGES MADE HERE WILL BE LOST!
@@ -19,7 +19,7 @@
# --- MakeMaker const_config section: # --- MakeMaker const_config section:
# These definitions are from config.sh (via /usr/lib/perl/5.8.0/Config.pm) # These definitions are from config.sh (via /usr/lib/perl/5.8/Config.pm)
# They may have been overridden via Makefile.PL or on the command line # They may have been overridden via Makefile.PL or on the command line
AR = ar AR = ar
@@ -31,74 +31,103 @@ DLSRC = dl_dlopen.xs
LD = cc LD = cc
LDDLFLAGS = -shared -L/usr/local/lib LDDLFLAGS = -shared -L/usr/local/lib
LDFLAGS = -L/usr/local/lib LDFLAGS = -L/usr/local/lib
LIBC = /lib/libc-2.3.1.so LIBC = /lib/libc-2.3.2.so
LIB_EXT = .a LIB_EXT = .a
OBJ_EXT = .o OBJ_EXT = .o
OSNAME = linux OSNAME = linux
OSVERS = 2.4.19 OSVERS = 2.4.22-xfs+ti1211
RANLIB = : RANLIB = :
SITELIBEXP = /usr/local/share/perl/5.8.3
SITEARCHEXP = /usr/local/lib/perl/5.8.3
SO = so SO = so
EXE_EXT = EXE_EXT =
FULL_AR = /usr/bin/ar FULL_AR = /usr/bin/ar
VENDORARCHEXP = /usr/lib/perl5
VENDORLIBEXP = /usr/share/perl5
# --- MakeMaker constants section: # --- MakeMaker constants section:
AR_STATIC_ARGS = cr AR_STATIC_ARGS = cr
DIRFILESEP = /
NAME = NOTEDB NAME = NOTEDB
DISTNAME = NOTEDB
NAME_SYM = NOTEDB NAME_SYM = NOTEDB
VERSION = 1.3 VERSION = 1.3
VERSION_MACRO = VERSION
VERSION_SYM = 1_3 VERSION_SYM = 1_3
DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\"
XS_VERSION = 1.3 XS_VERSION = 1.3
XS_VERSION_MACRO = XS_VERSION
XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\"
INST_ARCHLIB = blib/arch INST_ARCHLIB = blib/arch
INST_SCRIPT = blib/script INST_SCRIPT = blib/script
INST_BIN = blib/bin INST_BIN = blib/bin
INST_LIB = blib/lib INST_LIB = blib/lib
INST_MAN1DIR = blib/man1
INST_MAN3DIR = blib/man3
MAN1EXT = 1p
MAN3EXT = 3pm
INSTALLDIRS = site INSTALLDIRS = site
DESTDIR =
PREFIX = /usr PREFIX = /usr
PERLPREFIX = $(PREFIX)
SITEPREFIX = $(PREFIX)/local SITEPREFIX = $(PREFIX)/local
VENDORPREFIX = $(PREFIX) VENDORPREFIX = $(PREFIX)
INSTALLPRIVLIB = $(PREFIX)/share/perl/5.8.0 INSTALLPRIVLIB = $(PERLPREFIX)/share/perl/5.8
INSTALLSITELIB = $(SITEPREFIX)/share/perl/5.8.0 DESTINSTALLPRIVLIB = $(DESTDIR)$(INSTALLPRIVLIB)
INSTALLSITELIB = $(SITEPREFIX)/share/perl/5.8.3
DESTINSTALLSITELIB = $(DESTDIR)$(INSTALLSITELIB)
INSTALLVENDORLIB = $(VENDORPREFIX)/share/perl5 INSTALLVENDORLIB = $(VENDORPREFIX)/share/perl5
INSTALLARCHLIB = $(PREFIX)/lib/perl/5.8.0 DESTINSTALLVENDORLIB = $(DESTDIR)$(INSTALLVENDORLIB)
INSTALLSITEARCH = $(SITEPREFIX)/lib/perl/5.8.0 INSTALLARCHLIB = $(PERLPREFIX)/lib/perl/5.8
DESTINSTALLARCHLIB = $(DESTDIR)$(INSTALLARCHLIB)
INSTALLSITEARCH = $(SITEPREFIX)/lib/perl/5.8.3
DESTINSTALLSITEARCH = $(DESTDIR)$(INSTALLSITEARCH)
INSTALLVENDORARCH = $(VENDORPREFIX)/lib/perl5 INSTALLVENDORARCH = $(VENDORPREFIX)/lib/perl5
INSTALLBIN = $(PREFIX)/bin DESTINSTALLVENDORARCH = $(DESTDIR)$(INSTALLVENDORARCH)
INSTALLBIN = $(PERLPREFIX)/bin
DESTINSTALLBIN = $(DESTDIR)$(INSTALLBIN)
INSTALLSITEBIN = $(SITEPREFIX)/bin INSTALLSITEBIN = $(SITEPREFIX)/bin
DESTINSTALLSITEBIN = $(DESTDIR)$(INSTALLSITEBIN)
INSTALLVENDORBIN = $(VENDORPREFIX)/bin INSTALLVENDORBIN = $(VENDORPREFIX)/bin
INSTALLSCRIPT = $(PREFIX)/bin DESTINSTALLVENDORBIN = $(DESTDIR)$(INSTALLVENDORBIN)
PERL_LIB = /usr/share/perl/5.8.0 INSTALLSCRIPT = $(PERLPREFIX)/bin
PERL_ARCHLIB = /usr/lib/perl/5.8.0 DESTINSTALLSCRIPT = $(DESTDIR)$(INSTALLSCRIPT)
SITELIBEXP = /usr/local/share/perl/5.8.0 INSTALLMAN1DIR = $(PERLPREFIX)/share/man/man1
SITEARCHEXP = /usr/local/lib/perl/5.8.0 DESTINSTALLMAN1DIR = $(DESTDIR)$(INSTALLMAN1DIR)
INSTALLSITEMAN1DIR = $(SITEPREFIX)/man/man1
DESTINSTALLSITEMAN1DIR = $(DESTDIR)$(INSTALLSITEMAN1DIR)
INSTALLVENDORMAN1DIR = $(VENDORPREFIX)/share/man/man1
DESTINSTALLVENDORMAN1DIR = $(DESTDIR)$(INSTALLVENDORMAN1DIR)
INSTALLMAN3DIR = $(PERLPREFIX)/share/man/man3
DESTINSTALLMAN3DIR = $(DESTDIR)$(INSTALLMAN3DIR)
INSTALLSITEMAN3DIR = $(SITEPREFIX)/man/man3
DESTINSTALLSITEMAN3DIR = $(DESTDIR)$(INSTALLSITEMAN3DIR)
INSTALLVENDORMAN3DIR = $(VENDORPREFIX)/share/man/man3
DESTINSTALLVENDORMAN3DIR = $(DESTDIR)$(INSTALLVENDORMAN3DIR)
PERL_LIB = /usr/share/perl/5.8
PERL_ARCHLIB = /usr/lib/perl/5.8
LIBPERL_A = libperl.a LIBPERL_A = libperl.a
FIRST_MAKEFILE = Makefile FIRST_MAKEFILE = Makefile
MAKE_APERL_FILE = Makefile.aperl MAKEFILE_OLD = $(FIRST_MAKEFILE).old
MAKE_APERL_FILE = $(FIRST_MAKEFILE).aperl
PERLMAINCC = $(CC) PERLMAINCC = $(CC)
PERL_INC = /usr/lib/perl/5.8.0/CORE PERL_INC = /usr/lib/perl/5.8/CORE
PERL = /usr/bin/perl PERL = /usr/bin/perl
FULLPERL = /usr/bin/perl FULLPERL = /usr/bin/perl
ABSPERL = $(PERL)
PERLRUN = $(PERL) PERLRUN = $(PERL)
FULLPERLRUN = $(FULLPERL) FULLPERLRUN = $(FULLPERL)
ABSPERLRUN = $(ABSPERL)
PERLRUNINST = $(PERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" PERLRUNINST = $(PERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
FULLPERLRUNINST = $(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" FULLPERLRUNINST = $(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
ABSPERL = $(PERL)
ABSPERLRUN = $(ABSPERL)
ABSPERLRUNINST = $(ABSPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" ABSPERLRUNINST = $(ABSPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
FULL_AR = /usr/bin/ar
PERL_CORE = 0 PERL_CORE = 0
NOOP = $(SHELL) -c true PERM_RW = 644
NOECHO = @ PERM_RWX = 755
VERSION_MACRO = VERSION MAKEMAKER = /usr/share/perl/5.8/ExtUtils/MakeMaker.pm
DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\" MM_VERSION = 6.17
XS_VERSION_MACRO = XS_VERSION MM_REVISION = 1.133
XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\"
PERL_MALLOC_DEF = -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc
MAKEMAKER = /usr/share/perl/5.8.0/ExtUtils/MakeMaker.pm
MM_VERSION = 6.03
# FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle). # FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle).
# BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle) # BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle)
@@ -114,61 +143,36 @@ LDFROM = $(OBJECT)
LINKTYPE = dynamic LINKTYPE = dynamic
# Handy lists of source code files: # Handy lists of source code files:
XS_FILES= XS_FILES =
C_FILES = C_FILES =
O_FILES = O_FILES =
H_FILES = H_FILES =
MAN1PODS = MAN1PODS =
MAN3PODS = NOTEDB/binary.pm \ MAN3PODS = NOTEDB/binary.pm \
NOTEDB/dbm.pm \ NOTEDB/dbm.pm \
NOTEDB/mysql.pm \ NOTEDB/mysql.pm \
note.pod note.pod
INST_MAN1DIR = blib/man1
MAN1EXT = 1p
INSTALLMAN1DIR = $(PREFIX)/share/man/man1
INSTALLSITEMAN1DIR = $(SITEPREFIX)/man/man1
INSTALLVENDORMAN1DIR = $(VENDORPREFIX)/share/man/man1
INST_MAN3DIR = blib/man3
MAN3EXT = 3pm
INSTALLMAN3DIR = $(PREFIX)/share/man/man3
INSTALLSITEMAN3DIR = $(SITEPREFIX)/man/man3
INSTALLVENDORMAN3DIR = $(VENDORPREFIX)/share/man/man3
PERM_RW = 644
PERM_RWX = 755
# work around a famous dec-osf make(1) feature(?):
makemakerdflt: all
.SUFFIXES: .xs .c .C .cpp .i .s .cxx .cc $(OBJ_EXT)
# Nick wanted to get rid of .PRECIOUS. I don't remember why. I seem to recall, that
# some make implementations will delete the Makefile when we rebuild it. Because
# we call false(1) when we rebuild it. So make(1) is not completely wrong when it
# does so. Our milage may vary.
# .PRECIOUS: Makefile # seems to be not necessary anymore
.PHONY: all config static dynamic test linkext manifest
# Where is the Config information that we are using/depend on # Where is the Config information that we are using/depend on
CONFIGDEP = $(PERL_ARCHLIB)/Config.pm $(PERL_INC)/config.h CONFIGDEP = $(PERL_ARCHLIB)$(DIRFILESEP)Config.pm $(PERL_INC)$(DIRFILESEP)config.h
# Where to put things: # Where to build things
INST_LIBDIR = $(INST_LIB) INST_LIBDIR = $(INST_LIB)
INST_ARCHLIBDIR = $(INST_ARCHLIB) INST_ARCHLIBDIR = $(INST_ARCHLIB)
INST_AUTODIR = $(INST_LIB)/auto/$(FULLEXT) INST_AUTODIR = $(INST_LIB)/auto/$(FULLEXT)
INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT) INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT)
INST_STATIC = INST_STATIC =
INST_DYNAMIC = INST_DYNAMIC =
INST_BOOT = INST_BOOT =
EXPORT_LIST =
PERL_ARCHIVE =
# Extra linker info
EXPORT_LIST =
PERL_ARCHIVE =
PERL_ARCHIVE_AFTER = PERL_ARCHIVE_AFTER =
TO_INST_PM = NOTEDB.pm \ TO_INST_PM = NOTEDB.pm \
NOTEDB/README \ NOTEDB/README \
NOTEDB/binary.pm \ NOTEDB/binary.pm \
@@ -176,23 +180,28 @@ TO_INST_PM = NOTEDB.pm \
NOTEDB/mysql.pm \ NOTEDB/mysql.pm \
note.pod note.pod
PM_TO_BLIB = NOTEDB/mysql.pm \ PM_TO_BLIB = NOTEDB/README \
blib/lib/NOTEDB/mysql.pm \ $(INST_LIB)/NOTEDB/README \
NOTEDB/mysql.pm \
$(INST_LIB)/NOTEDB/mysql.pm \
NOTEDB/dbm.pm \ NOTEDB/dbm.pm \
blib/lib/NOTEDB/dbm.pm \ $(INST_LIB)/NOTEDB/dbm.pm \
NOTEDB/README \
blib/lib/NOTEDB/README \
NOTEDB/binary.pm \ NOTEDB/binary.pm \
blib/lib/NOTEDB/binary.pm \ $(INST_LIB)/NOTEDB/binary.pm \
note.pod \
blib/lib/note.pod \
NOTEDB.pm \ NOTEDB.pm \
blib/lib/NOTEDB.pm $(INST_LIB)/NOTEDB.pm \
note.pod \
$(INST_LIB)/note.pod
# --- MakeMaker platform_constants section:
MM_Unix_VERSION = 1.42
PERL_MALLOC_DEF = -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc
# --- MakeMaker tool_autosplit section: # --- MakeMaker tool_autosplit section:
# Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto # Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto
AUTOSPLITFILE = $(PERLRUN) -e 'use AutoSplit; autosplit($$ARGV[0], $$ARGV[1], 0, 1, 1) ;' AUTOSPLITFILE = $(PERLRUN) -e 'use AutoSplit; autosplit($$ARGV[0], $$ARGV[1], 0, 1, 1)'
@@ -200,71 +209,52 @@ AUTOSPLITFILE = $(PERLRUN) -e 'use AutoSplit; autosplit($$ARGV[0], $$ARGV[1], 0
# --- MakeMaker tools_other section: # --- MakeMaker tools_other section:
SHELL = /bin/sh SHELL = /bin/sh
CHMOD = chmod CHMOD = chmod
CP = cp CP = cp
LD = cc
MV = mv MV = mv
NOOP = $(SHELL) -c true NOOP = $(SHELL) -c true
NOECHO = @
RM_F = rm -f RM_F = rm -f
RM_RF = rm -rf RM_RF = rm -rf
TEST_F = test -f TEST_F = test -f
TOUCH = touch TOUCH = touch
UMASK_NULL = umask 0 UMASK_NULL = umask 0
DEV_NULL = > /dev/null 2>&1 DEV_NULL = > /dev/null 2>&1
# The following is a portable way to say mkdir -p
# To see which directories are created, change the if 0 to if 1
MKPATH = $(PERLRUN) "-MExtUtils::Command" -e mkpath MKPATH = $(PERLRUN) "-MExtUtils::Command" -e mkpath
# This helps us to minimize the effect of the .exists files A yet
# better solution would be to have a stable file in the perl
# distribution with a timestamp of zero. But this solution doesn't
# need any changes to the core distribution and works with older perls
EQUALIZE_TIMESTAMP = $(PERLRUN) "-MExtUtils::Command" -e eqtime EQUALIZE_TIMESTAMP = $(PERLRUN) "-MExtUtils::Command" -e eqtime
ECHO = echo
ECHO_N = echo -n
UNINST = 0
VERBINST = 0
MOD_INSTALL = $(PERLRUN) -MExtUtils::Install -e 'install({@ARGV}, '\''$(VERBINST)'\'', 0, '\''$(UNINST)'\'');'
DOC_INSTALL = $(PERLRUN) "-MExtUtils::Command::MM" -e perllocal_install
UNINSTALL = $(PERLRUN) "-MExtUtils::Command::MM" -e uninstall
WARN_IF_OLD_PACKLIST = $(PERLRUN) "-MExtUtils::Command::MM" -e warn_if_old_packlist
# Here we warn users that an old packlist file was found somewhere,
# and that they should call some uninstall routine
WARN_IF_OLD_PACKLIST = $(PERL) -we 'exit unless -f $$ARGV[0];' \
-e 'print "WARNING: I have found an old package in\n";' \
-e 'print "\t$$ARGV[0].\n";' \
-e 'print "Please make sure the two installations are not conflicting\n";'
UNINST=0 # --- MakeMaker makemakerdflt section:
VERBINST=0 makemakerdflt: all
$(NOECHO) $(NOOP)
MOD_INSTALL = $(PERL) "-I$(INST_LIB)" "-I$(PERL_LIB)" "-MExtUtils::Install" \
-e "install({@ARGV},'$(VERBINST)',0,'$(UNINST)');"
DOC_INSTALL = $(PERL) -e '$$\="\n\n";' \
-e 'print "=head2 ", scalar(localtime), ": C<", shift, ">", " L<", $$arg=shift, "|", $$arg, ">";' \
-e 'print "=over 4";' \
-e 'while (defined($$key = shift) and defined($$val = shift)){print "=item *";print "C<$$key: $$val>";}' \
-e 'print "=back";'
UNINSTALL = $(PERLRUN) "-MExtUtils::Install" \
-e 'uninstall($$ARGV[0],1,1); print "\nUninstall is deprecated. Please check the";' \
-e 'print " packlist above carefully.\n There may be errors. Remove the";' \
-e 'print " appropriate files manually.\n Sorry for the inconveniences.\n"'
# --- MakeMaker dist section: # --- MakeMaker dist section:
ZIPFLAGS = -r
TO_UNIX = @$(NOOP)
TAR = tar TAR = tar
POSTOP = @$(NOOP)
ZIP = zip
DIST_DEFAULT = tardist
CI = ci -u
SHAR = shar
COMPRESS = gzip --best
DIST_CP = best
PREOP = @$(NOOP)
TARFLAGS = cvf TARFLAGS = cvf
DISTVNAME = $(DISTNAME)-$(VERSION) ZIP = zip
ZIPFLAGS = -r
COMPRESS = gzip --best
SUFFIX = .gz SUFFIX = .gz
SHAR = shar
PREOP = $(NOECHO) $(NOOP)
POSTOP = $(NOECHO) $(NOOP)
TO_UNIX = $(NOECHO) $(NOOP)
CI = ci -u
RCS_LABEL = rcs -Nv$(VERSION_SYM): -q RCS_LABEL = rcs -Nv$(VERSION_SYM): -q
DIST_CP = best
DIST_DEFAULT = tardist
DISTNAME = NOTEDB
DISTVNAME = NOTEDB-1.3
# --- MakeMaker macro section: # --- MakeMaker macro section:
@@ -296,6 +286,13 @@ PASTHRU = LIB="$(LIB)"\
PASTHRU_INC="$(PASTHRU_INC)" PASTHRU_INC="$(PASTHRU_INC)"
# --- MakeMaker special_targets section:
.SUFFIXES: .xs .c .C .cpp .i .s .cxx .cc $(OBJ_EXT)
.PHONY: all config static dynamic test linkext manifest
# --- MakeMaker c_o section: # --- MakeMaker c_o section:
@@ -306,52 +303,52 @@ PASTHRU = LIB="$(LIB)"\
# --- MakeMaker top_targets section: # --- MakeMaker top_targets section:
all :: pure_all manifypods all :: pure_all manifypods
@$(NOOP) $(NOECHO) $(NOOP)
pure_all :: config pm_to_blib subdirs linkext pure_all :: config pm_to_blib subdirs linkext
@$(NOOP) $(NOECHO) $(NOOP)
subdirs :: $(MYEXTLIB) subdirs :: $(MYEXTLIB)
@$(NOOP) $(NOECHO) $(NOOP)
config :: Makefile $(INST_LIBDIR)/.exists config :: $(FIRST_MAKEFILE) $(INST_LIBDIR)$(DIRFILESEP).exists
@$(NOOP) $(NOECHO) $(NOOP)
config :: $(INST_ARCHAUTODIR)/.exists config :: $(INST_ARCHAUTODIR)$(DIRFILESEP).exists
@$(NOOP) $(NOECHO) $(NOOP)
config :: $(INST_AUTODIR)/.exists config :: $(INST_AUTODIR)$(DIRFILESEP).exists
@$(NOOP) $(NOECHO) $(NOOP)
$(INST_AUTODIR)/.exists :: /usr/lib/perl/5.8.0/CORE/perl.h $(INST_AUTODIR)/.exists :: /usr/lib/perl/5.8/CORE/perl.h
@$(MKPATH) $(INST_AUTODIR) $(NOECHO) $(MKPATH) $(INST_AUTODIR)
@$(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8.0/CORE/perl.h $(INST_AUTODIR)/.exists $(NOECHO) $(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8/CORE/perl.h $(INST_AUTODIR)/.exists
-@$(CHMOD) $(PERM_RWX) $(INST_AUTODIR) -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_AUTODIR)
$(INST_LIBDIR)/.exists :: /usr/lib/perl/5.8.0/CORE/perl.h $(INST_LIBDIR)/.exists :: /usr/lib/perl/5.8/CORE/perl.h
@$(MKPATH) $(INST_LIBDIR) $(NOECHO) $(MKPATH) $(INST_LIBDIR)
@$(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8.0/CORE/perl.h $(INST_LIBDIR)/.exists $(NOECHO) $(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8/CORE/perl.h $(INST_LIBDIR)/.exists
-@$(CHMOD) $(PERM_RWX) $(INST_LIBDIR) -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_LIBDIR)
$(INST_ARCHAUTODIR)/.exists :: /usr/lib/perl/5.8.0/CORE/perl.h $(INST_ARCHAUTODIR)/.exists :: /usr/lib/perl/5.8/CORE/perl.h
@$(MKPATH) $(INST_ARCHAUTODIR) $(NOECHO) $(MKPATH) $(INST_ARCHAUTODIR)
@$(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8.0/CORE/perl.h $(INST_ARCHAUTODIR)/.exists $(NOECHO) $(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8/CORE/perl.h $(INST_ARCHAUTODIR)/.exists
-@$(CHMOD) $(PERM_RWX) $(INST_ARCHAUTODIR) -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_ARCHAUTODIR)
config :: $(INST_MAN3DIR)/.exists config :: $(INST_MAN3DIR)$(DIRFILESEP).exists
@$(NOOP) $(NOECHO) $(NOOP)
$(INST_MAN3DIR)/.exists :: /usr/lib/perl/5.8.0/CORE/perl.h $(INST_MAN3DIR)/.exists :: /usr/lib/perl/5.8/CORE/perl.h
@$(MKPATH) $(INST_MAN3DIR) $(NOECHO) $(MKPATH) $(INST_MAN3DIR)
@$(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8.0/CORE/perl.h $(INST_MAN3DIR)/.exists $(NOECHO) $(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8/CORE/perl.h $(INST_MAN3DIR)/.exists
-@$(CHMOD) $(PERM_RWX) $(INST_MAN3DIR) -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_MAN3DIR)
help: help:
perldoc ExtUtils::MakeMaker perldoc ExtUtils::MakeMaker
@@ -360,7 +357,7 @@ help:
# --- MakeMaker linkext section: # --- MakeMaker linkext section:
linkext :: $(LINKTYPE) linkext :: $(LINKTYPE)
@$(NOOP) $(NOECHO) $(NOOP)
# --- MakeMaker dlsyms section: # --- MakeMaker dlsyms section:
@@ -368,11 +365,8 @@ linkext :: $(LINKTYPE)
# --- MakeMaker dynamic section: # --- MakeMaker dynamic section:
## $(INST_PM) has been moved to the all: target. dynamic :: $(FIRST_MAKEFILE) $(INST_DYNAMIC) $(INST_BOOT)
## It remains here for awhile to allow for old usage: "make dynamic" $(NOECHO) $(NOOP)
#dynamic :: Makefile $(INST_DYNAMIC) $(INST_BOOT) $(INST_PM)
dynamic :: Makefile $(INST_DYNAMIC) $(INST_BOOT)
@$(NOOP)
# --- MakeMaker dynamic_bs section: # --- MakeMaker dynamic_bs section:
@@ -387,88 +381,116 @@ BOOTSTRAP =
## $(INST_PM) has been moved to the all: target. ## $(INST_PM) has been moved to the all: target.
## It remains here for awhile to allow for old usage: "make static" ## It remains here for awhile to allow for old usage: "make static"
#static :: Makefile $(INST_STATIC) $(INST_PM) static :: $(FIRST_MAKEFILE) $(INST_STATIC)
static :: Makefile $(INST_STATIC) $(NOECHO) $(NOOP)
@$(NOOP)
# --- MakeMaker static_lib section: # --- MakeMaker static_lib section:
# --- MakeMaker manifypods section: # --- MakeMaker manifypods section:
POD2MAN_EXE = /usr/bin/pod2man
POD2MAN = $(PERL) -we '%m=@ARGV;for (keys %m){' \
-e 'next if -e $$m{$$_} && -M $$m{$$_} < -M $$_ && -M $$m{$$_} < -M "Makefile";' \
-e 'print "Manifying $$m{$$_}\n";' \
-e 'system(q[$(PERLRUN) $(POD2MAN_EXE) ].qq[$$_>$$m{$$_}])==0 or warn "Couldn\047t install $$m{$$_}\n";' \
-e 'chmod(oct($(PERM_RW)), $$m{$$_}) or warn "chmod $(PERM_RW) $$m{$$_}: $$!\n";}'
manifypods : pure_all NOTEDB/mysql.pm \ POD2MAN_EXE = $(PERLRUN) "-MExtUtils::Command::MM" -e pod2man "--"
POD2MAN = $(POD2MAN_EXE)
manifypods : pure_all \
NOTEDB/mysql.pm \
NOTEDB/dbm.pm \
NOTEDB/binary.pm \
note.pod \
NOTEDB/mysql.pm \
NOTEDB/dbm.pm \ NOTEDB/dbm.pm \
NOTEDB/binary.pm \ NOTEDB/binary.pm \
note.pod note.pod
@$(POD2MAN) \ $(NOECHO) $(POD2MAN) --section=3 --perm_rw=$(PERM_RW)\
NOTEDB/mysql.pm \ NOTEDB/mysql.pm $(INST_MAN3DIR)/NOTEDB::mysql.$(MAN3EXT) \
$(INST_MAN3DIR)/NOTEDB::mysql.$(MAN3EXT) \ NOTEDB/dbm.pm $(INST_MAN3DIR)/NOTEDB::dbm.$(MAN3EXT) \
NOTEDB/dbm.pm \ NOTEDB/binary.pm $(INST_MAN3DIR)/NOTEDB::binary.$(MAN3EXT) \
$(INST_MAN3DIR)/NOTEDB::dbm.$(MAN3EXT) \ note.pod $(INST_MAN3DIR)/note.$(MAN3EXT)
NOTEDB/binary.pm \
$(INST_MAN3DIR)/NOTEDB::binary.$(MAN3EXT) \
note.pod \
$(INST_MAN3DIR)/note.$(MAN3EXT)
# --- MakeMaker processPL section: # --- MakeMaker processPL section:
# --- MakeMaker installbin section: # --- MakeMaker installbin section:
$(INST_SCRIPT)/.exists :: /usr/lib/perl/5.8.0/CORE/perl.h $(INST_SCRIPT)/.exists :: /usr/lib/perl/5.8/CORE/perl.h
@$(MKPATH) $(INST_SCRIPT) $(NOECHO) $(MKPATH) $(INST_SCRIPT)
@$(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8.0/CORE/perl.h $(INST_SCRIPT)/.exists $(NOECHO) $(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8/CORE/perl.h $(INST_SCRIPT)/.exists
-@$(CHMOD) $(PERM_RWX) $(INST_SCRIPT) -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_SCRIPT)
EXE_FILES = bin/note EXE_FILES = bin/note
FIXIN = $(PERLRUN) "-MExtUtils::MY" \ FIXIN = $(PERLRUN) "-MExtUtils::MY" -e "MY->fixin(shift)"
-e "MY->fixin(shift)"
pure_all :: $(INST_SCRIPT)/note pure_all :: $(INST_SCRIPT)/note
@$(NOOP) $(NOECHO) $(NOOP)
realclean :: realclean ::
rm -f $(INST_SCRIPT)/note $(RM_F) $(INST_SCRIPT)/note
$(INST_SCRIPT)/note: bin/note Makefile $(INST_SCRIPT)/.exists $(INST_SCRIPT)/note: bin/note $(FIRST_MAKEFILE) $(INST_SCRIPT)/.exists
@rm -f $(INST_SCRIPT)/note $(NOECHO) $(RM_F) $(INST_SCRIPT)/note
cp bin/note $(INST_SCRIPT)/note $(CP) bin/note $(INST_SCRIPT)/note
$(FIXIN) $(INST_SCRIPT)/note $(FIXIN) $(INST_SCRIPT)/note
-@$(CHMOD) $(PERM_RWX) $(INST_SCRIPT)/note -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_SCRIPT)/note
# --- MakeMaker subdirs section: # --- MakeMaker subdirs section:
# none # none
# --- MakeMaker clean_subdirs section:
clean_subdirs :
$(NOECHO) $(NOOP)
# --- MakeMaker clean section: # --- MakeMaker clean section:
# Delete temporary files but do not touch installed files. We don't delete # Delete temporary files but do not touch installed files. We don't delete
# the Makefile here so a later make realclean still has a makefile to use. # the Makefile here so a later make realclean still has a makefile to use.
clean :: clean :: clean_subdirs
-rm -rf ./blib $(MAKE_APERL_FILE) $(INST_ARCHAUTODIR)/extralibs.all perlmain.c tmon.out mon.out so_locations pm_to_blib *$(OBJ_EXT) *$(LIB_EXT) perl.exe perl perl$(EXE_EXT) $(BOOTSTRAP) $(BASEEXT).bso $(BASEEXT).def lib$(BASEEXT).def $(BASEEXT).exp $(BASEEXT).x core core.*perl.*.? *perl.core -$(RM_RF) ./blib $(MAKE_APERL_FILE) $(INST_ARCHAUTODIR)/extralibs.all $(INST_ARCHAUTODIR)/extralibs.ld perlmain.c tmon.out mon.out so_locations pm_to_blib *$(OBJ_EXT) *$(LIB_EXT) perl.exe perl perl$(EXE_EXT) $(BOOTSTRAP) $(BASEEXT).bso $(BASEEXT).def lib$(BASEEXT).def $(BASEEXT).exp $(BASEEXT).x core core.*perl.*.? *perl.core core.[0-9] core.[0-9][0-9] core.[0-9][0-9][0-9] core.[0-9][0-9][0-9][0-9] core.[0-9][0-9][0-9][0-9][0-9]
-mv Makefile Makefile.old $(DEV_NULL) -$(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) $(DEV_NULL)
# --- MakeMaker realclean_subdirs section:
realclean_subdirs :
$(NOECHO) $(NOOP)
# --- MakeMaker realclean section: # --- MakeMaker realclean section:
# Delete temporary files (via clean) and also delete installed files # Delete temporary files (via clean) and also delete installed files
realclean purge :: clean realclean purge :: clean realclean_subdirs
rm -rf $(INST_AUTODIR) $(INST_ARCHAUTODIR) $(RM_RF) $(INST_AUTODIR) $(INST_ARCHAUTODIR)
rm -rf $(DISTVNAME) $(RM_RF) $(DISTVNAME)
rm -f blib/lib/NOTEDB/mysql.pm blib/lib/NOTEDB/dbm.pm blib/lib/NOTEDB/README $(RM_F) $(INST_LIB)/NOTEDB/mysql.pm $(INST_LIB)/NOTEDB/binary.pm $(MAKEFILE_OLD) $(INST_LIB)/NOTEDB.pm $(INST_LIB)/note.pod $(INST_LIB)/NOTEDB/README $(INST_LIB)/NOTEDB/dbm.pm $(FIRST_MAKEFILE)
rm -f blib/lib/NOTEDB/binary.pm blib/lib/note.pod blib/lib/NOTEDB.pm
rm -rf Makefile Makefile.old
# --- MakeMaker metafile section:
metafile :
$(NOECHO) $(ECHO) '# http://module-build.sourceforge.net/META-spec.html' > META.yml
$(NOECHO) $(ECHO) '#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#' >> META.yml
$(NOECHO) $(ECHO) 'name: NOTEDB' >> META.yml
$(NOECHO) $(ECHO) 'version: 1.3' >> META.yml
$(NOECHO) $(ECHO) 'version_from: NOTEDB.pm' >> META.yml
$(NOECHO) $(ECHO) 'installdirs: site' >> META.yml
$(NOECHO) $(ECHO) 'requires:' >> META.yml
$(NOECHO) $(ECHO) '' >> META.yml
$(NOECHO) $(ECHO) 'distribution_type: module' >> META.yml
$(NOECHO) $(ECHO) 'generated_by: ExtUtils::MakeMaker version 6.17' >> META.yml
# --- MakeMaker metafile_addtomanifest section:
metafile_addtomanifest:
$(NOECHO) $(PERLRUN) -MExtUtils::Manifest=maniadd -e 'eval { maniadd({q{META.yml} => q{Module meta-data (added by MakeMaker)}}) } ' \
-e ' or print "Could not add META.yml to MANIFEST: $${'\''@'\''}\n"'
# --- MakeMaker dist_basics section: # --- MakeMaker dist_basics section:
@@ -491,13 +513,15 @@ veryclean : realclean
# --- MakeMaker dist_core section: # --- MakeMaker dist_core section:
dist : $(DIST_DEFAULT) dist : $(DIST_DEFAULT) $(FIRST_MAKEFILE)
@$(PERL) -le 'print "Warning: Makefile possibly out of date with $$vf" if ' \ $(NOECHO) $(PERLRUN) -l -e 'print '\''Warning: Makefile possibly out of date with $(VERSION_FROM)'\''' \
-e '-e ($$vf="$(VERSION_FROM)") and -M $$vf < -M "Makefile";' -e ' if -e '\''$(VERSION_FROM)'\'' and -M '\''$(VERSION_FROM)'\'' < -M '\''$(FIRST_MAKEFILE)'\'';'
tardist : $(DISTVNAME).tar$(SUFFIX) tardist : $(DISTVNAME).tar$(SUFFIX)
$(NOECHO) $(NOOP)
zipdist : $(DISTVNAME).zip uutardist : $(DISTVNAME).tar$(SUFFIX)
uuencode $(DISTVNAME).tar$(SUFFIX) $(DISTVNAME).tar$(SUFFIX) > $(DISTVNAME).tar$(SUFFIX)_uu
$(DISTVNAME).tar$(SUFFIX) : distdir $(DISTVNAME).tar$(SUFFIX) : distdir
$(PREOP) $(PREOP)
@@ -507,17 +531,15 @@ $(DISTVNAME).tar$(SUFFIX) : distdir
$(COMPRESS) $(DISTVNAME).tar $(COMPRESS) $(DISTVNAME).tar
$(POSTOP) $(POSTOP)
zipdist : $(DISTVNAME).zip
$(NOECHO) $(NOOP)
$(DISTVNAME).zip : distdir $(DISTVNAME).zip : distdir
$(PREOP) $(PREOP)
$(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME) $(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME)
$(RM_RF) $(DISTVNAME) $(RM_RF) $(DISTVNAME)
$(POSTOP) $(POSTOP)
uutardist : $(DISTVNAME).tar$(SUFFIX)
uuencode $(DISTVNAME).tar$(SUFFIX) \
$(DISTVNAME).tar$(SUFFIX) > \
$(DISTVNAME).tar$(SUFFIX)_uu
shdist : distdir shdist : distdir
$(PREOP) $(PREOP)
$(SHAR) $(DISTVNAME) > $(DISTVNAME).shar $(SHAR) $(DISTVNAME) > $(DISTVNAME).shar
@@ -525,8 +547,8 @@ shdist : distdir
$(POSTOP) $(POSTOP)
# --- MakeMaker dist_dir section: # --- MakeMaker distdir section:
distdir : distdir : metafile metafile_addtomanifest
$(RM_RF) $(DISTVNAME) $(RM_RF) $(DISTVNAME)
$(PERLRUN) "-MExtUtils::Manifest=manicopy,maniread" \ $(PERLRUN) "-MExtUtils::Manifest=manicopy,maniread" \
-e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');" -e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');"
@@ -545,9 +567,9 @@ disttest : distdir
ci : ci :
$(PERLRUN) "-MExtUtils::Manifest=maniread" \ $(PERLRUN) "-MExtUtils::Manifest=maniread" \
-e "@all = keys %{ maniread() };" \ -e "@all = keys %{ maniread() };" \
-e 'print("Executing $(CI) @all\n"); system("$(CI) @all");' \ -e "print(qq{Executing $(CI) @all\n}); system(qq{$(CI) @all});" \
-e 'print("Executing $(RCS_LABEL) ...\n"); system("$(RCS_LABEL) @all");' -e "print(qq{Executing $(RCS_LABEL) ...\n}); system(qq{$(RCS_LABEL) @all});"
# --- MakeMaker install section: # --- MakeMaker install section:
@@ -565,68 +587,57 @@ pure_install :: pure_$(INSTALLDIRS)_install
doc_install :: doc_$(INSTALLDIRS)_install doc_install :: doc_$(INSTALLDIRS)_install
pure__install : pure_site_install pure__install : pure_site_install
@echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
doc__install : doc_site_install doc__install : doc_site_install
@echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
pure_perl_install :: pure_perl_install ::
@umask 022; $(MOD_INSTALL) \ $(NOECHO) umask 022; $(MOD_INSTALL) \
read $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist \ $(INST_LIB) $(DESTINSTALLPRIVLIB) \
write $(INSTALLARCHLIB)/auto/$(FULLEXT)/.packlist \ $(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
$(INST_LIB) $(INSTALLPRIVLIB) \ $(INST_BIN) $(DESTINSTALLBIN) \
$(INST_ARCHLIB) $(INSTALLARCHLIB) \ $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
$(INST_BIN) $(INSTALLBIN) \ $(INST_MAN1DIR) $(DESTINSTALLMAN1DIR) \
$(INST_SCRIPT) $(INSTALLSCRIPT) \ $(INST_MAN3DIR) $(DESTINSTALLMAN3DIR)
$(INST_MAN1DIR) $(INSTALLMAN1DIR) \ $(NOECHO) $(WARN_IF_OLD_PACKLIST) \
$(INST_MAN3DIR) $(INSTALLMAN3DIR)
@$(WARN_IF_OLD_PACKLIST) \
$(SITEARCHEXP)/auto/$(FULLEXT) $(SITEARCHEXP)/auto/$(FULLEXT)
pure_site_install :: pure_site_install ::
@umask 02; $(MOD_INSTALL) \ $(NOECHO) umask 02; $(MOD_INSTALL) \
read $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist \ read $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist \
write $(INSTALLSITEARCH)/auto/$(FULLEXT)/.packlist \ write $(DESTINSTALLSITEARCH)/auto/$(FULLEXT)/.packlist \
$(INST_LIB) $(INSTALLSITELIB) \ $(INST_LIB) $(DESTINSTALLSITELIB) \
$(INST_ARCHLIB) $(INSTALLSITEARCH) \ $(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \
$(INST_BIN) $(INSTALLSITEBIN) \ $(INST_BIN) $(DESTINSTALLSITEBIN) \
$(INST_SCRIPT) $(INSTALLSCRIPT) \ $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
$(INST_MAN1DIR) $(INSTALLSITEMAN1DIR) \ $(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \
$(INST_MAN3DIR) $(INSTALLSITEMAN3DIR) $(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR)
@$(WARN_IF_OLD_PACKLIST) \ $(NOECHO) $(WARN_IF_OLD_PACKLIST) \
$(PERL_ARCHLIB)/auto/$(FULLEXT) $(PERL_ARCHLIB)/auto/$(FULLEXT)
pure_vendor_install :: pure_vendor_install ::
@umask 022; $(MOD_INSTALL) \ $(NOECHO) umask 022; $(MOD_INSTALL) \
$(INST_LIB) $(INSTALLVENDORLIB) \ $(INST_LIB) $(DESTINSTALLVENDORLIB) \
$(INST_ARCHLIB) $(INSTALLVENDORARCH) \ $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
$(INST_BIN) $(INSTALLVENDORBIN) \ $(INST_BIN) $(DESTINSTALLVENDORBIN) \
$(INST_SCRIPT) $(INSTALLSCRIPT) \ $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
$(INST_MAN1DIR) $(INSTALLVENDORMAN1DIR) \ $(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \
$(INST_MAN3DIR) $(INSTALLVENDORMAN3DIR) $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
doc_perl_install :: doc_perl_install ::
@echo Appending installation info to $(INSTALLARCHLIB)/perllocal.pod
-@umask 022; $(MKPATH) $(INSTALLARCHLIB)
-@umask 022; $(DOC_INSTALL) \
"Module" "$(NAME)" \
"installed into" "$(INSTALLPRIVLIB)" \
LINKTYPE "$(LINKTYPE)" \
VERSION "$(VERSION)" \
EXE_FILES "$(EXE_FILES)" \
>> $(INSTALLARCHLIB)/perllocal.pod
doc_site_install :: doc_site_install ::
@echo Appending installation info to $(INSTALLSITEARCH)/perllocal.pod $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLSITEARCH)/perllocal.pod
-@umask 02; $(MKPATH) $(INSTALLSITEARCH) -$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLSITEARCH)
-@umask 02; $(DOC_INSTALL) \ -$(NOECHO) umask 02; $(DOC_INSTALL) \
"Module" "$(NAME)" \ "Module" "$(NAME)" \
"installed into" "$(INSTALLSITELIB)" \ "installed into" "$(INSTALLSITELIB)" \
LINKTYPE "$(LINKTYPE)" \ LINKTYPE "$(LINKTYPE)" \
VERSION "$(VERSION)" \ VERSION "$(VERSION)" \
EXE_FILES "$(EXE_FILES)" \ EXE_FILES "$(EXE_FILES)" \
>> $(INSTALLSITEARCH)/perllocal.pod >> $(DESTINSTALLSITEARCH)/perllocal.pod
doc_vendor_install :: doc_vendor_install ::
@@ -634,16 +645,19 @@ doc_vendor_install ::
uninstall :: uninstall_from_$(INSTALLDIRS)dirs uninstall :: uninstall_from_$(INSTALLDIRS)dirs
uninstall_from_perldirs :: uninstall_from_perldirs ::
@$(UNINSTALL) $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist $(NOECHO) $(UNINSTALL) $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist
uninstall_from_sitedirs :: uninstall_from_sitedirs ::
@$(UNINSTALL) $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist $(NOECHO) $(UNINSTALL) $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist
uninstall_from_vendordirs ::
$(NOECHO) $(UNINSTALL) $(VENDORARCHEXP)/auto/$(FULLEXT)/.packlist
# --- MakeMaker force section: # --- MakeMaker force section:
# Phony target to force checking subdirectories. # Phony target to force checking subdirectories.
FORCE: FORCE:
@$(NOOP) $(NOECHO) $(NOOP)
# --- MakeMaker perldepend section: # --- MakeMaker perldepend section:
@@ -651,17 +665,17 @@ FORCE:
# --- MakeMaker makefile section: # --- MakeMaker makefile section:
# We take a very conservative approach here, but it\'s worth it. # We take a very conservative approach here, but it's worth it.
# We move Makefile to Makefile.old here to avoid gnu make looping. # We move Makefile to Makefile.old here to avoid gnu make looping.
Makefile : Makefile.PL $(CONFIGDEP) $(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP)
@echo "Makefile out-of-date with respect to $?" $(NOECHO) $(ECHO) "Makefile out-of-date with respect to $?"
@echo "Cleaning current config before rebuilding Makefile..." $(NOECHO) $(ECHO) "Cleaning current config before rebuilding Makefile..."
-@$(RM_F) Makefile.old $(NOECHO) $(RM_F) $(MAKEFILE_OLD)
-@$(MV) Makefile Makefile.old $(NOECHO) $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD)
-$(MAKE) -f Makefile.old clean $(DEV_NULL) || $(NOOP) -$(MAKE) -f $(MAKEFILE_OLD) clean $(DEV_NULL) || $(NOOP)
$(PERLRUN) Makefile.PL $(PERLRUN) Makefile.PL
@echo "==> Your Makefile has been rebuilt. <==" $(NOECHO) $(ECHO) "==> Your Makefile has been rebuilt. <=="
@echo "==> Please rerun the make command. <==" $(NOECHO) $(ECHO) "==> Please rerun the make command. <=="
false false
@@ -676,8 +690,8 @@ $(MAP_TARGET) :: static $(MAKE_APERL_FILE)
$(MAKE) -f $(MAKE_APERL_FILE) $@ $(MAKE) -f $(MAKE_APERL_FILE) $@
$(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) $(MAKE_APERL_FILE) : $(FIRST_MAKEFILE)
@echo Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET) $(NOECHO) $(ECHO) Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET)
@$(PERLRUNINST) \ $(NOECHO) $(PERLRUNINST) \
Makefile.PL DIR= \ Makefile.PL DIR= \
MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \ MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \
MAKEAPERL=1 NORECURS=1 CCCDLFLAGS= MAKEAPERL=1 NORECURS=1 CCCDLFLAGS=
@@ -694,7 +708,7 @@ TESTDB_SW = -d
testdb :: testdb_$(LINKTYPE) testdb :: testdb_$(LINKTYPE)
test :: $(TEST_TYPE) test :: $(TEST_TYPE)
@echo 'No tests defined for $(NAME) extension.' $(NOECHO) $(ECHO) 'No tests defined for $(NAME) extension.'
test_dynamic :: pure_all test_dynamic :: pure_all
@@ -710,18 +724,29 @@ testdb_static :: testdb_dynamic
# --- MakeMaker ppd section: # --- MakeMaker ppd section:
# Creates a PPD (Perl Package Description) for a binary distribution. # Creates a PPD (Perl Package Description) for a binary distribution.
ppd: ppd:
@$(PERL) -e "print qq{<SOFTPKG NAME=\"$(DISTNAME)\" VERSION=\"1,3,0,0\">\n\t<TITLE>$(DISTNAME)</TITLE>\n\t<ABSTRACT></ABSTRACT>\n\t<AUTHOR></AUTHOR>\n}" > $(DISTNAME).ppd $(NOECHO) $(ECHO) '<SOFTPKG NAME="$(DISTNAME)" VERSION="1,3,0,0">' > $(DISTNAME).ppd
@$(PERL) -e "print qq{\t<IMPLEMENTATION>\n}" >> $(DISTNAME).ppd $(NOECHO) $(ECHO) ' <TITLE>$(DISTNAME)</TITLE>' >> $(DISTNAME).ppd
@$(PERL) -e "print qq{\t\t<OS NAME=\"$(OSNAME)\" />\n\t\t<ARCHITECTURE NAME=\"i386-linux-thread-multi\" />\n\t\t<CODEBASE HREF=\"\" />\n\t</IMPLEMENTATION>\n</SOFTPKG>\n}" >> $(DISTNAME).ppd $(NOECHO) $(ECHO) ' <ABSTRACT></ABSTRACT>' >> $(DISTNAME).ppd
$(NOECHO) $(ECHO) ' <AUTHOR></AUTHOR>' >> $(DISTNAME).ppd
$(NOECHO) $(ECHO) ' <IMPLEMENTATION>' >> $(DISTNAME).ppd
$(NOECHO) $(ECHO) ' <OS NAME="$(OSNAME)" />' >> $(DISTNAME).ppd
$(NOECHO) $(ECHO) ' <ARCHITECTURE NAME="i386-linux-thread-multi" />' >> $(DISTNAME).ppd
$(NOECHO) $(ECHO) ' <CODEBASE HREF="" />' >> $(DISTNAME).ppd
$(NOECHO) $(ECHO) ' </IMPLEMENTATION>' >> $(DISTNAME).ppd
$(NOECHO) $(ECHO) '</SOFTPKG>' >> $(DISTNAME).ppd
# --- MakeMaker pm_to_blib section: # --- MakeMaker pm_to_blib section:
pm_to_blib: $(TO_INST_PM) pm_to_blib: $(TO_INST_PM)
@$(PERLRUNINST) "-MExtUtils::Install" \ $(NOECHO) $(PERLRUN) -MExtUtils::Install -e 'pm_to_blib({@ARGV}, '\''$(INST_LIB)/auto'\'', '\''$(PM_FILTER)'\'')'\
-e "pm_to_blib({qw{NOTEDB/README blib/lib/NOTEDB/README NOTEDB/dbm.pm blib/lib/NOTEDB/dbm.pm NOTEDB/mysql.pm blib/lib/NOTEDB/mysql.pm NOTEDB/binary.pm blib/lib/NOTEDB/binary.pm NOTEDB.pm blib/lib/NOTEDB.pm}},'$(INST_LIB)/auto','$(PM_FILTER)')" NOTEDB/README $(INST_LIB)/NOTEDB/README \
@$(PERLRUNINST) "-MExtUtils::Install" \ NOTEDB/mysql.pm $(INST_LIB)/NOTEDB/mysql.pm \
-e "pm_to_blib({qw{note.pod blib/lib/note.pod}},'$(INST_LIB)/auto','$(PM_FILTER)')" NOTEDB/dbm.pm $(INST_LIB)/NOTEDB/dbm.pm \
@$(TOUCH) $@ NOTEDB/binary.pm $(INST_LIB)/NOTEDB/binary.pm \
NOTEDB.pm $(INST_LIB)/NOTEDB.pm \
note.pod $(INST_LIB)/note.pod
$(NOECHO) $(TOUCH) $@
# --- MakeMaker selfdocument section: # --- MakeMaker selfdocument section:

View File

@@ -8,6 +8,7 @@ package NOTEDB;
use strict; use strict;
use Data::Dumper; use Data::Dumper;
use IO::Seekable; use IO::Seekable;
use File::Spec;
use NOTEDB; use NOTEDB;
@@ -32,13 +33,15 @@ sub new
exit(1); exit(1);
} }
$self->{version} = "(NOTEDB::binary, 1.7)"; $self->{version} = "(NOTEDB::binary, 1.8)";
$self->{NOTEDB} = $dbname; $self->{NOTEDB} = $dbname;
my $TYPEDEF = "i a$MAX_NOTE a$MAX_TIME"; my $TYPEDEF = "i a$MAX_NOTE a$MAX_TIME";
my $SIZEOF = length pack($TYPEDEF, () ); my $SIZEOF = length pack($TYPEDEF, () );
$self->{sizeof} = $SIZEOF; $self->{sizeof} = $SIZEOF;
$self->{typedef} = $TYPEDEF; $self->{typedef} = $TYPEDEF;
$self->{maxnote} = $MAX_NOTE;
return $self; return $self;
} }
@@ -192,9 +195,11 @@ sub get_search
sub set_edit sub set_edit {
{
my($this, $num, $note, $date) = @_; my($this, $num, $note, $date) = @_;
$this->warn_if_too_big($note, $num);
my $address = ($num -1 ) * $this->{sizeof}; my $address = ($num -1 ) * $this->{sizeof};
open NOTE, "+<$this->{NOTEDB}" or die "could not open $this->{NOTEDB}\n"; open NOTE, "+<$this->{NOTEDB}" or die "could not open $this->{NOTEDB}\n";
@@ -214,9 +219,11 @@ sub set_edit
} }
sub set_new sub set_new {
{
my($this, $num, $note, $date) = @_; my($this, $num, $note, $date) = @_;
$this->warn_if_too_big($note, $num);
open NOTE, "+<$this->{NOTEDB}" or die "could not open $this->{NOTEDB}\n"; open NOTE, "+<$this->{NOTEDB}" or die "could not open $this->{NOTEDB}\n";
flock NOTE, LOCK_EX; flock NOTE, LOCK_EX;
@@ -307,6 +314,7 @@ sub uen
$T = pack("u", $_[0]); $T = pack("u", $_[0]);
} }
chomp $T; chomp $T;
return $T; return $T;
} }
@@ -326,6 +334,36 @@ sub ude
} }
sub warn_if_too_big {
my ($this, $note, $num) = @_;
my $len = length($this->uen($note));
if ($len > $this->{maxnote}) {
# calculate the 30% uuencoding overhead
my $overhead = int(($this->{maxnote} / 100) * 28);
# fetch what's left by driver
my $left = substr $note, $this->{maxnote} - $overhead;
$left = "\n$left\n";
$left =~ s/\n/\n> /gs;
print STDERR "*** WARNING $this->{version} WARNING ***\n"
."The driver encountered a string length problem with your\n"
."note entry number $num. The entry is too long. Either shorten\n"
."the entry or resize the database field for entries.\n\n"
."The following data has been cut off the entry:\n"
."\n$left\n\n";
my $copy = File::Spec->catfile($ENV{'HOME'}, "entry-$num.txt");
open N, ">$copy" or die "Could not open $copy: $!\n";
print N $note;
close N;
print "*** Wrote the complete note entry number $num to file: $copy ***\n";
}
}
@@ -407,5 +445,4 @@ please see the section SYNOPSIS, it says it all.
Thomas Linden <tom@daemon.de>. Thomas Linden <tom@daemon.de>.
=cut =cut

4
README
View File

@@ -1,4 +1,4 @@
note 1.2.5 by Thomas Linden, 19/01/2004 note 1.2.6 by Thomas Linden, 30/06/2004
======================================= =======================================
Introduction Introduction
@@ -205,4 +205,4 @@ and I'll add you.
Last changed Last changed
============ ============
19/01/2004 30/06/2004

View File

@@ -1 +1 @@
1.2.4 1.2.6

View File

@@ -128,7 +128,7 @@ $TIME_COLOR = "blue";
$TOPIC_COLOR = "bold"; $TOPIC_COLOR = "bold";
$TOPIC = 1; $TOPIC = 1;
$TopicSep = '/'; $TopicSep = '/';
$version = "1.2.5"; $version = "1.2.6";
if ($TOPIC) { if ($TOPIC) {
$CurDepth = 1; # the current depth inside the topic "directory" structure... $CurDepth = 1; # the current depth inside the topic "directory" structure...
} }
@@ -797,7 +797,7 @@ sub del {
############################### EDIT ################################## ############################### EDIT ##################################
sub edit { sub edit {
my($keeptime, $date, $editor, $TEMP, $note, $t, $num, $match); my($keeptime, $date, $editor, $TEMP, $note, $t, $num, $match, $backup);
# edit a note # edit a note
$date = &getdate; $date = &getdate;
($note, $keeptime) = $db->get_single($number); ($note, $keeptime) = $db->get_single($number);
@@ -816,6 +816,8 @@ sub edit {
select STDOUT; select STDOUT;
$editor = &find_editor; $editor = &find_editor;
$backup = $note;
if ($editor) { if ($editor) {
system ($editor, $TEMP) and die "Could not execute $editor: $!\n"; system ($editor, $TEMP) and die "Could not execute $editor: $!\n";
} }
@@ -834,16 +836,21 @@ sub edit {
unlink $TEMP || die $!; unlink $TEMP || die $!;
if ($KEEP_TIMESTAMP eq "YES") { if ($note ne $backup) {
$t = $keeptime; if ($KEEP_TIMESTAMP eq "YES") {
$t = $keeptime;
}
else {
$t = $date;
}
# we got it, now save to db
$db->set_edit($number, $note, $t);
print "note number $number has been changed.\n";
} }
else { else {
$t = $date; print "note number $number has not changed, no save done.\n";
} }
# we got it, now save to db
$db->set_edit($number, $note, $t);
print "note number $number has been changed.\n";
} }

View File

@@ -1,4 +1,5 @@
# 1.2.5 -*- sh -*- # note 1.2.6 -*- sh -*-
#
# This is a sample config for the note script # This is a sample config for the note script
# There are useful defaults set in note itself. # There are useful defaults set in note itself.
# #
@@ -28,7 +29,10 @@
DbDriver binary DbDriver binary
#
# backend specific settings for sql backend # backend specific settings for sql backend
#
#DbHost localhost #DbHost localhost
#DbPort #DbPort
#DbUser you #DbUser you
@@ -38,44 +42,57 @@ DbDriver binary
#FieldNumber number #FieldNumber number
#FieldNote note #FieldNote note
#FieldDate date #FieldDate date
# uncomment for using an encrypted password, generate it with note "--encrypt" # uncomment for using an encrypted password, generate it
# with note "--encrypt"
#encrypt_passwd 1 #encrypt_passwd 1
#### specific end ### #### specific end ###
#
# backend specific settings for binary(default) backend # backend specific settings for binary(default) backend
#
# where to store the database (filename)
NoteDb ~/.notedb NoteDb ~/.notedb
#
# Define the maximum bytes fields can have in a # Define the maximum bytes fields can have in a
# note-entry. Do not change MaxTimeByte to less than 64! # note-entry. Do not change MaxTimeByte to less than 64!
MaxNoteByte 4096 MaxNoteByte 4096
MaxTimeByte 64 MaxTimeByte 64
#### specific end ### #### specific end ###
# backend specific settings for DBM backend # backend specific settings for DBM backend
# this must be an existing directory! #
# Directory where to store the dbm files
#DbName /home/you/.notedbm #DbName /home/you/.notedbm
#### specific end ### #### specific end ###
# You can use encryption with note, that means notes and # You can use encryption with note, that means notes and
# timestamps will be stored encrypted. This is supported # timestamps will be stored encrypted. This is supported
# by every db-backend. # by every db-backend.
# Set to 1 to turn it on. The Default is 0 (off) # Set to 1 to turn it on. The Default is 0 (off)
UseEncryption 0 UseEncryption 0
# Specify the encryption protocol. The appropriate perl # Specify the encryption protocol. The appropriate perl
# module needs to be installed. Possible velues are # module needs to be installed. Possible velues are
# IDEA, DES or Blowfish, the default is IDEA. # IDEA, DES or Blowfish, the default is IDEA.
CryptMethod IDEA CryptMethod IDEA
# You can run note always in interactive mode by simply # You can run note always in interactive mode by simply
# typing "note". Set this option to 1 to turn it on. # typing "note". Set this option to 1 to turn it on.
# The default is 1 (on). # The default is 1 (on).
AlwaysInteractive 1 AlwaysInteractive 1
# In interactive mode, note issues a list command if you # In interactive mode, note issues a list command if you
# simply hit enter. By turning this on, it will issue a # simply hit enter. By turning this on, it will issue a
# longlist command instead if you hit just enter. # longlist command instead if you hit just enter.
@@ -90,11 +107,13 @@ DefaultLong 0
AlwaysEditor 0 AlwaysEditor 0
# uncomment and edit it, if you want to use another # uncomment and edit it, if you want to use another
# editor than the default $EDITOR or as fallback vi. # editor than the default $EDITOR or as fallback vi.
#PreferredEditor emacs #PreferredEditor emacs
# If you dont prefer that note updates the timestamp of a # If you dont prefer that note updates the timestamp of a
# note after editing, turn this on. It will # note after editing, turn this on. It will
# keep the original timestamp if this option is set. # keep the original timestamp if this option is set.
@@ -102,12 +121,14 @@ AlwaysEditor 0
KeepTimeStamp 0 KeepTimeStamp 0
# You can specify your own topic separator here. # You can specify your own topic separator here.
# the default topic separator is a normal slash: "/" # the default topic separator is a normal slash: "/"
# see README for details about topics! # see README for details about topics!
TopicSeparator / TopicSeparator /
# The maximum width for displaying a note, in CHARS. # The maximum width for displaying a note, in CHARS.
# Depends on your screen-size. You can set it to # Depends on your screen-size. You can set it to
# "auto", if you wish that note should determine the # "auto", if you wish that note should determine the
@@ -115,29 +136,35 @@ TopicSeparator /
MaxLen auto MaxLen auto
# Set this to 0 if you dont want note to automatically # Set this to 0 if you dont want note to automatically
# clear the screen after displaying something and after # clear the screen after displaying something and after
# exit (feature introduced in 1.2.1). # exit (feature introduced in 1.2.1).
AutoClear 1 AutoClear 1
# note can use colors for output, set this option to # note can use colors for output, set this option to
# 1, if you don't want it, or if your terminal does # 1, if you don't want it, or if your terminal does
# not support it, set to 0. The default is 1 (on). # not support it, set to 0. The default is 1 (on).
UseColors 1 UseColors 1
# Color-definitions of the various items. Will only # Color-definitions of the various items. Will only
# take effect, if "UseColors" is turned on! # take effect, if "UseColors" is turned on!
BorderColor BLACK #
NumberColor blue
NoteColor green
TimeColor black
TopicColor BLACK
# The following colors are available: # The following colors are available:
# black, red, green, yellow, blue, magenta, cyan and white. # black, red, green, yellow, blue, magenta, cyan and white.
# for bold color write it uppercase (BLACK will be bold black) # for bold color write it uppercase (BLACK will be bold black)
# for underlined color append an underscore (blue_ will be underlined blue) # for underlined color append an underscore (blue_ will be underlined blue)
# for inverted color append an "I" (greenI will be inverted green) # for inverted color append an "I" (greenI will be inverted green)
BorderColor BLACK
NumberColor blue
NoteColor green
TimeColor black
TopicColor BLACK
# Additional to colors, you can also do a little bit of formatting your # Additional to colors, you can also do a little bit of formatting your
@@ -147,6 +174,7 @@ TopicColor BLACK
FormatText 1 FormatText 1
# You might specify your own directory for temporary files. # You might specify your own directory for temporary files.
# note needs to create some temp files during editing of notes. # note needs to create some temp files during editing of notes.
# You could protect this directory using the command: chmod 700 directory. # You could protect this directory using the command: chmod 700 directory.

View File

@@ -513,6 +513,6 @@ Thomas Linden <tom@daemon.de>
=head1 VERSION =head1 VERSION
1.2.5 (19/01/2004) 1.2.6 (30/06/2004)
=cut =cut