Hi,

as agreed on the phone meeting I'll start merging the changes from ef_sandbox
to trunk. Expect a huge pile of merges, I'll keep the original commit
messages, such that changes can be tracked well.

Here is a short documentation of the changes. Most of them were already
discussed or at least mentioned in the calls, you've been warned ;-)

- prereqs reorganisation:
  - prereqs need to have generic-setup format
  - I tried to eliminate the need for Makefile.am in prereqs
  - prereq.cfg is simple config file describing which prereq packages should
  be installed and which not

- packman extension:
  - RPM.pm is now "smart", it uses yume
  - added repository handling functionality
  - new methods: smart_install, smart_remove, smart_update, gencache, repo,
  chroot, output_callback

- OS_Detect extension:
  - extended scope to image directories
  - added: compat_distro, compat_distrover. These are the OSCAR known names
  for a distribution which are also used in generic-setup. Rationale:
      - OSCAR doesn't care whether we deal with RHEL or CentOS
      - The image is built from the REAL distro files, so the real distro name
      (redhat-el-ws-4, etc...) must be known.
      - The OSCAR specific distro name should be short (in order to not mess
      up the distro/ dir too much), should not contain dashes, should be just
      enough to select the distro/* directory.
      - The real distro name should fully describe the distribution such that
      no mistakes are made when selecting distro-specific packages.
  - TODO: extend scope of OS_Detect to package repositories

- package repository reorganisation:
  - /tftpboot/distro/$realDistro-$realDistroDersion-$arch
  - no subdirectories helps keeping an eye on how much disk space we use and
  what distros are available
  - /tftpboot/oscar/$compatDistro-$compatDistroVersion-$arch
  - advantage: distro repository not messed up with OSCAR packages, start_over
  just needs to delete the oscar repository, metadata generation easy, in
  theory remote distro repositories possible (functionality untested).

- scripts/install_prereq NEW

- wizard_prep overhaul:
  - simplified structure:
    - dumb install for bootstrapping smart installer (called directly by
    wizard_prep). Done with rpm!
    - smart install based on share/prereqs/prereqs.order (in fact the order is
    not relevant any more, because the install is done by the smart installer,
    i.e. the dependencies will be resolved automatically).
  - generic-setup is used for all packages now! It must not be called in the
  package specific setup script any more!
  - no need for depman, dependencies are resolved automatically
  - Switch on verbose/debugging output with "export OSCAR_WIZARD_VERBOSE=y"

- oscar_wizard
  - various changes to adapt for new structure/OS_Detect, etc...

- systeminstaller 2.0-*
  - Added PackManSmart.pm module which uses the smart package manager
  capabilities in packman
  - Repository pools can be passed comma separated. URLs might work, but this
  is untested. OSCAR passes the distro and oscar package pools corresponding
  to the master's distro.
  - mksiimage doesn't need to detect the distribution, it just needs to find
  out whether packman is there and smart enough to do the install
  - big hack for getting the progress bar working (yum doesn't show progress
  when it doesn't have access to a tty)
  - TODO: kill buildimage, strip away stages and distro specific stuff
  - TODO: add distro/arch selection for target image
  - TODO: direct communication with OSCAR database

- lib/OSCAR/Package.pm stripped down
  - removed a lot of obsolete functionality (like reading in config.xml files
  before ODA is setup)
  - moved database relevant functionality to Database.pm
  - removed hardwired package repository paths
  - created PackageSmart.pm and PackagePath.pm

- lib/OSCAR/PackageSmart.pm NEW
  - handles repository metadata generation, avoids unnecessary regeneration of
  metadata cache.

- lib/OSCAR/PackagePath NEW
  - dynamically generate distro and OSCAR repo paths/URLs according to queried
  distro/version/arch.

- lib/OSCAR/Database.pm
  - added functions from Package.pm (list_selected_packages, etc.)
  - new function pkgs_of_opkg() allows very flexible selection of targetted
  distro/version/arch

- packages/*/config.xml
  - the filtering distro names now need to be the compat_distro names,
  i.e. those which OSCAR cares about. Also the architecture should be
  compliant to that one returned by OS_Detect.
  Before this change OSCAR had 4 distribution/version/arch names it cared
  about:
        - in config.xml / ODA for filtering
        - in systeminstaller
        - in generic-setup (before generic setup we had every setup script
        potentially use different distro subdirectory names!)
        - in lib/OSCAR/Distro.pm
  These were converted back and forth according to the needs and often lead to
  trouble.
  Now (after this change) we have only two distro name variants we need to
  care about:
       - the real distribution name (to distinguish distro package pools, be
       able to keep apart scientific-linux from redhat-el-ws)
       - the compatible distribution name (AKA name OSCAR cares about). This
       one is common for all real distributions which are compatibe. These
       names were chosen to be _different_ from the real distro names and
       _short_. Examples:
       Real distro names which are compatible from OSCAR point of view:
       redhat-el-ws, redhat-el-as, redhat-el-es, scientific_linux, centos
       OSCAR name for the above distros: rhel
       OS_Detect needs to also convert the distro version such that
       compat_distrover for the above is the same if they are really
       compatible.

- lib/OSCAR/{Distro.pm,PackageBest.pm}
  - the need for these packages has been reduced as much as possible. I'd
  delete PackageBest.pm and rely on packman, only. Some references to
  Distro.pm might still lurk around, but most of them were removed and
  replaced by OS_Detect calls.

WHAT DOESN'T WORK, YET:
The autogen.sh; configure; make dist thing doesn't include all the files,
yet. At least it didn't for me. Maybe I'm doing something wrong. Please help
with the automake stuff. Or maybe we can really get rid of it entirely...

Some packages need to be rebuilt, too.

Best regards,
Erich




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
Oscar-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oscar-devel

Reply via email to