[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

a lot of things



did a complete make build again and here are a lot of ideas / fixes:

(this is a _really_ long mail with a lot of ideas - but please read it and
 tell me what you think about it and/or implement the ideas :-)

* /etc/ttys (at least for i386) has the ttyC[1,2] set to on - but the default
  consolde for i386 (pccons) only allows ttyC0 - so you get an error short
  before the login -> ttyC[1,2] should also be set to off

* why not creating - say 4 or so - ttyC? devices in /dev by default (./MAKEDEV
  all) ? - so someone switching to pcvt doesn'nt have to do a ./MAKEDEV ttyC?
  - maybe we can create 12 ttyC's by default - thats the max for pcvt i think
  ?

* why isn't there a /proc directory created by default - we have /altroot
  /stand - why not /proc too - because i think nearly everyone uses the procfs
  - and if the dir would be there we have somekind of standard for it's
  location (FreeBSD for instance comes with /proc) - maybe we should enable
  /proc by default (good for gdb's attaching / detaching) ?

* how about renaming pcmcia_cntl to pcmcia_ctl - so we are a bit more
  consistent in naming control programs (then it would be eual to sysctl -
  this consistency would make the looking for a command more intuitive) ?

* a manpage for fbtab is missing

* is the installed fbtab ok (i don't know much about fbtab - but its a bit
  confusing for me to see /dev/ttyv0 - which seems to have been replaced by
  ttyC0 - or am i wrong - in one line standing with /dev/fd0) 

#       $OpenBSD: fbtab.head,v 1.1 1996/07/31 12:29:17 deraadt Exp $
# login(1) reads this file to determine which devices should be owned to
# the new user. Format is:
# login-tty     perm    device:[device]:...
/dev/ttyC0      0600    /dev/console
# samples
#/dev/ttyv0     0600    /dev/fd0

* has someone a idea how to automatically set the TERM correct on i386 - so
  that you can either use pcvt or pccons and don't have to edit ttys manually
  - i use a hack on FreeBSD in /etc/csh.login like

if ( -f /usr/sbin/ispcvt ) then
        if { /usr/sbin/ispcvt } then
                setenv TERM vt220
        endif
endif

  with the term entry in ttys set to cons25 (required for FreeBSD syscons) all
  the time - so i automatically get the correct TERM set - independent of the
  used console - i think this is no solution for OpenBSD - but has someone an
  idea how to do something similar ? - maybe we could also use fbtab for this
  (just'n idea) ? 

* has someone thought about using the repo patch for g++ (i don't know much
  about it - but i solves some g++ problems if i remember correctly) - the
  patch adapted to the BSD's you may find at

ftp://ftp.cst.com.au/pub/gcc-2.7.2-repo-bsd.gz 

* how about adding the following two options to either arch or machine:

-c for _C_onfigure
-r for configure with _R_elease

  so that all the autoconf packages only have to do a arch/machine -c/-r to
  get the canonical autoconfname - for example: 

graichen_(_at_)_prospero:~> arch -c
i386-unknown-openbsd
graichen_(_at_)_prospero:~> arch -r
i386-unknown-openbsd1.2

  this way it is easier to be more consistent with the naming of things like
  gcc, perl or gdb - and it's easier for autoconf to find the right config of
  the OpenBSD machines - so that we have more consistency than today - today
  we have:

  * gcc in /usr/lib/gcc-lib/i386-unknown-openbsd1.2
  * perl5 in /usr/lib/perl5/i386-openbsd
  * and gdb says

graichen_(_at_)_prospero:~> gdb
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.11 (i386-netbsd), Copyright 1993 Free Software Foundation, Inc.
(gdb)

  with arch -c we would have all this consistent - and easy to to:

  * configure `arch -c` would do the trick for gcc (in the bsd wrapper)
  * archname=`arch -c` instead of archname="`machine`-openbsd" in
    config.sh.OpenBSD for perl 
  * the same way it's easier and more consistent in gdb too
  * and this would also be good for other things (binutils etc.)

  i would like to avoid the version number i.e. ...openbsd instead of
  openbsd1.2 because we are creating a lot of cruft this way with each new
  OpenBSD version number - and the stuff will be compatible also without that
  version numbering (btw. have you done a 

ls /usr/lib/gcc-lib/i386-unknown-openbsd1.2

  (or whatever machine you have) lately ? - maybe there's some diskspace
  wasted with two times nearly the same compilers (2.7.2 and 2.7.2.1) if you
  haven't removed the old 2.7.2 manually after the new one was installed) -
  but maybe using the version numer would be good too - so what do you think
  about that - my main idea is that we should make it consistent for all
  places in OpenBSD - with or without the release number we should discuss

* one long term thing should be getting all the bootup and rc messages to 80
  columns so that they are easier to read - i'll make the fsck output 80
  columns wide in the next weeks (and i think all the other stuff like
  splitting the pci probing lines into two per device are'nt hard too)

* how about creating /emul by default (or even better - moving it to /usr/emul
  - or i would like to prefer /usr/compat - because it's more something like
  compatibelity than emulation - because the root fs should be keeped small
  and if you mount the stuff from somewhere else there no bonus of /xxx over
  /usr/xxx - but if you have it on the local disk you can save one symlink
  (from /usr/xxx to /xxx)

* if we are at the point of emul/compat - how about using that naming sheme
  for OpenBSD old version compatibelity - simply creating a
  /usr/[emul,compat]/openbsd/lib for instance (which is no problem to do this
  by default if the dir is in /usr) and putting all the old shared libs in
  there (which have bigger major numbers in newer versions) - so we only have
  to extend the ldconfig command in /etc/rc by one entry

/usr/comapat/openbsd/lib  

  how about that ? and because we are at ldconfig - how about doing it like in
  FreeBSD for the X11R6 entry (maybe all):

if [ -x /sbin/ldconfig ]; then
        _LDC=/usr/lib
        if [ -d /usr/X11R6/lib ]; then _LDC="${_LDC} /usr/X11R6/lib" ; fi
        if [ -d /usr/X386/lib ]; then _LDC="${_LDC} /usr/X386/lib" ; fi
        if [ -d /usr/local/lib ]; then _LDC="${_LDC} /usr/local/lib" ; fi
        if [ -d /usr/gnu/lib ]; then _LDC="${_LDC} /usr/gnu/lib" ; fi
        echo 'setting ldconfig path:' ${_LDC}
        ldconfig ${_LDC}
fi

  this saves a warning if /usr/X11R6 is not installed (i.e. no X)

* if we have that compat sheme - we could also put the libcrypt (which is
  simply empty in OpenBSD) in there - so that configure stuff which looks for
  it won't find it and won't use it but all the apps which have compiled the
  shared version in will find it's shared lib

* the /usr/compat thing is also extendable to /usr/compat/netbsd/lib - for a
  full set of NetBSD shared libs (at least all of them which are incompatible
  with the OpenBSD versions) - this set of NetBSD libs may be made available
  as a pkg_add package

so that was all for now - later i will send a set of patches which i needed to
get the "make build" (and my hardware) going - maybe someone can commit the
stuff for me - my link to cvs.openbsd.org is too slow and my time currently is
very short (... i'm sitting here too long for writing this mail ... :-)

please read all that carefully and tell me what you think about it - that are
all just ideas - but maybe they are good ones

t

-- 
  thomas graichen    graichen_(_at_)_mail_(_dot_)_physik_(_dot_)_fu-berlin_(_dot_)_de    graichen_(_at_)_FreeBSD_(_dot_)_org

  perfection is reached, not when there is no longer anything to add, but when
      there is no longer anything to take away    antoine de saint-exupery