summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--loader2/Makefile15
-rw-r--r--loader2/cdinstall.c13
-rw-r--r--loader2/dietstubs.c3
-rw-r--r--loader2/lang.c40
-rw-r--r--loader2/loader.c12
-rwxr-xr-xscripts/mk-images10
-rwxr-xr-xscripts/upd-instroot13
7 files changed, 58 insertions, 48 deletions
diff --git a/loader2/Makefile b/loader2/Makefile
index 3559e2559..bfdf17e50 100644
--- a/loader2/Makefile
+++ b/loader2/Makefile
@@ -40,11 +40,10 @@ SOURCES = $(subst .o,.c,$(OBJS)) loader.c
HWLIBS = -lkudzu_loader -lpci
DEBUG = -ggdb
-COPTS = $(DEBUG) -Wall -DVERSION='"$(VERSION)"'
+COPTS = $(DEBUG) -Os -Wall -DVERSION='"$(VERSION)"'
CFLAGS = $(COPTS) -ffunction-sections -D_GNU_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DHAVE_LIBIO_H -DPRODUCTNAME='$(PRODUCTNAME)'
STATIC = -static
-
ifeq (1, $(USEDIET))
CFLAGS += -DGZLIB=1
DIET=diet
@@ -69,7 +68,14 @@ LANGS = $(shell awk '{ print $$2 }' ../lang-table | egrep -v '(^en$$)')
TR = $(patsubst %,tr/%.tr,$(LANGS))
TRFILES = $(patsubst %,%.tr,$(LANGS))
-all: $(BINS) loader.tr
+all: $(BINS) loader.tr font.bgf.gz
+
+font.bgf.gz: /usr/lib/bogl/font.bdf.gz /usr/bin/reduce-font
+ zcat /usr/lib/bogl/font.bdf.gz > font.bdf
+ (for I in ../po/*.po; do msgconv -t utf-8 $$I; done) | reduce-font > font-reduced.bdf
+ bdftobogl -b font.bdf > font.bgf
+ rm -f font.bdf font-reduced.bdf
+ gzip -9 -f font.bgf
loader.tr: $(TR) ../lang-table
(cd tr; ls $(TRFILES) | cpio --quiet -Hcrc -o |gzip -9) > $@
@@ -110,7 +116,7 @@ loader: loader.o $(OBJS) $(NETOBJS)
clean:
rm -f *.o *~ .depend init ctype.c mkctype \
- loader loader-pcmcia loader-local loader-network
+ loader
depend: ctype.c
$(CPP) $(CFLAGS) -DHAVE_CONFIG_H -M $(SOURCES) > .depend
@@ -123,6 +129,7 @@ install: all
done
install -m 644 loader.tr $(DESTDIR)/$(RUNTIMEDIR)/loader
install -m 644 module-info $(DESTDIR)/$(RUNTIMEDIR)/loader
+ install -m 644 font.bgf.gz $(DESTDIR)/$(RUNTIMEDIR)/loader
ifeq (.depend,$(wildcard .depend))
include .depend
diff --git a/loader2/cdinstall.c b/loader2/cdinstall.c
index d46cde15c..297d7e437 100644
--- a/loader2/cdinstall.c
+++ b/loader2/cdinstall.c
@@ -292,6 +292,17 @@ char * setupCdrom(char * location,
int foundinvalid = 0;
char * buf;
+#if 0
+ if (FL_TESTING(flags) && interactive) {
+ for (i = 0; i < kd->numKnown; i++) {
+ if (kd->known[i].class != CLASS_CDROM) continue;
+ buf = malloc(200);
+ sprintf(buf, "cdrom://%s/mnt/source", kd->known[i].name);
+ return buf;
+ }
+ }
+#endif
+
/* JKFIXME: ASSERT -- we have a cdrom device when we get here */
do {
for (i = 0; i < kd->numKnown; i++) {
@@ -369,7 +380,7 @@ char * mountCdromImage(struct installMethod * method,
moduleInfoSet modInfo, moduleList modLoaded,
moduleDeps * modDepsPtr, int flags) {
- setupCdrom(location, kd, loaderData, modInfo, modLoaded, *modDepsPtr, flags, 1);
+ return setupCdrom(location, kd, loaderData, modInfo, modLoaded, *modDepsPtr, flags, 1);
}
void setKickstartCD(struct loaderData_s * loaderData, int argc,
diff --git a/loader2/dietstubs.c b/loader2/dietstubs.c
index 755ad3ed1..ae0a3bf73 100644
--- a/loader2/dietstubs.c
+++ b/loader2/dietstubs.c
@@ -5,6 +5,9 @@
#include <setjmp.h>
#include <ctype.h>
#include <stdarg.h>
+#ifdef GZLIB
+#include "../isys/gzlib/gzlib.h"
+#endif
#define WLITE_REDEF_STDC 0
#include <wlite_wchar.h>
diff --git a/loader2/lang.c b/loader2/lang.c
index 44b7df48c..4b5d9879e 100644
--- a/loader2/lang.c
+++ b/loader2/lang.c
@@ -133,7 +133,7 @@ void loadLanguage (char * file, int flags) {
int fd, hash, rc;
char * key = getenv("LANGKEY");
- if (!key || !strcmp(key, "en_US.UTF-8")) {
+ if (!key || !strcmp(key, "en")) {
if (strings) {
free(strings), strings = NULL;
numStrings = allocedStrings = 0;
@@ -218,13 +218,18 @@ void setLanguage (char * key, int flags) {
/* returns 0 on success, 1 on failure */
extern int bterm_main(int argc, char **argv);
+
int startBterm(int flags) {
- char *args[4] = { "bterm", "-s", "-f", "/usr/lib/bogl/font.bgf.gz" };
+ char *args[4] = { "bterm", "-s", "-f", NULL };
int rc;
+
+ if (FL_TESTING(flags))
+ args[3] = "font.bgf.gz";
+ else
+ args[3] = "/etc/font.bgf.gz";
stopNewt();
rc = bterm_main(4, args);
- logMessage("returning, rc is %d", rc);
startNewt(flags);
return rc;
}
@@ -278,27 +283,7 @@ int chooseLanguage(char ** lang, int flags) {
/* this can't happen */
if (i == numLanguages) abort();
- if (!strncmp(languages[choice].key, "en", 2)) {
- char *buf;
- /* stick with the default (English) */
- unsetenv("LANG");
- unsetenv("LANGKEY");
- unsetenv("LC_ALL");
- unsetenv("LINGUAS");
- if (strings) {
- free(strings), strings = NULL;
- numStrings = allocedStrings = 0;
- }
- buf = sdupprintf(_(topLineWelcome), PRODUCTNAME);
- newtDrawRootText(0, 0, buf);
- free(buf);
- newtPushHelpLine(_(bottomHelpLine));
-
- return 0;
- }
-
/* load the language only if it is displayable */
- /* disable until working */
if (!strcmp(languages[choice].font, "bterm") && startBterm(flags)) {
newtWinMessage("Language Unavailable", "OK",
"%s display is unavailable in text mode. The "
@@ -308,9 +293,14 @@ int chooseLanguage(char ** lang, int flags) {
return 0;
} else {
setLanguage (languages[choice].key, flags);
- loadLanguage (NULL, flags);
}
-
+
+ /* clear out top line */
+ buf = alloca(80);
+ for (i=0; i < 80; i++)
+ buf[i] = ' ';
+ newtDrawRootText(0, 0, buf);
+
buf = sdupprintf(_(topLineWelcome), PRODUCTNAME);
newtDrawRootText(0, 0, buf);
free(buf);
diff --git a/loader2/loader.c b/loader2/loader.c
index 68b4c52b6..724e6913a 100644
--- a/loader2/loader.c
+++ b/loader2/loader.c
@@ -1130,6 +1130,16 @@ int main(int argc, char ** argv) {
execv(anacondaArgs[0], anacondaArgs);
perror("exec");
}
-
+#if 0
+ else {
+ char **args = anacondaArgs;
+ printf("would have run ");
+ while (*args)
+ printf("%s ", *args++);
+ printf("\n");
+ printf("LANGKEY=%s\n", getenv("LANGKEY"));
+ printf("LANG=%s\n", getenv("LANG"));
+ }
+#endif
return 1;
}
diff --git a/scripts/mk-images b/scripts/mk-images
index 53c83976e..8166fbf84 100755
--- a/scripts/mk-images
+++ b/scripts/mk-images
@@ -427,13 +427,9 @@ EOF
rm -f $MBD_DIR/.buildstamp
echo $IMAGEUUID > $MBD_DIR/.buildstamp
- if [ -f $LOADERBINDIR/kon.cfg ]; then
- mkdir -p $MBD_DIR/etc/terminfo/k
- install -m 644 $IMGPATH/usr/share/terminfo/k/kon $MBD_DIR/etc/terminfo/k/kon
- install -m 644 $LOADERBINDIR/kon.cfg $MBD_DIR/etc
- install -m 644 $LOADERBINDIR/minikon.fnt $MBD_DIR/etc
- ln -s loader $MBD_DIR/sbin/continue
- fi
+ mkdir -p $MBD_DIR/etc/terminfo/b
+ install -m 644 $IMGPATH/usr/share/terminfo/b/bterm $MBD_DIR/etc/terminfo/b/bterm
+ install -m 644 $LOADERBINDIR/font.bgf.gz $MBD_DIR/etc
if [ -n "$PCMCIA" ]; then
mkdir -p $MBD_BOOTTREE/etc
diff --git a/scripts/upd-instroot b/scripts/upd-instroot
index 46f12d87c..4e97a5cef 100755
--- a/scripts/upd-instroot
+++ b/scripts/upd-instroot
@@ -98,13 +98,13 @@ mkdir -p $DEST
mkdir -p $DESTGR
PACKAGES="glibc glibc-common setup openssl python python2 newt slang
- libtermcap zlib ash kon2 e2fsprogs util-linux raidtools popt
+ libtermcap zlib ash e2fsprogs util-linux raidtools popt
mount procps rpm XFree86 Xconfigurator anaconda
anaconda-runtime kudzu-devel kudzu hwdata db3 bzip2
bzip2-libs dosfstools pciutils reiserfs-utils parted
busybox-anaconda rpm-python anaconda-help booty hdparm lvm
rhpl pyxf86config libxml2 libxml2-python rdate glib2
- elfutils-libelf"
+ elfutils-libelf bogl-bterm"
if [ $ARCH = i386 -o $ARCH = x86_64 ]; then
PACKAGES="$PACKAGES kernel-pcmcia-cs kernel-utils"
@@ -329,7 +329,6 @@ usr/share/anaconda/locale-list
usr/share/anaconda/anaconda.conf
usr/share/terminfo/l/linux
usr/share/terminfo/v/vt100
-usr/share/doc/kon2*/terminfo.kon
usr/share/hwdata/pcitable
usr/share/hwdata/pci.ids
usr/share/hwdata/Cards
@@ -633,7 +632,7 @@ usr/share/pixmaps/yes.xpm
usr/share/redhat-config-keyboard/*
usr/share/terminfo/l/linux
usr/share/terminfo/x/xterm
-usr/share/terminfo/k/kon
+usr/share/terminfo/b/bterm
usr/share/terminfo/v/vt100
usr/share/themes/Bluecurve/gtk-2.0/*
usr/share/vte/termcap/xterm
@@ -684,12 +683,6 @@ expandPackageSet "$RPMS" $DEST $KEEPFILE
expandPackageSet "$RPMSGR" $DESTGR $KEEPFILEGR
echo -e "\rExpanding packages..."
-if [ -f $DEST/usr/share/doc/kon2*/terminfo.kon ]; then
- tic $DEST/usr/share/doc/kon2*/terminfo.kon -o $DEST/usr/share/terminfo
- tic $DEST/usr/share/doc/kon2*/terminfo.kon -o $DESTGR/usr/share/terminfo
- rm $DEST/usr/share/doc/kon2*/terminfo.kon
-fi
-
echo "retrieving timezones"
TZDIR=/tmp/glibc-timezone-$$
mkdir -p $TZDIR/usr/share/zoneinfo