update/update.c
author J. Ali Harlow <ali@juiblex.co.uk>
Thu Oct 01 20:38:39 2009 +0100 (2009-10-01)
changeset 6 e8c9cc792c5d
child 13 b0a35bae4961
permissions -rw-r--r--
Fix bug causing setup to install already existing packages
     1 /*
     2  * Copyright (C) 2009  J. Ali Harlow <ali@juiblex.co.uk>
     3  *
     4  * This program is free software; you can redistribute it and/or modify
     5  * it under the terms of the GNU General Public License as published by
     6  * the Free Software Foundation; either version 2 of the License, or
     7  * (at your option) any later version.
     8  *
     9  * This program is distributed in the hope that it will be useful,
    10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    12  * GNU General Public License for more details.
    13  *
    14  * You should have received a copy of the GNU General Public License along
    15  * with this program; if not, write to the Free Software Foundation, Inc.,
    16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
    17  */
    18 
    19 #include <stdlib.h>
    20 #include <lua.h>
    21 #include "config.h"
    22 #include "plover/plover.h"
    23 #include "whelk/whelk.h"
    24 
    25 LUALIB_API int luaopen_posix(lua_State *L);
    26 
    27 void update(const char *argv0)
    28 {
    29     char *path,*s,*prefix;
    30     struct comps *comps;
    31     path=plover_get_program_directory(argv0);
    32     s=plover_strconcat(path,"/repodata/comps.xml",NULL);
    33     comps=plover_comps_new_from_file(s);
    34     if (!comps)
    35     {
    36 	perror(s);
    37 	exit(1);
    38     }
    39     free(s);
    40     prefix=plover_default_prefix_for_vendor(comps->vendor);
    41     plover_comps_free(comps);
    42     plover_update(path,prefix,NULL);
    43     free(prefix);
    44     free(path);
    45 }
    46 
    47 int main(int argc,char **argv)
    48 {
    49     razor_set_lua_loader("posix",luaopen_posix);
    50     razor_set_lua_loader("whelk",luaopen_whelk);
    51     update(argv[0]);
    52 }