I have built a package for FonrForge three times and things haven't seemed right any time. I did a manual build following the directions in
http://ftp://64.50.238.52/.1/vectorlinux/docs/packaging/index.html . Everything seemed okay and there are slack-desc and slack-required files in the /tmp/fontforge-20090408/usr/install directory. However, after building the package I can't find a doinst.sh file. Also, when I do installpkg on the fontforge-20090408-i586-1vl60.tlz on my VL6 Deluxe partition, I get a "WARNING: Package has no description" despite the presence of a valid slack-desc file. So I must be doing something wrong, but I can't figure out what.
There are a few points in the "HowTo: An in depth Guide to package building for the VL repository" that are unclear to me. The guide says:
When compiling source code, GCC (the compiler) will look at the $CFLAGS and $CXXFLAGS variables to determine how the compiled code should be optimized. To set these optimizations to i586, we need to set the above mentioned variables.
Open a terminal, and logon as root. Then open /etc/profile.d/vasm.sh and make sure that this bit of text is presnt at the end of the file:
export CFLAGS=”-O2 -mtune=i686 -march=i586”
export CXXFLAGS=”$CFLAGS”
I did make sure that the proper "export" lines are in /vasm.sh, but whenever I log in I get this:
bash: export: `-mtune=i686': not a valid identifier
bash: export: `-march=i586': not a valid identifier
So what gives? Is this part of the guide obsolete or do I need to do something besides seeing that the proper "export" lines are in vasm.sh?
The next part of the guide where I'm confused is in the section on d) installing the compiled source into the package dir. It doesn't say to su to root before you do this but I thought make install was to be run as root. So I do su to root and then run
make install DESTDIR=/tmp/fontforge-20090408
and get the pseudo-installation in a /usr directory under /tmp/fontforge-20090408. So far so good, it seems. Then I think the guide is very unclear because it says:
e) make the package description
Next, you need to create the package description. This file is called slack-desc and must be placed in a directory called install.
mkdir install
mcedit install/slack-desc
WHERE are you supposed to make the install directory?? Under /tmp/fontforge-20090408? Under/usr in that directory? Under the main / directory (which I doubt, but I can't be sure)? I assume root has to mkdir because user doesn't have write permissions in the /tmp/fontforge-20090408 directory if make install was run as root.
This is my slack-desc file:
$SHIM|-----handy-ruler------------------------------------------------------|
$NAME: $NAME (Create, edit, convert Type 1, TT and other fonts)
$NAME:
$NAME: An outline font editor that lets you create your own
$NAME: postscript, truetype, opentype, svg, bitmap, and other
$NAME: types of fonts, or edit existing ones. Also lets you
$NAME: convert one format to another.
$NAME:
$NAME:
$NAME: License: BSD (see Documentation)
$NAME: Authors: George Williams
$NAME: Website:
http://fontforge.sourceforge.netI have also tried it with this slack-desc file:
$SHIM|-----handy-ruler------------------------------------------------------|
$NAME: $NAME (Create, edit, convert Type 1, TT and other fonts)
$NAME:
$NAME: An outline font editor that lets you create your own
$NAME: postscript, truetype, opentype, svg, bitmap, and other
$NAME: types of fonts, or edit existing ones. Also lets you
$NAME: convert one format to another.
$NAME:
$NAME: License: BSD (see Documentation)
$NAME: Authors: George Williams
$NAME: Website:
http://fontforge.sourceforge.netIt is unclear to me whether the required 11 lines include the
$SHIM|-----handy-ruler------------------------------------------------------|
line and whether there should be a return at the end of the last line (Website). Would a return at the end of the last line count as an additional line for the slack-desc?
I do see a slack-required file in the same /tmp/fontforge-20090408/usr/install directory as the slack-desc file is in. I haven't gotten an error message when running makepkg.
So--
what do I do about the
bash: export: `-mtune=i686': not a valid identifier
bash: export: `-march=i586': not a valid identifier
messages? How do I get a doinst.sh file into the /install directory, and does that /install directory belong under /tmp/fontforge-20090408 or /tmp/fontforge-2009-0408/usr? Do you see what I'm doing wrong?
I wasn't able to get the package built with sbbuilder. You *do* know that reading something like this:
"This script will allow you to build a package with the very basic configurations, so its still up to you to add configure-time tweaks to it"
puts the fear of God into someone like me, who can barely stand to LOOK AT a script, much less figure out what it's doing and add tweaks to it?<g> Writing scripts is not my cup of tea, though I'm willing to run one someone else writes. That's the limit of my geekiness.
--GrannyGeek