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