Subject: CVS commit: pkgsrc/www/snownews
To: None <pkgsrc-changes@NetBSD.org>
From: Thomas Klausner <wiz@netbsd.org>
List: pkgsrc-changes
Date: 11/20/2004 00:30:29
Module Name:	pkgsrc
Committed By:	wiz
Date:		Sat Nov 20 00:30:29 UTC 2004

Modified Files:
	pkgsrc/www/snownews: Makefile PLIST distinfo
	pkgsrc/www/snownews/patches: patch-aa patch-ac
Removed Files:
	pkgsrc/www/snownews/patches: patch-ab patch-ad

Log Message:
Update to 1.5.5.1, including a fix for PR 28216.
Changes since 1.5.1:

Post 1.5.5.1
The 1.5.5.1 package had wrong compiler flags. -g was switched on
while -O2 optimizations were off. Not a big deal, but I replaced
the package with a new one.

The next version's configure knows Cygwin and the Makefile knows
DESTDIR. Thanks to Yaakov Selkowitz for this and for the Cygwin
ports. :)

1.5.5.1
Obviously I failed to understand the arcane knowledge Unix signal
handling is made of. 1.5.5 creates zombies and fails to exit (hangs)
at least on OpenBSD. But I still claim that this is a bug in the
OS. Anyway, this release fixes just this one problem. If 1.5.5
works fine you don't need to upgrade.

1.5.5
I've fixed quite an amount of things in the HTTP and related code.
Torturing code with randomly generated crap is a fun method to find
problems. ;)

Cache file handling was also rewritten to avoid problems with
filesystems that don't like binary data in filenames very much. I
also fixed this on Cygwin where it was totally broken. Snownews
may now generate different hashes for the filenames than before so
some feeds may appear completely unread after upgrading in certain
cases.

Overall this release touched a lot of core code, should've probably
been 1.6.0. Ah well, have fun with the yellow chicken!

1.5.4.1
Make snownews work with gmail's atom feed.

1.5.4
    * Fixed some of the UTF-8 problems. Ncurses still doesn't seem
      to like what I do. Will solve this in a later version.
    * "Return to previous menu" and "quit" are now two different
      keys. Default bindings for both is still 'q' so it doesn't
      brake any previous behaviour, but if you want you can define
      different keys for it now.
    * The HTTP client now understands chunked transfer encoding.
      This was included from a patch for Liferea. Should be of rare
      use since only some broken proxy servers made it neccessary to
      support this.
    * I've update the Credits a bit. I know that I probably forgot
      to mention somebody, if you feel left out, let me know. ;) I
      will go over the file and my emails again for the next version.

    * I made the progress bars perfectly smooth. And much faster.
      The code wasted a lot of CPU cycles. The cookie loading still
      does the same, though. :P
    * The highlight bar and the status line cover the whole screen
      instead of n-1 columns now.
    * If an error during an update occurs the feedname that caused
      it is displayed in the status line as well. (Same goes for the
      error.log)

    * The code that determines read status of an item during an
      update now depends on the link and the title element. Feeds
      that have the same URL for all items should work better now.
    * Adding a feed now removes whitespaces from the beginning of
      the string so if you cut&paste " http://whatever" it'll work.
    * I added support for feed:// URLs. It's stupid, but seems to
      be used in the wild so I just give up.
    * The "HTML renderer" now decodes numerical entities all by
      itself (if supported by your C library) and uses libxml's
      htmlEntityLookup(). User defined entities are still checked
      first.

    * Stupid NULL ptr crash in the HTTP status parser.
    * Basic/Digest auth headers should be case insensitive.
    * Possible crash when deleting the "New Headlines" feed.
    * It is now possible to use URLs http://foo.com without a trailing slash.
    * Items in "New Headlines" had wrong feed name attached to them
      if you moved around feeds in the main menu.
    * No recursive adding of smartfeeds. And no extreme memory
      trashing in this case anymore.
    * UTF-16 and pure binary data can now be read. Anyone who wants
      to write a webcomic2aalib extension?

1.5.3

This version contains the following changes:
Prevent launching smartfeed:// URLs with the browser.
Configurable enter key broke type ahead a bit. Think I already mentioned this some time ago, no?
The "Downloading [feedname]" always shows the correct feed name now.
Finetuned display of HTML only feed descriptions a bit more.
Changed URL in user agent string to http://snownews.kcore.de/.
Error messages are now in full colour. :)
Many more errors are now written into the error.log file.

1.5.2

Not many new stuff since the beta1 version. Using filter extensions
works fine now, if you subscribe a feed that cannot be parsed you'll
be asked if you want to use a filter for this feed (=unsucked the
add a filter UI).  There was a problem with accessing memory that
didn't belong to us in xmlparse for strings exactly one byte long.
The feed download function behaved strangely sometimes due to some
thread safety issues. Never affected Snownews, only Liferea. Just
mentioned for completeness.  Snownews should also start up a bit
faster now if you have many feeds and a really slow system.

1.5.2beta2

Unfortunately 1.5.2-beta1 is a bit crashy if you use the (New
headlines) pseudo feed. Something's stompin on my internal database
which leads to inconsistent calculations of unread items in the
new headlines feed and the rest of the program. And ultimatively
to a segfault if you open the feed in this state. The patch below
fixes this. Also fixes obscure issues with smart feeds + caching,
makes HTTP auth via proxy work and fixes bugs with the feed reordering
in the main menu. Moved feeds had some of their internal data mixed
up with others. Specifically the last HTTP status reply, last
modification date and the data contentlength.

1.5.2beta1

The enter key has now a configurable key binding. So if you want
to have 'l' to select an item, it should work now.  Multi byte
characters are now handled correctly. Well, everywhere except in
the article (if provided) itself since the word wrap function still
doesn't like multi byte characters. Should work everywhere else if
you link against libncursesw.  I rewrote all of the build system.
Nothing fancy, but it's one single Makefile now and does not depend
on GNU make anymore. Building is probably broken on Solaris atm.
A feed that contains all new items from all your other feeds can
now be added by pressing 'H' in the main menu.  Filters and external
feed sources work now.

External sources:  Write a script/program that outputs RSS and you
can add it via an URL exec:/path/to/script. Snownews will execute
it everytime you refresh the feed/all feeds.  In short: [your
script] -> RSS -> Snownews

Filters:  You can subscribe to Atom, any other syndication format,
heck even HTML pages with this feature. All you need is a script
that converts whatever resource from the web to a valid RSS document.
The external script must accept data via stdin and write valid RSS
to stdout. Snownews will execute this filter everytime it downloads
a resource from the web. This automatically takes advantage from
Snownews' http features (last mod, gzip, auto redirect, etc.). To
use this, subscribe anything you want, ignore the parser errors,
press 'e' and enter the location of the filter you want to use,
refresh the feed.  In short: [resource on the web] -> Snownews ->
[your script] -> RSS -> Snownews


To generate a diff of this commit:
cvs rdiff -r1.9 -r1.10 pkgsrc/www/snownews/Makefile
cvs rdiff -r1.2 -r1.3 pkgsrc/www/snownews/PLIST
cvs rdiff -r1.4 -r1.5 pkgsrc/www/snownews/distinfo
cvs rdiff -r1.3 -r1.4 pkgsrc/www/snownews/patches/patch-aa \
    pkgsrc/www/snownews/patches/patch-ac
cvs rdiff -r1.3 -r0 pkgsrc/www/snownews/patches/patch-ab
cvs rdiff -r1.2 -r0 pkgsrc/www/snownews/patches/patch-ad

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.