// permitir offsets de 64bits (tamaņos mayores de 4GB) #define _FILE_OFFSET_BITS 64 #include #include #include #include #include #include #include #include #include "StringUtil.h" #include "Ficheros.h" #include "pkg-manager.h" void usage(){ printf("Metodo de uso:\n"); printf("pkg-manager install \n"); printf("pkg-manager remove \n"); printf("pkg-manager prepare \n"); pkg_mostrar_entorno(); } int main(int argc,char *argv[]){ char fichero[1024]; char nombre[1024]; Pkg_File_List *pkg_lista; Root_File_List *lista; // iniciar el sistema de paquetes pkg_iniciar(); if(argc>1){ // Instalar uno if(!strcmp(argv[1],"install") && argc==3){ // Comprobar que exista el paquete strcpy(fichero,argv[2]); if(!ExisteFichero(fichero)){ printf("El paquete \"%s\" no existe.\n",fichero); exit(0); } // cargar lista de ficheros del sistema lista=lista_sistema_cargar(); // determinar el nombre del paquete basename(fichero,nombre); // preparar para la extraccion del fichero pkg_preparar(nombre); // extraer el fichero printf("*** Extrayendo: \"%s\"\n",nombre); pkg_extraer(fichero,nombre); // combinar en el sistema printf("*** Combinando \"%s\"\n",nombre); pkg_merge(lista,nombre); // realizar proceso de postinstalacion printf("*** Configurando \"%s\"\n",nombre); pkg_postinstall(nombre); // guardar nueva lista lista_sistema_guardar(lista); // liberar lista lista_sistema_borrar(lista); // salir exit(0); } // Instalar varios if(!strcmp(argv[1],"install") && argc>3){ int a; // cargar lista de ficheros del sistema lista=lista_sistema_cargar(); // Por cada paquete for(a=2;a