mirror of
https://codeberg.org/scip/note.git
synced 2025-12-18 13:11:01 +01:00
CHANGED: using Makemaker instead of self-written code in Makefile.PL
for installation. No more dependency checks built-in because
note runs out-of-the-box without additional modules, as a matter fact.
ADDED: if a search matches exactly on one note it will be displayed
directly, which avoids typing.
CHANGED: the main if-else contruct for calling the several subs has
been replaced by a simple closure call.
CHANGED: notes will now displayed in a slightly simpler fashion in interactive
mode, without the separator line between the title and the note.
ADDED: note can now determine automatically the width and height of
the terminal window it runs in (in interactive mode only) and
sets the width/height of what it prints accordingly. the config
variable "MaxLen" must be set to "auto" (which is the default
from now on) to get this to work.
ADDED: any interactive command will now clear the screen before it does
anything. this look much more uncluttered.
ADDED: if multiple notes are printed at once (i.e. note 1,2) then the
separator line between them will no more being printed because
every notes title is preceded by a line anyway.
CHANGED: by default the default operation mode is now interactive mode,
which is somewhat kindlier to new users.
CHANGED: changed to order which editor note tries to find. vi got now
higher precedence, because it is likely installed on almost
any unix system.
CHANGED: cosmetics.
NOTE: increased minor version number from 1 to 2 to indicate that
development begun after 2 1/2 years pause again :-)
This commit is contained in:
37
Changelog
37
Changelog
@@ -1,4 +1,41 @@
|
|||||||
================================================================================
|
================================================================================
|
||||||
|
1.2.0:
|
||||||
|
CHANGED: using Makemaker instead of self-written code in Makefile.PL
|
||||||
|
for installation. No more dependency checks built-in because
|
||||||
|
note runs out-of-the-box without additional modules, as a matter fact.
|
||||||
|
ADDED: if a search matches exactly on one note it will be displayed
|
||||||
|
directly, which avoids typing.
|
||||||
|
CHANGED: the main if-else contruct for calling the several subs has
|
||||||
|
been replaced by a simple closure call.
|
||||||
|
CHANGED: notes will now displayed in a slightly simpler fashion in interactive
|
||||||
|
mode, without the separator line between the title and the note.
|
||||||
|
ADDED: note can now determine automatically the width and height of
|
||||||
|
the terminal window it runs in (in interactive mode only) and
|
||||||
|
sets the width/height of what it prints accordingly. the config
|
||||||
|
variable "MaxLen" must be set to "auto" (which is the default
|
||||||
|
from now on) to get this to work.
|
||||||
|
ADDED: any interactive command will now clear the screen before it does
|
||||||
|
anything. this look much more uncluttered.
|
||||||
|
ADDED: if multiple notes are printed at once (i.e. note 1,2) then the
|
||||||
|
separator line between them will no more being printed because
|
||||||
|
every notes title is preceded by a line anyway.
|
||||||
|
CHANGED: by default the default operation mode is now interactive mode,
|
||||||
|
which is somewhat kindlier to new users.
|
||||||
|
CHANGED: changed to order which editor note tries to find. vi got now
|
||||||
|
higher precedence, because it is likely installed on almost
|
||||||
|
any unix system.
|
||||||
|
CHANGED: cosmetics.
|
||||||
|
NOTE: increased minor version number from 1 to 2 to indicate that
|
||||||
|
development begun after 2 1/2 years pause again :-)
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
1.1.2:
|
||||||
|
FIXED: Empty notes will no longer stored.
|
||||||
|
ADDED: A new config option which allows you to specify a time format
|
||||||
|
other than the default one which is used by note.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
|
||||||
1.1.1:
|
1.1.1:
|
||||||
FIXED: Some odd typos in README and note.pod.
|
FIXED: Some odd typos in README and note.pod.
|
||||||
|
|||||||
118
Makefile.PL
118
Makefile.PL
@@ -1,113 +1,7 @@
|
|||||||
# does not use ExtUtils::MakeMaker, because
|
use ExtUtils::MakeMaker;
|
||||||
# NOTEDB::mysql and NOTEDB::binary are internals
|
|
||||||
# of note.
|
|
||||||
#
|
|
||||||
# $Id: Makefile.PL,v 1.2 2000/08/10 09:21:56 zarahg Exp $
|
|
||||||
#
|
|
||||||
# check for the existence of optional modules:
|
|
||||||
sub chk_mod
|
|
||||||
{
|
|
||||||
my($mod, $msg) = @_;
|
|
||||||
print "<====\tchecking $mod \t====>\n";
|
|
||||||
eval {
|
|
||||||
$mod .= ".pm";
|
|
||||||
$mod =~ s/::/\//g;
|
|
||||||
require $mod;
|
|
||||||
};
|
|
||||||
if($@) {
|
|
||||||
print $msg;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
print " ... installed.\n";
|
|
||||||
}
|
|
||||||
print "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
&chk_mod(
|
WriteMakefile(
|
||||||
"Getopt::Long",
|
'NAME' => 'NOTEDB',
|
||||||
"WARNING: Getopt::Long seems not to be installed on your system!\n"
|
'VERSION_FROM' => 'NOTEDB.pm', # finds $VERSION
|
||||||
."But it is strongly required in order to run note!\n"
|
'EXE_FILES' => [ 'bin/note' ],
|
||||||
);
|
);
|
||||||
|
|
||||||
&chk_mod(
|
|
||||||
"DB_File",
|
|
||||||
"WARNING: DB_File seems not to be installed on your system!\n"
|
|
||||||
."It is required, if you want to use the DBM backend.\n"
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
&chk_mod(
|
|
||||||
"DBI",
|
|
||||||
" WARNING: module DBI is not installed on your system.\n"
|
|
||||||
." It is required, if you want to use a SQL database with\n"
|
|
||||||
."note.\n"
|
|
||||||
);
|
|
||||||
|
|
||||||
&chk_mod(
|
|
||||||
"Crypt::IDEA",
|
|
||||||
" WARNING: module Crypt::IDEA is not installed on your system.\n"
|
|
||||||
." It is required, if you want to encrypt your data using IDEA.\n"
|
|
||||||
);
|
|
||||||
|
|
||||||
&chk_mod(
|
|
||||||
"Crypt::DES",
|
|
||||||
" WARNING: module Crypt::DES is not installed on your system.\n"
|
|
||||||
." It is required, if you want to encrypt your data using DES.\n"
|
|
||||||
);
|
|
||||||
|
|
||||||
&chk_mod(
|
|
||||||
"Crypt::CBC",
|
|
||||||
" WARNING: module Crypt::CBC is not installed on your system.\n"
|
|
||||||
." It is required, if you want to encrypt your data using CBC.\n"
|
|
||||||
);
|
|
||||||
|
|
||||||
&chk_mod(
|
|
||||||
"MD5",
|
|
||||||
" WARNING: module MD5 is not installed on your system.\n"
|
|
||||||
." It is required by Crypt::CBC.\n"
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach $dir (@INC) {
|
|
||||||
if($dir =~ /site_perl/)
|
|
||||||
{ $LIBDIR = $dir; last; }
|
|
||||||
}
|
|
||||||
print "directory, where to install libs [$LIBDIR]: ";
|
|
||||||
$input = <>;
|
|
||||||
chomp $input;
|
|
||||||
$LIBDIR = $input if($input ne "");
|
|
||||||
|
|
||||||
$BINDIR = "/usr/local/bin";
|
|
||||||
print "directory, where to install note [$BINDIR]: ";
|
|
||||||
$input = <>;
|
|
||||||
chomp $input;
|
|
||||||
$BINDIR = $input if($input ne "");
|
|
||||||
|
|
||||||
$install = `which install`;
|
|
||||||
|
|
||||||
open M, "> Makefile" || die $!;
|
|
||||||
print M qq~BIN = bin/note
|
|
||||||
MAN = note.1
|
|
||||||
LIBS = NOTEDB/mysql.pm NOTEDB/binary.pm NOTEDB/dbm.pm
|
|
||||||
CORE = NOTEDB.pm
|
|
||||||
INSTBIN = $BINDIR
|
|
||||||
INSTLIB = $LIBDIR
|
|
||||||
INSTMAN = /usr/man/man1
|
|
||||||
INSTALL = $install
|
|
||||||
all:
|
|
||||||
\@echo "done. Type make install.\\n"
|
|
||||||
|
|
||||||
install:
|
|
||||||
\$(INSTALL) -m 755 \$(CORE) \$(INSTLIB)
|
|
||||||
\$(INSTALL) -d -m 755 \$(INSTLIB)/NOTEDB
|
|
||||||
\$(INSTALL) -m 755 \$(LIBS) \$(INSTLIB)/NOTEDB
|
|
||||||
\$(INSTALL) -m 755 \$(BIN) \$(INSTBIN)
|
|
||||||
\$(INSTALL) -m 644 \$(MAN) \$(INSTMAN)
|
|
||||||
~;
|
|
||||||
|
|
||||||
print "Type \"make install\" to install all files.\n\n";
|
|
||||||
print "Please note: You may also copy the file \"config/noterc\" to\n"
|
|
||||||
."your home: \"cp config/noterc ~/.noterc\". Don't forget to edit\n"
|
|
||||||
."your config-file. Read the README for more informations on this\n"
|
|
||||||
."topic.\n"
|
|
||||||
."Thanks for choosing \"note\"! You are helping to keep the \n"
|
|
||||||
."OpenSource idea alive! Enjoy and tell me, what you think!\n\n";
|
|
||||||
|
|||||||
732
Makefile.old
Normal file
732
Makefile.old
Normal file
@@ -0,0 +1,732 @@
|
|||||||
|
# This Makefile is for the NOTEDB extension to perl.
|
||||||
|
#
|
||||||
|
# It was generated automatically by MakeMaker version
|
||||||
|
# 6.03 (Revision: 1.63) from the contents of
|
||||||
|
# Makefile.PL. Don't edit this file, edit Makefile.PL instead.
|
||||||
|
#
|
||||||
|
# ANY CHANGES MADE HERE WILL BE LOST!
|
||||||
|
#
|
||||||
|
# MakeMaker ARGV: ()
|
||||||
|
#
|
||||||
|
# MakeMaker Parameters:
|
||||||
|
|
||||||
|
# EXE_FILES => [q[bin/note]]
|
||||||
|
# NAME => q[NOTEDB]
|
||||||
|
# VERSION_FROM => q[NOTEDB.pm]
|
||||||
|
|
||||||
|
# --- MakeMaker post_initialize section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker const_config section:
|
||||||
|
|
||||||
|
# These definitions are from config.sh (via /usr/lib/perl/5.8.0/Config.pm)
|
||||||
|
|
||||||
|
# They may have been overridden via Makefile.PL or on the command line
|
||||||
|
AR = ar
|
||||||
|
CC = cc
|
||||||
|
CCCDLFLAGS = -fPIC
|
||||||
|
CCDLFLAGS = -rdynamic
|
||||||
|
DLEXT = so
|
||||||
|
DLSRC = dl_dlopen.xs
|
||||||
|
LD = cc
|
||||||
|
LDDLFLAGS = -shared -L/usr/local/lib
|
||||||
|
LDFLAGS = -L/usr/local/lib
|
||||||
|
LIBC = /lib/libc-2.3.1.so
|
||||||
|
LIB_EXT = .a
|
||||||
|
OBJ_EXT = .o
|
||||||
|
OSNAME = linux
|
||||||
|
OSVERS = 2.4.19
|
||||||
|
RANLIB = :
|
||||||
|
SO = so
|
||||||
|
EXE_EXT =
|
||||||
|
FULL_AR = /usr/bin/ar
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker constants section:
|
||||||
|
AR_STATIC_ARGS = cr
|
||||||
|
NAME = NOTEDB
|
||||||
|
DISTNAME = NOTEDB
|
||||||
|
NAME_SYM = NOTEDB
|
||||||
|
VERSION = 1.3
|
||||||
|
VERSION_SYM = 1_3
|
||||||
|
XS_VERSION = 1.3
|
||||||
|
INST_ARCHLIB = blib/arch
|
||||||
|
INST_SCRIPT = blib/script
|
||||||
|
INST_BIN = blib/bin
|
||||||
|
INST_LIB = blib/lib
|
||||||
|
INSTALLDIRS = site
|
||||||
|
PREFIX = /usr
|
||||||
|
SITEPREFIX = $(PREFIX)/local
|
||||||
|
VENDORPREFIX = $(PREFIX)
|
||||||
|
INSTALLPRIVLIB = $(PREFIX)/share/perl/5.8.0
|
||||||
|
INSTALLSITELIB = $(SITEPREFIX)/share/perl/5.8.0
|
||||||
|
INSTALLVENDORLIB = $(VENDORPREFIX)/share/perl5
|
||||||
|
INSTALLARCHLIB = $(PREFIX)/lib/perl/5.8.0
|
||||||
|
INSTALLSITEARCH = $(SITEPREFIX)/lib/perl/5.8.0
|
||||||
|
INSTALLVENDORARCH = $(VENDORPREFIX)/lib/perl5
|
||||||
|
INSTALLBIN = $(PREFIX)/bin
|
||||||
|
INSTALLSITEBIN = $(SITEPREFIX)/bin
|
||||||
|
INSTALLVENDORBIN = $(VENDORPREFIX)/bin
|
||||||
|
INSTALLSCRIPT = $(PREFIX)/bin
|
||||||
|
PERL_LIB = /usr/share/perl/5.8.0
|
||||||
|
PERL_ARCHLIB = /usr/lib/perl/5.8.0
|
||||||
|
SITELIBEXP = /usr/local/share/perl/5.8.0
|
||||||
|
SITEARCHEXP = /usr/local/lib/perl/5.8.0
|
||||||
|
LIBPERL_A = libperl.a
|
||||||
|
FIRST_MAKEFILE = Makefile
|
||||||
|
MAKE_APERL_FILE = Makefile.aperl
|
||||||
|
PERLMAINCC = $(CC)
|
||||||
|
PERL_INC = /usr/lib/perl/5.8.0/CORE
|
||||||
|
PERL = /usr/bin/perl
|
||||||
|
FULLPERL = /usr/bin/perl
|
||||||
|
PERLRUN = $(PERL)
|
||||||
|
FULLPERLRUN = $(FULLPERL)
|
||||||
|
PERLRUNINST = $(PERLRUN) "-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)"
|
||||||
|
FULL_AR = /usr/bin/ar
|
||||||
|
PERL_CORE = 0
|
||||||
|
NOOP = $(SHELL) -c true
|
||||||
|
NOECHO = @
|
||||||
|
|
||||||
|
VERSION_MACRO = VERSION
|
||||||
|
DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\"
|
||||||
|
XS_VERSION_MACRO = XS_VERSION
|
||||||
|
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).
|
||||||
|
# BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle)
|
||||||
|
# PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar)
|
||||||
|
# DLBASE = Basename part of dynamic library. May be just equal BASEEXT.
|
||||||
|
FULLEXT = NOTEDB
|
||||||
|
BASEEXT = NOTEDB
|
||||||
|
PARENT_NAME =
|
||||||
|
DLBASE = $(BASEEXT)
|
||||||
|
VERSION_FROM = NOTEDB.pm
|
||||||
|
OBJECT =
|
||||||
|
LDFROM = $(OBJECT)
|
||||||
|
LINKTYPE = dynamic
|
||||||
|
|
||||||
|
# Handy lists of source code files:
|
||||||
|
XS_FILES=
|
||||||
|
C_FILES =
|
||||||
|
O_FILES =
|
||||||
|
H_FILES =
|
||||||
|
MAN1PODS =
|
||||||
|
MAN3PODS = NOTEDB/binary.pm \
|
||||||
|
NOTEDB/dbm.pm \
|
||||||
|
NOTEDB/mysql.pm \
|
||||||
|
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
|
||||||
|
CONFIGDEP = $(PERL_ARCHLIB)/Config.pm $(PERL_INC)/config.h
|
||||||
|
|
||||||
|
# Where to put things:
|
||||||
|
INST_LIBDIR = $(INST_LIB)
|
||||||
|
INST_ARCHLIBDIR = $(INST_ARCHLIB)
|
||||||
|
|
||||||
|
INST_AUTODIR = $(INST_LIB)/auto/$(FULLEXT)
|
||||||
|
INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT)
|
||||||
|
|
||||||
|
INST_STATIC =
|
||||||
|
INST_DYNAMIC =
|
||||||
|
INST_BOOT =
|
||||||
|
|
||||||
|
EXPORT_LIST =
|
||||||
|
|
||||||
|
PERL_ARCHIVE =
|
||||||
|
|
||||||
|
PERL_ARCHIVE_AFTER =
|
||||||
|
|
||||||
|
TO_INST_PM = NOTEDB.pm \
|
||||||
|
NOTEDB/README \
|
||||||
|
NOTEDB/binary.pm \
|
||||||
|
NOTEDB/dbm.pm \
|
||||||
|
NOTEDB/mysql.pm \
|
||||||
|
note.pod
|
||||||
|
|
||||||
|
PM_TO_BLIB = NOTEDB/mysql.pm \
|
||||||
|
blib/lib/NOTEDB/mysql.pm \
|
||||||
|
NOTEDB/dbm.pm \
|
||||||
|
blib/lib/NOTEDB/dbm.pm \
|
||||||
|
NOTEDB/README \
|
||||||
|
blib/lib/NOTEDB/README \
|
||||||
|
NOTEDB/binary.pm \
|
||||||
|
blib/lib/NOTEDB/binary.pm \
|
||||||
|
note.pod \
|
||||||
|
blib/lib/note.pod \
|
||||||
|
NOTEDB.pm \
|
||||||
|
blib/lib/NOTEDB.pm
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker tool_autosplit section:
|
||||||
|
# Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto
|
||||||
|
AUTOSPLITFILE = $(PERLRUN) -e 'use AutoSplit; autosplit($$ARGV[0], $$ARGV[1], 0, 1, 1) ;'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker tool_xsubpp section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker tools_other section:
|
||||||
|
|
||||||
|
SHELL = /bin/sh
|
||||||
|
CHMOD = chmod
|
||||||
|
CP = cp
|
||||||
|
LD = cc
|
||||||
|
MV = mv
|
||||||
|
NOOP = $(SHELL) -c true
|
||||||
|
RM_F = rm -f
|
||||||
|
RM_RF = rm -rf
|
||||||
|
TEST_F = test -f
|
||||||
|
TOUCH = touch
|
||||||
|
UMASK_NULL = umask 0
|
||||||
|
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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
VERBINST=0
|
||||||
|
|
||||||
|
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:
|
||||||
|
ZIPFLAGS = -r
|
||||||
|
TO_UNIX = @$(NOOP)
|
||||||
|
TAR = tar
|
||||||
|
POSTOP = @$(NOOP)
|
||||||
|
ZIP = zip
|
||||||
|
DIST_DEFAULT = tardist
|
||||||
|
CI = ci -u
|
||||||
|
SHAR = shar
|
||||||
|
COMPRESS = gzip --best
|
||||||
|
DIST_CP = best
|
||||||
|
PREOP = @$(NOOP)
|
||||||
|
TARFLAGS = cvf
|
||||||
|
DISTVNAME = $(DISTNAME)-$(VERSION)
|
||||||
|
SUFFIX = .gz
|
||||||
|
RCS_LABEL = rcs -Nv$(VERSION_SYM): -q
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker macro section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker depend section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker cflags section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker const_loadlibs section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker const_cccmd section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker post_constants section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker pasthru section:
|
||||||
|
|
||||||
|
PASTHRU = LIB="$(LIB)"\
|
||||||
|
LIBPERL_A="$(LIBPERL_A)"\
|
||||||
|
LINKTYPE="$(LINKTYPE)"\
|
||||||
|
PREFIX="$(PREFIX)"\
|
||||||
|
OPTIMIZE="$(OPTIMIZE)"\
|
||||||
|
PASTHRU_DEFINE="$(PASTHRU_DEFINE)"\
|
||||||
|
PASTHRU_INC="$(PASTHRU_INC)"
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker c_o section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker xs_c section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker xs_o section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker top_targets section:
|
||||||
|
|
||||||
|
all :: pure_all manifypods
|
||||||
|
@$(NOOP)
|
||||||
|
|
||||||
|
pure_all :: config pm_to_blib subdirs linkext
|
||||||
|
@$(NOOP)
|
||||||
|
|
||||||
|
subdirs :: $(MYEXTLIB)
|
||||||
|
@$(NOOP)
|
||||||
|
|
||||||
|
config :: Makefile $(INST_LIBDIR)/.exists
|
||||||
|
@$(NOOP)
|
||||||
|
|
||||||
|
config :: $(INST_ARCHAUTODIR)/.exists
|
||||||
|
@$(NOOP)
|
||||||
|
|
||||||
|
config :: $(INST_AUTODIR)/.exists
|
||||||
|
@$(NOOP)
|
||||||
|
|
||||||
|
$(INST_AUTODIR)/.exists :: /usr/lib/perl/5.8.0/CORE/perl.h
|
||||||
|
@$(MKPATH) $(INST_AUTODIR)
|
||||||
|
@$(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8.0/CORE/perl.h $(INST_AUTODIR)/.exists
|
||||||
|
|
||||||
|
-@$(CHMOD) $(PERM_RWX) $(INST_AUTODIR)
|
||||||
|
|
||||||
|
$(INST_LIBDIR)/.exists :: /usr/lib/perl/5.8.0/CORE/perl.h
|
||||||
|
@$(MKPATH) $(INST_LIBDIR)
|
||||||
|
@$(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8.0/CORE/perl.h $(INST_LIBDIR)/.exists
|
||||||
|
|
||||||
|
-@$(CHMOD) $(PERM_RWX) $(INST_LIBDIR)
|
||||||
|
|
||||||
|
$(INST_ARCHAUTODIR)/.exists :: /usr/lib/perl/5.8.0/CORE/perl.h
|
||||||
|
@$(MKPATH) $(INST_ARCHAUTODIR)
|
||||||
|
@$(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8.0/CORE/perl.h $(INST_ARCHAUTODIR)/.exists
|
||||||
|
|
||||||
|
-@$(CHMOD) $(PERM_RWX) $(INST_ARCHAUTODIR)
|
||||||
|
|
||||||
|
config :: $(INST_MAN3DIR)/.exists
|
||||||
|
@$(NOOP)
|
||||||
|
|
||||||
|
|
||||||
|
$(INST_MAN3DIR)/.exists :: /usr/lib/perl/5.8.0/CORE/perl.h
|
||||||
|
@$(MKPATH) $(INST_MAN3DIR)
|
||||||
|
@$(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8.0/CORE/perl.h $(INST_MAN3DIR)/.exists
|
||||||
|
|
||||||
|
-@$(CHMOD) $(PERM_RWX) $(INST_MAN3DIR)
|
||||||
|
|
||||||
|
help:
|
||||||
|
perldoc ExtUtils::MakeMaker
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker linkext section:
|
||||||
|
|
||||||
|
linkext :: $(LINKTYPE)
|
||||||
|
@$(NOOP)
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker dlsyms section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker dynamic section:
|
||||||
|
|
||||||
|
## $(INST_PM) has been moved to the all: target.
|
||||||
|
## It remains here for awhile to allow for old usage: "make dynamic"
|
||||||
|
#dynamic :: Makefile $(INST_DYNAMIC) $(INST_BOOT) $(INST_PM)
|
||||||
|
dynamic :: Makefile $(INST_DYNAMIC) $(INST_BOOT)
|
||||||
|
@$(NOOP)
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker dynamic_bs section:
|
||||||
|
|
||||||
|
BOOTSTRAP =
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker dynamic_lib section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker static section:
|
||||||
|
|
||||||
|
## $(INST_PM) has been moved to the all: target.
|
||||||
|
## It remains here for awhile to allow for old usage: "make static"
|
||||||
|
#static :: Makefile $(INST_STATIC) $(INST_PM)
|
||||||
|
static :: Makefile $(INST_STATIC)
|
||||||
|
@$(NOOP)
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker static_lib 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 \
|
||||||
|
NOTEDB/dbm.pm \
|
||||||
|
NOTEDB/binary.pm \
|
||||||
|
note.pod
|
||||||
|
@$(POD2MAN) \
|
||||||
|
NOTEDB/mysql.pm \
|
||||||
|
$(INST_MAN3DIR)/NOTEDB::mysql.$(MAN3EXT) \
|
||||||
|
NOTEDB/dbm.pm \
|
||||||
|
$(INST_MAN3DIR)/NOTEDB::dbm.$(MAN3EXT) \
|
||||||
|
NOTEDB/binary.pm \
|
||||||
|
$(INST_MAN3DIR)/NOTEDB::binary.$(MAN3EXT) \
|
||||||
|
note.pod \
|
||||||
|
$(INST_MAN3DIR)/note.$(MAN3EXT)
|
||||||
|
|
||||||
|
# --- MakeMaker processPL section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker installbin section:
|
||||||
|
|
||||||
|
$(INST_SCRIPT)/.exists :: /usr/lib/perl/5.8.0/CORE/perl.h
|
||||||
|
@$(MKPATH) $(INST_SCRIPT)
|
||||||
|
@$(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8.0/CORE/perl.h $(INST_SCRIPT)/.exists
|
||||||
|
|
||||||
|
-@$(CHMOD) $(PERM_RWX) $(INST_SCRIPT)
|
||||||
|
|
||||||
|
EXE_FILES = bin/note
|
||||||
|
|
||||||
|
FIXIN = $(PERLRUN) "-MExtUtils::MY" \
|
||||||
|
-e "MY->fixin(shift)"
|
||||||
|
|
||||||
|
pure_all :: $(INST_SCRIPT)/note
|
||||||
|
@$(NOOP)
|
||||||
|
|
||||||
|
realclean ::
|
||||||
|
rm -f $(INST_SCRIPT)/note
|
||||||
|
|
||||||
|
$(INST_SCRIPT)/note: bin/note Makefile $(INST_SCRIPT)/.exists
|
||||||
|
@rm -f $(INST_SCRIPT)/note
|
||||||
|
cp bin/note $(INST_SCRIPT)/note
|
||||||
|
$(FIXIN) $(INST_SCRIPT)/note
|
||||||
|
-@$(CHMOD) $(PERM_RWX) $(INST_SCRIPT)/note
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker subdirs section:
|
||||||
|
|
||||||
|
# none
|
||||||
|
|
||||||
|
# --- MakeMaker clean section:
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
clean ::
|
||||||
|
-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
|
||||||
|
-mv Makefile Makefile.old $(DEV_NULL)
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker realclean section:
|
||||||
|
|
||||||
|
# Delete temporary files (via clean) and also delete installed files
|
||||||
|
realclean purge :: clean
|
||||||
|
rm -rf $(INST_AUTODIR) $(INST_ARCHAUTODIR)
|
||||||
|
rm -rf $(DISTVNAME)
|
||||||
|
rm -f blib/lib/NOTEDB/mysql.pm blib/lib/NOTEDB/dbm.pm blib/lib/NOTEDB/README
|
||||||
|
rm -f blib/lib/NOTEDB/binary.pm blib/lib/note.pod blib/lib/NOTEDB.pm
|
||||||
|
rm -rf Makefile Makefile.old
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker dist_basics section:
|
||||||
|
distclean :: realclean distcheck
|
||||||
|
$(NOECHO) $(NOOP)
|
||||||
|
|
||||||
|
distcheck :
|
||||||
|
$(PERLRUN) "-MExtUtils::Manifest=fullcheck" -e fullcheck
|
||||||
|
|
||||||
|
skipcheck :
|
||||||
|
$(PERLRUN) "-MExtUtils::Manifest=skipcheck" -e skipcheck
|
||||||
|
|
||||||
|
manifest :
|
||||||
|
$(PERLRUN) "-MExtUtils::Manifest=mkmanifest" -e mkmanifest
|
||||||
|
|
||||||
|
veryclean : realclean
|
||||||
|
$(RM_F) *~ *.orig */*~ */*.orig
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker dist_core section:
|
||||||
|
|
||||||
|
dist : $(DIST_DEFAULT)
|
||||||
|
@$(PERL) -le 'print "Warning: Makefile possibly out of date with $$vf" if ' \
|
||||||
|
-e '-e ($$vf="$(VERSION_FROM)") and -M $$vf < -M "Makefile";'
|
||||||
|
|
||||||
|
tardist : $(DISTVNAME).tar$(SUFFIX)
|
||||||
|
|
||||||
|
zipdist : $(DISTVNAME).zip
|
||||||
|
|
||||||
|
$(DISTVNAME).tar$(SUFFIX) : distdir
|
||||||
|
$(PREOP)
|
||||||
|
$(TO_UNIX)
|
||||||
|
$(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME)
|
||||||
|
$(RM_RF) $(DISTVNAME)
|
||||||
|
$(COMPRESS) $(DISTVNAME).tar
|
||||||
|
$(POSTOP)
|
||||||
|
|
||||||
|
$(DISTVNAME).zip : distdir
|
||||||
|
$(PREOP)
|
||||||
|
$(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME)
|
||||||
|
$(RM_RF) $(DISTVNAME)
|
||||||
|
$(POSTOP)
|
||||||
|
|
||||||
|
uutardist : $(DISTVNAME).tar$(SUFFIX)
|
||||||
|
uuencode $(DISTVNAME).tar$(SUFFIX) \
|
||||||
|
$(DISTVNAME).tar$(SUFFIX) > \
|
||||||
|
$(DISTVNAME).tar$(SUFFIX)_uu
|
||||||
|
|
||||||
|
shdist : distdir
|
||||||
|
$(PREOP)
|
||||||
|
$(SHAR) $(DISTVNAME) > $(DISTVNAME).shar
|
||||||
|
$(RM_RF) $(DISTVNAME)
|
||||||
|
$(POSTOP)
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker dist_dir section:
|
||||||
|
distdir :
|
||||||
|
$(RM_RF) $(DISTVNAME)
|
||||||
|
$(PERLRUN) "-MExtUtils::Manifest=manicopy,maniread" \
|
||||||
|
-e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker dist_test section:
|
||||||
|
|
||||||
|
disttest : distdir
|
||||||
|
cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL
|
||||||
|
cd $(DISTVNAME) && $(MAKE) $(PASTHRU)
|
||||||
|
cd $(DISTVNAME) && $(MAKE) test $(PASTHRU)
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker dist_ci section:
|
||||||
|
|
||||||
|
ci :
|
||||||
|
$(PERLRUN) "-MExtUtils::Manifest=maniread" \
|
||||||
|
-e "@all = keys %{ maniread() };" \
|
||||||
|
-e 'print("Executing $(CI) @all\n"); system("$(CI) @all");' \
|
||||||
|
-e 'print("Executing $(RCS_LABEL) ...\n"); system("$(RCS_LABEL) @all");'
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker install section:
|
||||||
|
|
||||||
|
install :: all pure_install doc_install
|
||||||
|
|
||||||
|
install_perl :: all pure_perl_install doc_perl_install
|
||||||
|
|
||||||
|
install_site :: all pure_site_install doc_site_install
|
||||||
|
|
||||||
|
install_vendor :: all pure_vendor_install doc_vendor_install
|
||||||
|
|
||||||
|
pure_install :: pure_$(INSTALLDIRS)_install
|
||||||
|
|
||||||
|
doc_install :: doc_$(INSTALLDIRS)_install
|
||||||
|
|
||||||
|
pure__install : pure_site_install
|
||||||
|
@echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
|
||||||
|
|
||||||
|
doc__install : doc_site_install
|
||||||
|
@echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
|
||||||
|
|
||||||
|
pure_perl_install ::
|
||||||
|
@umask 022; $(MOD_INSTALL) \
|
||||||
|
read $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist \
|
||||||
|
write $(INSTALLARCHLIB)/auto/$(FULLEXT)/.packlist \
|
||||||
|
$(INST_LIB) $(INSTALLPRIVLIB) \
|
||||||
|
$(INST_ARCHLIB) $(INSTALLARCHLIB) \
|
||||||
|
$(INST_BIN) $(INSTALLBIN) \
|
||||||
|
$(INST_SCRIPT) $(INSTALLSCRIPT) \
|
||||||
|
$(INST_MAN1DIR) $(INSTALLMAN1DIR) \
|
||||||
|
$(INST_MAN3DIR) $(INSTALLMAN3DIR)
|
||||||
|
@$(WARN_IF_OLD_PACKLIST) \
|
||||||
|
$(SITEARCHEXP)/auto/$(FULLEXT)
|
||||||
|
|
||||||
|
|
||||||
|
pure_site_install ::
|
||||||
|
@umask 02; $(MOD_INSTALL) \
|
||||||
|
read $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist \
|
||||||
|
write $(INSTALLSITEARCH)/auto/$(FULLEXT)/.packlist \
|
||||||
|
$(INST_LIB) $(INSTALLSITELIB) \
|
||||||
|
$(INST_ARCHLIB) $(INSTALLSITEARCH) \
|
||||||
|
$(INST_BIN) $(INSTALLSITEBIN) \
|
||||||
|
$(INST_SCRIPT) $(INSTALLSCRIPT) \
|
||||||
|
$(INST_MAN1DIR) $(INSTALLSITEMAN1DIR) \
|
||||||
|
$(INST_MAN3DIR) $(INSTALLSITEMAN3DIR)
|
||||||
|
@$(WARN_IF_OLD_PACKLIST) \
|
||||||
|
$(PERL_ARCHLIB)/auto/$(FULLEXT)
|
||||||
|
|
||||||
|
pure_vendor_install ::
|
||||||
|
@umask 022; $(MOD_INSTALL) \
|
||||||
|
$(INST_LIB) $(INSTALLVENDORLIB) \
|
||||||
|
$(INST_ARCHLIB) $(INSTALLVENDORARCH) \
|
||||||
|
$(INST_BIN) $(INSTALLVENDORBIN) \
|
||||||
|
$(INST_SCRIPT) $(INSTALLSCRIPT) \
|
||||||
|
$(INST_MAN1DIR) $(INSTALLVENDORMAN1DIR) \
|
||||||
|
$(INST_MAN3DIR) $(INSTALLVENDORMAN3DIR)
|
||||||
|
|
||||||
|
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 ::
|
||||||
|
@echo Appending installation info to $(INSTALLSITEARCH)/perllocal.pod
|
||||||
|
-@umask 02; $(MKPATH) $(INSTALLSITEARCH)
|
||||||
|
-@umask 02; $(DOC_INSTALL) \
|
||||||
|
"Module" "$(NAME)" \
|
||||||
|
"installed into" "$(INSTALLSITELIB)" \
|
||||||
|
LINKTYPE "$(LINKTYPE)" \
|
||||||
|
VERSION "$(VERSION)" \
|
||||||
|
EXE_FILES "$(EXE_FILES)" \
|
||||||
|
>> $(INSTALLSITEARCH)/perllocal.pod
|
||||||
|
|
||||||
|
doc_vendor_install ::
|
||||||
|
|
||||||
|
|
||||||
|
uninstall :: uninstall_from_$(INSTALLDIRS)dirs
|
||||||
|
|
||||||
|
uninstall_from_perldirs ::
|
||||||
|
@$(UNINSTALL) $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist
|
||||||
|
|
||||||
|
uninstall_from_sitedirs ::
|
||||||
|
@$(UNINSTALL) $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker force section:
|
||||||
|
# Phony target to force checking subdirectories.
|
||||||
|
FORCE:
|
||||||
|
@$(NOOP)
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker perldepend section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker makefile section:
|
||||||
|
|
||||||
|
# We take a very conservative approach here, but it\'s worth it.
|
||||||
|
# We move Makefile to Makefile.old here to avoid gnu make looping.
|
||||||
|
Makefile : Makefile.PL $(CONFIGDEP)
|
||||||
|
@echo "Makefile out-of-date with respect to $?"
|
||||||
|
@echo "Cleaning current config before rebuilding Makefile..."
|
||||||
|
-@$(RM_F) Makefile.old
|
||||||
|
-@$(MV) Makefile Makefile.old
|
||||||
|
-$(MAKE) -f Makefile.old clean $(DEV_NULL) || $(NOOP)
|
||||||
|
$(PERLRUN) Makefile.PL
|
||||||
|
@echo "==> Your Makefile has been rebuilt. <=="
|
||||||
|
@echo "==> Please rerun the make command. <=="
|
||||||
|
false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker staticmake section:
|
||||||
|
|
||||||
|
# --- MakeMaker makeaperl section ---
|
||||||
|
MAP_TARGET = perl
|
||||||
|
FULLPERL = /usr/bin/perl
|
||||||
|
|
||||||
|
$(MAP_TARGET) :: static $(MAKE_APERL_FILE)
|
||||||
|
$(MAKE) -f $(MAKE_APERL_FILE) $@
|
||||||
|
|
||||||
|
$(MAKE_APERL_FILE) : $(FIRST_MAKEFILE)
|
||||||
|
@echo Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET)
|
||||||
|
@$(PERLRUNINST) \
|
||||||
|
Makefile.PL DIR= \
|
||||||
|
MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \
|
||||||
|
MAKEAPERL=1 NORECURS=1 CCCDLFLAGS=
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker test section:
|
||||||
|
|
||||||
|
TEST_VERBOSE=0
|
||||||
|
TEST_TYPE=test_$(LINKTYPE)
|
||||||
|
TEST_FILE = test.pl
|
||||||
|
TEST_FILES =
|
||||||
|
TESTDB_SW = -d
|
||||||
|
|
||||||
|
testdb :: testdb_$(LINKTYPE)
|
||||||
|
|
||||||
|
test :: $(TEST_TYPE)
|
||||||
|
@echo 'No tests defined for $(NAME) extension.'
|
||||||
|
|
||||||
|
test_dynamic :: pure_all
|
||||||
|
|
||||||
|
testdb_dynamic :: pure_all
|
||||||
|
PERL_DL_NONLAZY=1 $(FULLPERLRUN) $(TESTDB_SW) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE)
|
||||||
|
|
||||||
|
test_ : test_dynamic
|
||||||
|
|
||||||
|
test_static :: test_dynamic
|
||||||
|
testdb_static :: testdb_dynamic
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker ppd section:
|
||||||
|
# Creates a PPD (Perl Package Description) for a binary distribution.
|
||||||
|
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
|
||||||
|
@$(PERL) -e "print qq{\t<IMPLEMENTATION>\n}" >> $(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
|
||||||
|
|
||||||
|
# --- MakeMaker pm_to_blib section:
|
||||||
|
|
||||||
|
pm_to_blib: $(TO_INST_PM)
|
||||||
|
@$(PERLRUNINST) "-MExtUtils::Install" \
|
||||||
|
-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)')"
|
||||||
|
@$(PERLRUNINST) "-MExtUtils::Install" \
|
||||||
|
-e "pm_to_blib({qw{note.pod blib/lib/note.pod}},'$(INST_LIB)/auto','$(PM_FILTER)')"
|
||||||
|
@$(TOUCH) $@
|
||||||
|
|
||||||
|
# --- MakeMaker selfdocument section:
|
||||||
|
|
||||||
|
|
||||||
|
# --- MakeMaker postamble section:
|
||||||
|
|
||||||
|
|
||||||
|
# End.
|
||||||
@@ -2,13 +2,13 @@
|
|||||||
# this is a generic module, used by note database
|
# this is a generic module, used by note database
|
||||||
# backend modules.
|
# backend modules.
|
||||||
#
|
#
|
||||||
# $Id: NOTEDB.pm,v 1.2 2000/08/11 00:05:58 zarahg Exp $
|
# Copyright (c) 2000-2003 Thomas Linden <tom@daemon.de>
|
||||||
#
|
|
||||||
# Copyright (c) 2000 Thomas Linden <tom@daemon.de>
|
|
||||||
|
|
||||||
|
|
||||||
package NOTEDB;
|
package NOTEDB;
|
||||||
|
|
||||||
|
$NOTEDB::VERSION = "1.3";
|
||||||
|
|
||||||
BEGIN {
|
BEGIN {
|
||||||
# make sure, it works, otherwise encryption
|
# make sure, it works, otherwise encryption
|
||||||
# is not supported on this system!
|
# is not supported on this system!
|
||||||
|
|||||||
17
README
17
README
@@ -1,4 +1,4 @@
|
|||||||
note 1.1.1 by Thomas Linden, 20/08/2000
|
note 1.2.0 by Thomas Linden, 28/02/2003
|
||||||
=======================================
|
=======================================
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
@@ -28,9 +28,7 @@ Where to get?
|
|||||||
=============
|
=============
|
||||||
|
|
||||||
By now at
|
By now at
|
||||||
http://www.daemon.de/software.html
|
http://www.daemon.de/note/
|
||||||
or
|
|
||||||
ftp://www.0c49.org/pub/scip/note/
|
|
||||||
|
|
||||||
You may also try your nearest tucows mirror.
|
You may also try your nearest tucows mirror.
|
||||||
|
|
||||||
@@ -362,7 +360,7 @@ Cache
|
|||||||
A "%" character at the top left of the screen indicates that
|
A "%" character at the top left of the screen indicates that
|
||||||
the cache is in use.
|
the cache is in use.
|
||||||
I consider you not to use the cache feature if you are using
|
I consider you not to use the cache feature if you are using
|
||||||
multiple instances of note using the same database.
|
multiple instances of note accessing the same database.
|
||||||
The cache is turned off by default.
|
The cache is turned off by default.
|
||||||
|
|
||||||
|
|
||||||
@@ -396,7 +394,7 @@ Scripting
|
|||||||
Another thingy you might find useful is the -r (--raw) command-line
|
Another thingy you might find useful is the -r (--raw) command-line
|
||||||
flag. This turns note into raw mode , which means it will only print the
|
flag. This turns note into raw mode , which means it will only print the
|
||||||
data without any formatting. Raw mode is available for list and display,
|
data without any formatting. Raw mode is available for list and display,
|
||||||
since it makes no sense, interactive mode doe not support raw mode.
|
since it makes no sense, interactive mode does not support raw mode.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -539,6 +537,7 @@ Security
|
|||||||
This means an attacker could access your (unencrypted!) notes.
|
This means an attacker could access your (unencrypted!) notes.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Comments
|
Comments
|
||||||
========
|
========
|
||||||
|
|
||||||
@@ -564,7 +563,7 @@ Recources
|
|||||||
|
|
||||||
The command-line options and all commands of the interactive mode are
|
The command-line options and all commands of the interactive mode are
|
||||||
described in the supplied note(1) manpage.
|
described in the supplied note(1) manpage.
|
||||||
You may also refer to the note website http://www.0x49.org.
|
You may also refer to the note website http://www.daemon.de/note/.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -582,7 +581,7 @@ Author and Copyright
|
|||||||
Contributors / Credits
|
Contributors / Credits
|
||||||
======================
|
======================
|
||||||
|
|
||||||
Shouts to those guys who helped me to enhance note: THANKS A LOT!
|
Shouts to all those guys who helped me to enhance note: THANKS A LOT!
|
||||||
|
|
||||||
Jens Heunemann <jens.heunemann@consol.de> - sub tree.
|
Jens Heunemann <jens.heunemann@consol.de> - sub tree.
|
||||||
Peter Palmreuther - various additions.
|
Peter Palmreuther - various additions.
|
||||||
@@ -596,4 +595,4 @@ Contributors / Credits
|
|||||||
Last changed
|
Last changed
|
||||||
============
|
============
|
||||||
|
|
||||||
20/08/2000
|
28/02/2003
|
||||||
|
|||||||
209
bin/note
209
bin/note
@@ -1,9 +1,7 @@
|
|||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
# $Id: note,v 1.10 2000/08/19 13:38:33 zarahg Exp $
|
|
||||||
#
|
|
||||||
#
|
#
|
||||||
# note - console notes management with database and encryption support.
|
# note - console notes management with database and encryption support.
|
||||||
# Copyright (C) 1999-2000 Thomas Linden (see README for details!)
|
# Copyright (C) 1999-2003 Thomas Linden (see README for details!)
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# modify it under the terms of the GNU General Public License
|
||||||
@@ -22,11 +20,11 @@
|
|||||||
# - Thomas Linden <tom@daemon.de>
|
# - Thomas Linden <tom@daemon.de>
|
||||||
#
|
#
|
||||||
# latest version on:
|
# latest version on:
|
||||||
# http://www.daemon.de/software.html
|
# http://www.daemon.de/note/
|
||||||
# ftp://www.0x49.org/pub/scip/note/
|
|
||||||
#
|
#
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
no strict 'refs';
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
|
|
||||||
@@ -97,7 +95,7 @@ my (
|
|||||||
# internals
|
# internals
|
||||||
#
|
#
|
||||||
$TYPE, $mode, $NoteKey, $TempDir, %Color, @LastTopic,
|
$TYPE, $mode, $NoteKey, $TempDir, %Color, @LastTopic,
|
||||||
$version, $CurTopic, $CurDepth, $WantTopic,
|
$version, $CurTopic, $CurDepth, $WantTopic,$time_format,
|
||||||
$sizeof, %TP, $TreeType, $ListType, $SetTitle,
|
$sizeof, %TP, $TreeType, $ListType, $SetTitle,
|
||||||
@ArgTopics, $key, $typedef, @NumBlock, $has_nothing,
|
@ArgTopics, $key, $typedef, @NumBlock, $has_nothing,
|
||||||
);
|
);
|
||||||
@@ -107,7 +105,8 @@ my (
|
|||||||
# DEFAULTS, allows one to use note without a config
|
# DEFAULTS, allows one to use note without a config
|
||||||
# don't change them, instead use the config file!
|
# don't change them, instead use the config file!
|
||||||
#
|
#
|
||||||
$maxlen = 30;
|
$maxlen = 50;
|
||||||
|
my $keepmaxlen = "auto";
|
||||||
$timelen = 22;
|
$timelen = 22;
|
||||||
$date = &getdate;
|
$date = &getdate;
|
||||||
$USER = getlogin || getpwuid($<);
|
$USER = getlogin || getpwuid($<);
|
||||||
@@ -127,7 +126,7 @@ $TIME_COLOR = "blue";
|
|||||||
$TOPIC_COLOR = "bold";
|
$TOPIC_COLOR = "bold";
|
||||||
$TOPIC = 1;
|
$TOPIC = 1;
|
||||||
$TopicSep = '/';
|
$TopicSep = '/';
|
||||||
$version = "1.1.1";
|
$version = "1.2.0";
|
||||||
if ($TOPIC) {
|
if ($TOPIC) {
|
||||||
$CurDepth = 1; # the current depth inside the topic "directory" structure...
|
$CurDepth = 1; # the current depth inside the topic "directory" structure...
|
||||||
}
|
}
|
||||||
@@ -138,6 +137,7 @@ $table = "note";
|
|||||||
$fnote = "note";
|
$fnote = "note";
|
||||||
$fdate = "date";
|
$fdate = "date";
|
||||||
$fnum = "number";
|
$fnum = "number";
|
||||||
|
$ALWAYS_INT = "YES";
|
||||||
|
|
||||||
# colors available
|
# colors available
|
||||||
# \033[1m%30s\033[0m
|
# \033[1m%30s\033[0m
|
||||||
@@ -373,14 +373,14 @@ if ($dbdriver eq "binary") {
|
|||||||
eval {
|
eval {
|
||||||
require NOTEDB::binary;
|
require NOTEDB::binary;
|
||||||
$db = new NOTEDB($dbdriver, $NOTEDB, $MAX_NOTE, $MAX_TIME, $dbdriver);
|
$db = new NOTEDB($dbdriver, $NOTEDB, $MAX_NOTE, $MAX_TIME, $dbdriver);
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
elsif ($dbdriver eq "mysql") {
|
elsif ($dbdriver eq "mysql") {
|
||||||
# do the new() later because of the encrypted password!
|
# do the new() later because of the encrypted password!
|
||||||
eval {
|
eval {
|
||||||
require "NOTEDB/mysql.pm";
|
require "NOTEDB/mysql.pm";
|
||||||
};
|
};
|
||||||
die $@ if($@);
|
die "mysql backend unsupported: $@\n" if($@);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
eval {
|
eval {
|
||||||
@@ -389,9 +389,7 @@ else {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
if ($@) {
|
if ($@) {
|
||||||
print "Unsupported database backend: NOTEDB::$dbdriver!\n";
|
die "$dbdriver backend unsupported: $@\n";
|
||||||
print "The following error has occured:\n------------------------\n" . $@ . "\n------------------------\n";
|
|
||||||
exit 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -487,45 +485,23 @@ $version .= " " . $db->version();
|
|||||||
|
|
||||||
|
|
||||||
# main loop: ###############
|
# main loop: ###############
|
||||||
if ($mode eq "display") {
|
&$mode;
|
||||||
&display;
|
|
||||||
}
|
|
||||||
elsif ($mode eq "search") {
|
|
||||||
&search;
|
|
||||||
}
|
|
||||||
elsif ($mode eq "list") {
|
|
||||||
&list;
|
|
||||||
}
|
|
||||||
elsif ($mode eq "tree") {
|
|
||||||
&display_tree;
|
|
||||||
}
|
|
||||||
elsif ($mode eq "new") {
|
|
||||||
&new;
|
|
||||||
}
|
|
||||||
elsif ($mode eq "delete") {
|
|
||||||
del;
|
|
||||||
}
|
|
||||||
elsif ($mode eq "edit") {
|
|
||||||
&edit;
|
|
||||||
}
|
|
||||||
elsif ($mode eq "dump") {
|
|
||||||
&dump;
|
|
||||||
}
|
|
||||||
elsif ($mode eq "import") {
|
|
||||||
&import;
|
|
||||||
}
|
|
||||||
elsif ($mode eq "interactive") {
|
|
||||||
&interactive;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
#undefined :-(
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
exit(0);
|
exit(0);
|
||||||
################## EOP ################
|
################## EOP ################
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
############ encrypt a given password ##############
|
############ encrypt a given password ##############
|
||||||
sub encrypt_passwd {
|
sub encrypt_passwd {
|
||||||
my($key, $crypt_string);
|
my($key, $crypt_string);
|
||||||
@@ -559,12 +535,12 @@ sub encrypt_passwd {
|
|||||||
|
|
||||||
|
|
||||||
############################### DISPLAY ##################################
|
############################### DISPLAY ##################################
|
||||||
sub display
|
sub display {
|
||||||
{
|
|
||||||
my($N,$match,$note,$date,$num);
|
my($N,$match,$note,$date,$num);
|
||||||
# display a certain note
|
# display a certain note
|
||||||
print "\n";
|
print "\n";
|
||||||
&num_bereich; # get @NumBlock from $numer
|
&num_bereich; # get @NumBlock from $numer
|
||||||
|
my $count = scalar @NumBlock;
|
||||||
foreach $N (@NumBlock) {
|
foreach $N (@NumBlock) {
|
||||||
($note, $date) = $db->get_single($N);
|
($note, $date) = $db->get_single($N);
|
||||||
if ($note) {
|
if ($note) {
|
||||||
@@ -572,11 +548,12 @@ sub display
|
|||||||
print "$N\n$date\n$note\n\n";
|
print "$N\n$date\n$note\n\n";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
output($N, $note, $date, "SINGLE");
|
output($N, $note, $date, "SINGLE", $count);
|
||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
$match = 1;
|
$match = 1;
|
||||||
}
|
}
|
||||||
|
$count--;
|
||||||
}
|
}
|
||||||
if (!$match) {
|
if (!$match) {
|
||||||
print "no note with that number found!\n";
|
print "no note with that number found!\n";
|
||||||
@@ -584,8 +561,7 @@ sub display
|
|||||||
}
|
}
|
||||||
|
|
||||||
############################### SEARCH ##################################
|
############################### SEARCH ##################################
|
||||||
sub search
|
sub search {
|
||||||
{
|
|
||||||
my($n,$match,$note,$date,$num,%res);
|
my($n,$match,$note,$date,$num,%res);
|
||||||
if ($searchstring eq "") {
|
if ($searchstring eq "") {
|
||||||
print "No searchstring specified!\n";
|
print "No searchstring specified!\n";
|
||||||
@@ -594,9 +570,14 @@ sub search
|
|||||||
print "searching the database $dbname for \"$searchstring\"...\n\n";
|
print "searching the database $dbname for \"$searchstring\"...\n\n";
|
||||||
|
|
||||||
%res = $db->get_search($searchstring);
|
%res = $db->get_search($searchstring);
|
||||||
|
my $nummatches = scalar keys %res;
|
||||||
foreach $num (sort { $a <=> $b } keys %res) {
|
foreach $num (sort { $a <=> $b } keys %res) {
|
||||||
|
if ($nummatches == 1) {
|
||||||
|
output($num, $res{$num}->{'note'}, $res{$num}->{'date'}, "SINGLE");
|
||||||
|
}
|
||||||
|
else {
|
||||||
output($num, $res{$num}->{'note'}, $res{$num}->{'date'}, "search");
|
output($num, $res{$num}->{'note'}, $res{$num}->{'date'}, "search");
|
||||||
|
}
|
||||||
$match = 1;
|
$match = 1;
|
||||||
}
|
}
|
||||||
if (!$match) {
|
if (!$match) {
|
||||||
@@ -681,7 +662,6 @@ sub list {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
# it is an empty topic, no notes here
|
# it is an empty topic, no notes here
|
||||||
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
||||||
$PATH = join $TopicSep, @LastTopic;
|
$PATH = join $TopicSep, @LastTopic;
|
||||||
$PATH .= $TopicSep . $CurTopic . $TopicSep;
|
$PATH .= $TopicSep . $CurTopic . $TopicSep;
|
||||||
$PATH =~ s/^\Q$TopicSep$TopicSep\E/$TopicSep/;
|
$PATH =~ s/^\Q$TopicSep$TopicSep\E/$TopicSep/;
|
||||||
@@ -707,8 +687,7 @@ sub list {
|
|||||||
}
|
}
|
||||||
|
|
||||||
############################### NEW ##################################
|
############################### NEW ##################################
|
||||||
sub new
|
sub new {
|
||||||
{
|
|
||||||
my($TEMP,$editor, $date, $note, $WARN, $c, $line, $num, @topic);
|
my($TEMP,$editor, $date, $note, $WARN, $c, $line, $num, @topic);
|
||||||
$date = &getdate;
|
$date = &getdate;
|
||||||
if ($ALWAYS_EDIT eq "YES") {
|
if ($ALWAYS_EDIT eq "YES") {
|
||||||
@@ -717,7 +696,7 @@ sub new
|
|||||||
$editor = &find_editor;
|
$editor = &find_editor;
|
||||||
if ($editor) {
|
if ($editor) {
|
||||||
# create the temp file
|
# create the temp file
|
||||||
open NEW, "> $TEMP" or die $!;
|
open NEW, "> $TEMP" or die "Could not write $TEMP: $!\n";
|
||||||
close NEW;
|
close NEW;
|
||||||
system "chattr", "+s", $TEMP; # ignore errors, since only on ext2 supported!
|
system "chattr", "+s", $TEMP; # ignore errors, since only on ext2 supported!
|
||||||
system $editor, $TEMP;
|
system $editor, $TEMP;
|
||||||
@@ -754,7 +733,7 @@ sub new
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
print "enter the text of the note, end with .\n";
|
print "enter the text of the note, end with a single .\n";
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
$line = <STDIN>;
|
$line = <STDIN>;
|
||||||
@@ -765,8 +744,12 @@ sub new
|
|||||||
chop $note;
|
chop $note;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
# look if the note was empty, so don't store it!
|
||||||
# since we have not number, look for the next available:
|
if ($note =~ /^\s*$/) {
|
||||||
|
print "...your note was empty and will not be saved.\n";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
# since we have not a number, look for the next one available:
|
||||||
$number = $db->get_nextnum();
|
$number = $db->get_nextnum();
|
||||||
if ($TOPIC && $CurTopic ne "") {
|
if ($TOPIC && $CurTopic ne "") {
|
||||||
@topic = split(/$TopicSep/,$note);
|
@topic = split(/$TopicSep/,$note);
|
||||||
@@ -774,18 +757,14 @@ sub new
|
|||||||
$note = $PATH . "\n$note";
|
$note = $PATH . "\n$note";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$db->set_new($number,$note,$date);
|
$db->set_new($number,$note,$date);
|
||||||
|
|
||||||
# everything ok until here!
|
# everything ok until here!
|
||||||
print "note stored. it has been assigned the number $number.\n\n";
|
print "note stored. it has been assigned the number $number.\n\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
############################### DELETE ##################################
|
############################### DELETE ##################################
|
||||||
sub del
|
sub del {
|
||||||
{
|
|
||||||
my($i,@count, $setnum, $pos, $ERR);
|
my($i,@count, $setnum, $pos, $ERR);
|
||||||
# delete a note
|
# delete a note
|
||||||
&num_bereich; # get @NumBlock from $number
|
&num_bereich; # get @NumBlock from $number
|
||||||
@@ -805,8 +784,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);
|
||||||
# edit a note
|
# edit a note
|
||||||
$date = &getdate;
|
$date = &getdate;
|
||||||
@@ -825,8 +803,9 @@ sub edit
|
|||||||
close NOTE;
|
close NOTE;
|
||||||
select STDOUT;
|
select STDOUT;
|
||||||
$editor = &find_editor;
|
$editor = &find_editor;
|
||||||
|
|
||||||
if ($editor) {
|
if ($editor) {
|
||||||
system $editor, $TEMP;
|
system ($editor, $TEMP) and die "Could not execute $editor: $!\n";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
print "Could not find an editor to use!\n";
|
print "Could not find an editor to use!\n";
|
||||||
@@ -856,8 +835,7 @@ sub edit
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub dump
|
sub dump {
|
||||||
{
|
|
||||||
my(%res, $num, $DUMP);
|
my(%res, $num, $DUMP);
|
||||||
# $dump_file
|
# $dump_file
|
||||||
if ($dump_file eq "-") {
|
if ($dump_file eq "-") {
|
||||||
@@ -880,8 +858,7 @@ sub dump
|
|||||||
select STDOUT;
|
select STDOUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub import
|
sub import {
|
||||||
{
|
|
||||||
my($num, $start, $complete, $dummi, $note, $date, $time, $number, $stdin, $DUMP);
|
my($num, $start, $complete, $dummi, $note, $date, $time, $number, $stdin, $DUMP);
|
||||||
# open $dump_file and import it into the notedb
|
# open $dump_file and import it into the notedb
|
||||||
$stdin = 1 if($dump_file eq "-");
|
$stdin = 1 if($dump_file eq "-");
|
||||||
@@ -931,10 +908,39 @@ sub import
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub determine_width {
|
||||||
|
# determine terminal wide, if possible
|
||||||
|
if ($keepmaxlen eq "auto") {
|
||||||
|
eval {
|
||||||
|
my $wide = `stty -a`;
|
||||||
|
if ($wide =~ /columns (\d+?);/) {
|
||||||
|
$maxlen = $1 - 33; # (33 = timestamp + borders)
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
# stty didn't work
|
||||||
|
$maxlen = 80 - 33;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sub clear {
|
||||||
|
# first, try to determine the terminal height
|
||||||
|
my $hoch;
|
||||||
|
eval {
|
||||||
|
my $height = `stty -a`;
|
||||||
|
if ($height =~ /rows (\d+?);/) {
|
||||||
|
$hoch = $1;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (!$hoch) {
|
||||||
|
# stty didn't work
|
||||||
|
$hoch = 25;
|
||||||
|
}
|
||||||
|
print "\n" x $hoch;
|
||||||
|
}
|
||||||
|
|
||||||
sub interactive
|
sub interactive {
|
||||||
{
|
|
||||||
my($B, $BB, $menu, $char, $Channel);
|
my($B, $BB, $menu, $char, $Channel);
|
||||||
$Channel = $|;
|
$Channel = $|;
|
||||||
# create menu:
|
# create menu:
|
||||||
@@ -952,6 +958,7 @@ sub interactive
|
|||||||
. $B . "Q" . $BB . "-Quit] "; # $CurTopic will be empty if $TOPIC is off!
|
. $B . "Q" . $BB . "-Quit] "; # $CurTopic will be empty if $TOPIC is off!
|
||||||
# per default let's list all the stuff:
|
# per default let's list all the stuff:
|
||||||
# Initially do a list command!
|
# Initially do a list command!
|
||||||
|
&determine_width;
|
||||||
$ListType = ($DEFAULT_LIST eq "LONG") ? "LONG" : "";
|
$ListType = ($DEFAULT_LIST eq "LONG") ? "LONG" : "";
|
||||||
&list;
|
&list;
|
||||||
|
|
||||||
@@ -966,8 +973,10 @@ sub interactive
|
|||||||
}
|
}
|
||||||
# endless until user press "Q" or "q"!
|
# endless until user press "Q" or "q"!
|
||||||
$char = <STDIN>;
|
$char = <STDIN>;
|
||||||
#$char = $term->readline('');
|
|
||||||
chomp $char;
|
chomp $char;
|
||||||
|
&determine_width;
|
||||||
|
&clear;
|
||||||
|
|
||||||
if ($char =~ /^\d+\s*[\di*?,*?\-*?]*$/) {
|
if ($char =~ /^\d+\s*[\di*?,*?\-*?]*$/) {
|
||||||
$ListType = ""; #overrun
|
$ListType = ""; #overrun
|
||||||
# display notes
|
# display notes
|
||||||
@@ -1132,7 +1141,7 @@ Read the note(1) manpage for more details.
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub find_editor {
|
sub find_editor {
|
||||||
return $PreferredEditor || $ENV{"VISUAL"} || $ENV{"EDITOR"} || "vim" || "vi" || "pico";
|
return $PreferredEditor || $ENV{"VISUAL"} || $ENV{"EDITOR"} || "vi" || "vim" || "pico";
|
||||||
}
|
}
|
||||||
|
|
||||||
#/
|
#/
|
||||||
@@ -1158,11 +1167,11 @@ sub format {
|
|||||||
$note;
|
$note;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub output
|
sub output {
|
||||||
{
|
|
||||||
my($SSS, $LINE, $num, $note, $time, $TYPE, $L, $LONGSPC, $R, $PathLen, $SP, $title, $CUTSPACE,
|
my($SSS, $LINE, $num, $note, $time, $TYPE, $L, $LONGSPC, $R, $PathLen, $SP, $title, $CUTSPACE,
|
||||||
$len, $diff, $Space, $nlen, $txtlen);
|
$len, $diff, $Space, $nlen, $txtlen, $count);
|
||||||
($num, $note, $time, $TYPE) = @_;
|
($num, $note, $time, $TYPE, $count) = @_;
|
||||||
|
|
||||||
$txtlen = ($ListType eq "LONG") ? $maxlen : $timelen + $maxlen;
|
$txtlen = ($ListType eq "LONG") ? $maxlen : $timelen + $maxlen;
|
||||||
$note = &format($note);
|
$note = &format($note);
|
||||||
|
|
||||||
@@ -1250,16 +1259,15 @@ sub output
|
|||||||
$Space = " " x (($maxlen + $timelen) - 16);
|
$Space = " " x (($maxlen + $timelen) - 16);
|
||||||
print C $LINE;
|
print C $LINE;
|
||||||
print C "$L $NUMC$num$_NUMC $R$L$TIMEC$time$_TIMEC $Space$R\n";
|
print C "$L $NUMC$num$_NUMC $R$L$TIMEC$time$_TIMEC $Space$R\n";
|
||||||
print C $LINE;
|
print "\n";
|
||||||
print C $NOTEC . $note . $_NOTEC . "\n";
|
print C $NOTEC . $note . $_NOTEC . "\n";
|
||||||
print C $LINE;
|
print C $LINE if ($count == 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sub C
|
sub C {
|
||||||
{
|
|
||||||
my($default, $S, $Col, $NC, $T);
|
my($default, $S, $Col, $NC, $T);
|
||||||
$default = "\033[0m";
|
$default = "\033[0m";
|
||||||
$S = $_[0];
|
$S = $_[0];
|
||||||
@@ -1281,11 +1289,10 @@ sub C
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
sub num_bereich
|
sub num_bereich {
|
||||||
{
|
|
||||||
my($m,@LR,@Sorted_LR,$i);
|
my($m,@LR,@Sorted_LR,$i);
|
||||||
# $number is the one we want to delete!
|
# $number is the one we want to delete!
|
||||||
# But does it contain kommas?
|
# But does it contain commas?
|
||||||
@NumBlock = (); #reset
|
@NumBlock = (); #reset
|
||||||
$m = 0;
|
$m = 0;
|
||||||
if ($number =~ /\,/) {
|
if ($number =~ /\,/) {
|
||||||
@@ -1320,8 +1327,7 @@ sub num_bereich
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub getdate
|
sub getdate {
|
||||||
{
|
|
||||||
my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
|
my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
|
||||||
$year += 1900;
|
$year += 1900;
|
||||||
$mon += 1;
|
$mon += 1;
|
||||||
@@ -1330,12 +1336,22 @@ sub getdate
|
|||||||
$min =~ s/^(\d)$/0$1/;
|
$min =~ s/^(\d)$/0$1/;
|
||||||
$sec =~ s/^(\d)$/0$1/;
|
$sec =~ s/^(\d)$/0$1/;
|
||||||
$mday =~ s/^(\d)$/0$1/;
|
$mday =~ s/^(\d)$/0$1/;
|
||||||
|
if ($time_format) {
|
||||||
|
my $back = $time_format;
|
||||||
|
$back =~ s/YYYY/$year/;
|
||||||
|
$back =~ s/YY/substr($year, 1, 2)/e;
|
||||||
|
$back =~ s/MM/$mon/;
|
||||||
|
$back =~ s/DD/$mday/;
|
||||||
|
$back =~ s/mm/$min/;
|
||||||
|
$back =~ s/hh/$hour/;
|
||||||
|
$back =~ s/ss/$sec/;
|
||||||
|
return $back;
|
||||||
|
}
|
||||||
return "$mday.$mon.$year $hour:$min:$sec";
|
return "$mday.$mon.$year $hour:$min:$sec";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub gettemp
|
sub gettemp {
|
||||||
{
|
|
||||||
my($random, @range);
|
my($random, @range);
|
||||||
@range=('0'..'9','a'..'z','A'..'Z');
|
@range=('0'..'9','a'..'z','A'..'Z');
|
||||||
srand(time||$$);
|
srand(time||$$);
|
||||||
@@ -1352,8 +1368,7 @@ sub gettemp
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
sub help
|
sub help {
|
||||||
{
|
|
||||||
my $B = "<white_black>";
|
my $B = "<white_black>";
|
||||||
my $BB = "</white_black>";
|
my $BB = "</white_black>";
|
||||||
my($S, $L, $T, $Q, $H, $N, $D, $E);
|
my($S, $L, $T, $Q, $H, $N, $D, $E);
|
||||||
@@ -1506,7 +1521,7 @@ sub getconfig
|
|||||||
$COLOR = "YES" if (/^UseColors/ && $value == 1);
|
$COLOR = "YES" if (/^UseColors/ && $value == 1);
|
||||||
$COLOR = "NO" if (/^UseColors/ && $value == 0);
|
$COLOR = "NO" if (/^UseColors/ && $value == 0);
|
||||||
$TopicSep = $value if (/^TopicSeparator/);
|
$TopicSep = $value if (/^TopicSeparator/);
|
||||||
$maxlen = $value if (/^MaxLen/);
|
$maxlen = $keepmaxlen = $value if (/^MaxLen/);
|
||||||
$BORDER_COLOR = $value if (/^BorderColor/);
|
$BORDER_COLOR = $value if (/^BorderColor/);
|
||||||
$NUM_COLOR = $value if (/^NumberColor/);
|
$NUM_COLOR = $value if (/^NumberColor/);
|
||||||
$NOTE_COLOR = $value if (/^NoteColor/);
|
$NOTE_COLOR = $value if (/^NoteColor/);
|
||||||
@@ -1516,6 +1531,7 @@ sub getconfig
|
|||||||
$FormatText = $value if (/^FormatText/);
|
$FormatText = $value if (/^FormatText/);
|
||||||
$TempDir = $value if (/^TempDirectory/);
|
$TempDir = $value if (/^TempDirectory/);
|
||||||
$USE_CACHE = $value if (/^Cache/);
|
$USE_CACHE = $value if (/^Cache/);
|
||||||
|
$time_format = $value if (/^TimeFormat/);
|
||||||
}
|
}
|
||||||
chomp $home;
|
chomp $home;
|
||||||
$home =~ s/\/*$//; # cut eventually / at the end
|
$home =~ s/\/*$//; # cut eventually / at the end
|
||||||
@@ -1534,6 +1550,9 @@ sub getconfig
|
|||||||
__END__
|
__END__
|
||||||
#
|
#
|
||||||
# $Log: note,v $
|
# $Log: note,v $
|
||||||
|
# Revision 1.11 2000/12/09 21:56:08 zarahg
|
||||||
|
# cvs update to 1.1.2, but incomplete, more to come
|
||||||
|
#
|
||||||
# Revision 1.10 2000/08/19 13:38:33 zarahg
|
# Revision 1.10 2000/08/19 13:38:33 zarahg
|
||||||
# .
|
# .
|
||||||
#
|
#
|
||||||
|
|||||||
55
bin/stresstest.sh
Executable file
55
bin/stresstest.sh
Executable file
@@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# create notes with topics which then represents the corresponding
|
||||||
|
# directory structure. Depending on how many files the directory
|
||||||
|
# contains, the resulting note-database may become very large.
|
||||||
|
# It will then have thousands of notes!
|
||||||
|
STARTDIR=$1
|
||||||
|
case $STARTDIR in
|
||||||
|
"")
|
||||||
|
echo "usage: stresstest.sh <directory>"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
LOCPFAD=`echo $STARTDIR | grep "^[a-zA-Z0-9.]"`
|
||||||
|
case $LOCPFAD in
|
||||||
|
"")
|
||||||
|
#echo nix
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
STARTDIR=`echo $STARTDIR | sed 's/^\.*//'`
|
||||||
|
STARTDIR="`pwd`/$STARTDIR"
|
||||||
|
STARTDIR=`echo $STARTDIR | sed 's/\/\//\//g'`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
stress ()
|
||||||
|
{
|
||||||
|
FILES=""
|
||||||
|
for file in `ls $1|sort`
|
||||||
|
do
|
||||||
|
echo "$1/$file"
|
||||||
|
if [ -d "$1/$file" ] ; then
|
||||||
|
stress "$1/$file"
|
||||||
|
else
|
||||||
|
#echo "$1/" > /tmp/$$
|
||||||
|
#echo $file >> /tmp/$$
|
||||||
|
#`cat /tmp/$$ | note -`
|
||||||
|
FILES="$FILES $file"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "$1/" > /tmp/$$
|
||||||
|
echo "$FILES" >> /tmp/$$
|
||||||
|
case $FILES in
|
||||||
|
"")
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
RES=`cat /tmp/$$ | note -`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
FILES=""
|
||||||
|
}
|
||||||
|
|
||||||
|
stress $STARTDIR
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# 1.1.0 -*- sh -*-
|
# 1.1.2 -*- 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.
|
||||||
#
|
#
|
||||||
@@ -77,8 +77,8 @@ 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 0 (off).
|
# The default is 1 (on).
|
||||||
AlwaysInteractive 0
|
AlwaysInteractive 1
|
||||||
|
|
||||||
|
|
||||||
# In interactive mode, note issues a list command if you
|
# In interactive mode, note issues a list command if you
|
||||||
@@ -115,9 +115,9 @@ 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 sould determine the
|
# "auto", if you wish that note should determine the
|
||||||
# available size, but it experimental, be aware!
|
# available size.
|
||||||
MaxLen 30
|
MaxLen auto
|
||||||
|
|
||||||
|
|
||||||
# note can use colors for output, set this option to
|
# note can use colors for output, set this option to
|
||||||
@@ -168,6 +168,22 @@ Cache 0
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# you can define your very own time format for time stamps
|
||||||
|
# YY - the last 2 digits of a year
|
||||||
|
# YYYY - year
|
||||||
|
# MM - month
|
||||||
|
# DD - day
|
||||||
|
# hh - hours
|
||||||
|
# mm - minutes
|
||||||
|
# ss - seconds
|
||||||
|
# This is the default: (18.10.2000 21:32:08)
|
||||||
|
TimeFormat DD.MM.YYYY hh:mm:ss
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# That's all about it for now.
|
# That's all about it for now.
|
||||||
# If you still have any questiosn, please feel free to contact
|
# If you still have any questiosn, please feel free to contact
|
||||||
# me by email: Thomas Linden <tom@daemon.de>
|
# me by email: Thomas Linden <tom@daemon.de>
|
||||||
|
|||||||
16
note.pod
16
note.pod
@@ -142,7 +142,7 @@ It will tell you all available commandline options.
|
|||||||
To create a new note, simply run "note". You can enter
|
To create a new note, simply run "note". You can enter
|
||||||
the note (the length is by default limited to 4096 bytes,
|
the note (the length is by default limited to 4096 bytes,
|
||||||
which you can change from your config file if you are using
|
which you can change from your config file if you are using
|
||||||
the binary backend, therwise there is no limitation).
|
the binary backend, otherwise there is no limitation).
|
||||||
End by typing a . on a line itself. note will tell you the
|
End by typing a . on a line itself. note will tell you the
|
||||||
number of the note.
|
number of the note.
|
||||||
|
|
||||||
@@ -154,14 +154,13 @@ You will get a list of all notes, containing the number,
|
|||||||
the first line and the creation date. If topic-support is
|
the first line and the creation date. If topic-support is
|
||||||
turned on (which is by default), then all subtopics under the
|
turned on (which is by default), then all subtopics under the
|
||||||
current topic will be displayed first.
|
current topic will be displayed first.
|
||||||
If you want to get a listing of all
|
|
||||||
If you want to see the timestamps, use "-L" instead of "-l".
|
If you want to see the timestamps, use "-L" instead of "-l".
|
||||||
Read more about topics below in the section "Topics".
|
Read more about topics below in the section "Topics".
|
||||||
You can also specify the topic which notes you want to see:
|
You can also specify the topic which notes you want to see:
|
||||||
"-l mytopic" does the trick.
|
"-l mytopic" does the trick.
|
||||||
Additional, you might want to get an overview of your topic-
|
Additional, you might want to get an overview of your topic-
|
||||||
strcture. You can use the command "-t" in this case, which
|
structure. You can use the command "-t" in this case, which
|
||||||
will display a tree-view of your tpic-structure. You can
|
will display a tree-view of your topic-structure. You can
|
||||||
use the command "-T" if you want to see the notes under each
|
use the command "-T" if you want to see the notes under each
|
||||||
topic too. "-T" will also show the number of each note.
|
topic too. "-T" will also show the number of each note.
|
||||||
|
|
||||||
@@ -203,7 +202,12 @@ display it's second line.
|
|||||||
|
|
||||||
These rules apply for the interactive search too.
|
These rules apply for the interactive search too.
|
||||||
|
|
||||||
|
You need to know, that note searches for the expression in every
|
||||||
|
note. In other words, "moses AND lenin" searches for an occurence
|
||||||
|
of "moses" and "lenin" in ONE note. Or, if you are looking for
|
||||||
|
"mike OR daniel", then it searches for an occurence of "mike" or
|
||||||
|
daniel" in ONE note. Thus a note with the text "mike oldfield" will
|
||||||
|
match that search.
|
||||||
|
|
||||||
|
|
||||||
=head2 TOPICS
|
=head2 TOPICS
|
||||||
@@ -421,7 +425,7 @@ Another very nice feature is the possibility to format the note-text
|
|||||||
"magic-strings" for colorizing. Those strings looks much like HTML:
|
"magic-strings" for colorizing. Those strings looks much like HTML:
|
||||||
"<green>here is a green line of text</green> no more green."
|
"<green>here is a green line of text</green> no more green."
|
||||||
As you see, the beginning of another color starts with a tag(kinda) of
|
As you see, the beginning of another color starts with a tag(kinda) of
|
||||||
the color <colorname> and ens with an end tag </colorname>.
|
the color <colorname> and ends with an end tag </colorname>.
|
||||||
|
|
||||||
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.
|
||||||
|
|||||||
Reference in New Issue
Block a user