phpgroupware-developers
[Top][All Lists]
Advanced

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

[Phpgroupware-developers] CVS modules, Makefiles and packages, SGML


From: Luca - De Whiskey's - De Vitis
Subject: [Phpgroupware-developers] CVS modules, Makefiles and packages, SGML
Date: Tue, 18 Jun 2002 12:49:54 +0200
User-agent: Mutt/1.4i

Since i've now compleeted the first part of my task here, i'm going trough
the following 3 steps if no none objects.

The first one is trivial, and will take some hours at least.
The second is longer, and may take some time: before i start to work on it i'd
like to know when the 0.9.14 release is scheduled.
The last has no impact on the software its self, so i' think i'l do it in
compleete relax.

(1) CVS Modules
        I'd like to use aliases, and custom modules to make some magic
on the CVS repository. If we add the following lines to the CVSROOT/modules:

--- cut ---
# Not necesary, but nice to read.
base_directory -a phpgroupware

# The list of the core modules.
core_modules -a addressbook admin calendar email manual nntp notes phpgwapi 
preferences setup todo

# The list of application modules.
applications_modules -a bookkeeping bookmarks brewer chat chora comic 
developer_tools dj eldaptir filemanager forum ftp headlines hr img infolog inv 
messenger napster news_admin phonelog phpsysinfo phpwebhosting polls projects 
registration skel soap stocks tts wap weather xmlrpc

# Here we find the first trick...
core_release -d phpgroupware &core_modules
# ... And here is the second, not really necesary, but may come in handy.
applications_release -d phpgroupware &applications_modules

# Let's put together the above tricks, and here is the magic.
release -a base_directory core_release applications_release

# Not necesary, but nice to read.
full -a release

# Not necesary, but nice to read.
latest -a release

# Row list for repository modules.
all -a phpgroupware core_modules applications_modules
--- cut ---

We will be able to do somthings like:
- cvs export -r $tag release
  Export a compleete phpGroupWare release based on $tag (all in its place).
- cvs checkout full
  Just to say that we can trows the cvs full checkout scripts into the trash.
- cvs update latest
  Updates to the latest phpGroupWare release (to use in cron, for example).
- cvs get all
  I find it usefull some times.

(2) Makefiles
        phpGroupWare is getting bigger evry release, so it would be nice to
let users download only the core set and a separated list of other modules
even for tar.gz files. That is to say we may provide
phpgroupware-$version.tar.gz and phpgroupware-$module-$version.tar.gz (for
each module). How to do it in a easy way? Using `make'. I'd like to add
$module/Makefile which will provides the following targets:

- tgz: to build the phpgroupware-$module-$version.tar.gz package.
- deb: to build the .deb package.
- rpm: to build the .rpm package.
- all: to do all the above.

So, let's say we add the following to CVSROOT/modules:

build -a addressbook admin bookkeeping bookmarks brewer calendar chat chora 
comic developer_tools dj eldaptir email filemanager forum ftp headlines hr img 
infolog inv manual messenger napster news_admin nntp notes packages phonelog 
phpgroupware phpgwapi phpsysinfo phpwebhosting polls preferences projects 
registration setup skel soap stocks todo tts wap weather xmlrpc

The `packages' module contains (by now) only the `build' file, which is a
self executable makefile with the following targets:

- core: to builds the phpgroupware-$version.tar.gz core package.
- modules: to builds each phpgroupware-$module-$version.tar.gz package.
- tgz: to build all the above.
- deb: to build _all_ the .deb packages.
- rpm: to build _all_ the .rpm packages.
- install: to instal all the above packages into a ready-to-download place.
- all: to do all the above.

$version may be obtained with the $Name$ CVS keyword expansion (which expands
to the tag name if provided)
Since the .deb packages provide a compleete set of informations, I think that
it would be better to generate the .rpm packages from the them using the
`alien' utility (which is available on most unix), instead of using the
.tar.gz

(3) SGML
        What about starting the conversion of all the documentation files to
the SGML format? README, NOTE, TODO, CHANGE* etc. can be easily converted. I
may start working on this as last step of my task. Compilation may be easily
obtained using Makefiles, along with a long list of output formats.

P.S.: I'm sorry, but in this period i've not all the time i would to join you
on #phpgroupware, so, if you want, contact me only via mail (i'm subscribed to
this list).

ciao,
-- 
Luca - De Whiskey's - De Vitis              | Elegant or ugly code as well
aliases: Luca ^De [A-Z][A-Za-z\-]*[iy]'\?s$ | as fine or rude sentences have
Luca, a wannabe ``Good guy''.               | something in common: they
local LANG="address@hidden"                     | don't depend on the language.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]