From: <ale...@us...> - 2006-09-23 16:14:55
|
Revision: 2420 http://svn.sourceforge.net/morphix/?rev=2420&view=rev Author: alextreme Date: 2006-09-23 09:14:39 -0700 (Sat, 23 Sep 2006) Log Message: ----------- * bumping * fixed make-mini (now uses --homedir USER, --homedir-all USER and --homedir-hidden USER) Modified Paths: -------------- trunk/mmaker/debian/changelog trunk/mmaker/libmorphix/makemini.c trunk/mmaker/libmorphix/makemini.h trunk/mmaker/src/make-mini.c Modified: trunk/mmaker/debian/changelog =================================================================== --- trunk/mmaker/debian/changelog 2006-09-20 23:12:59 UTC (rev 2419) +++ trunk/mmaker/debian/changelog 2006-09-23 16:14:39 UTC (rev 2420) @@ -1,3 +1,15 @@ +morphix-mmaker (0.4-37) unstable; urgency=low + + * fixed make-mini (manual needs updating though...) + + -- root <ro...@al...> Sat, 23 Sep 2006 18:12:15 +0200 + +morphix-mmaker (0.4-36) unstable; urgency=low + + * bumping to avoid version conflicts... + + -- root <ro...@al...> Mon, 4 Sep 2006 00:25:58 +0200 + morphix-mmaker (0.4-34) unstable; urgency=low * adding -s sources.tar.gz option for mmaker, for automatically retrieving all source packages for a module Modified: trunk/mmaker/libmorphix/makemini.c =================================================================== --- trunk/mmaker/libmorphix/makemini.c 2006-09-20 23:12:59 UTC (rev 2419) +++ trunk/mmaker/libmorphix/makemini.c 2006-09-23 16:14:39 UTC (rev 2420) @@ -35,8 +35,8 @@ TODO: parse /morphix/include.sh, if exists, and use /home/$USER instead... */ -#define HOME_MORPH_FILES_HID "~/.*" -#define HOME_MORPH_FILES_NOT_HID "~/*" +#define HOME_MORPH_FILES_HID ".*" +#define HOME_MORPH_FILES_NOT_HID "*" void writeLoadmodHeader(FILE *file) { fprintf(file,"#!/bin/sh \n"); @@ -143,7 +143,7 @@ g_free(cmdline); } -gboolean makeHomedirMini(mmodule *module, gchar *output, gboolean save_homedir, gboolean save_overlay, gboolean save_hidden_homedir) +gboolean makeHomedirMini(mmodule *module, gchar *output, gboolean save_homedir, gboolean save_overlay, gboolean save_hidden_homedir, gchar *user) { gchar *cmdline; gchar *temp_string; @@ -158,6 +158,9 @@ gboolean update = FALSE; // should add another argument for this one FILE *file; + if (user == NULL) { + return FALSE; + } // # Set up tmp-dir needed cmdline = g_strdup_printf("mkdir -p %s/files",module->dirname); @@ -230,7 +233,7 @@ // exclude Xauthority and ICEauthority from hidden saves, this slows X's boot time // we exclude .xinitrc as well, as it would make most morph's barf (.xinitrc gets added too) - cmdline = g_strdup_printf("sh -c 'sudo tar --exclude=\'.xinitrc\' --exclude=\'.Xauthority\' --exclude=\'.ICEauthority\' --exclude=\'.\' --exclude=\'..\' -zcvf %s %s --gzip --wildcards --one-file-system --same-permissions --recursion %s --show-omitted-dirs --totals 2>/dev/null'",tar_names,HOME_MORPH_FILES_HID, date_label); + cmdline = g_strdup_printf("sh -c 'sudo tar --exclude=\'.xinitrc\' --exclude=\'.Xauthority\' --exclude=\'.ICEauthority\' --exclude=\'.\' --exclude=\'..\' -zcvf %s /home/%s/%s --gzip --wildcards --one-file-system --same-permissions --recursion %s --show-omitted-dirs --totals 2>/dev/null'",tar_names,user,HOME_MORPH_FILES_HID, date_label); ExecuteCommand(cmdline); g_free(cmdline); g_free(tar_names); @@ -240,7 +243,7 @@ { tar_names = g_strdup_printf("%s/files/files%d.tar.gz",module->dirname,count_files); //Testing removed sudo - cmdline = g_strdup_printf("sh -c 'sudo tar --exclude=\'.\' --exclude=\'..\' -zcvf %s %s --gzip --wildcards --one-file-system --same-permissions --recursion %s --show-omitted-dirs --totals 2>/dev/null'",tar_names,HOME_MORPH_FILES_NOT_HID, date_label); + cmdline = g_strdup_printf("sh -c 'sudo tar --exclude=\'.\' --exclude=\'..\' -zcvf %s /home/%s/%s --gzip --wildcards --one-file-system --same-permissions --recursion %s --show-omitted-dirs --totals 2>/dev/null'",tar_names,user,HOME_MORPH_FILES_NOT_HID, date_label); ExecuteCommand(cmdline); g_free(cmdline); g_free(tar_names); Modified: trunk/mmaker/libmorphix/makemini.h =================================================================== --- trunk/mmaker/libmorphix/makemini.h 2006-09-20 23:12:59 UTC (rev 2419) +++ trunk/mmaker/libmorphix/makemini.h 2006-09-23 16:14:39 UTC (rev 2420) @@ -3,6 +3,6 @@ #include <glib.h> gboolean makeLanguageMini(mmodule *module, gchar *output, gchar *lang); -gboolean makeHomedirMini(mmodule *module, gchar *output, gboolean save_homedir, gboolean save_overlay, gboolean save_hidden_homedir); +gboolean makeHomedirMini(mmodule *module, gchar *output, gboolean save_homedir, gboolean save_overlay, gboolean save_hidden_homedir, gchar *user); #endif Modified: trunk/mmaker/src/make-mini.c =================================================================== --- trunk/mmaker/src/make-mini.c 2006-09-20 23:12:59 UTC (rev 2419) +++ trunk/mmaker/src/make-mini.c 2006-09-23 16:14:39 UTC (rev 2420) @@ -29,15 +29,17 @@ #include "../libmorphix/makemini.h" void usage(gchar *filename) { - printf("Usage: %s [--overlay | --hidden | --homedir] output.mod\n\n",filename); + printf("Usage: %s [--overlay | --homedir-all USER | --homedir-hidden USER | --homedir USER ] output.mod\n\n",filename); printf("Currently only support for homedir/overlay modules is implemented\n\n"); printf("Use one of:\n"); printf("\t--lang LANG:\tuse LANG as the default language (overridden by bootoptions)\n"); - printf("\t\tLANG example: nl_NL@euro\n"); - printf("\t--overlay:\tuse files from /tmp/overlay\n"); - printf("\t--hidden:\tuse hidden users files\n"); - printf("\t--homedir:\tuse normal users files\n"); + printf("\t--overlay:\tadd files from /tmp/overlay to minimodule\n"); + printf("\t--homedir-hidden USER:\tadd hidden USER's files to minimodule\n"); + printf("\t--homedir USER:\t\tadd non-hidden USER's files to minimodule\n"); + printf("\t--homedir-all USER:\tadd both hidden and non-hidden USER's files to minimodule\n\n"); + printf("\tLANG example: nl_NL@euro\n"); + printf("\tUSER must be a valid user and have a /home/USER directory, ie: morph\n"); printf("\nThis tool is made possible by an infinite amount of monkeys\n"); } @@ -45,6 +47,7 @@ mmodule *module; gchar *cmdline = NULL; gchar *lang = NULL; + gchar *user = NULL; gboolean overlay = FALSE; gboolean hidden = FALSE; gboolean homedir = FALSE; @@ -57,9 +60,10 @@ static struct option long_options[] = { {"overlay",0,0,0}, - {"hidden",0,0,1}, - {"homedir",0,0,2}, + {"homedir-hidden",1,0,1}, + {"homedir",1,0,2}, {"lang",1,0,3}, // requires LANG argument + {"homedir-all",1,0,4}, {0,0,0,0} }; @@ -76,23 +80,37 @@ d=c; break; - case 1: //homedir (hidden files only) - opts+=1; + case 1: //homedir-hidden (hidden files only) + opts+=2; hidden = TRUE; + homedir = FALSE; + user = g_strdup(optarg); d=c; break; case 2: //homedir - opts+=1; + opts+=2; homedir = TRUE; + hidden = FALSE; + user = g_strdup(optarg); d=c; break; + case 3: // lang opts+=2; langoption = TRUE; lang = g_strdup(optarg); d=c; break; + + case 4: //homedir-all + opts+=2; + homedir = TRUE; + hidden = TRUE; + user = g_strdup(optarg); + d=c; + break; + case '?': printf("Unknown command line option...\n"); usage(argv[0]); @@ -125,8 +143,8 @@ } printf("Info: building module\n"); - if (d < 3) { - success = makeHomedirMini(module,argv[1+opts],homedir,overlay,hidden); + if (d < 3 || d == 4) { + success = makeHomedirMini(module,argv[1+opts],homedir,overlay,hidden,user); } else if (langoption == TRUE) { success = makeLanguageMini(module,argv[1+opts],lang); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |