On Tue, May 13, 2008 at 4:43 AM, Xavier <shiningxc@gmail.com> wrote:
On Sun, May 11, 2008 at 6:40 PM, Dan McGee <dan@archlinux.org> wrote:
alpm_pkg_load() and parse_descfile() are specific to getting information from package files, just as other code is specific to getting information into or out of a package database. Move this code out of package.c, which should eventually only contain operators on the pmpkg_t struct that do not depend at all on where the data came from.
Signed-off-by: Dan McGee <dan@archlinux.org> --- lib/libalpm/Makefile.am | 1 + lib/libalpm/be_package.c | 283 ++++++++++++++++++++++++++++++++++++++++++++++ lib/libalpm/package.c | 244 +--------------------------------------- lib/libalpm/package.h | 1 - 4 files changed, 285 insertions(+), 244 deletions(-) create mode 100644 lib/libalpm/be_package.c
diff --git a/lib/libalpm/Makefile.am b/lib/libalpm/Makefile.am index 7b73736..871855e 100644 --- a/lib/libalpm/Makefile.am +++ b/lib/libalpm/Makefile.am @@ -26,6 +26,7 @@ libalpm_la_SOURCES = \ alpm_list.h alpm_list.c \ backup.h backup.c \ be_files.c \ + be_package.c \ cache.h cache.c \ conflict.h conflict.c \ db.h db.c \ diff --git a/lib/libalpm/be_package.c b/lib/libalpm/be_package.c new file mode 100644 index 0000000..4df3228 --- /dev/null +++ b/lib/libalpm/be_package.c @@ -0,0 +1,283 @@ +/* + * be_package.c + * + * Copyright (c) 2002-2008 by Judd Vinet <jvinet@zeroflux.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "config.h" + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <limits.h> +#include <ctype.h> +#include <locale.h> /* setlocale */ + +/* libarchive */ +#include <archive.h> +#include <archive_entry.h> + +/* libalpm */ +#include "alpm_list.h" +#include "util.h" +#include "log.h" +#include "error.h" +#include "package.h" +#include "deps.h" /* _alpm_splitdep */ +
What is this error.h file here? I don't see any other files who include that header. What is weird is I think this built fine on my laptop. But here with cygwin I don't have any error.h header so the compilation simply failed. After removing it, everything works perfectly. I'm confused..
Looks like that snuck in from the way-old patch (take a look a the date). We used to have an error.h that contained not much of anything; that was removed in commit 4c872594da321aa406cfb306c32c94ce2929d59e and I obviously missed the bus on this. The patch is trival- remove it. -Dan