Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=fw32.git;a=commitdiff;h=2156824bb854c6025470ee75325f0a15dc9fa0f5
commit 2156824bb854c6025470ee75325f0a15dc9fa0f5 Author: James Buren <r...@frugalware.org> Date: Wed Nov 9 06:34:00 2011 -0600 add fw32-update function for updating fw32 chroot across upgrades diff --git a/Makefile b/Makefile index 30b8768..b6c9a24 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -CFLAGS ?= -O2 +CFLAGS ?= -O2 CFLAGS += -D_GNU_SOURCE DESTDIR ?= / @@ -24,3 +24,4 @@ install: all ln -sf fw32 $(DESTDIR)/usr/bin/fw32-clean ln -sf fw32 $(DESTDIR)/usr/bin/fw32-mount-all ln -sf fw32 $(DESTDIR)/usr/bin/fw32-umount-all + ln -sf fw32 $(DESTDIR)/usr/bin/fw32-update diff --git a/fw32.c b/fw32.c index f2c0612..c6e7157 100644 --- a/fw32.c +++ b/fw32.c @@ -400,6 +400,26 @@ fw32_delete(void) } static void +fw32_update(void) +{ + struct stat st; + const char **p; + char path[PATH_MAX]; + + if(stat(FW32_ROOT,&st)) + error("%s does not exist.\n",FW32_ROOT); + + p = FW32_DIRS; + + while(*p) + { + snprintf(path,sizeof path,"%s%s",FW32_ROOT,*p++); + + mkdir_parents(path); + } +} + +static void fw32_upgrade(void) { char *args1[] = @@ -512,6 +532,8 @@ main(int argc,char **argv) if(!strcmp(cmd,"fw32-create")) fw32_create(); + else if(!strcmp(cmd,"fw32-update")) + fw32_update(); 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