From 6f22b87b7c83a79f47624725b9e1a65d3a35181d Mon Sep 17 00:00:00 2001 From: jbj Date: Fri, 19 Nov 2004 15:44:15 +0000 Subject: [PATCH] Not in rpm-4_4. CVS patchset: 7584 CVS date: 2004/11/19 15:44:15 --- perl/ChangeLog | 13 - perl/MANIFEST | 12 - perl/Makefile.PL | 18 - perl/Makefile.PL.in | 17 - perl/Makefile.am | 18 - perl/Makefile.in | 332 ----------- perl/PMakefile | 779 ------------------------ perl/README | 6 - perl/check | 55 -- perl/constant.c | 1650 --------------------------------------------------- perl/db.xs | 33 -- perl/foo.i386.rpm | Bin 47815 -> 0 bytes perl/header.xs | 211 ------- perl/junk.xs | 55 -- perl/rpm.pm | 117 ---- perl/rpm.xs | 149 ----- perl/test.pl | 37 -- perl/transaction.xs | 56 -- perl/typemap | 9 - 19 files changed, 3567 deletions(-) delete mode 100644 perl/ChangeLog delete mode 100644 perl/MANIFEST delete mode 100644 perl/Makefile.PL delete mode 100644 perl/Makefile.PL.in delete mode 100644 perl/Makefile.am delete mode 100644 perl/Makefile.in delete mode 100644 perl/PMakefile delete mode 100644 perl/README delete mode 100755 perl/check delete mode 100644 perl/constant.c delete mode 100644 perl/db.xs delete mode 100644 perl/foo.i386.rpm delete mode 100644 perl/header.xs delete mode 100644 perl/junk.xs delete mode 100644 perl/rpm.pm delete mode 100644 perl/rpm.xs delete mode 100644 perl/test.pl delete mode 100644 perl/transaction.xs delete mode 100644 perl/typemap diff --git a/perl/ChangeLog b/perl/ChangeLog deleted file mode 100644 index 48fc68c..0000000 --- a/perl/ChangeLog +++ /dev/null @@ -1,13 +0,0 @@ -1999-07-14 Cristian Gafton - - * rpm.xs: Take the count return value into consideration - when processing int return types - - * test.pl: Added test for the number fo tags and the number of - files in the test package - -Revision history for Perl extension rpm. - -0.01 Mon Jul 12 13:07:43 1999 - - original version; created by h2xs 1.19 - diff --git a/perl/MANIFEST b/perl/MANIFEST deleted file mode 100644 index 9e352e2..0000000 --- a/perl/MANIFEST +++ /dev/null @@ -1,12 +0,0 @@ -ChangeLog -MANIFEST -Makefile.PL -constant.c -rpm.pm -rpm.xs -test.pl -typemap -foo.i386.rpm -junk.xs -transaction.xs -header.xs diff --git a/perl/Makefile.PL b/perl/Makefile.PL deleted file mode 100644 index 641cc14..0000000 --- a/perl/Makefile.PL +++ /dev/null @@ -1,18 +0,0 @@ -# Generated automatically from Makefile.PL.in by configure. -use ExtUtils::MakeMaker; -# See lib/ExtUtils/MakeMaker.pm for details of how to influence -# the contents of the Makefile that is written. - -WriteMakefile( - 'NAME' => 'rpm', - 'OBJECT' => 'rpm.o constant.o', - 'VERSION_FROM' => 'rpm.pm', # finds $VERSION - 'MAKEFILE'=> 'PMakefile', - 'LIBS' => [' -L/usr/local/lib -lz -lbz2'], # e.g., '-lm' - 'CCFLAGS' => '-g -O2 -D_GNU_SOURCE -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts', - 'OPTIMIZE'=> '-g', - 'DEFINE' => '-Dbool=char -DHAS_BOOL', - 'INC' => ' -I/usr/local/include -I../build -I../lib -I../popt -I/usr/include/rpm', - 'depend' => { 'rpm.c' => 'transaction.xs header.xs db.xs' }, -); - diff --git a/perl/Makefile.PL.in b/perl/Makefile.PL.in deleted file mode 100644 index 625f0eb..0000000 --- a/perl/Makefile.PL.in +++ /dev/null @@ -1,17 +0,0 @@ -use ExtUtils::MakeMaker; -# See lib/ExtUtils/MakeMaker.pm for details of how to influence -# the contents of the Makefile that is written. - -WriteMakefile( - 'NAME' => 'rpm', - 'OBJECT' => 'rpm.o constant.o', - 'VERSION_FROM' => 'rpm.pm', # finds $VERSION - 'MAKEFILE'=> 'PMakefile', - 'LIBS' => ['@LIBS@'], # e.g., '-lm' - 'CCFLAGS' => '@CFLAGS@', - 'OPTIMIZE'=> '-g', - 'DEFINE' => '-Dbool=char -DHAS_BOOL', - 'INC' => '@INCPATH@ -I../build -I../lib -I../popt -I/usr/include/rpm', - 'depend' => { 'rpm.c' => 'transaction.xs header.xs db.xs' }, -); - diff --git a/perl/Makefile.am b/perl/Makefile.am deleted file mode 100644 index e55c09c..0000000 --- a/perl/Makefile.am +++ /dev/null @@ -1,18 +0,0 @@ -# Makefile for rpm scripts. - -AUTOMAKE_OPTIONS = 1.4 foreign - -EXTRA_DIST = \ - db.xs header.xs junk.xs rpm.xs transaction.xs - -installprefix = $(DESTDIR) - -configdir = ${prefix}/lib/rpm -config_SCRIPTS = \ - db.xs header.xs junk.xs rpm.xs transaction.xs - -all install clean: PMakefile - make -f $< $@ - -PMakefile: Makefile.PL - perl Makefile.PL diff --git a/perl/Makefile.in b/perl/Makefile.in deleted file mode 100644 index 5158513..0000000 --- a/perl/Makefile.in +++ /dev/null @@ -1,332 +0,0 @@ -# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# Makefile for rpm scripts. - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AR = @AR@ -AS = @AS@ -AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -BUILD_RPMNLSTOOLS = @BUILD_RPMNLSTOOLS@ -BZIP2BIN = @BZIP2BIN@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -CPP = @CPP@ -CSCOPE = @CSCOPE@ -CTAGS = @CTAGS@ -DATADIRNAME = @DATADIRNAME@ -DBLIBOBJS = @DBLIBOBJS@ -DBLIBSRCS = @DBLIBSRCS@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -FINDPROVIDES = @FINDPROVIDES@ -FINDREQUIRES = @FINDREQUIRES@ -FIXPERMS = @FIXPERMS@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -GZIPBIN = @GZIPBIN@ -INCPATH = @INCPATH@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ -INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ -LDFLAGS_STATIC = @LDFLAGS_STATIC@ -LIBDIR = @LIBDIR@ -LIBICONV = @LIBICONV@ -LIBMISC = @LIBMISC@ -LIBOBJS = @LIBOBJS@ -LIBRPMALIAS_FILENAME = @LIBRPMALIAS_FILENAME@ -LIBRPMRC_FILENAME = @LIBRPMRC_FILENAME@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LOCALEDIR = @LOCALEDIR@ -MACROFILES = @MACROFILES@ -MAKEINFO = @MAKEINFO@ -MKDIR = @MKDIR@ -MKDIR_P = @MKDIR_P@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PGPBIN = @PGPBIN@ -POFILES = @POFILES@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -ROOT_GROUP = @ROOT_GROUP@ -RPM = @RPM@ -RPMCANONARCH = @RPMCANONARCH@ -RPMCANONOS = @RPMCANONOS@ -RPMCANONVENDOR = @RPMCANONVENDOR@ -RPMCONFIGDIR = @RPMCONFIGDIR@ -RPMGID = @RPMGID@ -RPMGROUP = @RPMGROUP@ -RPMUID = @RPMUID@ -RPMUSER = @RPMUSER@ -STRIP = @STRIP@ -SYSCONFIGDIR = @SYSCONFIGDIR@ -U = @U@ -UNZIPBIN = @UNZIPBIN@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -WITH_APIDOCS = @WITH_APIDOCS@ -WITH_APIDOCS_TARGET = @WITH_APIDOCS_TARGET@ -WITH_BZIP2 = @WITH_BZIP2@ -WITH_DB_SUBDIR = @WITH_DB_SUBDIR@ -WITH_INTERNAL_DB = @WITH_INTERNAL_DB@ -WITH_PYTHON_SUBDIR = @WITH_PYTHON_SUBDIR@ -WITH_PYTHON_SUBPACKAGE = @WITH_PYTHON_SUBPACKAGE@ -__CAT = @__CAT@ -__CHGRP = @__CHGRP@ -__CHGRP_RHF = @__CHGRP_RHF@ -__CHMOD = @__CHMOD@ -__CHOWN = @__CHOWN@ -__CHOWN_RHF = @__CHOWN_RHF@ -__CP = @__CP@ -__CPIO = @__CPIO@ -__DOXYGEN = @__DOXYGEN@ -__FILE = @__FILE@ -__GPG = @__GPG@ -__GREP = @__GREP@ -__ID = @__ID@ -__ID_U = @__ID_U@ -__INSTALL = @__INSTALL@ -__LD = @__LD@ -__MAKE = @__MAKE@ -__MKDIR = @__MKDIR@ -__MV = @__MV@ -__NM = @__NM@ -__OBJCOPY = @__OBJCOPY@ -__OBJDUMP = @__OBJDUMP@ -__PATCH = @__PATCH@ -__PERL = @__PERL@ -__PYTHON = @__PYTHON@ -__RM = @__RM@ -__RSH = @__RSH@ -__SED = @__SED@ -__SSH = @__SSH@ -__STRIP = @__STRIP@ -__TAR = @__TAR@ -libdb3 = @libdb3@ -libdb3a = @libdb3a@ -testdir = @testdir@ -tmpdir = @tmpdir@ -varprefix = @varprefix@ - -AUTOMAKE_OPTIONS = 1.4 foreign - -EXTRA_DIST = db.xs header.xs junk.xs rpm.xs transaction.xs - - -installprefix = $(DESTDIR) - -configdir = ${prefix}/lib/rpm -config_SCRIPTS = db.xs header.xs junk.xs rpm.xs transaction.xs - -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = Makefile.PL -SCRIPTS = $(config_SCRIPTS) - -DIST_COMMON = README ChangeLog Makefile.PL.in Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = gtar -GZIP_ENV = --best -all: all-redirect -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --foreign perl/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - -Makefile.PL: $(top_builddir)/config.status Makefile.PL.in - cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - -install-configSCRIPTS: $(config_SCRIPTS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(configdir) - @list='$(config_SCRIPTS)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(configdir)/`echo $$p|sed '$(transform)'`"; \ - $(INSTALL_SCRIPT) $$p $(DESTDIR)$(configdir)/`echo $$p|sed '$(transform)'`; \ - else if test -f $(srcdir)/$$p; then \ - echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(configdir)/`echo $$p|sed '$(transform)'`"; \ - $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(configdir)/`echo $$p|sed '$(transform)'`; \ - else :; fi; fi; \ - done - -uninstall-configSCRIPTS: - @$(NORMAL_UNINSTALL) - list='$(config_SCRIPTS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(configdir)/`echo $$p|sed '$(transform)'`; \ - done -tags: TAGS -TAGS: - - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = perl - -distdir: $(DISTFILES) - here=`cd $(top_builddir) && pwd`; \ - top_distdir=`cd $(top_distdir) && pwd`; \ - distdir=`cd $(distdir) && pwd`; \ - cd $(top_srcdir) \ - && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign perl/Makefile - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$d/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done -info-am: -info: info-am -dvi-am: -dvi: dvi-am -check-am: all-am -check: check-am -installcheck-am: -installcheck: installcheck-am -install-exec-am: -install-exec: install-exec-am - -install-data-am: install-configSCRIPTS -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: uninstall-configSCRIPTS -uninstall: uninstall-am -all-am: Makefile $(SCRIPTS) -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - $(mkinstalldirs) $(DESTDIR)$(configdir) - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-generic mostlyclean-am - -clean: clean-am - -distclean-am: distclean-generic clean-am - -rm -f libtool - -distclean: distclean-am - -maintainer-clean-am: maintainer-clean-generic distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-am - -.PHONY: uninstall-configSCRIPTS install-configSCRIPTS tags distdir \ -info-am info dvi-am dvi check check-am installcheck-am installcheck \ -install-exec-am install-exec install-data-am install-data install-am \ -install uninstall-am uninstall all-redirect all-am all installdirs \ -mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean - - -all install clean: PMakefile - make -f $< $@ - -PMakefile: Makefile.PL - perl Makefile.PL - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/perl/PMakefile b/perl/PMakefile deleted file mode 100644 index cbed49b..0000000 --- a/perl/PMakefile +++ /dev/null @@ -1,779 +0,0 @@ -# This Makefile is for the rpm extension to perl. -# -# It was generated automatically by MakeMaker version -# 5.4302 (Revision: 1.222) 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: - -# CCFLAGS => q[-g -O2 -D_GNU_SOURCE -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts] -# DEFINE => q[-Dbool=char -DHAS_BOOL] -# INC => q[ -I../build -I../lib -I../popt -I/usr/include/rpm] -# LIBS => [q[-L/usr/local/lib -ldb1 -lz -lbz2]] -# MAKEFILE => q[PMakefile] -# NAME => q[rpm] -# OBJECT => q[rpm.o constant.o] -# OPTIMIZE => q[-g] -# VERSION_FROM => q[rpm.pm] -# depend => { rpm.c=>q[transaction.xs header.xs db.xs] } - -# --- MakeMaker post_initialize section: - - -# --- MakeMaker const_config section: - -# These definitions are from config.sh (via /usr/lib/perl5/5.00503/sparc-linux/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_EXT = .a -OBJ_EXT = .o -OSNAME = linux -OSVERS = 2.2.12-42 -RANLIB = : -SO = so -EXE_EXT = - - -# --- MakeMaker constants section: -AR_STATIC_ARGS = cr -NAME = rpm -DISTNAME = rpm -NAME_SYM = rpm -VERSION = 0.01 -VERSION_SYM = 0_01 -XS_VERSION = 0.01 -INST_BIN = blib/bin -INST_EXE = blib/script -INST_LIB = blib/lib -INST_ARCHLIB = blib/arch -INST_SCRIPT = blib/script -PREFIX = /usr -INSTALLDIRS = site -INSTALLPRIVLIB = $(PREFIX)/lib/perl5/5.00503 -INSTALLARCHLIB = $(PREFIX)/lib/perl5/5.00503/sparc-linux -INSTALLSITELIB = $(PREFIX)/lib/perl5/site_perl/5.005 -INSTALLSITEARCH = $(PREFIX)/lib/perl5/site_perl/5.005/sparc-linux -INSTALLBIN = $(PREFIX)/bin -INSTALLSCRIPT = $(PREFIX)/bin -PERL_LIB = /usr/lib/perl5/5.00503 -PERL_ARCHLIB = /usr/lib/perl5/5.00503/sparc-linux -SITELIBEXP = /usr/lib/perl5/site_perl/5.005 -SITEARCHEXP = /usr/lib/perl5/site_perl/5.005/sparc-linux -LIBPERL_A = libperl.a -FIRST_MAKEFILE = Makefile -MAKE_APERL_FILE = Makefile.aperl -PERLMAINCC = $(CC) -PERL_INC = /usr/lib/perl5/5.00503/sparc-linux/CORE -PERL = /usr/bin/perl -FULLPERL = /usr/bin/perl - -VERSION_MACRO = VERSION -DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\" -XS_VERSION_MACRO = XS_VERSION -XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\" - -MAKEMAKER = /usr/lib/perl5/5.00503/ExtUtils/MakeMaker.pm -MM_VERSION = 5.4302 - -# FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle). -# BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle) -# ROOTEXT = Directory part of FULLEXT with leading slash (eg /DBD) !!! Deprecated from MM 5.32 !!! -# PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar) -# DLBASE = Basename part of dynamic library. May be just equal BASEEXT. -FULLEXT = rpm -BASEEXT = rpm -DLBASE = $(BASEEXT) -VERSION_FROM = rpm.pm -INC = -I../build -I../lib -I../popt -I/usr/include/rpm -DEFINE = -Dbool=char -DHAS_BOOL -OBJECT = rpm$(OBJ_EXT) constant$(OBJ_EXT) -LDFROM = $(OBJECT) -LINKTYPE = dynamic - -# Handy lists of source code files: -XS_FILES= db.xs \ - header.xs \ - junk.xs \ - rpm.xs \ - transaction.xs -C_FILES = constant.c \ - db.c \ - header.c \ - junk.c \ - rpm.c \ - transaction.c -O_FILES = constant.o \ - db.o \ - header.o \ - junk.o \ - rpm.o \ - transaction.o -H_FILES = -MAN1PODS = -MAN3PODS = rpm.pm -INST_MAN1DIR = blib/man1 -INSTALLMAN1DIR = $(PREFIX)/man/man1 -MAN1EXT = 1 -INST_MAN3DIR = blib/man3 -INSTALLMAN3DIR = $(PREFIX)/lib/perl5/man/man3 -MAN3EXT = 3 -PERM_RW = 644 -PERM_RWX = 755 - -# work around a famous dec-osf make(1) feature(?): -makemakerdflt: all - -.SUFFIXES: .xs .c .C .cpp .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_ARCHAUTODIR)/$(BASEEXT)$(LIB_EXT) -INST_DYNAMIC = $(INST_ARCHAUTODIR)/$(DLBASE).$(DLEXT) -INST_BOOT = $(INST_ARCHAUTODIR)/$(BASEEXT).bs - -EXPORT_LIST = - -PERL_ARCHIVE = - -TO_INST_PM = rpm.pm - -PM_TO_BLIB = rpm.pm \ - $(INST_LIBDIR)/rpm.pm - - -# --- MakeMaker tool_autosplit section: - -# Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto -AUTOSPLITFILE = $(PERL) "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" -e 'use AutoSplit;autosplit($$ARGV[0], $$ARGV[1], 0, 1, 1) ;' - - -# --- MakeMaker tool_xsubpp section: - -XSUBPPDIR = /usr/lib/perl5/5.00503/ExtUtils -XSUBPP = $(XSUBPPDIR)/xsubpp -XSPROTOARG = -XSUBPPDEPS = $(XSUBPPDIR)/typemap typemap -XSUBPPARGS = -typemap $(XSUBPPDIR)/typemap -typemap typemap - - -# --- 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 = $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -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 = $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -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=1 - -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<", shift, ">";' \ --e 'print "=over 4";' \ --e 'while (defined($$key = shift) and defined($$val = shift)){print "=item *";print "C<$$key: $$val>";}' \ --e 'print "=back";' - -UNINSTALL = $(PERL) -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: - -DISTVNAME = $(DISTNAME)-$(VERSION) -TAR = tar -TARFLAGS = cvf -ZIP = zip -ZIPFLAGS = -r -COMPRESS = gzip --best -SUFFIX = .gz -SHAR = shar -PREOP = @$(NOOP) -POSTOP = @$(NOOP) -TO_UNIX = @$(NOOP) -CI = ci -u -RCS_LABEL = rcs -Nv$(VERSION_SYM): -q -DIST_CP = best -DIST_DEFAULT = tardist - - -# --- MakeMaker macro section: - - -# --- MakeMaker depend section: -rpm.c: transaction.xs header.xs db.xs - - -# --- MakeMaker cflags section: - -CCFLAGS = -g -O2 -D_GNU_SOURCE -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts -OPTIMIZE = -g -PERLTYPE = -LARGE = -SPLIT = - - -# --- MakeMaker const_loadlibs section: - -# rpm might depend on some other libraries: -# See ExtUtils::Liblist for details -# -EXTRALIBS = -L/usr/local/lib -ldb1 -lz -lbz2 -LDLOADLIBS = -L/usr/local/lib -ldb1 -lz -lbz2 -BSLOADLIBS = -LD_RUN_PATH = /lib:/usr/lib - - -# --- MakeMaker const_cccmd section: -CCCMD = $(CC) -c $(INC) $(CCFLAGS) $(OPTIMIZE) \ - $(PERLTYPE) $(LARGE) $(SPLIT) $(DEFINE_VERSION) \ - $(XS_DEFINE_VERSION) - -# --- MakeMaker post_constants section: - - -# --- MakeMaker pasthru section: - -PASTHRU = LIB="$(LIB)"\ - LIBPERL_A="$(LIBPERL_A)"\ - LINKTYPE="$(LINKTYPE)"\ - PREFIX="$(PREFIX)"\ - OPTIMIZE="$(OPTIMIZE)" - - -# --- MakeMaker c_o section: - -.c$(OBJ_EXT): - $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.c - -.C$(OBJ_EXT): - $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.C - -.cpp$(OBJ_EXT): - $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.cpp - -.cxx$(OBJ_EXT): - $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.cxx - -.cc$(OBJ_EXT): - $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.cc - - -# --- MakeMaker xs_c section: - -.xs.c: - $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs >xstmp.c && $(MV) xstmp.c $*.c - - -# --- MakeMaker xs_o section: - -.xs$(OBJ_EXT): - $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs >xstmp.c && $(MV) xstmp.c $*.c - $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.c - - -# --- MakeMaker top_targets section: - -#all :: config $(INST_PM) subdirs linkext manifypods - -all :: pure_all manifypods - @$(NOOP) - -pure_all :: config pm_to_blib subdirs linkext - @$(NOOP) - -subdirs :: $(MYEXTLIB) - @$(NOOP) - -config :: PMakefile $(INST_LIBDIR)/.exists - @$(NOOP) - -config :: $(INST_ARCHAUTODIR)/.exists - @$(NOOP) - -config :: $(INST_AUTODIR)/.exists - @$(NOOP) - -config :: Version_check - @$(NOOP) - - -$(INST_AUTODIR)/.exists :: /usr/lib/perl5/5.00503/sparc-linux/CORE/perl.h - @$(MKPATH) $(INST_AUTODIR) - @$(EQUALIZE_TIMESTAMP) /usr/lib/perl5/5.00503/sparc-linux/CORE/perl.h $(INST_AUTODIR)/.exists - - -@$(CHMOD) $(PERM_RWX) $(INST_AUTODIR) - -$(INST_LIBDIR)/.exists :: /usr/lib/perl5/5.00503/sparc-linux/CORE/perl.h - @$(MKPATH) $(INST_LIBDIR) - @$(EQUALIZE_TIMESTAMP) /usr/lib/perl5/5.00503/sparc-linux/CORE/perl.h $(INST_LIBDIR)/.exists - - -@$(CHMOD) $(PERM_RWX) $(INST_LIBDIR) - -$(INST_ARCHAUTODIR)/.exists :: /usr/lib/perl5/5.00503/sparc-linux/CORE/perl.h - @$(MKPATH) $(INST_ARCHAUTODIR) - @$(EQUALIZE_TIMESTAMP) /usr/lib/perl5/5.00503/sparc-linux/CORE/perl.h $(INST_ARCHAUTODIR)/.exists - - -@$(CHMOD) $(PERM_RWX) $(INST_ARCHAUTODIR) - -config :: $(INST_MAN3DIR)/.exists - @$(NOOP) - - -$(INST_MAN3DIR)/.exists :: /usr/lib/perl5/5.00503/sparc-linux/CORE/perl.h - @$(MKPATH) $(INST_MAN3DIR) - @$(EQUALIZE_TIMESTAMP) /usr/lib/perl5/5.00503/sparc-linux/CORE/perl.h $(INST_MAN3DIR)/.exists - - -@$(CHMOD) $(PERM_RWX) $(INST_MAN3DIR) - -help: - perldoc ExtUtils::MakeMaker - -Version_check: - @$(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) \ - -MExtUtils::MakeMaker=Version_check \ - -e "Version_check('$(MM_VERSION)')" - - -# --- 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 :: PMakefile $(INST_DYNAMIC) $(INST_BOOT) $(INST_PM) -dynamic :: PMakefile $(INST_DYNAMIC) $(INST_BOOT) - @$(NOOP) - - -# --- MakeMaker dynamic_bs section: - -BOOTSTRAP = rpm.bs - -# As Mkbootstrap might not write a file (if none is required) -# we use touch to prevent make continually trying to remake it. -# The DynaLoader only reads a non-empty file. -$(BOOTSTRAP): PMakefile $(INST_ARCHAUTODIR)/.exists - @echo "Running Mkbootstrap for $(NAME) ($(BSLOADLIBS))" - @$(PERL) "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" \ - -MExtUtils::Mkbootstrap \ - -e "Mkbootstrap('$(BASEEXT)','$(BSLOADLIBS)');" - @$(TOUCH) $(BOOTSTRAP) - $(CHMOD) $(PERM_RW) $@ - -$(INST_BOOT): $(BOOTSTRAP) $(INST_ARCHAUTODIR)/.exists - @rm -rf $(INST_BOOT) - -cp $(BOOTSTRAP) $(INST_BOOT) - $(CHMOD) $(PERM_RW) $@ - - -# --- MakeMaker dynamic_lib section: - -# This section creates the dynamically loadable $(INST_DYNAMIC) -# from $(OBJECT) and possibly $(MYEXTLIB). -ARMAYBE = : -OTHERLDFLAGS = -INST_DYNAMIC_DEP = - -$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)/.exists $(EXPORT_LIST) $(PERL_ARCHIVE) $(INST_DYNAMIC_DEP) - LD_RUN_PATH="$(LD_RUN_PATH)" $(LD) -o $@ $(LDDLFLAGS) $(LDFROM) $(OTHERLDFLAGS) $(MYEXTLIB) $(PERL_ARCHIVE) $(LDLOADLIBS) $(EXPORT_LIST) - $(CHMOD) $(PERM_RWX) $@ - - -# --- 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 :: PMakefile $(INST_STATIC) $(INST_PM) -static :: PMakefile $(INST_STATIC) - @$(NOOP) - - -# --- MakeMaker static_lib section: - -$(INST_STATIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)/.exists - $(RM_RF) $@ - $(AR) $(AR_STATIC_ARGS) $@ $(OBJECT) && $(RANLIB) $@ - $(CHMOD) $(PERM_RWX) $@ - @echo "$(EXTRALIBS)" > $(INST_ARCHAUTODIR)/extralibs.ld - - - -# --- 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 "PMakefile";' \ --e 'print "Manifying $$m{$$_}\n";' \ --e 'system(qq[$$^X ].q["-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" $(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 rpm.pm - @$(POD2MAN) \ - rpm.pm \ - $(INST_MAN3DIR)/rpm.$(MAN3EXT) - -# --- MakeMaker processPL section: - - -# --- MakeMaker installbin section: - - -# --- 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 rpm.c junk.c header.c transaction.c db.c ./blib $(MAKE_APERL_FILE) $(INST_ARCHAUTODIR)/extralibs.all perlmain.c mon.out core so_locations pm_to_blib *~ */*~ */*/*~ *$(OBJ_EXT) *$(LIB_EXT) perl.exe $(BOOTSTRAP) $(BASEEXT).bso $(BASEEXT).def $(BASEEXT).exp - -mv PMakefile PMakefile.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 -f $(INST_DYNAMIC) $(INST_BOOT) - rm -f $(INST_STATIC) - rm -f $(INST_LIBDIR)/rpm.pm - rm -rf PMakefile PMakefile.old - - -# --- MakeMaker dist_basics section: - -distclean :: realclean distcheck - -distcheck : - $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -MExtUtils::Manifest=fullcheck \ - -e fullcheck - -skipcheck : - $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -MExtUtils::Manifest=skipcheck \ - -e skipcheck - -manifest : - $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -MExtUtils::Manifest=mkmanifest \ - -e mkmanifest - - -# --- 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 "PMakefile";' - -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) - $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -MExtUtils::Manifest=manicopy,maniread \ - -e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');" - - -# --- MakeMaker dist_test section: - -disttest : distdir - cd $(DISTVNAME) && $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) Makefile.PL - cd $(DISTVNAME) && $(MAKE) - cd $(DISTVNAME) && $(MAKE) test - - -# --- MakeMaker dist_ci section: - -ci : - $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -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_ :: install_site - @echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site - -pure_install :: pure_$(INSTALLDIRS)_install - -doc_install :: doc_$(INSTALLDIRS)_install - @echo Appending installation info to $(INSTALLARCHLIB)/perllocal.pod - -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 :: - @$(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 :: - @$(MOD_INSTALL) \ - read $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist \ - write $(INSTALLSITEARCH)/auto/$(FULLEXT)/.packlist \ - $(INST_LIB) $(INSTALLSITELIB) \ - $(INST_ARCHLIB) $(INSTALLSITEARCH) \ - $(INST_BIN) $(INSTALLBIN) \ - $(INST_SCRIPT) $(INSTALLSCRIPT) \ - $(INST_MAN1DIR) $(INSTALLMAN1DIR) \ - $(INST_MAN3DIR) $(INSTALLMAN3DIR) - @$(WARN_IF_OLD_PACKLIST) \ - $(PERL_ARCHLIB)/auto/$(FULLEXT) - -doc_perl_install :: - -@$(DOC_INSTALL) \ - "Module" "$(NAME)" \ - "installed into" "$(INSTALLPRIVLIB)" \ - LINKTYPE "$(LINKTYPE)" \ - VERSION "$(VERSION)" \ - EXE_FILES "$(EXE_FILES)" \ - >> $(INSTALLARCHLIB)/perllocal.pod - -doc_site_install :: - -@$(DOC_INSTALL) \ - "Module" "$(NAME)" \ - "installed into" "$(INSTALLSITELIB)" \ - LINKTYPE "$(LINKTYPE)" \ - VERSION "$(VERSION)" \ - EXE_FILES "$(EXE_FILES)" \ - >> $(INSTALLARCHLIB)/perllocal.pod - - -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: - -PERL_HDRS = \ -$(PERL_INC)/EXTERN.h $(PERL_INC)/gv.h $(PERL_INC)/pp.h \ -$(PERL_INC)/INTERN.h $(PERL_INC)/handy.h $(PERL_INC)/proto.h \ -$(PERL_INC)/XSUB.h $(PERL_INC)/hv.h $(PERL_INC)/regcomp.h \ -$(PERL_INC)/av.h $(PERL_INC)/keywords.h $(PERL_INC)/regexp.h \ -$(PERL_INC)/config.h $(PERL_INC)/mg.h $(PERL_INC)/scope.h \ -$(PERL_INC)/cop.h $(PERL_INC)/op.h $(PERL_INC)/sv.h \ -$(PERL_INC)/cv.h $(PERL_INC)/opcode.h $(PERL_INC)/unixish.h \ -$(PERL_INC)/dosish.h $(PERL_INC)/patchlevel.h $(PERL_INC)/util.h \ -$(PERL_INC)/embed.h $(PERL_INC)/perl.h $(PERL_INC)/iperlsys.h \ -$(PERL_INC)/form.h $(PERL_INC)/perly.h - -$(OBJECT) : $(PERL_HDRS) - -rpm.c junk.c header.c transaction.c db.c : $(XSUBPPDEPS) - - -# --- MakeMaker makefile section: - -$(OBJECT) : $(FIRST_MAKEFILE) - -# We take a very conservative approach here, but it\'s worth it. -# We move Makefile to Makefile.old here to avoid gnu make looping. -PMakefile : Makefile.PL $(CONFIGDEP) - @echo "Makefile out-of-date with respect to $?" - @echo "Cleaning current config before rebuilding Makefile..." - -@$(RM_F) PMakefile.old - -@$(MV) PMakefile PMakefile.old - -$(MAKE) -f PMakefile.old clean $(DEV_NULL) || $(NOOP) - $(PERL) "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" Makefile.PL - @echo "==> Your Makefile has been rebuilt. <==" - @echo "==> Please rerun the make command. <==" - false - -# To change behavior to :: would be nice, but would break Tk b9.02 -# so you find such a warning below the dist target. -#PMakefile :: $(VERSION_FROM) -# @echo "Warning: Makefile possibly out of date with $(VERSION_FROM)" - - -# --- 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) - @$(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) \ - 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) - -test_dynamic :: pure_all - PERL_DL_NONLAZY=1 $(FULLPERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(TEST_FILE) - -testdb_dynamic :: pure_all - PERL_DL_NONLAZY=1 $(FULLPERL) $(TESTDB_SW) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(TEST_FILE) - -test_ : test_dynamic - -test_static :: pure_all $(MAP_TARGET) - PERL_DL_NONLAZY=1 ./$(MAP_TARGET) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(TEST_FILE) - -testdb_static :: pure_all $(MAP_TARGET) - PERL_DL_NONLAZY=1 ./$(MAP_TARGET) $(TESTDB_SW) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(TEST_FILE) - - - -# --- MakeMaker ppd section: -# Creates a PPD (Perl Package Description) for a binary distribution. -ppd: - @$(PERL) -e "print qq{\n}. qq{\trpm\n}. qq{\t\n}. qq{\t\n}. qq{\t\n}. qq{\t\t\n}. qq{\t\t\n}. qq{\t\t\n}. qq{\t\n}. qq{\n}" > rpm.ppd - -# --- MakeMaker pm_to_blib section: - -pm_to_blib: $(TO_INST_PM) - @$(PERL) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" \ - "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" -MExtUtils::Install \ - -e "pm_to_blib({qw{$(PM_TO_BLIB)}},'$(INST_LIB)/auto')" - @$(TOUCH) $@ - - -# --- MakeMaker selfdocument section: - - -# --- MakeMaker postamble section: - - -# End. diff --git a/perl/README b/perl/README deleted file mode 100644 index 4caa313..0000000 --- a/perl/README +++ /dev/null @@ -1,6 +0,0 @@ -Copyright (c) 1999 Red Hat, Inc. All rights reserved. - -Developed by Cristian Gafton - -This program is free software; you can redistribute it and/or -modify it under the same terms as Perl itself. diff --git a/perl/check b/perl/check deleted file mode 100755 index b9232d8..0000000 --- a/perl/check +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/perl - -use ExtUtils::testlib; -use rpm; - -my $testfile = "foo.i386.rpm"; - -my $header = rpm::Header($testfile); - -print "Test No. 1\n"; -if ($header) { - my @foo_test = (); - my %foo_test = (); - my $key; - - print "call to the header function SUCCEEDED\n"; - @foo_test = $header->ItemByVal(1027); - print "values returned by ItemByVal(1027) ", join(' ',@foo_test), "\n\n\n"; - @foo_test = $header->ItemByName("Filenames"); - print "values returned by ItemByName(\"Filenames\") ", join(' ',@foo_test), "\n\n\n"; - - print "\n\nTest No. 2\n"; - %foo_test = $header->List(); - foreach $key (sort keys %foo_test) { - my $foo_it; - print "Item [$key] has [", scalar @{$foo_test{$key}}, "] values: "; - foreach $foo_it (@{$foo_test{$key}}) { - print "[$foo_it] "; - } - print "\n"; - } - - print "\n\nTest No. 3\n"; - print "The number of header tags is: ", scalar $header->Tags(), "\n"; - - print "\n\nTest No. 4\n"; - rpm::Debug(); - my $db = rpm::dbOpen(); - if ($db) { - my $rec = $db->First(); - while ($rec != 0) { - my $hdr = $db->Record($rec); - print "Found header: Name=[", $hdr->ItemByName("Name"), "]\n"; - $rec = $db->Next($rec); - } - $db->Close(); - } else { - print "Could not open the RPM database! Error code: ", rpm::Error(), "\n"; - } -} else { - print "call to the header function FAILED\n"; -} - - - diff --git a/perl/constant.c b/perl/constant.c deleted file mode 100644 index 7a2a346..0000000 --- a/perl/constant.c +++ /dev/null @@ -1,1650 +0,0 @@ -/* - * This file contains the constant() function that is used - * by perl AutoLoader when looking up exported constant symbols - * - * $Id: constant.c,v 1.2 1999/07/14 18:23:16 gafton Exp $ - */ - -#include "EXTERN.h" -#include "perl.h" -#include "XSUB.h" - -#include -#include -#include -#include -#include - -static int -not_here(char *s) -{ - croak("%s not implemented on this architecture", s); - return -1; -} - -double -constant(char *name, int arg) -{ - errno = 0; - switch (*name) { - case 'A': - break; - case 'B': - break; - case 'C': - break; - case 'D': - break; - case 'E': - break; - case 'F': - break; - case 'G': - break; - case 'H': - break; - case 'I': - break; - case 'J': - break; - case 'K': - break; - case 'L': - break; - case 'M': - break; - case 'N': - break; - case 'O': - break; - case 'P': - break; - case 'Q': - if (strEQ(name, "QUERY_FOR_CONFIG")) -#ifdef QUERY_FOR_CONFIG - return QUERY_FOR_CONFIG; -#else - goto not_there; -#endif - if (strEQ(name, "QUERY_FOR_DOCS")) -#ifdef QUERY_FOR_DOCS - return QUERY_FOR_DOCS; -#else - goto not_there; -#endif - if (strEQ(name, "QUERY_FOR_DUMPFILES")) -#ifdef QUERY_FOR_DUMPFILES - return QUERY_FOR_DUMPFILES; -#else - goto not_there; -#endif - if (strEQ(name, "QUERY_FOR_LIST")) -#ifdef QUERY_FOR_LIST - return QUERY_FOR_LIST; -#else - goto not_there; -#endif - if (strEQ(name, "QUERY_FOR_STATE")) -#ifdef QUERY_FOR_STATE - return QUERY_FOR_STATE; -#else - goto not_there; -#endif - break; - case 'R': - if (strEQ(name, "RPMERR_BADARG")) -#ifdef RPMERR_BADARG - return RPMERR_BADARG; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_BADDEV")) -#ifdef RPMERR_BADDEV - return RPMERR_BADDEV; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_BADFILENAME")) -#ifdef RPMERR_BADFILENAME - return RPMERR_BADFILENAME; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_BADMAGIC")) -#ifdef RPMERR_BADMAGIC - return RPMERR_BADMAGIC; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_BADRELOCATE")) -#ifdef RPMERR_BADRELOCATE - return RPMERR_BADRELOCATE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_BADSIGTYPE")) -#ifdef RPMERR_BADSIGTYPE - return RPMERR_BADSIGTYPE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_BADSPEC")) -#ifdef RPMERR_BADSPEC - return RPMERR_BADSPEC; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_CHOWN")) -#ifdef RPMERR_CHOWN - return RPMERR_CHOWN; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_CPIO")) -#ifdef RPMERR_CPIO - return RPMERR_CPIO; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_CREATE")) -#ifdef RPMERR_CREATE - return RPMERR_CREATE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_DBCORRUPT")) -#ifdef RPMERR_DBCORRUPT - return RPMERR_DBCORRUPT; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_DBGETINDEX")) -#ifdef RPMERR_DBGETINDEX - return RPMERR_DBGETINDEX; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_DBOPEN")) -#ifdef RPMERR_DBOPEN - return RPMERR_DBOPEN; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_DBPUTINDEX")) -#ifdef RPMERR_DBPUTINDEX - return RPMERR_DBPUTINDEX; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_EXEC")) -#ifdef RPMERR_EXEC - return RPMERR_EXEC; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_FILECONFLICT")) -#ifdef RPMERR_FILECONFLICT - return RPMERR_FILECONFLICT; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_FLOCK")) -#ifdef RPMERR_FLOCK - return RPMERR_FLOCK; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_FORK")) -#ifdef RPMERR_FORK - return RPMERR_FORK; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_GDBMOPEN")) -#ifdef RPMERR_GDBMOPEN - return RPMERR_GDBMOPEN; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_GDBMREAD")) -#ifdef RPMERR_GDBMREAD - return RPMERR_GDBMREAD; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_GDBMWRITE")) -#ifdef RPMERR_GDBMWRITE - return RPMERR_GDBMWRITE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_GZIP")) -#ifdef RPMERR_GZIP - return RPMERR_GZIP; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_INTERNAL")) -#ifdef RPMERR_INTERNAL - return RPMERR_INTERNAL; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_LDD")) -#ifdef RPMERR_LDD - return RPMERR_LDD; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_MKDIR")) -#ifdef RPMERR_MKDIR - return RPMERR_MKDIR; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_MTAB")) -#ifdef RPMERR_MTAB - return RPMERR_MTAB; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_NEWPACKAGE")) -#ifdef RPMERR_NEWPACKAGE - return RPMERR_NEWPACKAGE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_NOCREATEDB")) -#ifdef RPMERR_NOCREATEDB - return RPMERR_NOCREATEDB; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_NOGROUP")) -#ifdef RPMERR_NOGROUP - return RPMERR_NOGROUP; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_NORELOCATE")) -#ifdef RPMERR_NORELOCATE - return RPMERR_NORELOCATE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_NOSPACE")) -#ifdef RPMERR_NOSPACE - return RPMERR_NOSPACE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_NOSPEC")) -#ifdef RPMERR_NOSPEC - return RPMERR_NOSPEC; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_NOTSRPM")) -#ifdef RPMERR_NOTSRPM - return RPMERR_NOTSRPM; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_NOUSER")) -#ifdef RPMERR_NOUSER - return RPMERR_NOUSER; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_OLDDB")) -#ifdef RPMERR_OLDDB - return RPMERR_OLDDB; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_OLDDBCORRUPT")) -#ifdef RPMERR_OLDDBCORRUPT - return RPMERR_OLDDBCORRUPT; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_OLDDBMISSING")) -#ifdef RPMERR_OLDDBMISSING - return RPMERR_OLDDBMISSING; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_OLDPACKAGE")) -#ifdef RPMERR_OLDPACKAGE - return RPMERR_OLDPACKAGE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_PKGINSTALLED")) -#ifdef RPMERR_PKGINSTALLED - return RPMERR_PKGINSTALLED; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_READERROR")) -#ifdef RPMERR_READERROR - return RPMERR_READERROR; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_RENAME")) -#ifdef RPMERR_RENAME - return RPMERR_RENAME; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_RMDIR")) -#ifdef RPMERR_RMDIR - return RPMERR_RMDIR; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_RPMRC")) -#ifdef RPMERR_RPMRC - return RPMERR_RPMRC; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_SCRIPT")) -#ifdef RPMERR_SCRIPT - return RPMERR_SCRIPT; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_SIGGEN")) -#ifdef RPMERR_SIGGEN - return RPMERR_SIGGEN; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_STAT")) -#ifdef RPMERR_STAT - return RPMERR_STAT; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_UNKNOWNARCH")) -#ifdef RPMERR_UNKNOWNARCH - return RPMERR_UNKNOWNARCH; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_UNKNOWNOS")) -#ifdef RPMERR_UNKNOWNOS - return RPMERR_UNKNOWNOS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_UNLINK")) -#ifdef RPMERR_UNLINK - return RPMERR_UNLINK; -#else - goto not_there; -#endif - if (strEQ(name, "RPMERR_UNMATCHEDIF")) -#ifdef RPMERR_UNMATCHEDIF - return RPMERR_UNMATCHEDIF; -#else - goto not_there; -#endif - if (strEQ(name, "RPMFILE_CONFIG")) -#ifdef RPMFILE_CONFIG - return RPMFILE_CONFIG; -#else - goto not_there; -#endif - if (strEQ(name, "RPMFILE_DOC")) -#ifdef RPMFILE_DOC - return RPMFILE_DOC; -#else - goto not_there; -#endif - if (strEQ(name, "RPMFILE_DONOTUSE")) -#ifdef RPMFILE_DONOTUSE - return RPMFILE_DONOTUSE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMFILE_GHOST")) -#ifdef RPMFILE_GHOST - return RPMFILE_GHOST; -#else - goto not_there; -#endif - if (strEQ(name, "RPMFILE_LICENSE")) -#ifdef RPMFILE_LICENSE - return RPMFILE_LICENSE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMFILE_MISSINGOK")) -#ifdef RPMFILE_MISSINGOK - return RPMFILE_MISSINGOK; -#else - goto not_there; -#endif - if (strEQ(name, "RPMFILE_NOREPLACE")) -#ifdef RPMFILE_NOREPLACE - return RPMFILE_NOREPLACE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMFILE_README")) -#ifdef RPMFILE_README - return RPMFILE_README; -#else - goto not_there; -#endif - if (strEQ(name, "RPMFILE_SPECFILE")) -#ifdef RPMFILE_SPECFILE - return RPMFILE_SPECFILE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMFILE_STATE_NETSHARED")) -#ifdef RPMFILE_STATE_NETSHARED - return RPMFILE_STATE_NETSHARED; -#else - goto not_there; -#endif - if (strEQ(name, "RPMFILE_STATE_NORMAL")) -#ifdef RPMFILE_STATE_NORMAL - return RPMFILE_STATE_NORMAL; -#else - goto not_there; -#endif - if (strEQ(name, "RPMFILE_STATE_NOTINSTALLED")) -#ifdef RPMFILE_STATE_NOTINSTALLED - return RPMFILE_STATE_NOTINSTALLED; -#else - goto not_there; -#endif - if (strEQ(name, "RPMFILE_STATE_REPLACED")) -#ifdef RPMFILE_STATE_REPLACED - return RPMFILE_STATE_REPLACED; -#else - goto not_there; -#endif - if (strEQ(name, "RPMLEAD_BINARY")) -#ifdef RPMLEAD_BINARY - return RPMLEAD_BINARY; -#else - goto not_there; -#endif - if (strEQ(name, "RPMLEAD_MAGIC0")) -#ifdef RPMLEAD_MAGIC0 - return RPMLEAD_MAGIC0; -#else - goto not_there; -#endif - if (strEQ(name, "RPMLEAD_MAGIC1")) -#ifdef RPMLEAD_MAGIC1 - return RPMLEAD_MAGIC1; -#else - goto not_there; -#endif - if (strEQ(name, "RPMLEAD_MAGIC2")) -#ifdef RPMLEAD_MAGIC2 - return RPMLEAD_MAGIC2; -#else - goto not_there; -#endif - if (strEQ(name, "RPMLEAD_MAGIC3")) -#ifdef RPMLEAD_MAGIC3 - return RPMLEAD_MAGIC3; -#else - goto not_there; -#endif - if (strEQ(name, "RPMLEAD_SIZE")) -#ifdef RPMLEAD_SIZE - return RPMLEAD_SIZE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMLEAD_SOURCE")) -#ifdef RPMLEAD_SOURCE - return RPMLEAD_SOURCE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMMESS_ALTNAME")) -#ifdef RPMMESS_ALTNAME - return RPMMESS_ALTNAME; -#else - goto not_there; -#endif - if (strEQ(name, "RPMMESS_BACKUP")) -#ifdef RPMMESS_BACKUP - return RPMMESS_BACKUP; -#else - goto not_there; -#endif - if (strEQ(name, "RPMMESS_DEBUG")) -#ifdef RPMMESS_DEBUG - return RPMMESS_DEBUG; -#else - goto not_there; -#endif - if (strEQ(name, "RPMMESS_ERROR")) -#ifdef RPMMESS_ERROR - return RPMMESS_ERROR; -#else - goto not_there; -#endif - if (strEQ(name, "RPMMESS_FATALERROR")) -#ifdef RPMMESS_FATALERROR - return RPMMESS_FATALERROR; -#else - goto not_there; -#endif - if (strEQ(name, "RPMMESS_NORMAL")) -#ifdef RPMMESS_NORMAL - return RPMMESS_NORMAL; -#else - goto not_there; -#endif - if (strEQ(name, "RPMMESS_PREREQLOOP")) -#ifdef RPMMESS_PREREQLOOP - return RPMMESS_PREREQLOOP; -#else - goto not_there; -#endif - if (strEQ(name, "RPMMESS_QUIET")) -#ifdef RPMMESS_QUIET - return RPMMESS_QUIET; -#else - goto not_there; -#endif - if (strEQ(name, "RPMMESS_VERBOSE")) -#ifdef RPMMESS_VERBOSE - return RPMMESS_VERBOSE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMMESS_WARNING")) -#ifdef RPMMESS_WARNING - return RPMMESS_WARNING; -#else - goto not_there; -#endif - if (strEQ(name, "RPMPROB_FILTER_DISKSPACE")) -#ifdef RPMPROB_FILTER_DISKSPACE - return RPMPROB_FILTER_DISKSPACE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMPROB_FILTER_FORCERELOCATE")) -#ifdef RPMPROB_FILTER_FORCERELOCATE - return RPMPROB_FILTER_FORCERELOCATE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMPROB_FILTER_IGNOREARCH")) -#ifdef RPMPROB_FILTER_IGNOREARCH - return RPMPROB_FILTER_IGNOREARCH; -#else - goto not_there; -#endif - if (strEQ(name, "RPMPROB_FILTER_IGNOREOS")) -#ifdef RPMPROB_FILTER_IGNOREOS - return RPMPROB_FILTER_IGNOREOS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMPROB_FILTER_OLDPACKAGE")) -#ifdef RPMPROB_FILTER_OLDPACKAGE - return RPMPROB_FILTER_OLDPACKAGE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMPROB_FILTER_REPLACENEWFILES")) -#ifdef RPMPROB_FILTER_REPLACENEWFILES - return RPMPROB_FILTER_REPLACENEWFILES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMPROB_FILTER_REPLACEOLDFILES")) -#ifdef RPMPROB_FILTER_REPLACEOLDFILES - return RPMPROB_FILTER_REPLACEOLDFILES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMPROB_FILTER_REPLACEPKG")) -#ifdef RPMPROB_FILTER_REPLACEPKG - return RPMPROB_FILTER_REPLACEPKG; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSENSE_ANY")) -#ifdef RPMSENSE_ANY - return RPMSENSE_ANY; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSENSE_CONFLICTS")) -#ifdef RPMSENSE_CONFLICTS - return RPMSENSE_CONFLICTS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSENSE_EQUAL")) -#ifdef RPMSENSE_EQUAL - return RPMSENSE_EQUAL; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSENSE_GREATER")) -#ifdef RPMSENSE_GREATER - return RPMSENSE_GREATER; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSENSE_LESS")) -#ifdef RPMSENSE_LESS - return RPMSENSE_LESS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSENSE_OBSOLETES")) -#ifdef RPMSENSE_OBSOLETES - return RPMSENSE_OBSOLETES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSENSE_PREREQ")) -#ifdef RPMSENSE_PREREQ - return RPMSENSE_PREREQ; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSENSE_PROVIDES")) -#ifdef RPMSENSE_PROVIDES - return RPMSENSE_PROVIDES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSENSE_SENSEMASK")) -#ifdef RPMSENSE_SENSEMASK - return RPMSENSE_SENSEMASK; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSENSE_SERIAL")) -#ifdef RPMSENSE_SERIAL - return RPMSENSE_SERIAL; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSENSE_TRIGGER")) -#ifdef RPMSENSE_TRIGGER - return RPMSENSE_TRIGGER; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSENSE_TRIGGERIN")) -#ifdef RPMSENSE_TRIGGERIN - return RPMSENSE_TRIGGERIN; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSENSE_TRIGGERPOSTUN")) -#ifdef RPMSENSE_TRIGGERPOSTUN - return RPMSENSE_TRIGGERPOSTUN; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSENSE_TRIGGERUN")) -#ifdef RPMSENSE_TRIGGERUN - return RPMSENSE_TRIGGERUN; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSIGTAG_GPG")) -#ifdef RPMSIGTAG_GPG - return RPMSIGTAG_GPG; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSIGTAG_LEMD5_1")) -#ifdef RPMSIGTAG_LEMD5_1 - return RPMSIGTAG_LEMD5_1; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSIGTAG_LEMD5_2")) -#ifdef RPMSIGTAG_LEMD5_2 - return RPMSIGTAG_LEMD5_2; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSIGTAG_MD5")) -#ifdef RPMSIGTAG_MD5 - return RPMSIGTAG_MD5; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSIGTAG_PGP")) -#ifdef RPMSIGTAG_PGP - return RPMSIGTAG_PGP; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSIGTAG_PGP5")) -#ifdef RPMSIGTAG_PGP5 - return RPMSIGTAG_PGP5; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSIGTAG_SIZE")) -#ifdef RPMSIGTAG_SIZE - return RPMSIGTAG_SIZE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSIG_BAD")) -#ifdef RPMSIG_BAD - return RPMSIG_BAD; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSIG_NOKEY")) -#ifdef RPMSIG_NOKEY - return RPMSIG_NOKEY; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSIG_NOTTRUSTED")) -#ifdef RPMSIG_NOTTRUSTED - return RPMSIG_NOTTRUSTED; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSIG_OK")) -#ifdef RPMSIG_OK - return RPMSIG_OK; -#else - goto not_there; -#endif - if (strEQ(name, "RPMSIG_UNKNOWN")) -#ifdef RPMSIG_UNKNOWN - return RPMSIG_UNKNOWN; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_ARCH")) -#ifdef RPMTAG_ARCH - return RPMTAG_ARCH; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_ARCHIVESIZE")) -#ifdef RPMTAG_ARCHIVESIZE - return RPMTAG_ARCHIVESIZE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_AUTOPROV")) -#ifdef RPMTAG_AUTOPROV - return RPMTAG_AUTOPROV; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_AUTOREQ")) -#ifdef RPMTAG_AUTOREQ - return RPMTAG_AUTOREQ; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_AUTOREQPROV")) -#ifdef RPMTAG_AUTOREQPROV - return RPMTAG_AUTOREQPROV; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_BROKENMD5")) -#ifdef RPMTAG_BROKENMD5 - return RPMTAG_BROKENMD5; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_BUILDARCHS")) -#ifdef RPMTAG_BUILDARCHS - return RPMTAG_BUILDARCHS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_BUILDCONFLICTS")) -#ifdef RPMTAG_BUILDCONFLICTS - return RPMTAG_BUILDCONFLICTS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_BUILDHOST")) -#ifdef RPMTAG_BUILDHOST - return RPMTAG_BUILDHOST; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_BUILDMACROS")) -#ifdef RPMTAG_BUILDMACROS - return RPMTAG_BUILDMACROS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_BUILDPREREQ")) -#ifdef RPMTAG_BUILDPREREQ - return RPMTAG_BUILDPREREQ; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_BUILDREQUIRES")) -#ifdef RPMTAG_BUILDREQUIRES - return RPMTAG_BUILDREQUIRES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_BUILDROOT")) -#ifdef RPMTAG_BUILDROOT - return RPMTAG_BUILDROOT; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_BUILDTIME")) -#ifdef RPMTAG_BUILDTIME - return RPMTAG_BUILDTIME; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_CAPABILITY")) -#ifdef RPMTAG_CAPABILITY - return RPMTAG_CAPABILITY; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_CHANGELOG")) -#ifdef RPMTAG_CHANGELOG - return RPMTAG_CHANGELOG; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_CHANGELOGNAME")) -#ifdef RPMTAG_CHANGELOGNAME - return RPMTAG_CHANGELOGNAME; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_CHANGELOGTEXT")) -#ifdef RPMTAG_CHANGELOGTEXT - return RPMTAG_CHANGELOGTEXT; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_CHANGELOGTIME")) -#ifdef RPMTAG_CHANGELOGTIME - return RPMTAG_CHANGELOGTIME; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_CONFLICTFLAGS")) -#ifdef RPMTAG_CONFLICTFLAGS - return RPMTAG_CONFLICTFLAGS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_CONFLICTNAME")) -#ifdef RPMTAG_CONFLICTNAME - return RPMTAG_CONFLICTNAME; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_CONFLICTVERSION")) -#ifdef RPMTAG_CONFLICTVERSION - return RPMTAG_CONFLICTVERSION; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_COOKIE")) -#ifdef RPMTAG_COOKIE - return RPMTAG_COOKIE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_COPYRIGHT")) -#ifdef RPMTAG_COPYRIGHT - return RPMTAG_COPYRIGHT; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_DEFAULTPREFIX")) -#ifdef RPMTAG_DEFAULTPREFIX - return RPMTAG_DEFAULTPREFIX; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_DESCRIPTION")) -#ifdef RPMTAG_DESCRIPTION - return RPMTAG_DESCRIPTION; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_DISTRIBUTION")) -#ifdef RPMTAG_DISTRIBUTION - return RPMTAG_DISTRIBUTION; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_DOCDIR")) -#ifdef RPMTAG_DOCDIR - return RPMTAG_DOCDIR; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_EPOCH")) -#ifdef RPMTAG_EPOCH - return RPMTAG_EPOCH; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_EXCLUDE")) -#ifdef RPMTAG_EXCLUDE - return RPMTAG_EXCLUDE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_EXCLUDEARCH")) -#ifdef RPMTAG_EXCLUDEARCH - return RPMTAG_EXCLUDEARCH; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_EXCLUDEOS")) -#ifdef RPMTAG_EXCLUDEOS - return RPMTAG_EXCLUDEOS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_EXCLUSIVE")) -#ifdef RPMTAG_EXCLUSIVE - return RPMTAG_EXCLUSIVE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_EXCLUSIVEARCH")) -#ifdef RPMTAG_EXCLUSIVEARCH - return RPMTAG_EXCLUSIVEARCH; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_EXCLUSIVEOS")) -#ifdef RPMTAG_EXCLUSIVEOS - return RPMTAG_EXCLUSIVEOS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_EXTERNAL_TAG")) -#ifdef RPMTAG_EXTERNAL_TAG - return RPMTAG_EXTERNAL_TAG; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILEDEVICES")) -#ifdef RPMTAG_FILEDEVICES - return RPMTAG_FILEDEVICES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILEFLAGS")) -#ifdef RPMTAG_FILEFLAGS - return RPMTAG_FILEFLAGS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILEGIDS")) -#ifdef RPMTAG_FILEGIDS - return RPMTAG_FILEGIDS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILEGROUPNAME")) -#ifdef RPMTAG_FILEGROUPNAME - return RPMTAG_FILEGROUPNAME; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILEINODES")) -#ifdef RPMTAG_FILEINODES - return RPMTAG_FILEINODES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILELANGS")) -#ifdef RPMTAG_FILELANGS - return RPMTAG_FILELANGS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILELINKTOS")) -#ifdef RPMTAG_FILELINKTOS - return RPMTAG_FILELINKTOS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILEMD5S")) -#ifdef RPMTAG_FILEMD5S - return RPMTAG_FILEMD5S; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILEMODES")) -#ifdef RPMTAG_FILEMODES - return RPMTAG_FILEMODES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILEMTIMES")) -#ifdef RPMTAG_FILEMTIMES - return RPMTAG_FILEMTIMES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILENAMES")) -#ifdef RPMTAG_FILENAMES - return RPMTAG_FILENAMES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILERDEVS")) -#ifdef RPMTAG_FILERDEVS - return RPMTAG_FILERDEVS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILESIZES")) -#ifdef RPMTAG_FILESIZES - return RPMTAG_FILESIZES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILESTATES")) -#ifdef RPMTAG_FILESTATES - return RPMTAG_FILESTATES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILEUIDS")) -#ifdef RPMTAG_FILEUIDS - return RPMTAG_FILEUIDS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILEUSERNAME")) -#ifdef RPMTAG_FILEUSERNAME - return RPMTAG_FILEUSERNAME; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_FILEVERIFYFLAGS")) -#ifdef RPMTAG_FILEVERIFYFLAGS - return RPMTAG_FILEVERIFYFLAGS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_GIF")) -#ifdef RPMTAG_GIF - return RPMTAG_GIF; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_GROUP")) -#ifdef RPMTAG_GROUP - return RPMTAG_GROUP; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_ICON")) -#ifdef RPMTAG_ICON - return RPMTAG_ICON; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_INSTALLPREFIX")) -#ifdef RPMTAG_INSTALLPREFIX - return RPMTAG_INSTALLPREFIX; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_INSTALLTIME")) -#ifdef RPMTAG_INSTALLTIME - return RPMTAG_INSTALLTIME; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_INSTPREFIXES")) -#ifdef RPMTAG_INSTPREFIXES - return RPMTAG_INSTPREFIXES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_LICENSE")) -#ifdef RPMTAG_LICENSE - return RPMTAG_LICENSE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_NAME")) -#ifdef RPMTAG_NAME - return RPMTAG_NAME; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_NOPATCH")) -#ifdef RPMTAG_NOPATCH - return RPMTAG_NOPATCH; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_NOSOURCE")) -#ifdef RPMTAG_NOSOURCE - return RPMTAG_NOSOURCE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_OBSOLETES")) -#ifdef RPMTAG_OBSOLETES - return RPMTAG_OBSOLETES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_ORIGFILENAMES")) -#ifdef RPMTAG_ORIGFILENAMES - return RPMTAG_ORIGFILENAMES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_OS")) -#ifdef RPMTAG_OS - return RPMTAG_OS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_PACKAGER")) -#ifdef RPMTAG_PACKAGER - return RPMTAG_PACKAGER; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_PATCH")) -#ifdef RPMTAG_PATCH - return RPMTAG_PATCH; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_POSTIN")) -#ifdef RPMTAG_POSTIN - return RPMTAG_POSTIN; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_POSTINPROG")) -#ifdef RPMTAG_POSTINPROG - return RPMTAG_POSTINPROG; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_POSTUN")) -#ifdef RPMTAG_POSTUN - return RPMTAG_POSTUN; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_POSTUNPROG")) -#ifdef RPMTAG_POSTUNPROG - return RPMTAG_POSTUNPROG; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_PREFIXES")) -#ifdef RPMTAG_PREFIXES - return RPMTAG_PREFIXES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_PREIN")) -#ifdef RPMTAG_PREIN - return RPMTAG_PREIN; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_PREINPROG")) -#ifdef RPMTAG_PREINPROG - return RPMTAG_PREINPROG; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_PREREQ")) -#ifdef RPMTAG_PREREQ - return RPMTAG_PREREQ; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_PREUN")) -#ifdef RPMTAG_PREUN - return RPMTAG_PREUN; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_PREUNPROG")) -#ifdef RPMTAG_PREUNPROG - return RPMTAG_PREUNPROG; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_PROVIDES")) -#ifdef RPMTAG_PROVIDES - return RPMTAG_PROVIDES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_RELEASE")) -#ifdef RPMTAG_RELEASE - return RPMTAG_RELEASE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_REQUIREFLAGS")) -#ifdef RPMTAG_REQUIREFLAGS - return RPMTAG_REQUIREFLAGS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_REQUIRENAME")) -#ifdef RPMTAG_REQUIRENAME - return RPMTAG_REQUIRENAME; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_REQUIREVERSION")) -#ifdef RPMTAG_REQUIREVERSION - return RPMTAG_REQUIREVERSION; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_ROOT")) -#ifdef RPMTAG_ROOT - return RPMTAG_ROOT; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_RPMVERSION")) -#ifdef RPMTAG_RPMVERSION - return RPMTAG_RPMVERSION; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_SERIAL")) -#ifdef RPMTAG_SERIAL - return RPMTAG_SERIAL; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_SIZE")) -#ifdef RPMTAG_SIZE - return RPMTAG_SIZE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_SOURCE")) -#ifdef RPMTAG_SOURCE - return RPMTAG_SOURCE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_SOURCEPACKAGE")) -#ifdef RPMTAG_SOURCEPACKAGE - return RPMTAG_SOURCEPACKAGE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_SOURCERPM")) -#ifdef RPMTAG_SOURCERPM - return RPMTAG_SOURCERPM; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_SUMMARY")) -#ifdef RPMTAG_SUMMARY - return RPMTAG_SUMMARY; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_TRIGGERFLAGS")) -#ifdef RPMTAG_TRIGGERFLAGS - return RPMTAG_TRIGGERFLAGS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_TRIGGERIN")) -#ifdef RPMTAG_TRIGGERIN - return RPMTAG_TRIGGERIN; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_TRIGGERINDEX")) -#ifdef RPMTAG_TRIGGERINDEX - return RPMTAG_TRIGGERINDEX; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_TRIGGERNAME")) -#ifdef RPMTAG_TRIGGERNAME - return RPMTAG_TRIGGERNAME; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_TRIGGERPOSTUN")) -#ifdef RPMTAG_TRIGGERPOSTUN - return RPMTAG_TRIGGERPOSTUN; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_TRIGGERSCRIPTPROG")) -#ifdef RPMTAG_TRIGGERSCRIPTPROG - return RPMTAG_TRIGGERSCRIPTPROG; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_TRIGGERSCRIPTS")) -#ifdef RPMTAG_TRIGGERSCRIPTS - return RPMTAG_TRIGGERSCRIPTS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_TRIGGERUN")) -#ifdef RPMTAG_TRIGGERUN - return RPMTAG_TRIGGERUN; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_TRIGGERVERSION")) -#ifdef RPMTAG_TRIGGERVERSION - return RPMTAG_TRIGGERVERSION; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_URL")) -#ifdef RPMTAG_URL - return RPMTAG_URL; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_VENDOR")) -#ifdef RPMTAG_VENDOR - return RPMTAG_VENDOR; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_VERIFYSCRIPT")) -#ifdef RPMTAG_VERIFYSCRIPT - return RPMTAG_VERIFYSCRIPT; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_VERIFYSCRIPTPROG")) -#ifdef RPMTAG_VERIFYSCRIPTPROG - return RPMTAG_VERIFYSCRIPTPROG; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_VERSION")) -#ifdef RPMTAG_VERSION - return RPMTAG_VERSION; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTAG_XPM")) -#ifdef RPMTAG_XPM - return RPMTAG_XPM; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTRANS_FLAG_ALLFILES")) -#ifdef RPMTRANS_FLAG_ALLFILES - return RPMTRANS_FLAG_ALLFILES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTRANS_FLAG_BUILD_PROBS")) -#ifdef RPMTRANS_FLAG_BUILD_PROBS - return RPMTRANS_FLAG_BUILD_PROBS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTRANS_FLAG_JUSTDB")) -#ifdef RPMTRANS_FLAG_JUSTDB - return RPMTRANS_FLAG_JUSTDB; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTRANS_FLAG_KEEPOBSOLETE")) -#ifdef RPMTRANS_FLAG_KEEPOBSOLETE - return RPMTRANS_FLAG_KEEPOBSOLETE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTRANS_FLAG_NODOCS")) -#ifdef RPMTRANS_FLAG_NODOCS - return RPMTRANS_FLAG_NODOCS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTRANS_FLAG_NOSCRIPTS")) -#ifdef RPMTRANS_FLAG_NOSCRIPTS - return RPMTRANS_FLAG_NOSCRIPTS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTRANS_FLAG_NOTRIGGERS")) -#ifdef RPMTRANS_FLAG_NOTRIGGERS - return RPMTRANS_FLAG_NOTRIGGERS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMTRANS_FLAG_TEST")) -#ifdef RPMTRANS_FLAG_TEST - return RPMTRANS_FLAG_TEST; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVAR_INCLUDE")) -#ifdef RPMVAR_INCLUDE - return RPMVAR_INCLUDE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVAR_MACROFILES")) -#ifdef RPMVAR_MACROFILES - return RPMVAR_MACROFILES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVAR_NUM")) -#ifdef RPMVAR_NUM - return RPMVAR_NUM; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVAR_OPTFLAGS")) -#ifdef RPMVAR_OPTFLAGS - return RPMVAR_OPTFLAGS; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVAR_PROVIDES")) -#ifdef RPMVAR_PROVIDES - return RPMVAR_PROVIDES; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVERIFY_ALL")) -#ifdef RPMVERIFY_ALL - return RPMVERIFY_ALL; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVERIFY_FILESIZE")) -#ifdef RPMVERIFY_FILESIZE - return RPMVERIFY_FILESIZE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVERIFY_GROUP")) -#ifdef RPMVERIFY_GROUP - return RPMVERIFY_GROUP; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVERIFY_LINKTO")) -#ifdef RPMVERIFY_LINKTO - return RPMVERIFY_LINKTO; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVERIFY_LSTATFAIL")) -#ifdef RPMVERIFY_LSTATFAIL - return RPMVERIFY_LSTATFAIL; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVERIFY_MD5")) -#ifdef RPMVERIFY_MD5 - return RPMVERIFY_MD5; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVERIFY_MODE")) -#ifdef RPMVERIFY_MODE - return RPMVERIFY_MODE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVERIFY_MTIME")) -#ifdef RPMVERIFY_MTIME - return RPMVERIFY_MTIME; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVERIFY_NONE")) -#ifdef RPMVERIFY_NONE - return RPMVERIFY_NONE; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVERIFY_RDEV")) -#ifdef RPMVERIFY_RDEV - return RPMVERIFY_RDEV; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVERIFY_READFAIL")) -#ifdef RPMVERIFY_READFAIL - return RPMVERIFY_READFAIL; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVERIFY_READLINKFAIL")) -#ifdef RPMVERIFY_READLINKFAIL - return RPMVERIFY_READLINKFAIL; -#else - goto not_there; -#endif - if (strEQ(name, "RPMVERIFY_USER")) -#ifdef RPMVERIFY_USER - return RPMVERIFY_USER; -#else - goto not_there; -#endif - if (strEQ(name, "RPM_MACHTABLE_BUILDARCH")) -#ifdef RPM_MACHTABLE_BUILDARCH - return RPM_MACHTABLE_BUILDARCH; -#else - goto not_there; -#endif - if (strEQ(name, "RPM_MACHTABLE_BUILDOS")) -#ifdef RPM_MACHTABLE_BUILDOS - return RPM_MACHTABLE_BUILDOS; -#else - goto not_there; -#endif - if (strEQ(name, "RPM_MACHTABLE_COUNT")) -#ifdef RPM_MACHTABLE_COUNT - return RPM_MACHTABLE_COUNT; -#else - goto not_there; -#endif - if (strEQ(name, "RPM_MACHTABLE_INSTARCH")) -#ifdef RPM_MACHTABLE_INSTARCH - return RPM_MACHTABLE_INSTARCH; -#else - goto not_there; -#endif - if (strEQ(name, "RPM_MACHTABLE_INSTOS")) -#ifdef RPM_MACHTABLE_INSTOS - return RPM_MACHTABLE_INSTOS; -#else - goto not_there; -#endif - break; - case 'S': - break; - case 'T': - break; - case 'U': - break; - case 'V': - if (strEQ(name, "VERIFY_DEPS")) -#ifdef VERIFY_DEPS - return VERIFY_DEPS; -#else - goto not_there; -#endif - if (strEQ(name, "VERIFY_FILES")) -#ifdef VERIFY_FILES - return VERIFY_FILES; -#else - goto not_there; -#endif - if (strEQ(name, "VERIFY_MD5")) -#ifdef VERIFY_MD5 - return VERIFY_MD5; -#else - goto not_there; -#endif - if (strEQ(name, "VERIFY_SCRIPT")) -#ifdef VERIFY_SCRIPT - return VERIFY_SCRIPT; -#else - goto not_there; -#endif - break; - case 'W': - break; - case 'X': - break; - case 'Y': - break; - case 'Z': - break; - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - diff --git a/perl/db.xs b/perl/db.xs deleted file mode 100644 index 0789272..0000000 --- a/perl/db.xs +++ /dev/null @@ -1,33 +0,0 @@ - -MODULE = rpm PACKAGE = rpmdb PREFIX = rpmdb - -void -rpmdbClose(db) - rpmdb db - -unsigned int -rpmdbFirst(db) - rpmdb db - CODE: - RETVAL = rpmdbFirstRecNum(db); - OUTPUT: - RETVAL - -unsigned int -rpmdbNext(db, last_rec) - rpmdb db - unsigned int last_rec - CODE: - RETVAL = rpmdbNextRecNum(db, last_rec); - OUTPUT: - RETVAL - -Header -rpmdbRecord(db, rec) - rpmdb db - unsigned int rec - CODE: - RETVAL = rpmdbGetRecord(db, rec); - OUTPUT: - RETVAL - diff --git a/perl/foo.i386.rpm b/perl/foo.i386.rpm deleted file mode 100644 index 9a575f5625be2cf3eb7b3bfdf8cc3500e56a9c23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47815 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%0A^PUQMm{g>FE$w(Eb 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 N{{xE-3j5ra0RY=;B{l#6 diff --git a/perl/header.xs b/perl/header.xs deleted file mode 100644 index d132a78..0000000 --- a/perl/header.xs +++ /dev/null @@ -1,211 +0,0 @@ - -MODULE = rpm PACKAGE = Header PREFIX = Header - -AV * -HeaderItemByValRef(header, item) - Header header - int item - PREINIT: - int_32 count, type; - int rc; - void * value; - char ** src; - AV * array; - CODE: - rc = headerGetEntry(header, item, &type, &value, &count); - array = newAV(); - if (rc != 0) { - switch(type) { - case RPM_CHAR_TYPE: - while (count-- > 0) { - av_push(array, newSViv((char) (int) value)); - value++; - } - break; - case RPM_INT8_TYPE: - while (count-- > 0) { - av_push(array, newSViv((int_8) (int) value)); - value++; - } - break; - case RPM_INT16_TYPE: - while (count-- > 0) { - av_push(array, newSViv((int_16) (int) value)); - value++; - } - break; - case RPM_INT32_TYPE: - while (count-- > 0) { - av_push(array, newSViv((int_32)value)); - value++; - } - break; - case RPM_STRING_TYPE: - av_push(array, newSVpv((char *)value, 0)); - break; - case RPM_BIN_TYPE: - /* XXX: this looks mostly unused - how do we deal with it? */ - break; - case RPM_STRING_ARRAY_TYPE: - case RPM_I18NSTRING_TYPE: - src = (char **) value; - while (count--) { - av_push(array, newSVpv(*src++, 0)); - } - free(value); - break; - } - } - RETVAL = array; - OUTPUT: - RETVAL - -AV * -HeaderItemByNameRef(header, tag) - Header header - const char * tag - PREINIT: - int_32 count, type, item = -1; - int rc, i; - void * value; - char ** src; - AV * array; - CODE: - /* walk first through the list of items and get the proper value */ - for (i = 0; i < rpmTagTableSize; i++) { - if (rpmTagTable[i].name != NULL && strcasecmp(tag, rpmTagTable[i].name + 7) == 0) { - item = rpmTagTable[i].val; - break; - } - } - rc = headerGetEntry(header, item, &type, &value, &count); - array = newAV(); - if (rc != 0) { - switch(type) { - case RPM_CHAR_TYPE: - while (count-- > 0) { - av_push(array, newSViv((char) (int) value)); - value++; - } - break; - case RPM_INT8_TYPE: - while (count-- > 0) { - av_push(array, newSViv((int_8) (int) value)); - value++; - } - break; - case RPM_INT16_TYPE: - while (count-- > 0) { - av_push(array, newSViv((int_16) (int) value)); - value++; - } - break; - case RPM_INT32_TYPE: - while (count-- > 0) { - av_push(array, newSViv((int_32)value)); - value++; - } - break; - case RPM_STRING_TYPE: - av_push(array, newSVpv((char *)value, 0)); - break; - case RPM_BIN_TYPE: - /* XXX: this looks mostly unused - how do we deal with it? */ - break; - case RPM_STRING_ARRAY_TYPE: - case RPM_I18NSTRING_TYPE: - src = (char **) value; - while (count--) { - av_push(array, newSVpv(*src++, 0)); - } - free(value); - break; - } - } - RETVAL = array; - OUTPUT: - RETVAL - - -HV * -HeaderListRef(header) - Header header - PREINIT: - HeaderIterator iterator; - int_32 tag, type, count; - void *value; - CODE: - RETVAL = newHV(); - iterator = headerInitIterator(header); - while (headerNextIterator(iterator, &tag, &type, &value, &count)) { - SV ** sv; - AV * array; - char ** src; - char * tagStr = tagName(tag); - array = newAV(); - switch(type) { - case RPM_CHAR_TYPE: - while (count-- > 0) { - av_push(array, newSViv((char) (int) value)); - value++; - } - break; - case RPM_INT8_TYPE: - while (count-- > 0) { - av_push(array, newSViv((int_8) (int) value)); - value++; - } - break; - case RPM_INT16_TYPE: - while (count-- > 0) { - av_push(array, newSViv((int_16) (int) value)); - value++; - } - break; - case RPM_INT32_TYPE: - while (count-- > 0) { - av_push(array, newSViv((int_32)value)); - value++; - } - break; - case RPM_STRING_TYPE: - av_push(array, newSVpv((char *)value, 0)); - break; - case RPM_BIN_TYPE: - /* XXX: this looks mostly unused - how do we deal with it? */ - break; - case RPM_STRING_ARRAY_TYPE: - case RPM_I18NSTRING_TYPE: - /* we have to build an array first */ - src = (char **) value; - while (count--) { - av_push(array, newSVpv(*src++, 0)); - } - free(value); - break; - } - sv = hv_store(RETVAL, tagStr, strlen(tagStr), newRV_inc((SV*)array), 0); - } - headerFreeIterator(iterator); - OUTPUT: - RETVAL - -AV * -HeaderTagsRef(header) - Header header - PREINIT: - HeaderIterator iterator; - int_32 tag, type; - void *value; - CODE: - RETVAL = newAV(); - iterator = headerInitIterator(header); - while (headerNextIterator(iterator, &tag, &type, &value, NULL)) { - av_push(RETVAL, newSVpv(tagName(tag), 0)); - if (type == RPM_STRING_ARRAY_TYPE || type == RPM_I18NSTRING_TYPE) - free(value); - } - headerFreeIterator(iterator); - OUTPUT: - RETVAL - diff --git a/perl/junk.xs b/perl/junk.xs deleted file mode 100644 index a3f0237..0000000 --- a/perl/junk.xs +++ /dev/null @@ -1,55 +0,0 @@ -/* - * This file includes misc functions that were once implemented and retired - * later in the process - * - * $Id: junk.xs,v 1.2 1999/07/14 17:23:30 gafton Exp $ - */ - -SV * -HeaderRawItem(header, item) - Header * header - int item - PREINIT: - int_32 count, type; - int rc; - void * value; - AV * array; - char ** src; - CODE: - rc = headerGetEntry(*header, item, &type, &value, &count); - RETVAL = &PL_sv_undef; - if (rc != 0) { - switch(type) { - case RPM_CHAR_TYPE: - RETVAL = newSViv((char) (int)value); - break; - case RPM_INT8_TYPE: - RETVAL = newSViv((int_8) (int) value); - break; - case RPM_INT16_TYPE: - RETVAL = newSViv((int_16) (int) value); - break; - case RPM_INT32_TYPE: - RETVAL = newSViv((int_32)value); - break; - case RPM_STRING_TYPE: - RETVAL = newSVpv((char *)value, 0); - break; - case RPM_BIN_TYPE: - /* XXX: this looks mostly unused - how do we deal with it? */ - break; - case RPM_STRING_ARRAY_TYPE: - case RPM_I18NSTRING_TYPE: - /* we have to build an array first */ - array = newAV(); - src = (char **) value; - while (count--) { - av_push(array, newSVpv(*src++, 0)); - } - RETVAL = newRV_inc((SV*)array); - free(value); - break; - } - } - OUTPUT: - RETVAL diff --git a/perl/rpm.pm b/perl/rpm.pm deleted file mode 100644 index b86f44f..0000000 --- a/perl/rpm.pm +++ /dev/null @@ -1,117 +0,0 @@ -package rpm; - -use strict; -use Carp; -use vars qw($VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD); - -require Exporter; -require DynaLoader; -require AutoLoader; - -@ISA = qw(Exporter DynaLoader); -# Items to export into callers namespace by default. Note: do not export -# names by default without a very good reason. Use EXPORT_OK instead. -# Do not simply export all your public functions/methods/constants. -@EXPORT = qw( - -); -$VERSION = '0.01'; - -sub AUTOLOAD { - # This AUTOLOAD is used to 'autoload' constants from the constant() - # XS function. If a constant is not found then control is passed - # to the AUTOLOAD in AutoLoader. - - my $constname; - ($constname = $AUTOLOAD) =~ s/.*:://; - croak "& not defined" if $constname eq 'constant'; - my $val = constant($constname, @_ ? $_[0] : 0); - if ($! != 0) { - if ($! =~ /Invalid/) { - $AutoLoader::AUTOLOAD = $AUTOLOAD; - goto &AutoLoader::AUTOLOAD; - } - else { - croak "Your vendor has not defined rpm macro $constname"; - } - } - no strict 'refs'; - *$AUTOLOAD = sub () { $val }; - goto &$AUTOLOAD; -} - -bootstrap rpm $VERSION; - -# Preloaded methods go here. - -sub Header::ItemByName { - my $header = shift; - my $item = shift; - my $item_index = shift; - - if (defined $item_index) { - return @{$header->ItemByNameRef($item)}[$item_index]; - } else { - return @{$header->ItemByNameRef($item)}; - } -} - -sub Header::ItemByVal { - my $header = shift; - my $item = shift; - my $item_index = shift; - - if (defined $item_index) { - return @{$header->ItemByValRef($item)}[$item_index]; - } else { - return @{$header->ItemByValRef($item)}; - } -} - -sub Header::List { - my $header = shift; - - return %{$header->ListRef()}; -} - -sub Header::Tags { - my $header = shift; - - return @{$header->TagsRef()}; -} - -# Autoload methods go after =cut, and are processed by the autosplit program. - -1; -__END__ -# Below is the stub of documentation for your module. You better edit it! - -=head1 NAME - -rpm - Perl extension for blah blah blah - -=head1 SYNOPSIS - - use rpm; - blah blah blah - -=head1 DESCRIPTION - -Stub documentation for rpm was created by h2xs. It looks like the -author of the extension was negligent enough to leave the stub -unedited. - -Blah blah blah. - -=head1 Exported constants - - -=head1 AUTHOR - -Cristian Gafton, gafton@redhat.com - -=head1 SEE ALSO - -perl(1), rpm(8). - -=cut diff --git a/perl/rpm.xs b/perl/rpm.xs deleted file mode 100644 index 9b7fe2a..0000000 --- a/perl/rpm.xs +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Perl interface to rpmlib - * - * $Id: rpm.xs,v 1.5 2000/02/10 22:13:48 jbj Exp $ - */ - -#include "EXTERN.h" -#include "perl.h" -#include "XSUB.h" - -#include -#include -#include - -#include "rpmlib.h" -#include "rpmio.h" -#include "dbindex.h" -#include "header.h" -#include "popt.h" - -/* - * External functions - */ -extern double constant(char *name, int arg); - - -MODULE = rpm PACKAGE = rpm - -PROTOTYPES: ENABLE - -BOOT: -# The following message will be printed when the -# bootstrap function executes. - if (rpmReadConfigFiles(NULL, NULL) != 0) { - XSRETURN_NO; - } - -double -constant(name,arg) - char * name - int arg - -Header -Header(package) - const char * package - PREINIT: - FD_t file_desc = NULL; - int rc; - int isSource; - int had_error = 0; - CODE: - /* New(1,RETVAL,1,Header); */ - file_desc = fdOpen(package, O_RDONLY, 0); - if (file_desc != NULL && RETVAL != NULL) { - rc = rpmReadPackageHeader(file_desc, &RETVAL, &isSource, NULL, NULL); - if (rc != 0) { - had_error++; - } - if (file_desc != NULL) { - fdClose(file_desc); - } - } else { - had_error++; - } - ST(0) = sv_newmortal(); - if (had_error) { - ST(0) = &PL_sv_undef; - } else { - sv_setref_pv(ST(0), "Header", (void*)RETVAL); - } - -rpmTransactionSet -Transaction(header) - Header header - CODE: - ST(0) = sv_newmortal(); - ST(0) = &PL_sv_undef; - -rpmdb -dbOpen(root = "", forWrite = 0) - const char * root - int forWrite - PREINIT: - int retval; - CODE: - retval = rpmdbOpen(root, &RETVAL, forWrite ? O_RDWR | O_CREAT : O_RDONLY, 0644); - printf("\nretval is %d\n", retval); - ST(0) = sv_newmortal(); - if (retval != 0) { - ST(0) = &PL_sv_undef; - } else { - sv_setref_pv(ST(0), "rpmdb", (void *)RETVAL); - } - - -int -dbInit(root = NULL) - char * root - CODE: - RETVAL = rpmdbInit(root, 0); - OUTPUT: - RETVAL - -int -dbRebuild(root = NULL) - char * root - CODE: - RETVAL = rpmdbRebuild(root); - OUTPUT: - RETVAL - - -int -Error() - CODE: - RETVAL = rpmErrorCode(); - OUTPUT: - RETVAL - -void -Debug(enable = 1) - int enable - CODE: - if (enable) { - rpmSetVerbosity(RPMMESS_DEBUG); - } else { - rpmSetVerbosity(RPMMESS_QUIET); - } - -char * -GetVar(var) - int var - CODE: - RETVAL = rpmGetVar(var); - OUTPUT: - RETVAL - -void -SetVar(var, value) - int var - char * value - CODE: - rpmSetVar(var, value); - -INCLUDE: db.xs -INCLUDE: header.xs -INCLUDE: transaction.xs - - diff --git a/perl/test.pl b/perl/test.pl deleted file mode 100644 index 7a750a5..0000000 --- a/perl/test.pl +++ /dev/null @@ -1,37 +0,0 @@ -# Before `make install' is performed this script should be runnable with -# `make test'. After `make install' it should work as `perl test.pl' - -######################### We start with some black magic to print on failure. - -# Change 1..1 below to 1..last_test_to_print . -# (It may become useful if the test is moved to ./t subdirectory.) - -BEGIN { $| = 1; print "1..6\n"; } -END {print "not ok 1\n" unless $loaded;} -use rpm; -$loaded = 1; -print "ok 1\n"; - -######################### End of black magic. - -# Insert your test code below (better if it prints "ok 13" -# (correspondingly "not ok 13") depending on the success of chunk 13 -# of the test code): - -my $valid_package = "foo.i386.rpm"; - -# we should be able to open a valid file -print rpm::Header($valid_package) ? "ok 2" : "not ok 2", "\n"; - -# we should not be able to read stuff from an invalid file -print rpm::Header("this is not a valid package") ? "not ok 3" : "ok 3", "\n"; - -# in the test file we have there are exactly 42 headers -print scalar rpm::Header($valid_package)->Tags() == 42 ? "ok 4" : "not ok 4", "\n"; - -# there are exactly 4 files in the package -print scalar rpm::Header($valid_package)->ItemByName('Filenames') == 4 ? "ok 5" : "not ok 5", "\n"; - -# item 1000 should be the name of the package -print scalar rpm::Header($valid_package)->ItemByVal(1000) eq "xemacs-extras" ? "ok 6" : "not ok 6", "\n"; - diff --git a/perl/transaction.xs b/perl/transaction.xs deleted file mode 100644 index 02aad70..0000000 --- a/perl/transaction.xs +++ /dev/null @@ -1,56 +0,0 @@ - -MODULE = rpm PACKAGE = rpmTransactionSet PREFIX = Transaction - -int -TransactionAdd(trans, header) - rpmTransactionSet trans - Header header - CODE: - ST(0) = sv_newmortal(); - ST(0) = &PL_sv_undef; - -int -TransactionDepCheck(trans) - rpmTransactionSet trans - CODE: - ST(0) = sv_newmortal(); - ST(0) = &PL_sv_undef; - -int -TransactionRun(trans) - rpmTransactionSet trans - CODE: - ST(0) = sv_newmortal(); - ST(0) = &PL_sv_undef; - -rpmTransactionSet -TransactionOrder(trans) - rpmTransactionSet trans - CODE: - ST(0) = sv_newmortal(); - ST(0) = &PL_sv_undef; - -int -TransactionDealloc(trans) - rpmTransactionSet trans - CODE: - ST(0) = sv_newmortal(); - ST(0) = &PL_sv_undef; - -int -TransactionGetAttr(trans, name) - rpmTransactionSet trans - const char * name - CODE: - ST(0) = sv_newmortal(); - ST(0) = &PL_sv_undef; - -int -TransactionSetAttr(trans, name, val) - rpmTransactionSet trans - const char * name - void * val - CODE: - ST(0) = sv_newmortal(); - ST(0) = &PL_sv_undef; - diff --git a/perl/typemap b/perl/typemap deleted file mode 100644 index 78ccb99..0000000 --- a/perl/typemap +++ /dev/null @@ -1,9 +0,0 @@ -/* $Id: typemap,v 1.4 1999/07/16 08:44:54 gafton Exp $ */ - -TYPEMAP - -Header T_PTROBJ -rpmTransactionSet T_PTROBJ -rpmdb T_PTROBJ - -const char * T_PV -- 2.7.4