Skip to Content.
Sympa Menu

sm-users - Re: [SM-Users] Spells and Grimoires and Dependencies, oh my!!

sm-users AT lists.ibiblio.org

Subject: Sourcemage Users List

List archive

Chronological Thread  
  • From: Jeremy Blosser <jblosser-smgl AT firinn.org>
  • To: Source Mage Users Mailing List <SM-Users AT Lists.Ibiblio.org>
  • Subject: Re: [SM-Users] Spells and Grimoires and Dependencies, oh my!!
  • Date: Thu, 20 Jul 2006 15:12:34 -0500

On Jul 20, Kevin Monceaux [Kevin AT RawFedDogs.net] wrote:
> Netpbm complained about a missing libxml/xmlreader.h file. I suspect the
> spell in question is missing a dependency. Is there a gaze command to
> inquire which spell provides the missing file?

gaze from path/to/file
^^^^ this is a regexp

That won't help you if you don't have the file installed, but you can ask
one of the irc bots to tell you if it knows of one:

<emrys> .from libxml/xmlreader.h
<scry> Processing your request...
<scry> libxml/xmlreader.h :: libxml2 (for a more verbose listing
http://odin.dtdm.org/scry/)

> Also, when writing spells how detailed should the DEPENDS file be? For
> example, I suspect almost all spells depend on glibc and it would be
> doubtful that one would come across a system that doesn't have glibc
> installed. But, looking at the DEPENDS files from several spells as
> examples none list glibc as a dependency. I would think ALL dependencies
> should be included in the DEPENDS file.

The policy is that if a spell uses something DIRECTLY it should have a
depency on it. If it's a dependency of a dependency they don't need to
list it. A lot of times things that are in basesystem (gaze DEPENDS
basesystem) don't get added to the dependencies of other spells. For
things like glibc this is acceptable, for things that might drop out of
basesystem (eg wget) we try to avoid it.

> I know I sould probably learn to crawl before learning to walk, and learn to
> write some simple spells before trying to update existing spells, but I was
> anxious to get Hercules up to date. The Hercules mainframe emulator is one
> program I use quite frequently. The latest version is 3.04.1. The version
> in both test and stable is 3.02. And, I noticed a few anomalies with the
> spell. It's DETAILS file shows:
>
> UPDATED=20030717
>
> But, it's HISTORY shows the last update on 2006-06-28.

Ok this is where you start to get RTFM responses. :-) The spell files api
is pretty well documented, so if you're going to work in spells, read that.
eg, http://wiki.sourcemage.org/DETAILS reads in part:

"UPDATED

* This is a numerical string indicating the date this spell was last
changed. Used as a reference for the sorcery scripts to know if a
spell has been updated. (This forces a recompile so only update for
non-version updates that need a recompile. Version updates and
non-recompile-needed changes should not touch this variable.)

Note: This is still supported, but shouldn't be used anymore. Instead use
PATCHLEVEL or SECURITY_PATCH as applicable."

So you only update UPDATED when you wanted them to recompile, but we don't
use that anymore (partly because it was confusing with that name).

> It had no DEPENDS or CONFIGURE files.

This is pretty typical for basic spells that don't have extra dependencies
(beyond things like glibc). If there are things that can be configured
about it beyond obscure options in the ./configure script, feel free to add
a CONFIGURE script (all ./configure options will be available during the
build already, but we do add the very common options as explicit queries in
CONFIGURE).

> Also, it's in the utils section. Shouldn't it and similar programs be in
> an emulators section? It doesn't appear that the test or stable
> grimoires have an emulators section.

You don't want to start the section organization question right now, trust
me. :-) We know it's got issues. Bigger priorities are in line ahead of
it (like switching our SCM for the project), but I optimistically expect
it'll probably get seriously reraised and answered in the next year.

> What is the SGML procedures for "version bumps?" Can I submit my updated
> Hercules spell or do the modificationis need to be done by a spell/section
> maintainer?

Open a bug and provide a patch* if you have one. The section maintainer or
another guru will review the patch and apply it. Do 3 or 4 of those and
you'll start getting the "why don't you just get commit access so you can
apply these yourselves" responses.

(*You could also try your hand at cloning our git repo via http and making
your changes there, then publishing your changed repo as an http git repo
so the guru can pull it from you directly. git is new enough to us that we
aren't doing this yet with anyone but are excited about the potential.)

Attachment: pgpKnqGArzq6s.pgp
Description: PGP signature




Archive powered by MHonArc 2.6.24.

Top of Page