diff -r 772ff096a326 -r 31fb35727621 update/updatez.c --- a/update/updatez.c Fri Jul 08 08:33:44 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -/* - * Copyright (C) 2009, 2011, 2016 J. Ali Harlow - * - * 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, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include -#include "config.h" -#include "plover/plover.h" -#include "whelk/whelk.h" - -LUALIB_API int luaopen_posix(lua_State *L); - -void update_from_executable_zip(const char *argv0) -{ - char *uri; - gchar *s,*prefix; - int ch; - struct comps *comps; - GError *error=NULL; - s=plover_get_program(argv0); - uri=g_strconcat("file:",s,NULL); - g_free(s); - s=g_strconcat(uri,"/repodata/comps.xml",NULL); - comps=plover_comps_new_from_uri(s); - if (!comps) - { - perror(s); - exit(1); - } - g_free(s); - prefix=plover_default_prefix_for_vendor(comps->vendor); - if (!plover_installed_files_match_prefix(prefix)) - { - printf("The existing installation is not under %s\n" - "In order to continue, all the existing packages must be removed.\n" - "Do you want to remove all existing packages? ",prefix); - ch=getchar(); - if (ch!='y' && ch!='Y' && ch!=EOF && ch!='\n') - exit(1); - while(ch!='\n' && ch!=EOF) - ch=getchar(); - if (plover_remove(NULL,&error)) - { - fprintf(stderr,"%s\n",error->message); - g_error_free(error); - exit(1); - } - } - plover_comps_free(comps); - if (!plover_update_uri(uri,prefix,NULL,&error)) - { - fprintf(stderr,"%s\n",error->message); - g_error_free(error); - exit(1); - } - g_free(prefix); - free(uri); -} - -int main(int argc,char **argv) -{ - plover_exception_handler_init(); - razor_set_lua_loader("posix",(void (*)())luaopen_posix); - razor_set_lua_loader("whelk",(void (*)())luaopen_whelk); - update_from_executable_zip(argv[0]); - exit(0); -}