[Lunar-commits] CVS: moonbase/zbeta/xfree86-beta BUILD, NONE, 1.1 CONFIGURE, NONE, 1.1 CONFLICTS, NONE, 1.1 DEPENDS, NONE, 1.1 DETAILS, NONE, 1.1 POST_INSTALL, NONE, 1.1 xsession, NONE, 1.1

Florin Braescu florin at lunar-linux.org
Wed Jan 14 19:12:52 GMT 2004


Update of /var/cvs/lunar/moonbase/zbeta/xfree86-beta
In directory dbguin.lunar-linux.org:/tmp/cvs-serv30512

Added Files:
	BUILD CONFIGURE CONFLICTS DEPENDS DETAILS POST_INSTALL 
	xsession 
Log Message:
move it from xfree86-dev module.

--- NEW FILE: BUILD ---
install_drm()  {

  DRM_DIR="programs/Xserver/hw/xfree86/os-support/linux/drm/kernel"
  DRM_DEST="/lib/modules/`uname -r`/kernel/drivers"
  mkdir   -p                $DRM_DEST
  cp          $DRM_DIR/*.o  $DRM_DEST  2>/dev/null
  depmod  -a
  true

}

if [ -e /etc/X11/xinit/xinitrc ]; then
   cp /etc/X11/xinit/xinitrc /etc/X11/xinit/xinitrc.orig
   echo "Your master xinitrc file has been backed up as /etc/X11/xinit/xinitrc.orig"
fi

if    [  -f  $CONFIG_CACHE/host.def  ]; then  
  #BECAUSE CONFIGURE dosent always catch this!
  if module_installed freetype2; then
    if ! grep -q "#define BuildFreetype2Library[:space:] NO" $CONFIG_CACHE/host.def
    then
      sedit "/ HasFreetype2/d"                $CONFIG_CACHE/host.def
      sedit "/ BuildFreetype2Library/d"       $CONFIG_CACHE/host.def
      sedit "/ Freetype2Dir/"                 $CONFIG_CACHE/host.def
      echo "#define HasFreetype2              YES"  >> $CONFIG_CACHE/host.def
      echo "#define BuildFreetype2Library     NO"   >> $CONFIG_CACHE/host.def
      echo "#define Freetype2Dir              /usr" >> $CONFIG_CACHE/host.def
    fi
  fi
  cp     $CONFIG_CACHE/host.def  config/cf/host.def
fi

message  "Building XFree86 takes a very long time."


( 

  echo  "#define  InstallXdmConfig    NO"   >>  config/cf/site.def
  echo  "#define  InstallXinitConfig  YES"  >>  config/cf/site.def

  export CFLAGS=`echo $CFLAGS | sed s/-funroll-loops//`
  export CFLAGS=`echo $CFLAGS | sed s/-ffast-math//`
  export CXXFLAGS=`echo $CXXFLAGS | sed s/-funroll-loops//`
  export CXXFLAGS=`echo $CXXFLAGS | sed s/-ffast-math//`
  export CPPFLAGS=`echo $CPPFLAGS | sed s/-funroll-loops//`
  export CPPFLAGS=`echo $CPPFLAGS | sed s/-ffast-math//`

  patch_it $SOURCE_CACHE/$SOURCE2 1 &&

  if  module_installed  Linux-PAM
  then  echo  "#define  HasPam  YES"  >>  config/cf/site.def
  fi                                    &&

  make World                            &&
  prepare_install                       &&
  cd $SOURCE_DIRECTORY                  &&
  make  install                         &&
  make  install.man                     &&
        install_drm                     &&
  mkdir  -p  /usr/X11R6/include/GL      &&
  rm     -f  /usr/X11R6/lib/libz.a      &&
  rm     -f /usr/X11R6/include/zlib.h   &&
  rm     -f /usr/X11R6/include/zconf.h  &&
  rm     -f /usr/X11R6/lib/libz.a       &&

  if  [  !  -e                      /etc/skel/.xsession  ];  then
    cp  $SCRIPT_DIRECTORY/xsession  /etc/skel/.xsession
  fi  &&

  if  [  !  -e                    /usr/bin/X11  ];  then
    ln      -sf   /usr/X11R6/bin  /usr/bin/X11
  fi  &&

  if  [  !  -e          /usr/X11  ];  then
    ln      -sf  X11R6  /usr/X11
  fi  &&

  if  [  !  -e                         /usr/include/X11  ];  then
    ln      -sf  ../X11R6/include/X11  /usr/include/X11
  fi  &&

  if  [  !  -e                     /usr/lib/X11  ];  then
    ln      -sf  ../X11R6/lib/X11  /usr/lib/X11
  fi  &&

  if  [  !  -e                     /usr/lib/libMesaGLU.so ];  then
    ln      -sf  /usr/X11R6/lib/libGLU.so.1.3 /usr/lib/libMesaGLU.so
  fi  &&

  if  [  !  -e                /usr/X11R6/lib/libMesaGL.so ];  then
    ln      -sf  /usr/X11R6/lib/libGL.so.1.2 /usr/X11R6/lib/libMesaGL.so
  fi


) > $C_FIFO 2>&1

--- NEW FILE: CONFIGURE ---
optimize $GCCVER 
  CFLAGS=`echo $CFLAGS | sed s/-funroll-loops//`
  CFLAGS=`echo $CFLAGS | sed s/-ffast-math//`
echo $CFLAGS

build_checklist()  {

  STATUS=$1
  LABEL=$2
  shift  2

  for  ITEM  in  $@;  do
    echo  $ITEM  $LABEL  $STATUS
  done

}


select_card_drivers()  {

  TITLE="Graphics Card Driver Selection Menu"
  HELP="Key:  [X] = on, [ ] = off"

  CHECKLIST="`build_checklist ON   Graphics   $ON_CARD_DRIVERS`
             `build_checklist OFF  Graphics  $OFF_CARD_DRIVERS`"

  if  XF86CardDrivers=`dialog  --backtitle  "$BACKTITLE"  \
                               --title      "$TITLE"      \
                               --stdout                   \
                               --separate-output          \
                               --checklist  "$HELP"       \
                               18 55 10                   \
                               $CHECKLIST`
  then
     ON_CARD_DRIVERS=$XF86CardDrivers
    OFF_CARD_DRIVERS=$CARD_DRIVERS

    for  ITEM  in  $ON_CARD_DRIVERS;  do
      OFF_CARD_DRIVERS=`echo  $OFF_CARD_DRIVERS  |  sed  s/$ITEM//`
    done
  fi

}


select_dridrivers()  {

  TITLE="DRI Driver Selection Menu"
  HELP="Not all XFree86 supported graphics cards have DRI.
Key:  [X] = on, [ ] = off"

    CHECKLIST="`build_checklist  ON   DRI   $ON_DRI`
               `build_checklist  OFF  DRI  $OFF_DRI`"

  if  DriDrivers=`dialog  --backtitle  "$BACKTITLE"  \
                          --title      "$TITLE"      \
                          --stdout                   \
                          --separate-output          \
                          --checklist  "$HELP"       \
                          18 55 10                   \
                          $CHECKLIST`
  then
     ON_DRI=$DriDrivers
    OFF_DRI=$DRI

    for  ITEM  in  $ON_DRI;  do
      OFF_DRI=`echo  $OFF_DRI  |  sed  s/$ITEM//`
    done
  fi

}


select_input_drivers()  {

  TITLE="Input Driver Selection Menu"
  HELP="Key:  [X] = on, [ ] = off"

  CHECKLIST="`build_checklist  ON   Input   $ON_INPUT_DRIVERS`
             `build_checklist  OFF  Input  $OFF_INPUT_DRIVERS`"

  if  XInputDrivers=`dialog  --backtitle  "$BACKTITLE"  \
                             --title      "$TITLE"      \
                             --stdout                   \
                             --separate-output          \
                             --checklist  "$HELP"       \
                             18 55 10                   \
                             $CHECKLIST`
  then
     ON_INPUT_DRIVERS=$XInputDrivers
    OFF_INPUT_DRIVERS=$INPUT_DRIVERS

    for  ITEM  in  $ON_INPUT_DRIVERS;  do
      OFF_INPUT_DRIVERS=`echo  $OFF_INPUT_DRIVERS  |  sed  s/$ITEM//`
    done
  fi

}


initialize()  {

  BACKTITLE="lunar XFree86 host.def Configuration Menu"

   ON_CARD_DRIVERS="vga vesa v4l"
  OFF_CARD_DRIVERS="mga glint nv tga s3virge sis s3 rendition neomagic i740
                    tdfx savage cirrus vmware tseng trident chips apm
                    GlideDriver fbdev i128 ati ark cyrix 
                    siliconmotion i810 imstt nsc tga"
      CARD_DRIVERS="$ON_CARD_DRIVERS  $OFF_CARD_DRIVERS"


   ON_DRI=""
  OFF_DRI="gamma TdfxDriDriver mga r128 i810 radeon sis"
      DRI="$ON_DRI  $OFF_DRI"


   ON_INPUT_DRIVERS="mouse keyboard"
  OFF_INPUT_DRIVERS="dynapro elographics magellan microtouch mutouch 
                     spaceorb wacom void citron digitaledge dmc elographics
                     fpit hyperpen js_x kbd palmax penmount summa 
                     tek4957 ur98"
      INPUT_DRIVERS="$ON_INPUT_DRIVERS  $OFF_INPUT_DRIVERS"


  YES_FONT_OPTIONS="MakeLocalFontDir Build75DpiFonts Build100DpiFonts BuildFontServer"
   NO_FONT_OPTIONS="BuildCIDFonts      BuildCyrillicFonts
                    BuildLatin2Fonts   UseKoi8RForCyrillic
		    BuildArabicFonts   BuildISO8859_6Fonts
		    BuildGreekFonts    BuildISO8859_7Fonts
		    BuildHebrewFonts   BuildISO8859_8Fonts
		    BuildKOI8_RFonts   BuildJapaneseFonts
		    BuildJISX0201Fonts BuildKoreanFonts
		    BuildChineseFonts  InstallFSConfig   
                    SharedLibFont      CompressAllFonts  
                    GzipFontCompression"
      FONT_OPTIONS="$YES_FONT_OPTIONS  $NO_FONT_OPTIONS"

  YES_MISC_OPTIONS="HasShm BuildGLULibrary BuildGLXLibrary BuildGlxExt BuildDBE BuildRECORD InstallXinitConfig InstallXdmConfig ThreadedX"
   NO_MISC_OPTIONS="BuildServersOnly   BuildPexExt  XnestServer  XprtServer 
		    LinuxFBDevSupport  XVirtualFramebufferServer
                    BuildXF86DRI BuildXF86DRM"
      MISC_OPTIONS="$YES_MISC_OPTIONS  $NO_MISC_OPTIONS"

}


generate_host_def()  {


  echo  "#define DefaultCCOptions      $CFLAGS $LDFLAGS"
  echo  "#define DefaultGcc2i386Opt    $CFLAGS $LDFLAGS"
  echo  "#define LibraryCDebugFlags    $CFLAGS $LDFLAGS"
  echo  "#define DefaultCDebugFlags    $CFLAGS $LDFLAGS"
  echo  "#define OptimizedCDebugFlags  $CFLAGS $LDFLAGS"
  echo  "#define HasFreetype2                 YES"

  if [[ $COPT != "" ]]; then
    echo "#define GccWarningOptions $COPT"
  fi

  if [[ -f /proc/mtrr ]]; then
    echo "#define HasMTRRSupport         YES"
  fi

  case $CPU in
  Pentium*)echo "#define HasMMXSupport   YES"
           echo "#define HasSSESupport   YES"
	   echo "#define MesaUseKatmai   YES"
#           if [[ CPU == "Pentium4" ]]; 
#             echo "#define HasSSE2Support YES"
#           fi
           ;;
   Athlon*)echo "#define HasMMXSupport   YES"
           echo "#define Has3DNowSupport YES"
	   echo "#define MesaUse3DNow    YES"
           ;;
  esac 

  if  [  -z  "$XF86CardDrivers"  ];  then
    XF86CardDrivers="$ON_CARD_DRIVERS"
  fi

  XF86CardDrivers=`echo  $XF86CardDrivers  |  tr  '
' ' '`
  echo  "#define XF86CardDrivers $XF86CardDrivers"


  if  [  -z  "$DriDrivers"  ];  then
    echo  "#define DriDrivers /**/"
  else
    DriDrivers=`echo  $DriDrivers  |  tr  '
' ' '`
    echo  "#define DriDrivers $DriDrivers"
  fi

  if  [  -z  "$XInputDrivers"  ];  then
    echo  "#define XInputDrivers mouse"
  else
    XInputDrivers=`echo  $XInputDrivers  |  tr  '
' ' '`
    echo  "#define XInputDrivers $XInputDrivers"
  fi

  for  ITEM  in   $YES_FONT_OPTIONS;  do
    echo  "#define $ITEM  YES"
  done

  for  ITEM  in  $NO_FONT_OPTIONS;  do
    echo  "#define $ITEM  NO"
  done

  if module_installed freetype2; then
    echo "#define HasFreetype2              YES"
    echo "#define BuildFreetype2Library     NO"
    echo "#define Freetype2Dir              /usr"
  fi

  for  ITEM  in   $YES_MISC_OPTIONS;  do
    echo  "#define $ITEM  YES"
  done

  for  ITEM  in  $NO_MISC_OPTIONS;  do
    echo  "#define $ITEM  NO"
  done

}


save_host_def()  {


  TARGET1="$CONFIG_CACHE/host.def"

  dialog  --backtitle  "$BACKTITLE"                        \
          --msgbox     "Saving Configuration to $TARGET1"  \
          6 40

  generate_host_def  >  "$TARGET1"

}


select_font_options() {

  TITLE="Select Font Options"
  CHECKLIST="`build_checklist  ON   Option  $YES_FONT_OPTIONS`
             `build_checklist  OFF  Option   $NO_FONT_OPTIONS`"
  HELP="Key:  [X] = on, [ ] = off"

  if  ON_FONT_OPTIONS=`dialog  --backtitle  "$BACKTITLE"  \
                               --title      "$TITLE"      \
                               --stdout                   \
                               --separate-output          \
                               --checklist  "$HELP"       \
                               18 55 10                   \
                              $CHECKLIST`
  then
    YES_FONT_OPTIONS=$ON_FONT_OPTIONS
     NO_FONT_OPTIONS=$FONT_OPTIONS

    for  ITEM  in  $YES_FONT_OPTIONS;  do
      NO_FONT_OPTIONS=`echo  $NO_FONT_OPTIONS  |  sed  s/$ITEM//`
    done
  fi

}  


select_misc_options() {

  TITLE="Select Misc Options"
  CHECKLIST="`build_checklist  ON   Option  $YES_MISC_OPTIONS`
             `build_checklist  OFF  Option   $NO_MISC_OPTIONS`"
  HELP="Key:  [X] = on, [ ] = off"

  if  ON_MISC_OPTIONS=`dialog  --backtitle  "$BACKTITLE"  \
                               --title      "$TITLE"      \
                               --stdout                   \
                               --separate-output          \
                               --checklist  "$HELP"       \
                               18 55 10                   \
                               $CHECKLIST`
  then
    YES_MISC_OPTIONS=$ON_MISC_OPTIONS
     NO_MISC_OPTIONS=$MISC_OPTIONS

    for  ITEM  in  $YES_MISC_OPTIONS;  do
      NO_MISC_OPTIONS=`echo  $NO_MISC_OPTIONS  |  sed  s/$ITEM//`
    done
  fi

}


configure_host_def()  {

  initialize

  while  

    COMMAND=`dialog  --backtitle  "$BACKTITLE"                        \
                     --stdout                                         \
                     --title  "Main Menu"                             \
                     --default-item  $COMMAND                         \
                     --nocancel                                       \
                     --menu                                           \
                     ""                                               \
                     18 55 10                                         \
                     "XF86CardDrivers"  "Select Video Card Drivers"   \
                     "DriDrivers"       "Select Direct DRI Drivers"   \
                     "XInputDrivers"    "Select Input Drivers"        \
                     "Fonts"            "Select Font Options"         \
                     "Misc"             "Set other Options"           \
                     "Save"             "Save current configuration"  \
                     "Edit"             "Edit host.def"               \
                     "Exit"             "Done here.  Start building"`
  do

    case  $COMMAND  in
                 Exit)  break                        ;;
                 Save)  save_host_def                ;;
                 Edit)  [  -n   "$EDITOR"  ]         &&
                        $EDITOR  /etc/lunar/local/host.def  ||
                        nano     /etc/lunar/local/host.def  ;;
      XF86CardDrivers)  select_card_drivers          ;;
           DriDrivers)  select_dridrivers            ;;
        XInputDrivers)  select_input_drivers         ;;
                Fonts)  select_font_options          ;;
                 Misc)  select_misc_options          ;;
    esac
  done

}

message  "${MESSAGE_COLOR}**WARNING** If you are running this inside a" \
         "existing X server installation I would suggest that you close" \
         "X and run this from the Linux Console"
message  "If you have any problems with installation please remove" \
         "your existing xfree86 module and remove /usr/X11R6"
message  "${MESSAGE_COLOR}The DRI/DRM in xfree86 4.3.0 is not"  \
         "compatibile with the DRI/DRM in linux-2.4.20."
message  "If you use DRI/DRM please enable DRM in the"     \
         "xfree86 configuration"
message  "and disable it in the linux configuration.${DEFAULT_COLOR}"


if    [  -f  $CONFIG_CACHE/host.def  ]
then  message  "Reconfiguration is optional."
fi

if    query  "Configure host.def?"  n
then  configure_host_def
fi

--- NEW FILE: CONFLICTS ---
conflicts  xfree86

--- NEW FILE: DEPENDS ---
depends  perl    &&
depends  zlib    &&
depends  libpng  &&
depends  freetype2

#optional_depends "Linux-PAM" "" "" "for Linux-PAM Support"

--- NEW FILE: DETAILS ---
         MODULE=xfree86-beta
         VERSION=4.3.99.902
         SOURCE=XFree86-$VERSION.tar.bz2
         SOURCE2=XFree86-beta-drm.patch.bz2
         FUZZY="off"
   SOURCE_DIRECTORY=$BUILD_DIRECTORY/xc
   SOURCE_URL[0]=ftp://ftp.xfree86.org/pub/XFree86/develsnaps/$SOURCE
  SOURCE2_URL[0]=$PATCH_URL/$SOURCE2
    SOURCE_VFY=md5:eec2d5e4b980ec73a7772b9362ed9021
        WEB_SITE=http://www.xfree86.org
         ENTERED=20031203
         UPDATED=20031221
        SHORT="xfree86 is a free implementation of the X Window System."

cat << EOF
  The XFree86 Project, Inc is an organisation which produces XFree86, a
  freely redistributable open-source implementation of the X Window System
  that runs on UNIX(R) and UNIX-like (like Linux, the BSDs, Mac OS X (aka
  Darwin) and Solaris x86 series) operating systems and OS/2.
  XFree86 is the underlying software that is between the hardware and
  graphical user interface (aka gui) that people see and use. If you are
  using KDE, GNOME, Enlightenment, Blackbox, AfterStep, twm or fvwm then
  you are already using and running XFree86 as these run as our clients.
  Traditionally, The XFree86 Project has focused on Intel x86-based
  platforms, which is where the 86 in our name comes from, but our
  current release supports other platforms like the Alpha, PowerPC, Sparc
  and in-the-works MIPS CPU families.
  Our goal at XFree86 is to have X run on every platform available,
  including those we do not currently support, as the best windowing
  system available on that platform.

  This is a developement snapshot for testing purposes. It can be compiled 
  under linux-test kernels, with kernel-headers for that kernels too.
EOF

--- NEW FILE: POST_INSTALL ---
rm  -f  $BOOST_LOCK
if    module_installed  NVIDIA;     then lin    NVIDIA;     fi
if    module_installed  NVIDIA26;   then lin    NVIDIA26;   fi
if    module_installed  pango;      then lin -c pango;      fi 
if    module_installed  fontconfig; then lin -c fontconfig; fi

if ! grep -q '. /etc/profile' /etc/X11/xdm/Xsession; then
  sedit 2s:#:.\ /etc/profile: /etc/X11/xdm/Xsession
fi

# run xfs only on unix socket:
if [ -f /etc/X11/fs/config ] ; then
  if ! grep -q "no-listen = tcp" /etc/X11/fs/config ; then
    cat >> /etc/X11/fs/config <<EOF

# more secure: do not listen on tcp ports
no-listen = tcp

EOF
  fi
fi

if ! [  -d  /usr/lib/pkgconfig  ]
  then  mkdir -p /usr/lib/pkgconfig
fi 

ln -sf /usr/X11R6/lib/pkgconfig/xft.pc /usr/lib/pkgconfig        &&
ln -sf /usr/X11R6/lib/pkgconfig/fontconfig.pc /usr/lib/pkgconfig &&

# running fc-cache please be patient
/usr/X11R6/bin/fc-cache -f 

--- NEW FILE: xsession ---
#!/bin/sh

if    [  -e /usr/bin/xscreensaver  ];  then  
                     xscreensaver -no-splash &
fi

if    [  -x /usr/bin/enlightenment  ]
then  exec           enlightenment

elif  [  -x /opt/lunar/kde/3/bin/startkde  ]
then  exec  /opt/lunar/kde/3/bin/startkde

elif  [  -x /opt/lunar/kde/2/bin/startkde  ]
then  exec  /opt/lunar/kde/2/bin/startkde

elif  [  -x /usr/bin/wmaker  ]
then  [  -d ~/GNUstep        ]  ||
                     wmaker.inst
      exec           wmaker

elif  [  -x /usr/bin/icewm  ]
then  exec           icewm

elif  [  -x /usr/bin/blackbox  ]
then  exec           blackbox

elif  [  -x /usr/bin/fvwm2  ]
then  exec           fvwm2

fi



More information about the Lunar-commits mailing list