Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=fw32.git;a=commitdiff;h=b0bff65678dc38a8aef6831a8da79fe3460a1b72
commit b0bff65678dc38a8aef6831a8da79fe3460a1b72 Author: James Buren <r...@frugalware.org> Date: Wed Nov 9 16:21:15 2011 -0600 fw32.c: add merge function diff --git a/fw32.c b/fw32.c index 37b454b..c64b380 100644 --- a/fw32.c +++ b/fw32.c @@ -35,6 +35,7 @@ static FW32_DIR FW32_DIRS_ALL[] = { "/usr/share/fonts", true }, { "/usr/share/themes", true }, { "/var/cache/pacman-g2", false }, + { "/var/fst", false }, { "/media", false }, { "/mnt", false }, { "/home", false }, @@ -48,6 +49,7 @@ static FW32_DIR FW32_DIRS_BASE[] = { "/proc", true }, { "/sys", true }, { "/dev", true }, + { "/var/fst", false }, { "/var/cache/pacman-g2", false }, { "/var/tmp", false }, { "/tmp", false }, @@ -454,6 +456,28 @@ pacman_g2(char **args1) mount_all(); } +static void +repoman(char **args) +{ + assert(args); + + umount_all(); + + cp_file("/etc/resolv.conf"); + + cp_file("/etc/services"); + + cp_file("/etc/localtime"); + + mount_base(); + + run("/usr/bin/repoman","/",false,args); + + umount_all(); + + mount_all(); +} + static int nftw_cb(const char *path,const struct stat *st,int type,struct FTW *buf) { @@ -563,6 +587,27 @@ fw32_upgrade(void) } static void +fw32_merge(char **args1) +{ + char *args2[] = + { + "update", + 0 + }; + char *args3[] = + { + "merge", + 0 + }; + + assert(args1); + + repoman(args2); + + repoman(args_merge(0,args3,args1)); +} + +static void fw32_run(int i,char **args1) { char cwd[PATH_MAX]; @@ -669,6 +714,8 @@ main(int argc,char **argv) fw32_create(); else if(!strcmp(cmd,"fw32-update")) fw32_update(); + else if(!strcmp(cmd,"fw32-merge")) + fw32_merge(args); else if(!strcmp(cmd,"fw32-delete")) fw32_delete(); else if(!strcmp(cmd,"fw32-run")) _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git