Re: SPECS: grub2.spec - builds for me too when switching to gawk

2006-12-09 Thread Przemyslaw Iskra
On Sun, Dec 10, 2006 at 01:25:33AM +0200, Elan Ruusamäe wrote:
> On Wednesday 06 December 2006 21:44, Przemyslaw Iskra wrote:
> > If you are talking about extending %build overload I would propose at
> > least using those:
> >
> > export LC_ALL=C
> > export LANG=C
> > unset LINGUAS ||:
> > unset LANGUAGE ||:
> > unset LC_MESSAGES ||:
> isn't LC_ALL sufficient for LC_* ?

it is, unless the application is not using gettext
but the variables directly and may handle them in incorrect way

-- 
   Sparky{PI] -- Przemyslaw _  ___  _  _  ... LANG...Pl..Ca..Es..En
/) ___  ___  _ _ || Iskra  |  | _ \| |  | : WWWppcrcd.pld-linux.org
\\| -_)'___| ||^'||//\\// <   |  _/| |  | : JID..sparkyjabberes.org
(/||   (_-_|_||  ||\\ ||   |_ |_|  |_| _| : Mailsparkypld-linux.org
___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: SPECS: grub2.spec - builds for me too when switching to gawk

2006-12-09 Thread Elan Ruusamäe
On Wednesday 06 December 2006 21:44, Przemyslaw Iskra wrote:
> If you are talking about extending %build overload I would propose at
> least using those:
>
> export LC_ALL=C
> export LANG=C
> unset LINGUAS ||:
> unset LANGUAGE ||:
> unset LC_MESSAGES ||:
isn't LC_ALL sufficient for LC_* ?

$ LC_ALL=C LC_MESSAGES=pl_PL locale
LANG=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C

$ LC_ALL= LC_MESSAGES=pl_PL locale
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES=pl_PL
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=


-- 
glen
___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Initramfs in geninitrd

2006-12-09 Thread Cezary Krzyzanowski
Today I've smoked my first 'serious' sh script, making another script
(linuxrc). Now I feel what webdevelopers must feel like.

Ok these changes *should* make possible proper initramfs start with both
udev on and off (I'm using udev, but I've also tested without and it
seems to work)

The generated init script can make use of root paramter, both in
form /dev/something /my/dir/super/device or 0203 and init parameter.

I've also done some early setups for splashutils. I've got silent and
verbose splash working on my laptop and I'll write some splash adding to
geninitrd.

One thing that makes me trouble is udev. Now static linked udev doesn't
do totally anything in init/linuxrc. It doesn't make a single device!

As I've sniffed arround, we're renaming udev in our udev.spec to
initrd-udev, but FC ppl rename udevd and start a static udevd in init.
I've been able to make this happen, but that implies having a static
udevtrigger and udevsettle in initramfs, as a little tweaked start_udev
script there. That could be wrong. Any ideas then how to make udev
happen in early boot instaed of whole udev daemon??

[EMAIL PROTECTED]
Index: trunk/geninitrd
===
--- trunk/geninitrd	(wersja 8089)
+++ trunk/geninitrd	(kopia robocza)
@@ -41,6 +41,8 @@
 rootdev_nr=0
 # default bootsplash is off, if it have to be on, install bootsplash package
 BOOT_SPLASH=no
+# default same as bootsplash, if on install splashutils and some splashutils theme
+FB_SPLASH=no
 
 # is /dev on tmpfs. internal variable
 tmpfs_dev=
@@ -59,7 +61,8 @@
 	echo "   [--with=] [--image-version] [--fstab=] [--nocompress]"
 	echo "   [--initrdfs=rom|ext2|cram] [--modules-conf=]"
 	echo "   [--with-raidstart] [--without-raidstart] [--with-insmod-static]"
-	echo "   [--without-bootsplash] [--lvmtoolsversion=1|2] [--with-udev] [--without-udev]"
+	echo "   [--without-bootsplash] [--without-fbsplash]"
+	echo "   [--lvmtoolsversion=1|2] [--with-udev] [--without-udev]"
 	echo "   [--without-suspend] [--without-suspend2] [--without-dmraid]"
 	echo ""
 	echo "   (ex: `basename $0` /boot/initrd-2.2.5-15.img 2.2.5-15)"
@@ -781,6 +784,10 @@
 	. /etc/sysconfig/bootsplash
 fi
 
+if [ -r /etc/sysconfig/fbsplash ] ; then
+	. /etc/sysconfig/fbsplash
+fi
+
 if [ ! -x /bin/initrd-busybox ] ; then
 	echo "/bin/initrd-busybox is missing !"
 	exit 1
@@ -817,6 +824,9 @@
 	--without-bootsplash)
 		BOOT_SPLASH="no"
 		;;
+	--without-fbsplash)
+		FB_SPLASH="no"
+		;;
 	--without-suspend)
 		USE_SUSPEND="no";
 		;;
@@ -915,8 +925,7 @@
 if [ "x" = "x$INITRDFS" ] ; then
 	if [ "x" = "x$FS" ] ; then
 		# default value
-		# XXX: initramfs blocked for now
-		if [ "1" = " 0" -a "$pack_version" -ge "002005" ] ; then
+		if [ "$pack_version" -ge "002005" ] ; then
 			INITRDFS="initramfs"
 		else
 			INITRDFS="rom"
@@ -1047,6 +1056,9 @@
 	findmodule "-lzf"
 fi
 
+if is_yes "$FB_SPLASH"; then
+	findmodule "-evdev"
+fi
 if [ -n "$ifneeded" -a -z "$MODULES" ]; then
 	debug "No modules are needed -- not building initrd image."
 	exit 0
@@ -1464,8 +1476,34 @@
 if [ "$INITRDFS" = "initramfs" ]; then
 	mkdir -p $MNTIMAGE/newroot
 	cp -HR $org_rootdev $MNTIMAGE/dev
-	echo "mount -t $rootFs $org_rootdev /newroot" >> "$s"
-	echo "switch_root /newroot /sbin/init" >> "$s"
+	echo "mount -t proc none /proc" >> "$s"
+	# the worst part if we don't have udev
+	if [ "$USE_UDEV" != "yes" ]; then
+		# We either have root passed into kernel as /dev/something or as a maj-min number
+		# we parse acordingly
+		cat << 'EOF' >> "$s"
+root="$(busybox awk ' /root=/ { gsub(/.*root=/,NIL,$0); gsub(/ .*/,NIL,$0); print $0; } ' /proc/cmdline )"
+if [[ "$root" == +(/+([A-z0-9])) ]]; then
+	rootnr="$(busybox awk -v root="$root" ' { if ($4 == root) { print $1 $2; } } ' /proc/partitions)"
+else
+	rootnr="${root#??} ${root%??}"
+	root="$(busybox awk " \
+		BEGIN { maj=${root#??}; min=${root%??}; } \
+		{ if ( (\$1 == maj) && (\$2 == min) ) { print \$4; } } " \
+	/proc/partitions )"
+fi
+mknod $root b $rootnr
+EOF
+	fi
+	cat << EOF >> "$s"
+mount -t $rootFs \$root /newroot 
+init="\$(busybox awk ' /init=\// { gsub(/.*init=/,NIL,\$0); gsub(/ .*/,NIL,\$0); print \$0; }  ' /proc/cmdline )"
+if [ -z "\$init" -o ! -n "/newroot\$init" ]; then
+	init=/sbin/init
+fi
+umount /proc
+exec switch_root /newroot \$init
+EOF
 	# we need real file, not symlink
 	rm -f $MNTIMAGE/init
 	cp -a $MNTIMAGE/linuxrc $MNTIMAGE/init
___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en