In the tradition of the "Windows Secrets" series of books, I bring you Fink 
Secrets!
After years of meticulous research and painstaking reverse-engineering, I 
will now
expose Fink's undocumented APIs and hidden features!

(I'm not criticizing the fink maintainers; I'm just being silly. Maybe I'll 
add this stuff to the
code/docs itself and submit it.  :-}  Of course, everything here is subject 
to correction by
those who are more familiar.

Here are the command-line fink commands that don't appear in the man page 
nor the fink --help
output.

bootstrap               : Appears to reinstall the entire distribution from scratch. 
Indeed,
                                  bootstrap.sh eventually runs the same code as 'fink 
bootstrap'.

scanpackages    : Some kind of synchronization. I know it has been discussed 
here several times,
                                  but I've never seen a formal definition. The best 
description I've seen is here:
http://www.mail-archive.com/[email protected]/msg03062.html

list                            : Yes, this is mentioned in the man page. But what 
isn't 
described in the man page,
                                  nor 'fink --help', is that this too has options. Run 
'fink 
list --help' and be pleasantly
                                  surprised. For example, try 'fink list --section=sci'

listpackages    : Simply produces a one-column list of packages with YES/NO 
indicating whether
                                  it's installed. Output looks like this:
...
zsh
NO
gdbm-shlibs
YES
lcms-shlibs
NO
gtk+2
YES
...

selfupdate-finish : updates essential packages like apt (selfupdate & 
selfupdate-cvs call this
                                     function anyway)

rescan                  : ???   I can't determine without studying the code much more 
closely. Perhaps a
                                  developer can answer?

check (alias: validate) : examines .info files; a sort of integrity/sanity 
check
                                (not to be taken as a secure verification, such as an 
MD5 hash)
                                I guess one can say this checks for proper 
finkification ... :)

 From the code, fink-0.4.0a-full/perlmod/Validation.pm, lines 145-162

        # Should check/verifies the following in .info files:
        #   + the filename matches %f.info
        #   + patch file is present
        #   + all required fields are present
        #   + warn if obsolete fields are encountered
        #   + warn about missing Description/Maintainer/License fields
        #   + warn about overlong Description fields
        #   + warn about Description starting with "A" or "An" or containing the 
package name
        #   + warn if boolean fields contain bogus values
        #   + warn if fields seem to contain the package name/version, and 
suggest %n/%v should be used
        #     (excluded from this are fields like Description, Homepage etc.)
        #   + warn if unknown fields are encountered
        #
        # TODO: Optionally, should sort the fields to the recommended field order
        #   - error if format is violated (e.g. bad here-doc)
        #   - warn if /sw is hardcoded somewhere
        #   - if type is bundle/nosource - warn about usage of "Source" etc.
        # ... other things, make suggestions ;)

 From line 345
        # Check a given .deb file for standard compliance
        #
        # - usage of non-recommended directories (/sw/src, /sw/man, /sw/info, 
/sw/doc, /sw/libexec, /sw/lib/locale)
        # - usage of other non-standard subdirs
        # - ideas?

As far as I can tell, this rounds out fink's full command-line feature set.
Good night!
Ken Engel



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Fink-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-users

Reply via email to