SF.net SVN: morphix: [2420] trunk/mmaker

[email protected] Sat, 23 Sep 2006 09:14:47 -0700
Newsgroups gmane.linux.morphix.cvs
Message-ID <[email protected]>
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 <[email protected]>  Sat, 23 Sep 2006 18:12:15 +0200
+
+morphix-mmaker (0.4-36) unstable; urgency=low
+
+  * bumping to avoid version conflicts...
+
+ -- root <[email protected]>  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.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV