From: <gnu...@li...> - 2000-08-26 05:22:12
|
CVSROOT: /cvsroot/gnupdate Module name: libpackman Changes by: chipx86 00/08/25 22:22:12 Modified files: libpackman : package.h package_api.cc package_api.h Log message: Added functions for converting various enums to char *'s and back. |
From: <gnu...@li...> - 2000-08-26 19:39:18
|
CVSROOT: /cvsroot/gnupdate Module name: libpackman Changes by: chipx86 00/08/26 12:39:17 Modified files: libpackman : internal.cc Log message: Fixed pmRpmAddFiles, and some other minor stuff. |
From: <gnu...@li...> - 2000-08-26 19:48:44
|
CVSROOT: /cvsroot/gnupdate Module name: libpackman Changes by: chipx86 00/08/26 12:48:41 Modified files: libpackman : Makefile.am Added files: libpackman : db.c internal.c package_api.c Removed files: libpackman : db.cc internal.cc package_api.cc Log message: Moved *.cc to *.c. |
From: <gnu...@li...> - 2000-08-26 22:13:51
|
CVSROOT: /cvsroot/gnupdate Module name: libpackman Changes by: chipx86 00/08/26 15:13:50 Modified files: libpackman : internal.c internal.h package_api.c package_api.h Log message: * Re-added pmPackageRead, pmPackageReadBuffer, pmPackageReadSchema, and pmPackageMerge. * Added PmFile, PmDependency, and PmDownloadUrl duplication functions. * Fixed some misc. bugs. |
From: <gnu...@li...> - 2000-08-27 03:39:40
|
CVSROOT: /cvsroot/gnupdate Module name: libpackman Changes by: chipx86 00/08/26 20:39:39 Modified files: libpackman : package_api.c Log message: Fixed a bug which called a segfault when doing a pqlPackageMerge. |
From: <gnu...@li...> - 2000-08-27 17:43:54
|
CVSROOT: /cvsroot/gnupdate Module name: libpackman Changes by: chipx86 00/08/27 10:43:53 Modified files: libpackman : db.c internal.c internal.h Log message: Moved all the RPM stuff over into db_rpm.c. db.c is now a wrapper for db_rpm.c (which in turn is a wrapper for librpm! :) Things should be much cleaner to work with now. |
From: <gnu...@li...> - 2000-09-03 08:59:54
|
CVSROOT: /cvsroot/gnupdate Module name: libpackman Changes by: chipx86 00/09/03 01:59:54 Modified files: . : packman.h libpackman : db.c db.h internal.c internal.h package.h package_api.c package_api.h packman.h tests : test.c Log message: Changed copyrights to The GNUpdate Project. |
From: <gnu...@li...> - 2000-09-06 00:59:54
|
CVSROOT: /cvsroot/gnupdate Module name: libpackman Changes by: chipx86 00/09/05 17:59:53 Modified files: libpackman : db.c package.h package_api.c Added files: libpackman : db_tgz.c tar.c tar.h Log message: Added some stubs for .tar.gz support, and renamed some enums. |
From: <gnu...@li...> - 2001-02-13 09:31:46
|
CVSROOT: /cvsroot/gnupdate Module name: libpackman Changes by: chipx86 01/02/13 01:32:24 Modified files: . : configure.in libpackman : db.c db.h tests : test.c Log message: Now works with RPM v4.x. |
From: <gnu...@li...> - 2001-02-13 09:52:44
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : /tests Modified Files: .cvsignore Log Message: CVS! SSShhhh!!! =================================================================== RCS file: /cvsroot/gnupdate/libpackman/tests/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- .cvsignore 2000/08/16 18:37:21 1.1 +++ .cvsignore 2001/02/13 09:53:20 1.2 @@ -3,6 +3,8 @@ *.la Makefile Makefile.in -rdftest +pmtest +.libs +.deps .*.swp .icons |
From: <gnu...@li...> - 2001-02-13 09:53:12
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : / Modified Files: .cvsignore Log Message: CVS! SSShhhh!!! =================================================================== RCS file: /cvsroot/gnupdate/libpackman/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- .cvsignore 2000/08/16 18:37:21 1.1 +++ .cvsignore 2001/02/13 09:53:20 1.2 @@ -13,9 +13,13 @@ install-sh stamp-h stamp-h.in +libtool ltconfig ltmain.sh missing mkinstalldirs +packman.m4 +packman.spec +packman-config .icons .*.swp |
From: <gnu...@li...> - 2001-02-13 09:53:43
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : /libpackman Added Files: db_rpm.c Log Message: You mean this file was never added?? Geeze! This is why I need beta testers. |
From: <gnu...@li...> - 2001-02-15 10:23:14
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : /libpackman Modified Files: package_api.c Log Message: Bug fixes and removed some debug printfs. =================================================================== RCS file: /cvsroot/gnupdate/libpackman/libpackman/package_api.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- package_api.c 2000/09/06 00:59:53 1.5 +++ package_api.c 2001/02/15 10:23:57 1.6 @@ -1,5 +1,5 @@ /************************************************************************** - * $Id: package_api.c,v 1.5 2000/09/06 00:59:53 chipx86 Exp $ + * $Id: package_api.c,v 1.6 2001/02/15 10:23:57 chipx86 Exp $ * * Copyright (C) 1999-2000 The GNUpdate Project. * @@ -170,19 +170,21 @@ pkg = pmNewPackage(); pkgNamespace = rdfGetNamespace(schema, pmGetPkgNamespaceURI()); - pmSetPackageName(pkg, pmGetRdfValue(desc, "Name", pkgNamespace)); + pmSetPackageName(pkg, pmGetRdfValue(desc, "Name", pkgNamespace)); pmSetPackageVersion(pkg, pmGetRdfValue(desc, "Version", pkgNamespace)); pmSetPackageRelease(pkg, pmGetRdfValue(desc, "Release", pkgNamespace)); - pmSetPackageUrl(pkg, pmGetRdfValue(desc, "URL", pkgNamespace)); - pmSetPackageGroup(pkg, pmGetRdfValue(desc, "Group", pkgNamespace)); + pmSetPackageUrl(pkg, pmGetRdfValue(desc, "URL", pkgNamespace)); + pmSetPackageGroup(pkg, pmGetRdfValue(desc, "Group", pkgNamespace)); pmSetPackageLicense(pkg, pmGetRdfValue(desc, "License", pkgNamespace)); pmSetPackageSummary(pkg, pmGetRdfValue(desc, "Summary", pkgNamespace)); - pmSetPackageDescription(pkg, pmGetRdfValue(desc, "Description", pkgNamespace)); + pmSetPackageDescription(pkg, pmGetRdfValue(desc, "Description", + pkgNamespace)); pmSetPackageArch(pkg, pmGetRdfValue(desc, "Arch", pkgNamespace)); - pmSetPackageFormat(pkg, pmPackageTypeFromName(pmGetRdfValue(desc, - "PackageFormat", - pkgNamespace))); + pmSetPackageFormat(pkg, + pmPackageTypeFromName(pmGetRdfValue(desc, + "PackageFormat", + pkgNamespace))); pmSetPackageSize(pkg, atoi(pmGetRdfValue(desc, "Size", pkgNamespace))); @@ -213,7 +215,7 @@ pmSetDownloadUrl(downloadUrl, rdfGetElementResource(schema, element)); - + pmPackageAddDownloadUrl(pkg, downloadUrl); element = rdfNextElement(element); |
From: <gnu...@li...> - 2001-02-15 19:24:16
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : / Modified Files: configure.in Log Message: Added support for -Wall. =================================================================== RCS file: /cvsroot/gnupdate/libpackman/configure.in,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- configure.in 2001/02/13 09:32:24 1.4 +++ configure.in 2001/02/15 19:25:01 1.5 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to create configure. -dnl $Id: configure.in,v 1.4 2001/02/13 09:32:24 chipx86 Exp $ +dnl $Id: configure.in,v 1.5 2001/02/15 19:25:01 chipx86 Exp $ AC_INIT(config.h.in) @@ -178,6 +178,12 @@ AC_WARN(bool type is not supported by your compiler) ]) AC_MSG_RESULT([$ac_bool]) + + +dnl # Use wall if we have GCC +if test "x$GCC" = "xyes"; then + CFLAGS="$CFLAGS -Wall" +fi dnl ###################################################################### |
From: <gnu...@li...> - 2001-02-17 06:03:19
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : /libltdl Log Message: Directory /cvsroot/gnupdate/libpackman/libltdl added to the repository |
From: <gnu...@li...> - 2001-02-17 06:11:31
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : /libltdl Added Files: .cvsignore Log Message: Added preliminary libltdl support. |
From: <gnu...@li...> - 2001-02-17 06:12:00
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : / Modified Files: configure.in Makefile.am Log Message: Added preliminary libltdl support. =================================================================== RCS file: /cvsroot/gnupdate/libpackman/configure.in,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- configure.in 2001/02/15 19:25:01 1.5 +++ configure.in 2001/02/17 06:12:19 1.6 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to create configure. -dnl $Id: configure.in,v 1.5 2001/02/15 19:25:01 chipx86 Exp $ +dnl $Id: configure.in,v 1.6 2001/02/17 06:12:19 chipx86 Exp $ AC_INIT(config.h.in) @@ -54,11 +54,26 @@ dnl ###################################################################### -dnl # Check for programs +dnl # Setup libtdl dnl ###################################################################### +pkglibdir='${libdir}'/packman +AC_SUBST(pkglibdir) + +AC_LIBLTDL_CONVENIENCE + +AC_SUBST(INCLTDL) +AC_SUBST(LIBLTDL) + AC_LIBTOOL_DLOPEN + AM_PROG_LIBTOOL +AC_CONFIG_SUBDIRS(libltdl) + + +dnl ###################################################################### +dnl # Check for programs +dnl ###################################################################### AC_ARG_PROGRAM AC_PROG_CC AC_PROG_CXX @@ -184,6 +199,45 @@ if test "x$GCC" = "xyes"; then CFLAGS="$CFLAGS -Wall" fi + + +dnl ###################################################################### +dnl # Check for the DB library that librpm should use. +dnl ###################################################################### +DBLIBOBJS="" +libdb3="" +libdb2="" +libdb1="" +PTHREAD="" +dnl Check for Berkeley db3 API. + +AC_CHECK_FUNC(db_create, [DBLIBOBJS="$DBLIBOBJS db3.c"], + AC_CHECK_LIB(db-3.1, db_create, [LIBS="$LIBS $PTHREAD"; DBLIBOBJS="$DBLIBOBJS db3.c" ; libdb3="-ldb-3.1"], + AC_CHECK_LIB(db-3.0, db_create, [LIBS="$LIBS $PTHREAD"; DBLIBOBJS="$DBLIBOBJS db3.c"; libdb3="-ldb-3.0"], + AC_CHECK_LIB(db, db_create, [LIBS="$LIBS $PTHREAD"; DBLIBOBJS="$DBLIBOBJS db3.c"; libdb3="-ldb"],,$PTHREAD))) +) + +dnl Check for Berkeley db1 API in glibc. +AC_CHECK_FUNC(dbopen, [DBLIBOBJS="$DBLIBOBJS db3.c"], + AC_CHECK_LIB(db1, dbopen, [DBLIBOBJS="$DBLIBOBJS db1.c falloc.c" ; libdb1="-ldb1"], + AC_CHECK_LIB(db, dbopen, [LIBS="$LIBS $PTHREAD"; DBLIBOBJS="$DBLIBOBJS db1.c falloc.c" ; libdb1="-ldb"],,))) + +if test X"$DBLIBOBJS" = X; then + AC_MSG_ERROR([librpm requires libdb-3.x.a or libdb1.a (from the Berkeley db package)]) +fi + +AC_SUBST(DBLIBOBJS) +AC_SUBST(libdb3) +AC_SUBST(libdb2) +AC_SUBST(libdb1) + +for dbi in $DBLIBOBJS; do + case $dbi in + db3.c) AC_DEFINE(USE_DB3) ;; + db2.c) AC_DEFINE(USE_DB2) ;; + db1.c) AC_DEFINE(USE_DB1) ;; + esac +done dnl ###################################################################### =================================================================== RCS file: /cvsroot/gnupdate/libpackman/Makefile.am,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -3 -r1.1.1.1 -r1.2 --- Makefile.am 2000/08/16 18:31:40 1.1.1.1 +++ Makefile.am 2001/02/17 06:12:19 1.2 @@ -1,8 +1,8 @@ -# $Id: Makefile.am,v 1.1.1.1 2000/08/16 18:31:40 chipx86 Exp $ +# $Id: Makefile.am,v 1.2 2001/02/17 06:12:19 chipx86 Exp $ bin_SCRIPTS = packman-config -SUBDIRS = libpackman tests +SUBDIRS = libltdl libpackman librpm tests EXTRA_DIST = \ AUTHORS NEWS TODO INSTALL COPYING README \ |
From: <gnu...@li...> - 2001-02-18 01:48:48
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : /tests Modified Files: test.c Log Message: The basis of the packman restructure. This will allow us to use loadable modules to support additional package formats and package databases! =================================================================== RCS file: /cvsroot/gnupdate/libpackman/tests/test.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- test.c 2001/02/13 09:32:24 1.6 +++ test.c 2001/02/18 01:49:40 1.7 @@ -1,5 +1,5 @@ /* - * $Id: test.c,v 1.6 2001/02/13 09:32:24 chipx86 Exp $ + * $Id: test.c,v 1.7 2001/02/18 01:49:40 chipx86 Exp $ * * Copyright (C) 1999-2000 The GNUpdate Project. * @@ -20,21 +20,28 @@ * Boston, MA 02111-1307, USA. */ #include <packman.h> -//#include <stdio.h> -//#include <stdlib.h> -//#include <string.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> int main() { - PmPackageDb *db; + PmDatabase *db; PmMatches *matches; PmStatus status; PmPackage *pkg; int index; /* Open the database */ - db = pmOpenDb(PM_PACKAGE_RPM); + db = pmOpenDb("rpm"); + if (!db) + { + fprintf(stderr, "Unable to open the package database!\n"); + exit(1); + } + + /* Look for all packages with the name of "gtk+" */ printf(">> Searching for packages with name == gtk+\n"); status = pmFindByName(db, "gtk+", &matches); @@ -128,4 +135,6 @@ /* Close the database */ pmCloseDb(db); + + return 0; } |
From: <gnu...@li...> - 2001-02-18 01:49:18
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : / Modified Files: Makefile.am acconfig.h autogen.sh configure.in Log Message: The basis of the packman restructure. This will allow us to use loadable modules to support additional package formats and package databases! =================================================================== RCS file: /cvsroot/gnupdate/libpackman/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- Makefile.am 2001/02/17 06:12:19 1.2 +++ Makefile.am 2001/02/18 01:49:39 1.3 @@ -1,8 +1,8 @@ -# $Id: Makefile.am,v 1.2 2001/02/17 06:12:19 chipx86 Exp $ +# $Id: Makefile.am,v 1.3 2001/02/18 01:49:39 chipx86 Exp $ bin_SCRIPTS = packman-config -SUBDIRS = libltdl libpackman librpm tests +SUBDIRS = libltdl libpackman tests EXTRA_DIST = \ AUTHORS NEWS TODO INSTALL COPYING README \ =================================================================== RCS file: /cvsroot/gnupdate/libpackman/acconfig.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- acconfig.h 2000/08/19 09:03:13 1.3 +++ acconfig.h 2001/02/18 01:49:39 1.4 @@ -8,3 +8,6 @@ #undef HAVE_LIBRPM #undef RPM_MAJOR_VERSION #undef RPM_MINOR_VERSION +#undef USE_DB1 +#undef USE_DB2 +#undef USE_DB3 =================================================================== RCS file: /cvsroot/gnupdate/libpackman/autogen.sh,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -3 -r1.1.1.1 -r1.2 --- autogen.sh 2000/08/16 18:31:40 1.1.1.1 +++ autogen.sh 2001/02/18 01:49:39 1.2 @@ -1,6 +1,6 @@ #!/bin/sh # Run this to generate all the initial makefiles, etc. -# $Id: autogen.sh,v 1.1.1.1 2000/08/16 18:31:40 chipx86 Exp $ +# $Id: autogen.sh,v 1.2 2001/02/18 01:49:39 chipx86 Exp $ DIE=0 @@ -16,7 +16,7 @@ (libtool --version) < /dev/null > /dev/null 2>&1 || { echo - echo "You must have libtool installed to compile Eterm." + echo "You must have libtool installed to compile libpackman." echo "Download the appropriate package for your distribution," echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" DIE=1 @@ -34,8 +34,8 @@ exit 1 fi -echo " libtoolize --copy --force" -libtoolize --copy --force +echo " libtoolize --copy --force --ltdl" +libtoolize --copy --force --ltdl echo " aclocal $ACLOCAL_FLAGS" aclocal $ACLOCAL_FLAGS echo " autoheader" =================================================================== RCS file: /cvsroot/gnupdate/libpackman/configure.in,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- configure.in 2001/02/17 06:12:19 1.6 +++ configure.in 2001/02/18 01:49:39 1.7 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to create configure. -dnl $Id: configure.in,v 1.6 2001/02/17 06:12:19 chipx86 Exp $ +dnl $Id: configure.in,v 1.7 2001/02/18 01:49:39 chipx86 Exp $ AC_INIT(config.h.in) @@ -64,11 +64,17 @@ AC_SUBST(INCLTDL) AC_SUBST(LIBLTDL) +AM_ENABLE_SHARED AC_LIBTOOL_DLOPEN AM_PROG_LIBTOOL AC_CONFIG_SUBDIRS(libltdl) + +if test x"$enable_shared" = xyes; then + DLLDFLAGS=-export-dynamic + AC_SUBST(DLLDFLAGS) +fi dnl ###################################################################### |
From: <gnu...@li...> - 2001-02-18 01:49:19
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : /libpackman Modified Files: Makefile.am db.c db.h db_rpm.c package.h package_api.h packman.h Added Files: module.c module.h package.c Log Message: The basis of the packman restructure. This will allow us to use loadable modules to support additional package formats and package databases! =================================================================== RCS file: /cvsroot/gnupdate/libpackman/libpackman/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- Makefile.am 2000/08/26 19:48:41 1.4 +++ Makefile.am 2001/02/18 01:49:39 1.5 @@ -1,4 +1,4 @@ -# $Id: Makefile.am,v 1.4 2000/08/26 19:48:41 chipx86 Exp $ +# $Id: Makefile.am,v 1.5 2001/02/18 01:49:39 chipx86 Exp $ pmincludedir = $(includedir)/libpackman @@ -6,16 +6,20 @@ db.h \ package.h \ package_api.h \ - packman.h + packman.h \ + module.h lib_LTLIBRARIES = libpackman.la libpackman_la_SOURCES = \ db.c \ internal.c \ - package_api.c + package.c \ + module.c -libpackman_la_LIBADD = $(GNURDF_LIBS) $(PKG_CFLAGS) +libpackman_la_LIBADD = \ + @DLLDFLAGS@ $(LIBLTDL) \ + $(GNURDF_LIBS) $(PKG_CFLAGS) libpackman_la_LDFLAGS = \ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) @@ -25,4 +29,6 @@ -I$(includedir) \ -I$(prefix)/include \ $(GNURDF_CFLAGS) \ - $(PKG_CFLAGS) + $(PKG_CFLAGS) \ + $(INCLTDL) \ + -DPM_MODULE_PATH="\"@pkglibdir@\"" =================================================================== RCS file: /cvsroot/gnupdate/libpackman/libpackman/db.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- db.c 2001/02/13 09:32:24 1.5 +++ db.c 2001/02/18 01:49:39 1.6 @@ -1,7 +1,7 @@ -/************************************************************************* - * $Id: db.c,v 1.5 2001/02/13 09:32:24 chipx86 Exp $ +/* + * $Id: db.c,v 1.6 2001/02/18 01:49:39 chipx86 Exp $ * - * Copyright (C) 1999-2000 The GNUpdate Project. + * Copyright (C) 1999-2001 The GNUpdate Project. * * * This library is free software; you can redistribute it and/or @@ -18,7 +18,7 @@ * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. - *************************************************************************/ + */ #include <stdio.h> #include <string.h> #include <malloc.h> @@ -47,8 +47,6 @@ const char * pmGetSystemArch() { - char *arch; - #ifdef HAVE_LIBRPM return pmRpmGetSystemArch(); #else @@ -61,8 +59,6 @@ const char * pmGetSystemOS() { - char *os; - #ifdef HAVE_LIBRPM return pmRpmGetSystemOS(); #else @@ -71,6 +67,7 @@ #endif } +#if 0 //bool int pmIsPackageTypeSupported(PmPackageType type) @@ -84,40 +81,34 @@ default: return 0; } } +#endif + -PmPackageDb * -pmOpenDb(PmPackageType type) +PmDatabase * +pmOpenDb(char *type) { - PmPackageDb *db; + PmDatabase *db; - PM_NEW(db, PmPackageDb); + PM_NEW(db, PmDatabase); - db->type = type; + db->db = NULL; + db->module = pmGetModule(type); - switch (type) - { -#ifdef HAVE_LIBRPM - case PM_PACKAGE_RPM: pmRpmOpenDb(db); break; -#endif /* HAVE_LIBRPM */ + if (db->module == NULL) + return NULL; - default: - { - fprintf(stderr, "packman: Unsupported package format.\n"); - } - } + db->module->db_ops->open(db); return db; } void -pmCloseDb(PmPackageDb *db) +pmCloseDb(PmDatabase *db) { - switch (db->type) - { -#ifdef HAVE_LIBRPM - case PM_PACKAGE_RPM: pmRpmCloseDb(db); break; -#endif /* HAVE_LIBRPM */ - } + if (db == NULL) + return; + + db->module->db_ops->close(db); PM_FREE(db->db); @@ -125,7 +116,7 @@ } PmMatches * -pmNewMatches(PmPackageDb *db) +pmNewMatches(PmDatabase *db) { PmMatches *matches; @@ -145,13 +136,17 @@ if (matches == NULL) return; + /* TODO: Come up with a way to let the library clean up stuff! */ + +#if 0 switch (matches->db->type) { #ifdef HAVE_LIBRPM case PM_PACKAGE_RPM: pmRpmDestroyMatches(matches); break; #endif /* HAVE_LIBRPM */ } - +#endif + PM_FREE(matches->matches); matches->db = NULL; @@ -160,22 +155,13 @@ } PmStatus -pmFindByName(PmPackageDb *db, const char *name, PmMatches **matches) +pmFindByName(PmDatabase *db, const char *name, PmMatches **matches) { PmStatus status = PM_DB_ERROR; *matches = pmNewMatches(db); - switch (db->type) - { -#ifdef HAVE_LIBRPM - case PM_PACKAGE_RPM: - { - status = pmRpmFindByName(db, name, *matches); - break; - } -#endif /* HAVE_LIBRPM */ - } + status = db->module->db_ops->findByName(db, name, *matches); if (status == PM_NOT_FOUND) pmDestroyMatches(*matches); @@ -184,22 +170,13 @@ } PmStatus -pmFindByGroup(PmPackageDb *db, const char *group, PmMatches **matches) +pmFindByGroup(PmDatabase *db, const char *group, PmMatches **matches) { PmStatus status = PM_DB_ERROR; *matches = pmNewMatches(db); - switch (db->type) - { -#ifdef HAVE_LIBRPM - case PM_PACKAGE_RPM: - { - status = pmRpmFindByGroup(db, group, *matches); - break; - } -#endif /* HAVE_LIBRPM */ - } + status = db->module->db_ops->findByGroup(db, group, *matches); if (status == PM_NOT_FOUND) pmDestroyMatches(*matches); @@ -208,22 +185,13 @@ } PmStatus -pmFindByFile(PmPackageDb *db, const char *file, PmMatches **matches) +pmFindByFile(PmDatabase *db, const char *file, PmMatches **matches) { PmStatus status = PM_DB_ERROR; *matches = pmNewMatches(db); - switch (db->type) - { -#ifdef HAVE_LIBRPM - case PM_PACKAGE_RPM: - { - status = pmRpmFindByFile(db, file, *matches); - break; - } -#endif /* HAVE_LIBRPM */ - } + status = db->module->db_ops->findByFile(db, file, *matches); if (status == PM_NOT_FOUND) pmDestroyMatches(*matches); @@ -232,22 +200,13 @@ } PmStatus -pmFindByProvides(PmPackageDb *db, const char *provides, PmMatches **matches) +pmFindByProvides(PmDatabase *db, const char *provides, PmMatches **matches) { PmStatus status = PM_DB_ERROR; *matches = pmNewMatches(db); - switch (db->type) - { -#ifdef HAVE_LIBRPM - case PM_PACKAGE_RPM: - { - status = pmRpmFindByProvides(db, provides, *matches); - break; - } -#endif /* HAVE_LIBRPM */ - } + status = db->module->db_ops->findByProvides(db, provides, *matches); if (status == PM_NOT_FOUND) pmDestroyMatches(*matches); @@ -256,22 +215,13 @@ } PmStatus -pmFindByRequiredBy(PmPackageDb *db, const char *requires, PmMatches **matches) +pmFindByRequiredBy(PmDatabase *db, const char *requires, PmMatches **matches) { PmStatus status = PM_DB_ERROR; *matches = pmNewMatches(db); - switch (db->type) - { -#ifdef HAVE_LIBRPM - case PM_PACKAGE_RPM: - { - status = pmRpmFindByRequiredBy(db, requires, *matches); - break; - } -#endif /* HAVE_LIBRPM */ - } + status = db->module->db_ops->findByRequiredBy(db, requires, *matches); if (status == PM_NOT_FOUND) pmDestroyMatches(*matches); @@ -280,22 +230,13 @@ } PmStatus -pmFindByConflicts(PmPackageDb *db, const char *conflicts, PmMatches **matches) +pmFindByConflicts(PmDatabase *db, const char *conflicts, PmMatches **matches) { PmStatus status = PM_DB_ERROR; *matches = pmNewMatches(db); - switch (db->type) - { -#ifdef HAVE_LIBRPM - case PM_PACKAGE_RPM: - { - status = pmRpmFindByConflicts(db, conflicts, *matches); - break; - } -#endif /* HAVE_LIBRPM */ - } + status = db->module->db_ops->findByConflicts(db, conflicts, *matches); if (status == PM_NOT_FOUND) pmDestroyMatches(*matches); @@ -304,22 +245,13 @@ } PmStatus -pmFindAllPackages(PmPackageDb *db, PmMatches **matches) +pmGetAllPackages(PmDatabase *db, PmMatches **matches) { PmStatus status = PM_DB_ERROR; *matches = pmNewMatches(db); - switch (db->type) - { -#ifdef HAVE_LIBRPM - case PM_PACKAGE_RPM: - { - status = pmRpmFindAllPackages(db, *matches); - break; - } -#endif /* HAVE_LIBRPM */ - } + status = db->module->db_ops->getAllPackages(db, *matches); if (status == PM_NOT_FOUND) pmDestroyMatches(*matches); @@ -330,33 +262,19 @@ PmPackage * -pmFirstPackage(PmPackageDb *db, PmMatches *matches) +pmFirstPackage(PmDatabase *db, PmMatches *matches) { if (db == NULL || matches == NULL) return NULL; - - switch (db->type) - { -#ifdef HAVE_LIBRPM - case PM_PACKAGE_RPM: return pmRpmFirstPackage(db, matches); -#endif /* HAVE_LIBRPM */ - } - return NULL; + return db->module->db_ops->firstPackage(db, matches); } PmPackage * -pmNextPackage(PmPackageDb *db, PmMatches *matches) +pmNextPackage(PmDatabase *db, PmMatches *matches) { if (db == NULL || matches == NULL) return NULL; - - switch (db->type) - { -#ifdef HAVE_LIBRPM - case PM_PACKAGE_RPM: return pmRpmNextPackage(db, matches); -#endif /* HAVE_LIBRPM */ - } - return NULL; + return db->module->db_ops->firstPackage(db, matches); } =================================================================== RCS file: /cvsroot/gnupdate/libpackman/libpackman/db.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- db.h 2001/02/13 09:32:24 1.5 +++ db.h 2001/02/18 01:49:39 1.6 @@ -1,7 +1,7 @@ -/************************************************************************** - * $Id: db.h,v 1.5 2001/02/13 09:32:24 chipx86 Exp $ +/* + * $Id: db.h,v 1.6 2001/02/18 01:49:39 chipx86 Exp $ * - * Copyright (C) 1999-2000 The GNUpdate Project. + * Copyright (C) 1999-2001 The GNUpdate Project. * * * This library is free software; you can redistribute it and/or @@ -18,12 +18,13 @@ * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. - **************************************************************************/ + */ #ifndef _LIBPACKMAN_DB_H_ #define _LIBPACKMAN_DB_H_ - -#include <packman.h> +//#include <packman.h> +#include <libpackman/module.h> +#include <libpackman/package.h> /************************************************************************** * Package Search status @@ -32,16 +33,20 @@ { PM_FOUND, PM_NOT_FOUND, - PM_DB_ERROR + PM_DB_ERROR, + PM_NOT_SUPPORTED + } PmStatus; /************************************************************************** * Package Database structure. **************************************************************************/ -typedef struct _PmPackageDb PmPackageDb; -struct _PmPackageDb +typedef struct _PmDatabase PmDatabase; +struct _PmDatabase { - PmPackageType type; + PmModule *module; + +// PmPackageType type; void *db; }; @@ -53,7 +58,7 @@ typedef struct _PmMatches PmMatches; struct _PmMatches { - PmPackageDb *db; + PmDatabase *db; int index; int flags; @@ -72,7 +77,7 @@ const char *pmGetSystemArch(); const char *pmGetSystemOS(); -int /*bool*/ pmIsPackageTypeSupported(PmPackageType type); +//int /*bool*/ pmIsPackageTypeSupported(PmPackageType type); #define pmDbGetActivePackageType(db) ((db)->type) @@ -80,33 +85,33 @@ /************************************************************************** * Functions for setting up access to the package database of choice. **************************************************************************/ -PmPackageDb *pmOpenDb(PmPackageType type); -void pmCloseDb(PmPackageDb *db); +PmDatabase *pmOpenDb(char *type); +void pmCloseDb(PmDatabase *db); /************************************************************************** * Matches management functions **************************************************************************/ -PmMatches *pmNewMatches(PmPackageDb *db); +PmMatches *pmNewMatches(PmDatabase *db); void pmDestroyMatches(PmMatches *matches); /************************************************************************** * Package finding functions **************************************************************************/ -PmStatus pmFindByName(PmPackageDb *db, const char *name, PmMatches **matches); -PmStatus pmFindByGroup(PmPackageDb *db, const char *group, PmMatches **mathes); -PmStatus pmFindByFile(PmPackageDb *db, const char *file, PmMatches **matches); -PmStatus pmFindByProvides(PmPackageDb *db, const char *provides, PmMatches **matches); -PmStatus pmFindByRequiredBy(PmPackageDb *db, const char *requires, PmMatches **matches); -PmStatus pmFindByConflicts(PmPackageDb *db, const char *conflicts, PmMatches **matches); +PmStatus pmFindByName(PmDatabase *db, const char *name, PmMatches **matches); +PmStatus pmFindByGroup(PmDatabase *db, const char *group, PmMatches **mathes); +PmStatus pmFindByFile(PmDatabase *db, const char *file, PmMatches **matches); +PmStatus pmFindByProvides(PmDatabase *db, const char *provides, PmMatches **matches); +PmStatus pmFindByRequiredBy(PmDatabase *db, const char *requires, PmMatches **matches); +PmStatus pmFindByConflicts(PmDatabase *db, const char *conflicts, PmMatches **matches); -PmStatus pmFindAllPackages(PmPackageDb *db, PmMatches **matches); +PmStatus pmFindAllPackages(PmDatabase *db, PmMatches **matches); /************************************************************************** * Functions for retrieving search results **************************************************************************/ -PmPackage *pmFirstPackage(PmPackageDb *db, PmMatches *matches); -PmPackage *pmNextPackage(PmPackageDb *db, PmMatches *matches); +PmPackage *pmFirstPackage(PmDatabase *db, PmMatches *matches); +PmPackage *pmNextPackage(PmDatabase *db, PmMatches *matches); #ifdef __cplusplus }; =================================================================== RCS file: /cvsroot/gnupdate/libpackman/libpackman/db_rpm.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- db_rpm.c 2001/02/13 09:54:20 1.1 +++ db_rpm.c 2001/02/18 01:49:39 1.2 @@ -1,7 +1,7 @@ -/************************************************************************* - * $Id: db_rpm.c,v 1.1 2001/02/13 09:54:20 chipx86 Exp $ +/* + * $Id: db_rpm.c,v 1.2 2001/02/18 01:49:39 chipx86 Exp $ * - * Copyright (C) 1999-2000 The GNUpdate Project. + * Copyright (C) 1999-2001 The GNUpdate Project. * * * This library is free software; you can redistribute it and/or @@ -18,7 +18,7 @@ * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. - *************************************************************************/ + */ #include <stdio.h> #include <string.h> #include <malloc.h> @@ -94,7 +94,7 @@ PmPackage * -pmRpmAddRequirements(PmPackageDb *db, Header h, PmPackage *pkg) +pmRpmAddRequirements(PmDatabase *db, Header h, PmPackage *pkg) { const char **data; int count; @@ -139,7 +139,6 @@ if (status == PM_FOUND && matches != NULL) { Header dep_h; - unsigned int index; #if RPM_MAJOR_VERSION >= 4 dep_h = @@ -182,7 +181,7 @@ } PmPackage * -pmRpmAddProvides(PmPackageDb *db, Header h, PmPackage *pkg) +pmRpmAddProvides(PmDatabase *db, Header h, PmPackage *pkg) { const char **data; int count; @@ -214,7 +213,7 @@ } PmPackage * -pmRpmAddFiles(PmPackageDb *db, Header h, PmPackage *pkg) +pmRpmAddFiles(PmDatabase *db, Header h, PmPackage *pkg) { const char **filenames, **checksums, **owners, **groups, **symlinks; int_32 *flags, *dates, *sizes; @@ -273,11 +272,11 @@ } PmPackage * -pmRpmHeaderToPackage(PmPackageDb *db, Header h) +pmRpmHeaderToPackage(PmDatabase *db, Header h) { PmPackage *pkg = pmNewPackage(); - pmSetPackageFormat (pkg, PM_PACKAGE_RPM); + pmSetPackageFormat (pkg, "rpm"); pmSetPackageName (pkg, pmRpmGetTag(h, RPMTAG_NAME)); pmSetPackageVersion (pkg, pmRpmGetTag(h, RPMTAG_VERSION)); pmSetPackageRelease (pkg, pmRpmGetTag(h, RPMTAG_RELEASE)); @@ -327,7 +326,7 @@ } void -pmRpmOpenDb(PmPackageDb *db) +pmRpmOpenDb(PmDatabase *db) { rpmdb _db; @@ -351,7 +350,7 @@ } void -pmRpmCloseDb(PmPackageDb *db) +pmRpmCloseDb(PmDatabase *db) { rpmdbClose(RPM_DB(db->db)); db->db = NULL; @@ -372,10 +371,9 @@ } PmStatus -pmRpmFindByName(PmPackageDb *db, const char *name, PmMatches *matches) +pmRpmFindByName(PmDatabase *db, const char *name, PmMatches *matches) { PmStatus status; - int stat; #if RPM_MAJOR_VERSION >= 4 rpmdbMatchIterator mi; @@ -412,10 +410,9 @@ } PmStatus -pmRpmFindByGroup(PmPackageDb *db, const char *group, PmMatches *matches) +pmRpmFindByGroup(PmDatabase *db, const char *group, PmMatches *matches) { PmStatus status; - int stat; #if RPM_MAJOR_VERSION >= 4 rpmdbMatchIterator mi; @@ -452,10 +449,9 @@ } PmStatus -pmRpmFindByFile(PmPackageDb *db, const char *file, PmMatches *matches) +pmRpmFindByFile(PmDatabase *db, const char *file, PmMatches *matches) { PmStatus status; - int stat; #if RPM_MAJOR_VERSION >= 4 rpmdbMatchIterator mi; @@ -492,10 +488,9 @@ } PmStatus -pmRpmFindByProvides(PmPackageDb *db, const char *provides, PmMatches *matches) +pmRpmFindByProvides(PmDatabase *db, const char *provides, PmMatches *matches) { PmStatus status; - int stat; #if RPM_MAJOR_VERSION >= 4 rpmdbMatchIterator mi; @@ -532,11 +527,10 @@ } PmStatus -pmRpmFindByRequiredBy(PmPackageDb *db, const char *requires, +pmRpmFindByRequiredBy(PmDatabase *db, const char *requires, PmMatches *matches) { PmStatus status; - int stat; #if RPM_MAJOR_VERSION >= 4 rpmdbMatchIterator mi; @@ -573,11 +567,10 @@ } PmStatus -pmRpmFindByConflicts(PmPackageDb *db, const char *conflicts, +pmRpmFindByConflicts(PmDatabase *db, const char *conflicts, PmMatches *matches) { PmStatus status; - int stat; #if RPM_MAJOR_VERSION >= 4 rpmdbMatchIterator mi; @@ -614,7 +607,7 @@ } PmStatus -pmRpmFindAllPackages(PmPackageDb *db, PmMatches *matches) +pmRpmFindAllPackages(PmDatabase *db, PmMatches *matches) { PmStatus status; @@ -652,10 +645,9 @@ } PmPackage * -pmRpmFirstPackage(PmPackageDb *db, PmMatches *matches) +pmRpmFirstPackage(PmDatabase *db, PmMatches *matches) { PmPackage *pkg = NULL; - int offset; Header h; #if RPM_MAJOR_VERSION >= 4 @@ -692,10 +684,9 @@ } PmPackage * -pmRpmNextPackage(PmPackageDb *db, PmMatches *matches) +pmRpmNextPackage(PmDatabase *db, PmMatches *matches) { PmPackage *pkg = NULL; - int offset; Header h; #if RPM_MAJOR_VERSION >= 4 =================================================================== RCS file: /cvsroot/gnupdate/libpackman/libpackman/package.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- package.h 2000/09/06 00:59:53 1.4 +++ package.h 2001/02/18 01:49:39 1.5 @@ -1,7 +1,7 @@ -/************************************************************************** - * $Id: package.h,v 1.4 2000/09/06 00:59:53 chipx86 Exp $ +/* + * $Id: package.h,v 1.5 2001/02/18 01:49:39 chipx86 Exp $ * - * Copyright (C) 1999-2000 The GNUpdate Project. + * Copyright (C) 1999-2001 The GNUpdate Project. * * * This library is free software; you can redistribute it and/or @@ -18,16 +18,25 @@ * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. - **************************************************************************/ + */ #ifndef _LIBPACKMAN_PACKAGE_H_ #define _LIBPACKMAN_PACKAGE_H_ #include <time.h> +typedef struct _PmDownloadUrl PmDownloadUrl; +typedef struct _PmDependency PmDependency; +typedef struct _PmFile PmFile; +typedef struct _PmPackage PmPackage; +typedef struct _PmArchive PmArchive; + +#include <libpackman/module.h> + /************************************************************************** * Package Types **************************************************************************/ +#if 0 typedef enum _PmPackageType { PM_PACKAGE_RPM, @@ -35,13 +44,14 @@ PM_PACKAGE_TGZ, PM_PACKAGE_TBZ, PM_PACKAGE_UNKNOWN + } PmPackageType; +#endif /************************************************************************** * Download URLs **************************************************************************/ -typedef struct _PmDownloadUrl PmDownloadUrl; struct _PmDownloadUrl { char *url; @@ -54,7 +64,6 @@ /************************************************************************** * Dependencies **************************************************************************/ -typedef struct _PmDependency PmDependency; struct _PmDependency { char *name; @@ -77,7 +86,6 @@ PM_FILETYPE_UNKNOWN } PmFileType; -typedef struct _PmFile PmFile; struct _PmFile { PmFileType type; @@ -102,11 +110,14 @@ /************************************************************************** * Packages **************************************************************************/ -typedef struct _PmPackage PmPackage; struct _PmPackage { - PmPackageType pkgFormat; + PmModule *module; + +// PmPackageType pkgFormat; // PmOsDistrib osDistribution; + + char *pkgFormat; int osDistribution; /* TEMP */ char *name; @@ -150,7 +161,6 @@ /************************************************************************** * Archives (tar, zip, etc) **************************************************************************/ -typedef struct _PmArchive PmArchive; struct _PmArchive { PmArchiveType type; =================================================================== RCS file: /cvsroot/gnupdate/libpackman/libpackman/package_api.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- package_api.h 2000/09/03 08:59:53 1.5 +++ package_api.h 2001/02/18 01:49:39 1.6 @@ -1,7 +1,7 @@ -/************************************************************************** - * $Id: package_api.h,v 1.5 2000/09/03 08:59:53 chipx86 Exp $ +/* + * $Id: package_api.h,v 1.6 2001/02/18 01:49:39 chipx86 Exp $ * - * Copyright (C) 1999-2000 The GNUpdate Project. + * Copyright (C) 1999-2001 The GNUpdate Project. * * * This library is free software; you can redistribute it and/or @@ -18,7 +18,7 @@ * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. - **************************************************************************/ + */ #ifndef _LIBPACKMAN_PACKAGE_API_H_ #define _LIBPACKMAN_PACKAGE_API_H_ @@ -53,7 +53,9 @@ void pmPackageAddProvide(PmPackage *pkg, PmDependency *provide); void pmPackageAddFile(PmPackage *pkg, PmFile *file); -#define pmSetPackageFormat(pkg, value) (pkg)->pkgFormat = (value) +#define pmSetPackageModule(pkg, value) (pkg)->module = value +//#define pmSetPackageFormat(pkg, value) (pkg)->pkgFormat = (value) +#define pmSetPackageFormat(pkg, value) (pkg)->pkgFormat = strdup(value) #define pmSetPackageOsDistrib(pkg, value) (pkg)->osDistribution = (value) #define pmSetPackageName(pkg, value) (pkg)->name = strdup((value)) #define pmSetPackageVersion(pkg, value) (pkg)->version = strdup((value)) @@ -71,6 +73,7 @@ /************************************************************************** * Functions for reading from PmPackage structures. **************************************************************************/ +#define pmGetPackageModule(pkg) (pkg)->module #define pmGetPackageFormat(pkg) (pkg)->pkgFormat #define pmGetPackageOsDistrib(pkg) (pkg)->osDistribution #define pmGetPackageName(pkg) (pkg)->name @@ -169,8 +172,8 @@ **************************************************************************/ #define pmGetPkgNamespaceURI() "http://www.gnupdate.org/2000/08/Package" -char *pmPackageTypeToName(PmPackageType type); -PmPackageType pmPackageTypeFromName(char *name); +//char *pmPackageTypeToName(PmPackageType type); +//PmPackageType pmPackageTypeFromName(char *name); char *pmFileTypeToName(PmFileType type); PmFileType pmFileTypeFromName(char *name); =================================================================== RCS file: /cvsroot/gnupdate/libpackman/libpackman/packman.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- packman.h 2000/09/03 08:59:53 1.3 +++ packman.h 2001/02/18 01:49:39 1.4 @@ -1,7 +1,7 @@ -/************************************************************************** - * $Id: packman.h,v 1.3 2000/09/03 08:59:53 chipx86 Exp $ +/* + * $Id: packman.h,v 1.4 2001/02/18 01:49:39 chipx86 Exp $ * - * Copyright (C) 1999-2000 The GNUpdate Project. + * Copyright (C) 1999-2001 The GNUpdate Project. * * * This library is free software; you can redistribute it and/or @@ -18,11 +18,12 @@ * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. - **************************************************************************/ + */ #ifndef _LIBPACKMAN_H_ #define _LIBPACKMAN_H_ #include <libpackman/package.h> +#include <libpackman/module.h> #include <libpackman/package_api.h> #include <libpackman/db.h> |
From: <gnu...@li...> - 2001-02-18 05:43:03
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : /librpm Log Message: Directory /cvsroot/gnupdate/libpackman/librpm added to the repository |
From: <gnu...@li...> - 2001-02-18 05:43:57
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : /librpm Added Files: .cvsignore Makefile.am builtin.c librpm.c Log Message: Bug fixes.. starting the basis of librpm. |
From: <gnu...@li...> - 2001-02-18 05:43:57
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : /tests Modified Files: Makefile.am Log Message: Bug fixes.. starting the basis of librpm. =================================================================== RCS file: /cvsroot/gnupdate/libpackman/tests/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- Makefile.am 2000/08/19 09:03:13 1.2 +++ Makefile.am 2001/02/18 05:44:49 1.3 @@ -1,4 +1,4 @@ -# $Id: Makefile.am,v 1.2 2000/08/19 09:03:13 chipx86 Exp $ +# $Id: Makefile.am,v 1.3 2001/02/18 05:44:49 chipx86 Exp $ noinst_PROGRAMS = pmtest @@ -8,13 +8,12 @@ pmtest_LDFLAGS = pmtest_LDADD = \ - $(top_builddir)/libpackman/libpackman.la \ - $(GNURDF_LIBS) \ - $(PKG_LIBS) + $(top_builddir)/libpackman/libpackman.la +# -L$(top_builddir)/libpackman -lpackman \ + $(GNURDF_LIBS) INCLUDES = \ -I$(top_srcdir) \ -I$(includedir) \ -I$(prefix)/include \ - $(GNURDF_CFLAGS) \ - $(PKG_CFLAGS) + $(GNURDF_CFLAGS) |
From: <gnu...@li...> - 2001-02-18 05:44:27
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : / Modified Files: Makefile.am configure.in Log Message: Bug fixes.. starting the basis of librpm. =================================================================== RCS file: /cvsroot/gnupdate/libpackman/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- Makefile.am 2001/02/18 01:49:39 1.3 +++ Makefile.am 2001/02/18 05:44:49 1.4 @@ -1,8 +1,8 @@ -# $Id: Makefile.am,v 1.3 2001/02/18 01:49:39 chipx86 Exp $ +# $Id: Makefile.am,v 1.4 2001/02/18 05:44:49 chipx86 Exp $ bin_SCRIPTS = packman-config -SUBDIRS = libltdl libpackman tests +SUBDIRS = libltdl libpackman librpm tests EXTRA_DIST = \ AUTHORS NEWS TODO INSTALL COPYING README \ =================================================================== RCS file: /cvsroot/gnupdate/libpackman/configure.in,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- configure.in 2001/02/18 01:49:39 1.7 +++ configure.in 2001/02/18 05:44:49 1.8 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to create configure. -dnl $Id: configure.in,v 1.7 2001/02/18 01:49:39 chipx86 Exp $ +dnl $Id: configure.in,v 1.8 2001/02/18 05:44:49 chipx86 Exp $ AC_INIT(config.h.in) @@ -7,7 +7,7 @@ dnl # Version information dnl ###################################################################### LIBPACKMAN_MAJOR_VERSION=0 -LIBPACKMAN_MINOR_VERSION=1 +LIBPACKMAN_MINOR_VERSION=2 LIBPACKMAN_MICRO_VERSION=0 LIBPACKMAN_VERSION=$LIBPACKMAN_MAJOR_VERSION.$LIBPACKMAN_MINOR_VERSION.$LIBPACKMAN_MICRO_VERSION @@ -26,7 +26,7 @@ dnl # ? : +1 : ? == just some internal changes, nothing breaks but dnl # might work better dnl # CURRENT : REVISION : AGE -LT_CURRENT=0 +LT_CURRENT=1 LT_REVISION=0 LT_AGE=0 @@ -93,7 +93,7 @@ AM_PATH_GNURDF -ac_pkg_support=no +ac_rpm_support=no @@ -140,26 +140,31 @@ if test "x$RPM_MAJOR_VERSION" != x ; then - PKG_LIBS="$PKG_LIBS -lrpm" - PKG_CFLAGS="$PKG_CFLAGS -I$prefix/include/rpm" + RPM_LIBS="-lrpm" + RPM_CFLAGS="-I$prefix/include/rpm" + AC_SUBST(RPM_LIBS) + AC_SUBST(RPM_CFLAGS) AC_DEFINE(HAVE_LIBRPM) AC_DEFINE_UNQUOTED(RPM_MAJOR_VERSION, $RPM_MAJOR_VERSION) AC_DEFINE_UNQUOTED(RPM_MINOR_VERSION, $RPM_MINOR_VERSION) - ac_pkg_support=yes + ac_rpm_support=yes fi +dnl +dnl No longer needed +dnl dnl ###################################################################### dnl # Check to make sure there is at least some package support dnl ###################################################################### -AC_MSG_CHECKING(if at least one package format is supported) -if test "x$ac_pkg_support" = xno ; then - AC_MSG_RESULT(no) - AC_MSG_ERROR([You must have support for at least one package format!]) -fi -AC_MSG_RESULT(yes) - -AC_SUBST(PKG_LIBS) -AC_SUBST(PKG_CFLAGS) +dnl AC_MSG_CHECKING(if at least one package format is supported) +dnl if test "x$ac_rpm_support" = xno ; then +dnl AC_MSG_RESULT(no) +dnl AC_MSG_ERROR([You must have support for at least one package format!]) +dnl fi +dnl AC_MSG_RESULT(yes) +dnl +dnl AC_SUBST(PKG_LIBS) +dnl AC_SUBST(PKG_CFLAGS) dnl ###################################################################### @@ -207,44 +212,46 @@ fi +dnl We do not need this anymore, I think. +dnl dnl ###################################################################### dnl # Check for the DB library that librpm should use. dnl ###################################################################### -DBLIBOBJS="" -libdb3="" -libdb2="" -libdb1="" -PTHREAD="" -dnl Check for Berkeley db3 API. - -AC_CHECK_FUNC(db_create, [DBLIBOBJS="$DBLIBOBJS db3.c"], - AC_CHECK_LIB(db-3.1, db_create, [LIBS="$LIBS $PTHREAD"; DBLIBOBJS="$DBLIBOBJS db3.c" ; libdb3="-ldb-3.1"], - AC_CHECK_LIB(db-3.0, db_create, [LIBS="$LIBS $PTHREAD"; DBLIBOBJS="$DBLIBOBJS db3.c"; libdb3="-ldb-3.0"], - AC_CHECK_LIB(db, db_create, [LIBS="$LIBS $PTHREAD"; DBLIBOBJS="$DBLIBOBJS db3.c"; libdb3="-ldb"],,$PTHREAD))) -) - -dnl Check for Berkeley db1 API in glibc. -AC_CHECK_FUNC(dbopen, [DBLIBOBJS="$DBLIBOBJS db3.c"], - AC_CHECK_LIB(db1, dbopen, [DBLIBOBJS="$DBLIBOBJS db1.c falloc.c" ; libdb1="-ldb1"], - AC_CHECK_LIB(db, dbopen, [LIBS="$LIBS $PTHREAD"; DBLIBOBJS="$DBLIBOBJS db1.c falloc.c" ; libdb1="-ldb"],,))) - -if test X"$DBLIBOBJS" = X; then - AC_MSG_ERROR([librpm requires libdb-3.x.a or libdb1.a (from the Berkeley db package)]) -fi - -AC_SUBST(DBLIBOBJS) -AC_SUBST(libdb3) -AC_SUBST(libdb2) -AC_SUBST(libdb1) - -for dbi in $DBLIBOBJS; do - case $dbi in - db3.c) AC_DEFINE(USE_DB3) ;; - db2.c) AC_DEFINE(USE_DB2) ;; - db1.c) AC_DEFINE(USE_DB1) ;; - esac -done - +dnl DBLIBOBJS="" +dnl libdb3="" +dnl libdb2="" +dnl libdb1="" +dnl PTHREAD="" +dnl dnl Check for Berkeley db3 API. +dnl +dnl AC_CHECK_FUNC(db_create, [DBLIBOBJS="$DBLIBOBJS db3.c"], +dnl AC_CHECK_LIB(db-3.1, db_create, [LIBS="$LIBS $PTHREAD"; DBLIBOBJS="$DBLIBOBJS db3.c" ; libdb3="-ldb-3.1"], +dnl AC_CHECK_LIB(db-3.0, db_create, [LIBS="$LIBS $PTHREAD"; DBLIBOBJS="$DBLIBOBJS db3.c"; libdb3="-ldb-3.0"], +dnl AC_CHECK_LIB(db, db_create, [LIBS="$LIBS $PTHREAD"; DBLIBOBJS="$DBLIBOBJS db3.c"; libdb3="-ldb"],,$PTHREAD))) +dnl ) +dnl +dnl dnl Check for Berkeley db1 API in glibc. +dnl AC_CHECK_FUNC(dbopen, [DBLIBOBJS="$DBLIBOBJS db3.c"], +dnl AC_CHECK_LIB(db1, dbopen, [DBLIBOBJS="$DBLIBOBJS db1.c falloc.c" ; libdb1="-ldb1"], +dnl AC_CHECK_LIB(db, dbopen, [LIBS="$LIBS $PTHREAD"; DBLIBOBJS="$DBLIBOBJS db1.c falloc.c" ; libdb1="-ldb"],,))) +dnl +dnl if test X"$DBLIBOBJS" = X; then +dnl AC_MSG_ERROR([librpm requires libdb-3.x.a or libdb1.a (from the Berkeley db package)]) +dnl fi +dnl +dnl AC_SUBST(DBLIBOBJS) +dnl AC_SUBST(libdb3) +dnl AC_SUBST(libdb2) +dnl AC_SUBST(libdb1) +dnl +dnl for dbi in $DBLIBOBJS; do +dnl case $dbi in +dnl db3.c) AC_DEFINE(USE_DB3) ;; +dnl db2.c) AC_DEFINE(USE_DB2) ;; +dnl db1.c) AC_DEFINE(USE_DB1) ;; +dnl esac +dnl done +dnl dnl ###################################################################### dnl # Check to make sure everything above is in place @@ -266,6 +273,7 @@ packman.m4 Makefile libpackman/Makefile +librpm/Makefile tests/Makefile ]) |
From: <gnu...@li...> - 2001-02-18 05:44:27
|
GNUpdate CVS committal Author : chipx86 Module : libpackman Path : /libpackman Modified Files: Makefile.am db.c module.c Log Message: Bug fixes.. starting the basis of librpm. =================================================================== RCS file: /cvsroot/gnupdate/libpackman/libpackman/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- Makefile.am 2001/02/18 01:49:39 1.5 +++ Makefile.am 2001/02/18 05:44:49 1.6 @@ -1,4 +1,4 @@ -# $Id: Makefile.am,v 1.5 2001/02/18 01:49:39 chipx86 Exp $ +# $Id: Makefile.am,v 1.6 2001/02/18 05:44:49 chipx86 Exp $ pmincludedir = $(includedir)/libpackman @@ -17,9 +17,7 @@ package.c \ module.c -libpackman_la_LIBADD = \ - @DLLDFLAGS@ $(LIBLTDL) \ - $(GNURDF_LIBS) $(PKG_CFLAGS) +libpackman_la_LIBADD = @DLLDFLAGS@ $(LIBLTDL) $(GNURDF_LIBS) libpackman_la_LDFLAGS = \ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) @@ -29,6 +27,5 @@ -I$(includedir) \ -I$(prefix)/include \ $(GNURDF_CFLAGS) \ - $(PKG_CFLAGS) \ $(INCLTDL) \ -DPM_MODULE_PATH="\"@pkglibdir@\"" =================================================================== RCS file: /cvsroot/gnupdate/libpackman/libpackman/db.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- db.c 2001/02/18 01:49:39 1.6 +++ db.c 2001/02/18 05:44:49 1.7 @@ -1,5 +1,5 @@ /* - * $Id: db.c,v 1.6 2001/02/18 01:49:39 chipx86 Exp $ + * $Id: db.c,v 1.7 2001/02/18 05:44:49 chipx86 Exp $ * * Copyright (C) 1999-2001 The GNUpdate Project. * @@ -32,7 +32,7 @@ #include "config.h" #ifdef HAVE_LIBRPM -# include "db_rpm.c" +//# include "db_rpm.c" #endif /* Let's just assume that we have .tar, .gz, and .zip support, shall we? :) */ @@ -47,24 +47,13 @@ const char * pmGetSystemArch() { -#ifdef HAVE_LIBRPM - return pmRpmGetSystemArch(); -#else - fprintf(stderr, "packman: Unsupported package library.\n"); - exit(1); -#endif - + return "i386"; } const char * pmGetSystemOS() { -#ifdef HAVE_LIBRPM - return pmRpmGetSystemOS(); -#else - fprintf(stderr, "packman: Unsupported package library.\n"); - exit(1); -#endif + return "Linux"; } #if 0 @@ -87,6 +76,7 @@ PmDatabase * pmOpenDb(char *type) { + PmStatus status; PmDatabase *db; PM_NEW(db, PmDatabase); @@ -95,10 +85,19 @@ db->module = pmGetModule(type); if (db->module == NULL) + { + free(db); return NULL; + } - db->module->db_ops->open(db); + status = db->module->db_ops->open(db); + if (status == PM_NOT_SUPPORTED) + { + free(db); + return NULL; + } + return db; } =================================================================== RCS file: /cvsroot/gnupdate/libpackman/libpackman/module.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- module.c 2001/02/18 01:49:39 1.1 +++ module.c 2001/02/18 05:44:49 1.2 @@ -1,5 +1,5 @@ /* - * $Id: module.c,v 1.1 2001/02/18 01:49:39 chipx86 Exp $ + * $Id: module.c,v 1.2 2001/02/18 05:44:49 chipx86 Exp $ * * Copyright (C) 1999-2001 The GNUpdate Project. * @@ -119,8 +119,8 @@ /* Build the package ops structure */ pkg_ops = (PmPackageOps *)malloc(sizeof(PmPackageOps)); - pkg_ops->open = lt_dlsym(module->handle, "open"); - pkg_ops->close = lt_dlsym(module->handle, "close"); + pkg_ops->open = lt_dlsym(module->handle, "packageOpen"); + pkg_ops->close = lt_dlsym(module->handle, "packageClose"); if ((!pkg_ops->open) || (!pkg_ops->close)) { @@ -132,16 +132,16 @@ /* Build the DB ops structure */ db_ops = (PmDatabaseOps *)malloc(sizeof(PmDatabaseOps)); - db_ops->open = lt_dlsym(module->handle, "open"); - db_ops->close = lt_dlsym(module->handle, "close"); - db_ops->findByName = lt_dlsym(module->handle, "findByName"); - db_ops->findByGroup = lt_dlsym(module->handle, "findByGroup"); - db_ops->findByFile = lt_dlsym(module->handle, "findByFile"); - db_ops->findByRequiredBy = lt_dlsym(module->handle, "findByRequiredBy"); - db_ops->findByConflicts = lt_dlsym(module->handle, "findByConflicts"); - db_ops->getAllPackages = lt_dlsym(module->handle, "getAllPackages"); - db_ops->firstPackage = lt_dlsym(module->handle, "firstPackage"); - db_ops->nextPackage = lt_dlsym(module->handle, "nextPackage"); + db_ops->open = lt_dlsym(module->handle, "dbOpen"); + db_ops->close = lt_dlsym(module->handle, "dbClose"); + db_ops->findByName = lt_dlsym(module->handle, "dbFindByName"); + db_ops->findByGroup = lt_dlsym(module->handle, "dbFindByGroup"); + db_ops->findByFile = lt_dlsym(module->handle, "dbFindByFile"); + db_ops->findByRequiredBy = lt_dlsym(module->handle, "dbFindByRequiredBy"); + db_ops->findByConflicts = lt_dlsym(module->handle, "dbFindByConflicts"); + db_ops->getAllPackages = lt_dlsym(module->handle, "dbGetAllPackages"); + db_ops->firstPackage = lt_dlsym(module->handle, "dbFirstPackage"); + db_ops->nextPackage = lt_dlsym(module->handle, "dbNextPackage"); if (!db_ops->open) db_ops->open = stub_db_open; if (!db_ops->close) db_ops->close = stub_db_close; @@ -186,14 +186,20 @@ filename = (char *)malloc((strlen(name) + sizeof(PM_MODULE_PATH) + 8)); - sprintf(filename, PM_MODULE_PATH "/lib%s.so", name); + sprintf(filename, PM_MODULE_PATH "/%s.la", name); - fprintf(stderr, "Loading %s\n", filename); - module = __pmLoadModule(filename); if (module == NULL) - return NULL; + { + /* Try .so */ + sprintf(filename, PM_MODULE_PATH "/%s.so", name); + + module = __pmLoadModule(filename); + + if (module == NULL) + return NULL; + } module->name = strdup(name); |