mirror of
https://codeberg.org/scip/note.git
synced 2025-12-16 20:21:04 +01:00
initial import to github done.
This commit is contained in:
782
Makefile
782
Makefile
@@ -1,782 +0,0 @@
|
||||
# This Makefile is for the NOTEDB extension to perl.
|
||||
#
|
||||
# It was generated automatically by MakeMaker version
|
||||
# 6.17 (Revision: 1.133) 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/Config.pm)
|
||||
|
||||
# They may have been overridden via Makefile.PL or on the command line
|
||||
AR = ar
|
||||
CC = cc
|
||||
CCCDLFLAGS = -fPIC
|
||||
CCDLFLAGS = -Wl,-E
|
||||
DLEXT = so
|
||||
DLSRC = dl_dlopen.xs
|
||||
LD = cc
|
||||
LDDLFLAGS = -shared -L/usr/local/lib
|
||||
LDFLAGS = -L/usr/local/lib
|
||||
LIBC = /lib/libc-2.3.2.so
|
||||
LIB_EXT = .a
|
||||
OBJ_EXT = .o
|
||||
OSNAME = linux
|
||||
OSVERS = 2.4.27-ti1211
|
||||
RANLIB = :
|
||||
SITELIBEXP = /usr/local/share/perl/5.8.4
|
||||
SITEARCHEXP = /usr/local/lib/perl/5.8.4
|
||||
SO = so
|
||||
EXE_EXT =
|
||||
FULL_AR = /usr/bin/ar
|
||||
VENDORARCHEXP = /usr/lib/perl5
|
||||
VENDORLIBEXP = /usr/share/perl5
|
||||
|
||||
|
||||
# --- MakeMaker constants section:
|
||||
AR_STATIC_ARGS = cr
|
||||
DIRFILESEP = /
|
||||
NAME = NOTEDB
|
||||
NAME_SYM = NOTEDB
|
||||
VERSION = 1.31
|
||||
VERSION_MACRO = VERSION
|
||||
VERSION_SYM = 1_31
|
||||
DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\"
|
||||
XS_VERSION = 1.31
|
||||
XS_VERSION_MACRO = XS_VERSION
|
||||
XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\"
|
||||
INST_ARCHLIB = blib/arch
|
||||
INST_SCRIPT = blib/script
|
||||
INST_BIN = blib/bin
|
||||
INST_LIB = blib/lib
|
||||
INST_MAN1DIR = blib/man1
|
||||
INST_MAN3DIR = blib/man3
|
||||
MAN1EXT = 1p
|
||||
MAN3EXT = 3pm
|
||||
INSTALLDIRS = site
|
||||
DESTDIR =
|
||||
PREFIX = /usr
|
||||
PERLPREFIX = $(PREFIX)
|
||||
SITEPREFIX = $(PREFIX)/local
|
||||
VENDORPREFIX = $(PREFIX)
|
||||
INSTALLPRIVLIB = $(PERLPREFIX)/share/perl/5.8
|
||||
DESTINSTALLPRIVLIB = $(DESTDIR)$(INSTALLPRIVLIB)
|
||||
INSTALLSITELIB = $(SITEPREFIX)/share/perl/5.8.4
|
||||
DESTINSTALLSITELIB = $(DESTDIR)$(INSTALLSITELIB)
|
||||
INSTALLVENDORLIB = $(VENDORPREFIX)/share/perl5
|
||||
DESTINSTALLVENDORLIB = $(DESTDIR)$(INSTALLVENDORLIB)
|
||||
INSTALLARCHLIB = $(PERLPREFIX)/lib/perl/5.8
|
||||
DESTINSTALLARCHLIB = $(DESTDIR)$(INSTALLARCHLIB)
|
||||
INSTALLSITEARCH = $(SITEPREFIX)/lib/perl/5.8.4
|
||||
DESTINSTALLSITEARCH = $(DESTDIR)$(INSTALLSITEARCH)
|
||||
INSTALLVENDORARCH = $(VENDORPREFIX)/lib/perl5
|
||||
DESTINSTALLVENDORARCH = $(DESTDIR)$(INSTALLVENDORARCH)
|
||||
INSTALLBIN = $(PERLPREFIX)/bin
|
||||
DESTINSTALLBIN = $(DESTDIR)$(INSTALLBIN)
|
||||
INSTALLSITEBIN = $(SITEPREFIX)/bin
|
||||
DESTINSTALLSITEBIN = $(DESTDIR)$(INSTALLSITEBIN)
|
||||
INSTALLVENDORBIN = $(VENDORPREFIX)/bin
|
||||
DESTINSTALLVENDORBIN = $(DESTDIR)$(INSTALLVENDORBIN)
|
||||
INSTALLSCRIPT = $(PERLPREFIX)/bin
|
||||
DESTINSTALLSCRIPT = $(DESTDIR)$(INSTALLSCRIPT)
|
||||
INSTALLMAN1DIR = $(PERLPREFIX)/share/man/man1
|
||||
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
|
||||
FIRST_MAKEFILE = Makefile
|
||||
MAKEFILE_OLD = $(FIRST_MAKEFILE).old
|
||||
MAKE_APERL_FILE = $(FIRST_MAKEFILE).aperl
|
||||
PERLMAINCC = $(CC)
|
||||
PERL_INC = /usr/lib/perl/5.8/CORE
|
||||
PERL = /usr/bin/perl
|
||||
FULLPERL = /usr/bin/perl
|
||||
ABSPERL = $(PERL)
|
||||
PERLRUN = $(PERL)
|
||||
FULLPERLRUN = $(FULLPERL)
|
||||
ABSPERLRUN = $(ABSPERL)
|
||||
PERLRUNINST = $(PERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
|
||||
FULLPERLRUNINST = $(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
|
||||
ABSPERLRUNINST = $(ABSPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
|
||||
PERL_CORE = 0
|
||||
PERM_RW = 644
|
||||
PERM_RWX = 755
|
||||
|
||||
MAKEMAKER = /usr/share/perl/5.8/ExtUtils/MakeMaker.pm
|
||||
MM_VERSION = 6.17
|
||||
MM_REVISION = 1.133
|
||||
|
||||
# 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/dumper.pm \
|
||||
NOTEDB/general.pm \
|
||||
NOTEDB/mysql.pm \
|
||||
NOTEDB/text.pm \
|
||||
note.pod
|
||||
|
||||
# Where is the Config information that we are using/depend on
|
||||
CONFIGDEP = $(PERL_ARCHLIB)$(DIRFILESEP)Config.pm $(PERL_INC)$(DIRFILESEP)config.h
|
||||
|
||||
# Where to build 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 =
|
||||
|
||||
# Extra linker info
|
||||
EXPORT_LIST =
|
||||
PERL_ARCHIVE =
|
||||
PERL_ARCHIVE_AFTER =
|
||||
|
||||
|
||||
TO_INST_PM = NOTEDB.pm \
|
||||
NOTEDB/README \
|
||||
NOTEDB/binary.pm \
|
||||
NOTEDB/dbm.pm \
|
||||
NOTEDB/dumper.pm \
|
||||
NOTEDB/general.pm \
|
||||
NOTEDB/mysql.pm \
|
||||
NOTEDB/text.pm \
|
||||
note.pod
|
||||
|
||||
PM_TO_BLIB = NOTEDB/general.pm \
|
||||
$(INST_LIB)/NOTEDB/general.pm \
|
||||
NOTEDB/dbm.pm \
|
||||
$(INST_LIB)/NOTEDB/dbm.pm \
|
||||
NOTEDB/README \
|
||||
$(INST_LIB)/NOTEDB/README \
|
||||
NOTEDB.pm \
|
||||
$(INST_LIB)/NOTEDB.pm \
|
||||
NOTEDB/text.pm \
|
||||
$(INST_LIB)/NOTEDB/text.pm \
|
||||
NOTEDB/mysql.pm \
|
||||
$(INST_LIB)/NOTEDB/mysql.pm \
|
||||
NOTEDB/binary.pm \
|
||||
$(INST_LIB)/NOTEDB/binary.pm \
|
||||
NOTEDB/dumper.pm \
|
||||
$(INST_LIB)/NOTEDB/dumper.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:
|
||||
# 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
|
||||
MV = mv
|
||||
NOOP = $(SHELL) -c true
|
||||
NOECHO = @
|
||||
RM_F = rm -f
|
||||
RM_RF = rm -rf
|
||||
TEST_F = test -f
|
||||
TOUCH = touch
|
||||
UMASK_NULL = umask 0
|
||||
DEV_NULL = > /dev/null 2>&1
|
||||
MKPATH = $(PERLRUN) "-MExtUtils::Command" -e mkpath
|
||||
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
|
||||
|
||||
|
||||
# --- MakeMaker makemakerdflt section:
|
||||
makemakerdflt: all
|
||||
$(NOECHO) $(NOOP)
|
||||
|
||||
|
||||
# --- MakeMaker dist section:
|
||||
TAR = tar
|
||||
TARFLAGS = cvf
|
||||
ZIP = zip
|
||||
ZIPFLAGS = -r
|
||||
COMPRESS = gzip --best
|
||||
SUFFIX = .gz
|
||||
SHAR = shar
|
||||
PREOP = $(NOECHO) $(NOOP)
|
||||
POSTOP = $(NOECHO) $(NOOP)
|
||||
TO_UNIX = $(NOECHO) $(NOOP)
|
||||
CI = ci -u
|
||||
RCS_LABEL = rcs -Nv$(VERSION_SYM): -q
|
||||
DIST_CP = best
|
||||
DIST_DEFAULT = tardist
|
||||
DISTNAME = NOTEDB
|
||||
DISTVNAME = NOTEDB-1.31
|
||||
|
||||
|
||||
# --- 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 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 xs_c section:
|
||||
|
||||
|
||||
# --- MakeMaker xs_o section:
|
||||
|
||||
|
||||
# --- MakeMaker top_targets section:
|
||||
all :: pure_all manifypods
|
||||
$(NOECHO) $(NOOP)
|
||||
|
||||
|
||||
pure_all :: config pm_to_blib subdirs linkext
|
||||
$(NOECHO) $(NOOP)
|
||||
|
||||
subdirs :: $(MYEXTLIB)
|
||||
$(NOECHO) $(NOOP)
|
||||
|
||||
config :: $(FIRST_MAKEFILE) $(INST_LIBDIR)$(DIRFILESEP).exists
|
||||
$(NOECHO) $(NOOP)
|
||||
|
||||
config :: $(INST_ARCHAUTODIR)$(DIRFILESEP).exists
|
||||
$(NOECHO) $(NOOP)
|
||||
|
||||
config :: $(INST_AUTODIR)$(DIRFILESEP).exists
|
||||
$(NOECHO) $(NOOP)
|
||||
|
||||
$(INST_AUTODIR)/.exists :: /usr/lib/perl/5.8/CORE/perl.h
|
||||
$(NOECHO) $(MKPATH) $(INST_AUTODIR)
|
||||
$(NOECHO) $(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8/CORE/perl.h $(INST_AUTODIR)/.exists
|
||||
|
||||
-$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_AUTODIR)
|
||||
|
||||
$(INST_LIBDIR)/.exists :: /usr/lib/perl/5.8/CORE/perl.h
|
||||
$(NOECHO) $(MKPATH) $(INST_LIBDIR)
|
||||
$(NOECHO) $(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8/CORE/perl.h $(INST_LIBDIR)/.exists
|
||||
|
||||
-$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_LIBDIR)
|
||||
|
||||
$(INST_ARCHAUTODIR)/.exists :: /usr/lib/perl/5.8/CORE/perl.h
|
||||
$(NOECHO) $(MKPATH) $(INST_ARCHAUTODIR)
|
||||
$(NOECHO) $(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8/CORE/perl.h $(INST_ARCHAUTODIR)/.exists
|
||||
|
||||
-$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_ARCHAUTODIR)
|
||||
|
||||
config :: $(INST_MAN3DIR)$(DIRFILESEP).exists
|
||||
$(NOECHO) $(NOOP)
|
||||
|
||||
|
||||
$(INST_MAN3DIR)/.exists :: /usr/lib/perl/5.8/CORE/perl.h
|
||||
$(NOECHO) $(MKPATH) $(INST_MAN3DIR)
|
||||
$(NOECHO) $(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8/CORE/perl.h $(INST_MAN3DIR)/.exists
|
||||
|
||||
-$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_MAN3DIR)
|
||||
|
||||
help:
|
||||
perldoc ExtUtils::MakeMaker
|
||||
|
||||
|
||||
# --- MakeMaker linkext section:
|
||||
|
||||
linkext :: $(LINKTYPE)
|
||||
$(NOECHO) $(NOOP)
|
||||
|
||||
|
||||
# --- MakeMaker dlsyms section:
|
||||
|
||||
|
||||
# --- MakeMaker dynamic section:
|
||||
|
||||
dynamic :: $(FIRST_MAKEFILE) $(INST_DYNAMIC) $(INST_BOOT)
|
||||
$(NOECHO) $(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 :: $(FIRST_MAKEFILE) $(INST_STATIC)
|
||||
$(NOECHO) $(NOOP)
|
||||
|
||||
|
||||
# --- MakeMaker static_lib section:
|
||||
|
||||
|
||||
# --- MakeMaker manifypods section:
|
||||
|
||||
POD2MAN_EXE = $(PERLRUN) "-MExtUtils::Command::MM" -e pod2man "--"
|
||||
POD2MAN = $(POD2MAN_EXE)
|
||||
|
||||
|
||||
manifypods : pure_all \
|
||||
NOTEDB/general.pm \
|
||||
NOTEDB/text.pm \
|
||||
NOTEDB/dbm.pm \
|
||||
NOTEDB/mysql.pm \
|
||||
NOTEDB/binary.pm \
|
||||
NOTEDB/dumper.pm \
|
||||
note.pod \
|
||||
NOTEDB/general.pm \
|
||||
NOTEDB/text.pm \
|
||||
NOTEDB/dbm.pm \
|
||||
NOTEDB/mysql.pm \
|
||||
NOTEDB/binary.pm \
|
||||
NOTEDB/dumper.pm \
|
||||
note.pod
|
||||
$(NOECHO) $(POD2MAN) --section=$(MAN3EXT) --perm_rw=$(PERM_RW)\
|
||||
NOTEDB/general.pm $(INST_MAN3DIR)/NOTEDB::general.$(MAN3EXT) \
|
||||
NOTEDB/text.pm $(INST_MAN3DIR)/NOTEDB::text.$(MAN3EXT) \
|
||||
NOTEDB/dbm.pm $(INST_MAN3DIR)/NOTEDB::dbm.$(MAN3EXT) \
|
||||
NOTEDB/mysql.pm $(INST_MAN3DIR)/NOTEDB::mysql.$(MAN3EXT) \
|
||||
NOTEDB/binary.pm $(INST_MAN3DIR)/NOTEDB::binary.$(MAN3EXT) \
|
||||
NOTEDB/dumper.pm $(INST_MAN3DIR)/NOTEDB::dumper.$(MAN3EXT) \
|
||||
note.pod $(INST_MAN3DIR)/note.$(MAN3EXT)
|
||||
|
||||
|
||||
|
||||
|
||||
# --- MakeMaker processPL section:
|
||||
|
||||
|
||||
# --- MakeMaker installbin section:
|
||||
|
||||
$(INST_SCRIPT)/.exists :: /usr/lib/perl/5.8/CORE/perl.h
|
||||
$(NOECHO) $(MKPATH) $(INST_SCRIPT)
|
||||
$(NOECHO) $(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8/CORE/perl.h $(INST_SCRIPT)/.exists
|
||||
|
||||
-$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_SCRIPT)
|
||||
|
||||
EXE_FILES = bin/note
|
||||
|
||||
FIXIN = $(PERLRUN) "-MExtUtils::MY" -e "MY->fixin(shift)"
|
||||
|
||||
pure_all :: $(INST_SCRIPT)/note
|
||||
$(NOECHO) $(NOOP)
|
||||
|
||||
realclean ::
|
||||
$(RM_F) $(INST_SCRIPT)/note
|
||||
|
||||
$(INST_SCRIPT)/note: bin/note $(FIRST_MAKEFILE) $(INST_SCRIPT)/.exists
|
||||
$(NOECHO) $(RM_F) $(INST_SCRIPT)/note
|
||||
$(CP) bin/note $(INST_SCRIPT)/note
|
||||
$(FIXIN) $(INST_SCRIPT)/note
|
||||
-$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_SCRIPT)/note
|
||||
|
||||
|
||||
# --- MakeMaker subdirs section:
|
||||
|
||||
# none
|
||||
|
||||
# --- MakeMaker clean_subdirs section:
|
||||
clean_subdirs :
|
||||
$(NOECHO) $(NOOP)
|
||||
|
||||
|
||||
# --- 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 :: clean_subdirs
|
||||
-$(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) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) $(DEV_NULL)
|
||||
|
||||
|
||||
# --- MakeMaker realclean_subdirs section:
|
||||
realclean_subdirs :
|
||||
$(NOECHO) $(NOOP)
|
||||
|
||||
|
||||
# --- MakeMaker realclean section:
|
||||
|
||||
# Delete temporary files (via clean) and also delete installed files
|
||||
realclean purge :: clean realclean_subdirs
|
||||
$(RM_RF) $(INST_AUTODIR) $(INST_ARCHAUTODIR)
|
||||
$(RM_RF) $(DISTVNAME)
|
||||
$(RM_F) $(INST_LIB)/NOTEDB/dumper.pm $(INST_LIB)/NOTEDB/mysql.pm $(INST_LIB)/NOTEDB/binary.pm $(MAKEFILE_OLD) $(INST_LIB)/NOTEDB/text.pm $(INST_LIB)/NOTEDB/general.pm $(INST_LIB)/NOTEDB.pm
|
||||
$(RM_F) $(INST_LIB)/note.pod $(INST_LIB)/NOTEDB/dbm.pm $(INST_LIB)/NOTEDB/README $(FIRST_MAKEFILE)
|
||||
|
||||
|
||||
# --- 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.31' >> 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:
|
||||
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) $(FIRST_MAKEFILE)
|
||||
$(NOECHO) $(PERLRUN) -l -e 'print '\''Warning: Makefile possibly out of date with $(VERSION_FROM)'\''' \
|
||||
-e ' if -e '\''$(VERSION_FROM)'\'' and -M '\''$(VERSION_FROM)'\'' < -M '\''$(FIRST_MAKEFILE)'\'';'
|
||||
|
||||
tardist : $(DISTVNAME).tar$(SUFFIX)
|
||||
$(NOECHO) $(NOOP)
|
||||
|
||||
uutardist : $(DISTVNAME).tar$(SUFFIX)
|
||||
uuencode $(DISTVNAME).tar$(SUFFIX) $(DISTVNAME).tar$(SUFFIX) > $(DISTVNAME).tar$(SUFFIX)_uu
|
||||
|
||||
$(DISTVNAME).tar$(SUFFIX) : distdir
|
||||
$(PREOP)
|
||||
$(TO_UNIX)
|
||||
$(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME)
|
||||
$(RM_RF) $(DISTVNAME)
|
||||
$(COMPRESS) $(DISTVNAME).tar
|
||||
$(POSTOP)
|
||||
|
||||
zipdist : $(DISTVNAME).zip
|
||||
$(NOECHO) $(NOOP)
|
||||
|
||||
$(DISTVNAME).zip : distdir
|
||||
$(PREOP)
|
||||
$(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME)
|
||||
$(RM_RF) $(DISTVNAME)
|
||||
$(POSTOP)
|
||||
|
||||
shdist : distdir
|
||||
$(PREOP)
|
||||
$(SHAR) $(DISTVNAME) > $(DISTVNAME).shar
|
||||
$(RM_RF) $(DISTVNAME)
|
||||
$(POSTOP)
|
||||
|
||||
|
||||
# --- MakeMaker distdir section:
|
||||
distdir : metafile metafile_addtomanifest
|
||||
$(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(qq{Executing $(CI) @all\n}); system(qq{$(CI) @all});" \
|
||||
-e "print(qq{Executing $(RCS_LABEL) ...\n}); system(qq{$(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
|
||||
$(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
|
||||
|
||||
doc__install : doc_site_install
|
||||
$(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
|
||||
|
||||
pure_perl_install ::
|
||||
$(NOECHO) umask 022; $(MOD_INSTALL) \
|
||||
$(INST_LIB) $(DESTINSTALLPRIVLIB) \
|
||||
$(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
|
||||
$(INST_BIN) $(DESTINSTALLBIN) \
|
||||
$(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
|
||||
$(INST_MAN1DIR) $(DESTINSTALLMAN1DIR) \
|
||||
$(INST_MAN3DIR) $(DESTINSTALLMAN3DIR)
|
||||
$(NOECHO) $(WARN_IF_OLD_PACKLIST) \
|
||||
$(SITEARCHEXP)/auto/$(FULLEXT)
|
||||
|
||||
|
||||
pure_site_install ::
|
||||
$(NOECHO) umask 02; $(MOD_INSTALL) \
|
||||
read $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist \
|
||||
write $(DESTINSTALLSITEARCH)/auto/$(FULLEXT)/.packlist \
|
||||
$(INST_LIB) $(DESTINSTALLSITELIB) \
|
||||
$(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \
|
||||
$(INST_BIN) $(DESTINSTALLSITEBIN) \
|
||||
$(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
|
||||
$(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \
|
||||
$(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR)
|
||||
$(NOECHO) $(WARN_IF_OLD_PACKLIST) \
|
||||
$(PERL_ARCHLIB)/auto/$(FULLEXT)
|
||||
|
||||
pure_vendor_install ::
|
||||
$(NOECHO) umask 022; $(MOD_INSTALL) \
|
||||
$(INST_LIB) $(DESTINSTALLVENDORLIB) \
|
||||
$(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
|
||||
$(INST_BIN) $(DESTINSTALLVENDORBIN) \
|
||||
$(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
|
||||
$(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \
|
||||
$(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
|
||||
|
||||
doc_perl_install ::
|
||||
|
||||
doc_site_install ::
|
||||
$(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLSITEARCH)/perllocal.pod
|
||||
-$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLSITEARCH)
|
||||
-$(NOECHO) umask 02; $(DOC_INSTALL) \
|
||||
"Module" "$(NAME)" \
|
||||
"installed into" "$(INSTALLSITELIB)" \
|
||||
LINKTYPE "$(LINKTYPE)" \
|
||||
VERSION "$(VERSION)" \
|
||||
EXE_FILES "$(EXE_FILES)" \
|
||||
>> $(DESTINSTALLSITEARCH)/perllocal.pod
|
||||
|
||||
doc_vendor_install ::
|
||||
|
||||
|
||||
uninstall :: uninstall_from_$(INSTALLDIRS)dirs
|
||||
|
||||
uninstall_from_perldirs ::
|
||||
$(NOECHO) $(UNINSTALL) $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist
|
||||
|
||||
uninstall_from_sitedirs ::
|
||||
$(NOECHO) $(UNINSTALL) $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist
|
||||
|
||||
uninstall_from_vendordirs ::
|
||||
$(NOECHO) $(UNINSTALL) $(VENDORARCHEXP)/auto/$(FULLEXT)/.packlist
|
||||
|
||||
|
||||
# --- MakeMaker force section:
|
||||
# Phony target to force checking subdirectories.
|
||||
FORCE:
|
||||
$(NOECHO) $(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.
|
||||
$(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP)
|
||||
$(NOECHO) $(ECHO) "Makefile out-of-date with respect to $?"
|
||||
$(NOECHO) $(ECHO) "Cleaning current config before rebuilding Makefile..."
|
||||
$(NOECHO) $(RM_F) $(MAKEFILE_OLD)
|
||||
$(NOECHO) $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD)
|
||||
-$(MAKE) -f $(MAKEFILE_OLD) clean $(DEV_NULL) || $(NOOP)
|
||||
$(PERLRUN) Makefile.PL
|
||||
$(NOECHO) $(ECHO) "==> Your Makefile has been rebuilt. <=="
|
||||
$(NOECHO) $(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)
|
||||
$(NOECHO) $(ECHO) Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET)
|
||||
$(NOECHO) $(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)
|
||||
$(NOECHO) $(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:
|
||||
$(NOECHO) $(ECHO) '<SOFTPKG NAME="$(DISTNAME)" VERSION="1,31,0,0">' > $(DISTNAME).ppd
|
||||
$(NOECHO) $(ECHO) ' <TITLE>$(DISTNAME)</TITLE>' >> $(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:
|
||||
|
||||
pm_to_blib: $(TO_INST_PM)
|
||||
$(NOECHO) $(PERLRUN) -MExtUtils::Install -e 'pm_to_blib({@ARGV}, '\''$(INST_LIB)/auto'\'', '\''$(PM_FILTER)'\'')'\
|
||||
NOTEDB/general.pm $(INST_LIB)/NOTEDB/general.pm \
|
||||
NOTEDB/dbm.pm $(INST_LIB)/NOTEDB/dbm.pm \
|
||||
NOTEDB/README $(INST_LIB)/NOTEDB/README \
|
||||
NOTEDB.pm $(INST_LIB)/NOTEDB.pm \
|
||||
NOTEDB/text.pm $(INST_LIB)/NOTEDB/text.pm \
|
||||
NOTEDB/mysql.pm $(INST_LIB)/NOTEDB/mysql.pm \
|
||||
NOTEDB/binary.pm $(INST_LIB)/NOTEDB/binary.pm \
|
||||
NOTEDB/dumper.pm $(INST_LIB)/NOTEDB/dumper.pm \
|
||||
note.pod $(INST_LIB)/note.pod
|
||||
$(NOECHO) $(TOUCH) $@
|
||||
|
||||
# --- MakeMaker selfdocument section:
|
||||
|
||||
|
||||
# --- MakeMaker postamble section:
|
||||
|
||||
|
||||
# End.
|
||||
330
Tools.pm
330
Tools.pm
@@ -1,330 +0,0 @@
|
||||
#!/usr/bin/perl -w
|
||||
#
|
||||
# generic tool functions
|
||||
#
|
||||
# Copyright (c) 2000 ConSol* GmbH, Munich.
|
||||
# All Rights Reserved. Unauthorized use forbidden.
|
||||
#
|
||||
# $Id: Tools.pm,v 1.11 2000/08/04 17:41:40 tom Exp $
|
||||
package Consol::Util::Tools;
|
||||
|
||||
use Exporter ();
|
||||
use strict;
|
||||
use Carp qw(cluck);
|
||||
use FileHandle ();
|
||||
use Date::Manip;
|
||||
use Data::Dumper;
|
||||
use vars qw(@ISA @EXPORT @EXPORT_OK @EXPORT_TAGS $DEBUG);
|
||||
|
||||
@ISA=qw(Exporter);
|
||||
# auto export subs
|
||||
@EXPORT=qw(getyesterdate debug generate_regex crypt_data);
|
||||
@EXPORT_OK=qw();
|
||||
@EXPORT_TAGS=();
|
||||
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Tools - general utilitiy package, no OOP.
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
use Tools qw (getyesterdate debug);
|
||||
|
||||
|
||||
=head1 SUB getyesterdate
|
||||
|
||||
my $onedayago = getyesterdate();
|
||||
|
||||
returns the date one day ago in the following format: YYYYMMDD
|
||||
|
||||
=cut
|
||||
|
||||
sub getyesterdate
|
||||
{
|
||||
my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
|
||||
my($lastmonth, $lastyear);
|
||||
$year += 1900;
|
||||
$mon += 1;
|
||||
|
||||
if ($mon == 1) {
|
||||
$lastmonth = 12;
|
||||
$lastyear = $year - 1;
|
||||
}
|
||||
else {
|
||||
$lastmonth = $mon - 1;
|
||||
$lastyear = $year;
|
||||
}
|
||||
my @DAYS_IN_MONTH = qw(0 31 28 31 30 31 30 31 31 30 31 30 31);
|
||||
my ($day,@days);
|
||||
if ((($year % 4) == 0) && ((($year % 100) != 0) || (($year % 400) == 0))) {
|
||||
$DAYS_IN_MONTH[2]++;
|
||||
}
|
||||
|
||||
if ($mday == 1) {
|
||||
$mday = $DAYS_IN_MONTH[$lastmonth];
|
||||
$year = $lastyear;
|
||||
$mon = $lastmonth;
|
||||
}
|
||||
else {
|
||||
$mday--;
|
||||
}
|
||||
$mon =~ s/^(\d)$/0$1/;
|
||||
$hour =~ s/^(\d)$/0$1/;
|
||||
$min =~ s/^(\d)$/0$1/;
|
||||
$sec =~ s/^(\d)$/0$1/;
|
||||
$mday =~ s/^(\d)$/0$1/;
|
||||
return "$year$mon$mday";
|
||||
}
|
||||
|
||||
|
||||
=head1 SUB debug
|
||||
|
||||
BEGIN { $DEBUG = 1; }
|
||||
debug("some odd errors occured");
|
||||
|
||||
prints the given message to STDERR if $DEBUG is true (1).
|
||||
It adds the packagename and the linenumber of the caller to the output.
|
||||
|
||||
=cut
|
||||
|
||||
sub debug {
|
||||
my(@msg) = @_;
|
||||
return if(!$DEBUG);
|
||||
my($package, $filename, $line) = caller;
|
||||
print "$package $line: @msg\n";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 SUB generate_regex
|
||||
|
||||
This subroutine generates valid perlcode based on userinput
|
||||
for further validation using B<eval>. You can catch exceptions
|
||||
using the B<$@> variable. A user supplied expression an contain
|
||||
AND, OR, brackets (), wildcards (* for any characters, ? for one character),
|
||||
or even valid perl regex(in this special case, it will not transformed
|
||||
in any way). See below for example usage!
|
||||
|
||||
$code = generate_regex(
|
||||
-string => "(max AND moritz) OR (tina AND ute)",
|
||||
-case => 1,
|
||||
-if => 1,
|
||||
);
|
||||
|
||||
If you set B<-if> to B<1> the following output will be created:
|
||||
|
||||
$match = 1 if( (/max/i and /moritz/i ) or (/tina/i and /ute/i ) );
|
||||
|
||||
otherwise you will only get a code fragment:
|
||||
|
||||
(/max/i and /moritz/i ) or (/tina/i and /ute/i )
|
||||
|
||||
If you set B<-case> to B<1>, the code will search case sensitive.
|
||||
|
||||
If B<-string> is empty, "/^/" will be returned.
|
||||
|
||||
Sample usage:
|
||||
|
||||
#!/usr/bin/perl
|
||||
use Tools qw(generate_regex);
|
||||
my $match = undef;
|
||||
my $input = <>;
|
||||
chomp $input;
|
||||
my $regex = generate_regex(-string => $input, -if => 1);
|
||||
eval $regex;
|
||||
if ($@) {
|
||||
die "invalid expression: $@\n";
|
||||
}
|
||||
open FILE, "<textfile" or die $!;
|
||||
while (<FILE>) {
|
||||
eval $regex;
|
||||
if ($match) {
|
||||
print "$. matched the expression \"$input\"\n";
|
||||
}
|
||||
}
|
||||
close FILE;
|
||||
|
||||
Allowed expressions:
|
||||
|
||||
"Hans Wurst" # exact match
|
||||
max AND moritz # AND
|
||||
max OR moritz # OR
|
||||
(max AND moritz) OR tina # combined with ()
|
||||
((max AND moritz) AND tina) OR (hans AND mike) # more complicated with ()
|
||||
(*aol.com OR *gmx.de) AND (*free* OR *money*) # slightly more complicated with wildcards
|
||||
/^[a-zA-Z]+?.*\d{4}$/ # yes, a user can also supply a regex!
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
sub generate_regex {
|
||||
#
|
||||
# interface sub for generate_search()
|
||||
#
|
||||
my %params = @_;
|
||||
my($result);
|
||||
$result = &generate_search($params{-string}, $params{-case});
|
||||
if ($params{-if}) {
|
||||
$result = qq(\$match = 1 if($result););
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
sub generate_search {
|
||||
#
|
||||
# get user input and create perlcode ready for eval
|
||||
# sample input:
|
||||
# "ann.a OR eg???on AND u*do$"
|
||||
# resulting output:
|
||||
# "$match = $_ if(/ann\.a/i or /eg...on/i and /u.*do\$/i );
|
||||
#
|
||||
my($string,$case) = @_;
|
||||
|
||||
if ($string =~ /^\/.+?\/$/) {
|
||||
return $string;
|
||||
}
|
||||
elsif (!$string) {
|
||||
return "/^/";
|
||||
}
|
||||
|
||||
# per default case sensitive
|
||||
$case = ($case ? "" : "i");
|
||||
|
||||
# we will get a / in front of the first word too!
|
||||
$string = " " . $string . " ";
|
||||
|
||||
# check for apostrophs
|
||||
$string =~ s/(?<=\s)(\(??)("[^"]+"|\S+)(\)??)(?=\s)/$1 . &check_exact($2) . $3/ge;
|
||||
|
||||
# remove odd spaces infront of and after <20>and<6E> and <20>or<6F>
|
||||
$string =~ s/\s\s*(AND|OR)\s\s*/ $1 /g;
|
||||
|
||||
# remove odd spaces infront of <20>(<28> and after <20>)<29>
|
||||
$string =~ s/(\s*\()/\(/g;
|
||||
$string =~ s/(\)\s*)/\)/g;
|
||||
|
||||
# remove first and last space so it will not masked!
|
||||
$string =~ s/^\s//;
|
||||
$string =~ s/\s$//;
|
||||
|
||||
# mask spaces if not infront of or after <20>and<6E> and <20>or<6F>
|
||||
$string =~ s/(?<!AND)(?<!OR)(\s+?)(?!AND|OR)/'\s' x length($1)/ge;
|
||||
|
||||
# add first space again
|
||||
$string = " " . $string;
|
||||
|
||||
# lowercase AND and OR
|
||||
$string =~ s/(\s??OR\s??|\s??AND\s??)/\L$1\E/g;
|
||||
|
||||
# surround brackets with at least one space
|
||||
$string =~ s/(?<!\\)(\)|\()/ $1 /g;
|
||||
|
||||
# surround strings with slashes
|
||||
$string =~ s/(?<=\s)(\S+)/ &check_or($1, $case) /ge;
|
||||
|
||||
# remove slashes on <20>and<6E> and <20>or<6F>
|
||||
$string =~ s/\/(and|or)\/$case/$1/g;
|
||||
|
||||
# remove spaces inside /string/ constructs
|
||||
$string =~ s/(?<!and)(?<!or)\s*\//\//g;
|
||||
|
||||
$string =~ s/\/\s*(?!and|or)/\//g;
|
||||
|
||||
return $string;
|
||||
}
|
||||
|
||||
sub check_or {
|
||||
#
|
||||
# surrounds string with slashes if it is not
|
||||
# <20>and<6E> or <20>or<6F>
|
||||
#
|
||||
my($str, $case) = @_;
|
||||
if ($str =~ /^\s*(or|and)\s*$/) {
|
||||
return " $str ";
|
||||
}
|
||||
elsif ($str =~ /(?<!\\)[)(]/) {
|
||||
return $str;
|
||||
}
|
||||
else {
|
||||
return " \/$str\/$case ";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sub check_exact {
|
||||
#
|
||||
# helper for generate_search()
|
||||
# masks special chars if string
|
||||
# not inside ""
|
||||
#
|
||||
my($str) = @_;
|
||||
|
||||
my %globs = (
|
||||
'*' => '.*',
|
||||
'?' => '.',
|
||||
'[' => '[',
|
||||
']' => ']',
|
||||
'+' => '\+',
|
||||
'.' => '\.',
|
||||
'$' => '\$',
|
||||
'@' => '\@',
|
||||
);
|
||||
|
||||
# mask backslash
|
||||
$str =~ s/\\/\\\\/g;
|
||||
|
||||
if ($str =~ /^"/ && $str =~ /"$/) {
|
||||
# mask bracket-constructs
|
||||
$str =~ s/(\(|\))/\\$1/g;
|
||||
}
|
||||
$str =~ s/(.)/$globs{$1} || "$1"/ge;
|
||||
|
||||
$str =~ s/^"//;
|
||||
$str =~ s/"$//;
|
||||
|
||||
# mask spaces
|
||||
$str =~ s/\s/\\s/g;
|
||||
return $str;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
sub crypt_data {
|
||||
#
|
||||
# enrypt a passwd
|
||||
#
|
||||
my($cleartext) = @_;
|
||||
debug("\"$cleartext\"");
|
||||
return if(!$cleartext);
|
||||
|
||||
# create a random salt
|
||||
my @range=('0'..'9','a'..'z','A'..'Z');
|
||||
|
||||
my $salt=$range[rand(int($#range)+1)] . $range[rand(int($#range)+1)];
|
||||
|
||||
return crypt($cleartext, "$salt");
|
||||
}
|
||||
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Thomas Linden
|
||||
|
||||
=cut
|
||||
|
||||
1;
|
||||
|
||||
# Local Variables: ***
|
||||
# perl-master-file: ../../webmin/index.pl ***
|
||||
# End: ***
|
||||
172
bin/rc
172
bin/rc
@@ -1,172 +0,0 @@
|
||||
# 1.2.7 -*- sh -*-
|
||||
# This is a sample config for the note script
|
||||
# There are useful defaults set in note itself.
|
||||
#
|
||||
# Copy it to your $HOME as .noterc
|
||||
#
|
||||
# note is Copyright (c) 1999-2000 Thomas Linden.
|
||||
# You can contact me per email: <tom@daemon.de>
|
||||
#
|
||||
# comments start with #, empty lines will be ignored.
|
||||
# 1 turns an option on, 0 turns it off.
|
||||
# An option consists of an atribute-value pair separated
|
||||
# by minimum one space (more spaces and/or tabs are allowed)
|
||||
|
||||
|
||||
# Your home directory, better do not change it!
|
||||
# can be an environment variable or a path
|
||||
Home $ENV{'HOME'}
|
||||
|
||||
|
||||
# specify the path, where the NOTEDB lib directory
|
||||
# resides. This will only used if it is not
|
||||
# installed inside the perl-lib directory structure!
|
||||
LibPath ..
|
||||
|
||||
|
||||
# you need to decide which database backend you want
|
||||
# to use. Please refer to the corresponding documentation
|
||||
# for closer information about the certain backend!
|
||||
# Currently supported types: "binary", "dbm" or "mysql".
|
||||
# You must also edit/uncomment one section below for the
|
||||
# backend you want to use!
|
||||
DbDriver general
|
||||
|
||||
|
||||
|
||||
# backend specific settings for binary(default) backend
|
||||
NoteDb /home/tlin/dev/note-1.2.7/bin/notedb.txt
|
||||
# Define the maximum bytes fields can have in a
|
||||
|
||||
MaxNoteByte 32768
|
||||
MaxTimeByte 64
|
||||
|
||||
|
||||
|
||||
# You can use encryption with note, that means notes and
|
||||
# timestamps will be stored encrypted. This is supported
|
||||
# by every db-backend.
|
||||
# Set to 1 to turn it on. The Default is 0 (off)
|
||||
UseEncryption 1
|
||||
|
||||
# Specify the encryption protocol. The appropriate perl
|
||||
# module needs to be installed. Possible velues are
|
||||
# IDEA, DES or Blowfish, the default is IDEA.
|
||||
CryptMethod Blowfish
|
||||
|
||||
|
||||
# You can run note always in interactive mode by simply
|
||||
# typing "note". Set this option to 1 to turn it on.
|
||||
# The default is 0 (off).
|
||||
AlwaysInteractive 0
|
||||
|
||||
|
||||
# In interactive mode, note issues a list command if you
|
||||
# simply hit enter. By turning this on, it will issue a
|
||||
# longlist command instead if you hit just enter.
|
||||
# The default is 0 (off)
|
||||
DefaultLong 0
|
||||
|
||||
|
||||
|
||||
# You can use an external editor everytime from note instead
|
||||
# of STDIN for creating new notes. Set to 1 to turn it on.
|
||||
# The default is 0 (off).
|
||||
AlwaysEditor 1
|
||||
|
||||
|
||||
# uncomment and edit it, if you want to use another
|
||||
# editor than the default $EDITOR or as fallback vi.
|
||||
#PreferredEditor emacs
|
||||
|
||||
|
||||
# If you dont prefer that note updates the timestamp of a
|
||||
# note after editing, turn this on. It will
|
||||
# keep the original timestamp if this option is set.
|
||||
# The default is 0(off), to turn it on set to 1.
|
||||
KeepTimeStamp 0
|
||||
|
||||
|
||||
# You can specify your own topic separator here.
|
||||
# the default topic separator is a normal slash: "/"
|
||||
# see README for details about topics!
|
||||
TopicSeparator /
|
||||
|
||||
|
||||
# The maximum width for displaying a note, in CHARS.
|
||||
# Depends on your screen-size. You can set it to
|
||||
# "auto", if you wish that note sould determine the
|
||||
# available size, but it experimental, be aware!
|
||||
MaxLen auto
|
||||
|
||||
|
||||
# note can use colors for output, set this option to
|
||||
# 1, if you don't want it, or if your terminal does
|
||||
# not support it, set to 0. The default is 1 (on).
|
||||
UseColors 1
|
||||
|
||||
|
||||
# Color-definitions of the various items. Will only
|
||||
# take effect, if "UseColors" is turned on!
|
||||
BorderColor BLACK
|
||||
NumberColor RED
|
||||
NoteColor blue
|
||||
TimeColor green
|
||||
TopicColor BLACK
|
||||
|
||||
|
||||
# The following colors are available:
|
||||
# black, red, green, yellow, blue, magenta, cyan and white.
|
||||
# for bold color write it uppercase (BLACK will be bold black)
|
||||
# for underlined color append an underscore (blue_ will be underlined blue)
|
||||
# for inverted color append an "I" (greenI will be inverted green)
|
||||
|
||||
|
||||
# Additional to colors, you can also do a little bit of formatting your
|
||||
# notes (bold, underlined, italic), see README!
|
||||
# You need to set this Option to 1, if you decide to make use of this
|
||||
# capabily
|
||||
FormatText 1
|
||||
|
||||
|
||||
# You might specify your own directory for temporary files.
|
||||
# note needs to create some temp files during editing of notes.
|
||||
# You could protect this directory using the command: chmod 700 directory.
|
||||
# The default is /tmp
|
||||
TempDirectory /home/tlin/tmp
|
||||
|
||||
|
||||
|
||||
# You can jump to a topic by typing "cd 13" in interactive mode.
|
||||
# You need to set thi soption to 1 if you want to use this feature.
|
||||
ShortCd 1
|
||||
|
||||
|
||||
|
||||
# note can use a cached copy of the note database for list/tree/search
|
||||
# this is currently only supported by the binary and the mysql backends
|
||||
# set it to 1 to turn it on, the default is 0 (off)
|
||||
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
|
||||
|
||||
|
||||
|
||||
AutoClear = 0
|
||||
|
||||
|
||||
# That's all about it for now.
|
||||
# If you still have any questiosn, please feel free to contact
|
||||
# me by email: Thomas Linden <tom@daemon.de>
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
*** note Mon Jul 10 00:10:03 2000
|
||||
--- _note Fri Jul 21 08:38:22 2000
|
||||
***************
|
||||
*** 635,641 ****
|
||||
$editor = &find_editor;
|
||||
if($editor)
|
||||
{
|
||||
! system "touch", $TEMP && die $!;
|
||||
system "chattr", "+s", $TEMP; # ignore errors, since only on ext2 supported!
|
||||
system $editor, $TEMP;
|
||||
}
|
||||
--- 635,641 ----
|
||||
$editor = &find_editor;
|
||||
if($editor)
|
||||
{
|
||||
! system "touch", $TEMP and die $!;
|
||||
system "chattr", "+s", $TEMP; # ignore errors, since only on ext2 supported!
|
||||
system $editor, $TEMP;
|
||||
}
|
||||
540
note.1
540
note.1
@@ -1,540 +0,0 @@
|
||||
.\" Automatically generated by Pod::Man version 1.02
|
||||
.\" Sat Aug 19 15:59:14 2000
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ======================================================================
|
||||
.de Sh \" Subsection heading
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. | will give a
|
||||
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
|
||||
.\" to do unbreakable dashes and therefore won't be available. \*(C` and
|
||||
.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
|
||||
.tr \(*W-|\(bv\*(Tr
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` `
|
||||
. ds C' '
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr
|
||||
.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
|
||||
.\" index entries marked with X<> in POD. Of course, you'll have to process
|
||||
.\" the output yourself in some meaningful fashion.
|
||||
.if \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
. .
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.\"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it
|
||||
.\" makes way too many mistakes in technical documents.
|
||||
.hy 0
|
||||
.if n .na
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
.bd B 3
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ======================================================================
|
||||
.\"
|
||||
.IX Title "NOTE 1"
|
||||
.TH note 1 "note version 1.1.1" "20/Aug/2000" "Documentation"
|
||||
.UC
|
||||
.SH "NAME"
|
||||
note \- a perl script for maintaining notes.
|
||||
.SH "SYNPOPSIS"
|
||||
.IX Header "SYNPOPSIS"
|
||||
note [options] [ number [,number...]]
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\fBnote\fR is a small console program written in perl, which allows
|
||||
you to manage notes similar to programs like \*(L"knotes\*(R" but from
|
||||
the commandline. Note can use different database-backends for
|
||||
notes-storage. It ships with a DBI-based mysql-module(which
|
||||
can also be used for other by \s-1DBI\s0 supported \s-1DBMS\s0), another
|
||||
module, which uses a binary file for storage and a \s-1DBM\s0 module.
|
||||
Note supports since version 1.0.0 encryption(\s-1IDEA\s0 or \s-1DES\s0)!
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
.Ip "\fI\-c, \-\-config file\fR" 4
|
||||
.IX Item "-c, --config file"
|
||||
Use another config file than the default ~/.noterc.
|
||||
.Ip "\fI\-l, \-\-list [topic]\fR" 4
|
||||
.IX Item "-l, --list [topic]"
|
||||
Lists all existing notes. If no topic were specified,
|
||||
it will display a list of all existing topics.
|
||||
See the section \fI\s-1TOPICS\s0\fR for details about topics.
|
||||
.Ip "\fI\-L, \-\-longlist [topic]\fR" 4
|
||||
.IX Item "-L, --longlist [topic]"
|
||||
The same as \fI\-l\fR but prints also the timestamp of the notes.
|
||||
.Ip "\fI\-t, \-\-topic\fR" 4
|
||||
.IX Item "-t, --topic"
|
||||
Prints a list of all topics as a tree.
|
||||
.Ip "\fI\-T, \-\-longtopic\fR" 4
|
||||
.IX Item "-T, --longtopic"
|
||||
Prints the topic-tree with the notes under each topic.
|
||||
.Ip "\fI\-s, \-\-search string\fR" 4
|
||||
.IX Item "-s, --search string"
|
||||
Searches for <string> trough the notes database. See the section
|
||||
\&\fI\s-1SEARCHING\s0\fR for details about the search engine.
|
||||
.Ip "\fI\-e, \-\-edit number\fR" 4
|
||||
.IX Item "-e, --edit number"
|
||||
Edit the note with the number <number> using your default editor
|
||||
or the one you specified in the config file.
|
||||
.Ip "\fI\-d, \-\-delete number\fR" 4
|
||||
.IX Item "-d, --delete number"
|
||||
Delete the note with the number <number>. You can delete multiple notes
|
||||
with one command. \*(L"1\-4\*(R" deletes the notes 1,2,3,4. And \*(L"1,5,7\*(R" deletes
|
||||
the specified ones.
|
||||
.Ip "\fI\-D, \-\-Dump [file | \-]\fR" 4
|
||||
.IX Item "-D, --Dump [file | -]"
|
||||
Dumps all notes to the textfile <file>. If <file> is a \*(L"\-\*(R" it will
|
||||
be printed out to standard output (\s-1STDOUT\s0).
|
||||
.Ip "\fI\-I, \-\-Import file | -\fR" 4
|
||||
.IX Item "-I, --Import file | -"
|
||||
Imports a previously dumped textfile into the
|
||||
note database. Data will be appended by default.
|
||||
You can also specify a dash \fInote \-I -\fR instead of a <file>,
|
||||
which causes note, silently to read in a dump from \s-1STDIN\s0.
|
||||
.Ip "\fI\-o, \-\-overwrite\fR" 4
|
||||
.IX Item "-o, --overwrite"
|
||||
Only suitable for use with \-\-Import. Overwrites an
|
||||
existing notedb. Use with care.
|
||||
.Ip "\fI\-r, \-\-raw\fR" 4
|
||||
.IX Item "-r, --raw"
|
||||
Raw mode, output will not be formatted. Works not in interactive
|
||||
mode, only on cmd-line for list and display. That means, no colors
|
||||
will be used and no lines or titles.
|
||||
.Ip "\fI\-i, \-\-interactive\fR" 4
|
||||
.IX Item "-i, --interactive"
|
||||
Start note in interactive mode. See the section \fI\s-1INTERACTIVE\s0 \s-1MODE\s0\fR
|
||||
for details on this mode.
|
||||
.Ip "\fI\*(--encrypt cleartext\fR" 4
|
||||
.IX Item "encrypt cleartext"
|
||||
Encrypt the given clear text string. You would need that if you want to
|
||||
store the mysql password not in cleartext in the config(if you are using
|
||||
the mysql backend!).
|
||||
.Ip "\fI\-h, \-\-help\fR" 4
|
||||
.IX Item "-h, --help"
|
||||
Display this help screen.
|
||||
.Ip "\fI\-v, \-\-version\fR" 4
|
||||
.IX Item "-v, --version"
|
||||
Display the version number.
|
||||
.Ip "\fB-\fR" 4
|
||||
.IX Item "-"
|
||||
If you run note just with one dash: \fBnote -\fR, then it will read in a new
|
||||
note from \s-1STDIN\s0 until \s-1EOF\s0. This makes it possible to pipe text into a new note, i.e.:
|
||||
.Sp
|
||||
.Vb 1
|
||||
\& cat sometextfile | note -
|
||||
.Ve
|
||||
.SH "USAGE"
|
||||
.IX Header "USAGE"
|
||||
.Sh "\s-1GENERAL\s0 \s-1USAGE\s0"
|
||||
.IX Subsection "GENERAL USAGE"
|
||||
If you don't know, how to run note, try \*(L"note \-h\*(R" first.
|
||||
It will tell you all available commandline options.
|
||||
.PP
|
||||
To create a new note, simply run \*(L"note\*(R". You can enter
|
||||
the note (the length is by default limited to 4096 bytes,
|
||||
which you can change from your config file if you are using
|
||||
the binary backend, otherwise there is no limitation).
|
||||
End by typing a . on a line itself. note will tell you the
|
||||
number of the note.
|
||||
.PP
|
||||
If you want to view the note, type \*(L"note 1\*(R", if the notenumber
|
||||
was 1.
|
||||
.PP
|
||||
If you want to get an overview of all notes, type \*(L"note \-l\*(R".
|
||||
You will get a list of all notes, containing the number,
|
||||
the first line and the creation date. If topic-support is
|
||||
turned on (which is by default), then all subtopics under the
|
||||
current topic will be displayed first.
|
||||
If you want to see the timestamps, use \*(L"\-L\*(R" instead of \*(L"\-l\*(R".
|
||||
Read more about topics below in the section \*(L"Topics\*(R".
|
||||
You can also specify the topic which notes you want to see:
|
||||
\&\*(L"\-l mytopic\*(R" does the trick.
|
||||
Additional, you might want to get an overview of your topic-
|
||||
structure. You can use the command \*(L"\-t\*(R" in this case, which
|
||||
will display a tree-view of your topic-structure. You can
|
||||
use the command \*(L"\-T\*(R" if you want to see the notes under each
|
||||
topic too. \*(L"\-T\*(R" will also show the number of each note.
|
||||
.PP
|
||||
To edit a certain note, type \*(L"note \-e 1\*(R". It will invoke your
|
||||
editor (vi or pico). You can edit it, after saving, note
|
||||
will store the changed note to the database.
|
||||
.PP
|
||||
Of course you can drop a certain note: \*(L"note \-d 1\*(R" deletes
|
||||
note number 1. If a note in the middle or the beginning of
|
||||
the database will be deleted, note will recount the other
|
||||
existent notes. For example there are 3 notes, number 1, 2
|
||||
and 3. If you delete number 2, then number 3 will become
|
||||
number 2.
|
||||
You can also make use of the extended delete-syntax:
|
||||
To delete note 1 and 2, use \*(L"\-d 1,2\*(R"
|
||||
To delete note 1,2 and 3, use \*(L"\-d 1\-3\*(R".
|
||||
.Sh "\s-1SEARCHING\s0"
|
||||
.IX Subsection "SEARCHING"
|
||||
If you cannot remember, which note you are looking for, you
|
||||
can use the search capability of note: \*(L"note \-s <searchstring>\*(R".
|
||||
note will search the whole note database case insensitive for
|
||||
an occurence of this string and tell you the number and first-
|
||||
line it has.
|
||||
.PP
|
||||
You can extend the searchstring using \fB\s-1AND\s0\fR, \fB\s-1OR\s0\fR ( and ) and
|
||||
shell-like wildcards:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& $ note -s "moses AND lenin"
|
||||
.Ve
|
||||
or:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& $ note -s "(mike OR arnold) AND (jackson OR schwarzenegger)"
|
||||
.Ve
|
||||
If note finds a note, which first line is a topic, then it will
|
||||
display it's second line.
|
||||
.PP
|
||||
These rules apply for the interactive search too.
|
||||
.PP
|
||||
You need to know, that note searches for the expression in every
|
||||
note. In other words, \*(L"moses \s-1AND\s0 lenin\*(R" searches for an occurence
|
||||
of \*(L"moses\*(R" and \*(L"lenin\*(R" in \s-1ONE\s0 note. Or, if you are looking for
|
||||
\&\*(L"mike \s-1OR\s0 daniel\*(R", then it searches for an occurence of \*(L"mike\*(R" or
|
||||
daniel\*(L" in \s-1ONE\s0 note. Thus a note with the text \*(R"mike oldfield" will
|
||||
match that search.
|
||||
.Sh "\s-1TOPICS\s0"
|
||||
.IX Subsection "TOPICS"
|
||||
If topic-support is turned on (which is by default), the various
|
||||
notes are sorted under various topics. There is no special database
|
||||
field for the topic. Instead the topic will be stored right in the
|
||||
note.
|
||||
If the first line of your note contains some text bordered by slashes
|
||||
(or whatever you prefer, set \*(L"TopicSeparator\*(R" in your config! default
|
||||
is slash), then note will consider it as the topic of this certain
|
||||
note. For examle:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& B</TodoList/>
|
||||
.Ve
|
||||
If you are using topics, no data after the topic is allowed, if there
|
||||
is any text, note will consider it as a subtopic! Therefore, don't for-
|
||||
get to put a newline after the topic-line.
|
||||
.PP
|
||||
The list-command will only show you notes under this topic. If you
|
||||
create a new note, it will automagically inserted under the current
|
||||
topic (note will prepend the string \*(L"/topicname/\*(R" to the text of your
|
||||
note).
|
||||
.PP
|
||||
You can create at any time from any point a new topic. Just create a new
|
||||
note and type the name of the new topic bordered by slashes (or
|
||||
TopicSeparator) at the first line of this note. After saving, there
|
||||
will be available a new topic with one note in it.
|
||||
.PP
|
||||
You can create as many subtopics as you like, the format is similar to
|
||||
a filesystem-path. An example, say, you want to create such a
|
||||
structure:
|
||||
.PP
|
||||
.Vb 10
|
||||
\& (root - top level)
|
||||
\& |
|
||||
\& |----test
|
||||
\& | |----subtopic
|
||||
\& | | |--note 1
|
||||
\& | | |--note 2
|
||||
\& | |
|
||||
\& | |--note 4
|
||||
\& |
|
||||
\& |--note 3
|
||||
.Ve
|
||||
Then you may create those 4 new notes:
|
||||
.PP
|
||||
.Vb 12
|
||||
\& --- snip ---
|
||||
\& /test/subtopic/
|
||||
\& note 1
|
||||
\& --- snip ---
|
||||
\& /test/subtopic/
|
||||
\& note 2
|
||||
\& --- snip ---
|
||||
\& note 3
|
||||
\& --- snip ---
|
||||
\& /test/
|
||||
\& note 4
|
||||
\& --- snip ---
|
||||
.Ve
|
||||
I hope, you got the point ;\-)
|
||||
.PP
|
||||
If a note does not contain the \*(L"magic\*(R" /topic/ construction on the first
|
||||
line, it will be listed under the \*(L"root\*(R" of note, that is the point
|
||||
you are at the startup of note.
|
||||
.PP
|
||||
You can subsequently move a note without a topic to a certain topic.
|
||||
Simply edit it and insert at the first line the above mentioned
|
||||
construction.
|
||||
.PP
|
||||
Note: Please don't forget the prepending and appending a slash of a
|
||||
topic. You will get strange results without it!
|
||||
.Sh "\s-1INTERACTIVE\s0 \s-1MODE\s0"
|
||||
.IX Subsection "INTERACTIVE MODE"
|
||||
If you start note with the commandline flag \fB\-i\fR, then it starts
|
||||
with an interactive interface.
|
||||
It will start with a listing under the default top-topic (\*(L"/\*(R").
|
||||
You can enter the name of a topic to change to that topic. This works
|
||||
similar to a filesystem structure. The current topic will be
|
||||
displayed on the top of the screen.
|
||||
.PP
|
||||
The following commands are available:
|
||||
.Ip "\fBL [topic]\fR" 4
|
||||
.IX Item "L [topic]"
|
||||
This command lists all notes with a timestamp. If you specify a topic, it
|
||||
will only list the notes under this topic. If you are under a certain subtopic,
|
||||
then it will only display the notes under this topic.
|
||||
.Ip "\fBl [topic]\fR" 4
|
||||
.IX Item "l [topic]"
|
||||
This commands behaves similar to \fBL\fR but it does not display the timestamp.
|
||||
You can achieve the same result by simply pressing enter at any time.
|
||||
.Ip "\fBN\fR" 4
|
||||
.IX Item "N"
|
||||
You can create a new note by simply pressing \fBN\fR or \fBn\fR. You favorite
|
||||
editor will be started and you can enter your note text. If you are already
|
||||
under a topic then this new note will automatically go to this topic.
|
||||
note adds an aditional line to the top of the note with the topic. But
|
||||
you can of course specify your own topic.
|
||||
.Sp
|
||||
Note will tell you which number it has assigned to the newly created note.
|
||||
.Ip "\fBE number\fR" 4
|
||||
.IX Item "E number"
|
||||
By entering \fBE\fR or \fBe\fR and a note-number you can edit an existing note
|
||||
using your favorite editor. This way you can also move an existing note
|
||||
from one topic to another one by editing the first line of the note.
|
||||
.Ip "\fBD number\fR" 4
|
||||
.IX Item "D number"
|
||||
\&\fBE\fR or \fBe\fR deletes one or more existing \fInote\fR\|(s). It requires a note number
|
||||
or a set of note numbers. 1\-5 and 1,7,9 are possible values.
|
||||
After one or more notes has been deleted note will recount all remaining notes.
|
||||
Say if you delete 1 and 2, then 3 will become 1, 4 will become 5 and so forth.
|
||||
.Ip "\fBS [expression]\fR" 4
|
||||
.IX Item "S [expression]"
|
||||
You can search for the occurence of a text in your notes-database with the
|
||||
command \fBS\fR or \fBs\fR. If you omit an expression note will ask you for one.
|
||||
.Ip "\fBT\fR" 4
|
||||
.IX Item "T"
|
||||
This prints a tree-view of your topic-structure. \fBT\fR displays the tree with
|
||||
notes, \fBt\fR displays just the topics without notes.
|
||||
.Ip "\fBcd topic\fR" 4
|
||||
.IX Item "cd topic"
|
||||
Change the actual topic under which you are. This works identical like just
|
||||
entering the topic but it has some advantages. You can enter \fBcd ..\fR if
|
||||
you want to go one level up in the topic-structure. And you can enter \fBcd /\fR
|
||||
to go to the top of the structure.
|
||||
Additional it is possible to enter a note-number instead of a topic name.
|
||||
For this feature to be active you need to set the config option \fBShortCd\fR
|
||||
to \fB1\fR or \fByes\fR. If you use a number and the note with this number is
|
||||
under a certain topic then you will \*(L"cd\*(R" to this topic. This allows you
|
||||
to do kind of jumps over multiple levels of topics.
|
||||
.Ip "\fB? or h\fR" 4
|
||||
.IX Item "? or h"
|
||||
Display a short help screen.
|
||||
.Ip "\fBQ\fR" 4
|
||||
.IX Item "Q"
|
||||
Quit note.
|
||||
.Sh "\s-1BACKUP\s0"
|
||||
.IX Subsection "BACKUP"
|
||||
You can also dump the contents of your note-database into a
|
||||
ASCII-textfile(\fI\-D\fR). You can use this file later to import it into
|
||||
your note-database(\-I). This is usefull, if you want quickly trans-
|
||||
fer your notes from one host to another (i.e. you could mail
|
||||
your note-dump form your office to home and import it there
|
||||
for further use).
|
||||
.PP
|
||||
The dumps from the two versions of note are in the same format.
|
||||
Using dumps it is also possible to reinitialize your database. You
|
||||
can use the \*(L"\-o\*(R" switch whcih causes note to overwrite your existing
|
||||
database. This is very handy if you changed heavily your config. And
|
||||
it is required, if you changed: encryption, db-driver, (binary-format)
|
||||
and the password. You can use the following command for reinitializing:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& $ note -D - | note -o -I -
|
||||
.Ve
|
||||
What the hell, does this do?! Step by step:
|
||||
.Ip "\(bu" 4
|
||||
\&\fBnote \-D -\fR creates a note-database dump and prints it out
|
||||
to stantdard output.
|
||||
.Ip "\(bu" 4
|
||||
\&\fB|\fR this is the shell's pipe command. It takes the output
|
||||
of the left program and gives it to the right program as
|
||||
standard input.
|
||||
.Ip "\(bu" 4
|
||||
\&\fBnote \-o \-I -\fR imports a note-database dump from standard
|
||||
input and overwrites an existing database.
|
||||
.PP
|
||||
Before you use the \fB\-o\fR switch, I consider you to make a backup!
|
||||
.Sh "\s-1FORMATING\s0"
|
||||
.IX Subsection "FORMATING"
|
||||
Another very nice feature is the possibility to format the note-text
|
||||
(as much as shell allows it). First, you can use the note-internal
|
||||
\&\*(L"magic-strings\*(R" for colorizing. Those strings looks much like \s-1HTML:\s0
|
||||
\&\*(L"<green>here is a green line of text</green> no more green.\*(R"
|
||||
As you see, the beginning of another color starts with a tag(kinda) of
|
||||
the color <colorname> and ends with an end tag </colorname>.
|
||||
.PP
|
||||
The following colors are available:
|
||||
black, red, green, yellow, blue, magenta, cyan and white.
|
||||
.PP
|
||||
Beside colorizing text, you can also create bold or underlined text! If
|
||||
you decide to use this (additional) feature, you need to set the
|
||||
Config-Option \*(L"FormatNotes\*(R" to 1 which turns it on.
|
||||
Usage is very straightforward, if a word (a word is defined as some
|
||||
text with at least one space surrounded) is between a magic mark-
|
||||
character. Here are the available things, you can do:
|
||||
.PP
|
||||
.Vb 3
|
||||
\& bold: **word**
|
||||
\& underlined:__word__
|
||||
\& inverse:{{word}}
|
||||
.Ve
|
||||
The text will be formatted using the actually note-color.
|
||||
.SH "ENCRYPTION"
|
||||
.IX Header "ENCRYPTION"
|
||||
You can turn on encryption from the config file.
|
||||
Simply set UseEncryption to 1. Please note, that you need
|
||||
to decide, if you want to use encryption before the first use
|
||||
of note! If have already a note database and want to \*(L"migrate\*(R"
|
||||
to encryption, I suggest you to follow the directions in the
|
||||
file \s-1UPGRADE\s0!
|
||||
.PP
|
||||
You can choose from different encryption algorythms. The default
|
||||
is \s-1IDEA\s0, but \s-1DES\s0 or \s-1BLOWFISH\s0 is also possible. You need to have
|
||||
installed the following additional perl-modules on your system:
|
||||
\&\s-1MD5\s0
|
||||
Crypt::IDEA
|
||||
Crypt::DES
|
||||
Crypt::CBC
|
||||
.PP
|
||||
After turning on encryption, note will ask you for a passphrase
|
||||
everytime it runs! It will *not* store this passphrase!
|
||||
So, don't forget it! Be careful!
|
||||
.SH "CONFIGURATION"
|
||||
.IX Header "CONFIGURATION"
|
||||
You can use a configuration file with note but it is not required.
|
||||
Note will use default values if there is no config.
|
||||
.PP
|
||||
The default config file is \fB~/.noterc\fR. You may specify another
|
||||
one with the commandline flag \fI\*(--config\fR.
|
||||
.PP
|
||||
Comments start with #, empty lines will be ignored.
|
||||
1 turns an option on, 0 turns it off.
|
||||
An option consists of an atribute-value pair separated
|
||||
by minimum one space (more spaces and/or tabs are allowed).
|
||||
.PP
|
||||
For a detailed explanation of each possible parameter take a look
|
||||
at the supplied sample configuration file in \fBconfig/noterc\fR.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
See the usage guide in the \s-1README\s0 or visit the note website:
|
||||
http://www.0x49.org.
|
||||
.SH "AUTHOR"
|
||||
.IX Header "AUTHOR"
|
||||
Thomas Linden <tom@daemon.de>
|
||||
Reference in New Issue
Block a user