da3m0n8t3r

i386 Package Updates · amd64 Package Updates

Work

pkg_lite.py 2012-05-01

Python script (tested 2.7.2 /should/ run 2.4-3.x) that compares installed
version of packages with latest available on FreeBSD.org. If there is a
newer (different) version available it will output the package info with
current installed version and newer version, download the tbz package file,
and perform an MD5 checksum verification of the file. Output is writted to
'updates.sh' in the CWD. For each package it prints a pkg_delete line for
the previous package version, then a pkg_add line for the new version. If
there is an MD5 checksum mismatch it will report to the updates.sh file.
In the case of a mismatch it is recommended to unlink the particular package
file and run the python c.py script again. It will not download package
files if they already exist in the CWD, so running the script subsequent
times should go faster.

Note: update URL for your architecture / os version / mirror etc.

Note: DO NOT RUN updates.sh without editing! There are some cases when you
do not want to delete a package (or install a new one). Before updating your
system, make sure to get the latest package information by typing in:

# pkg_updating

on your command line.

Commands

cache 		This will use the previously downloaded CHECKSUM and package
		index instead of downloading and parsing again, which speeds
		up the process considerably, however it will not discover new
		updates.

		example: python pkg_lite.py cache

replace		This will create an update.sh which either upgrades or replaces
		existing installed packages. If the same version is available
		on the package host, it will create lines to delete and
		reinstall packages. If a newer version is available it will
		create lines to delete the package and udpate with the newer
		version.

		Note: The 'replace' command cannot be used with the 'cache'
		command.

		example: python pkg_lite.py replace

See ups.txt and updates.sh for example output.

NOTE:

issues encounter using the updates.sh script
major versions available are not necessarily updates that will work with the
other packages...

1) don't delete gtk20 and replace with gtk30.
	(xfce4 depends on lib-gtk-2.0)
2) don't delete gcc46 and replace with gcc48.
	(mplayer and ffmpeg depend on gcc46)
3) don't delete docbook..
	(all the docbook packages are installed by xfce4, there are multiple versions)

Waitman Gobble 
San Jose, California USA
NO WARRANTIES

Git: https://github.com/creamy/pkg_checkversion

FreeBSD 10.0-CURRENT amd64 & i386 package mirror

Click here for amd64 package mirror.
Click here for i386 package mirror.
(using Latest/Current repo)
Synchronized daily.

To use the package mirror:

# setenv PACKAGESITE http://amd64.da3m0n8t3r.com/amd64/

-or-

# setenv PACKAGESITE http://i386.da3m0n8t3r.com/i386/

Note: Please note the hostname for each architecture. A rewrite mechanism allows for you to search by package name without the version information. For example, a request for 'bluefish' will resolve to bluefish-2.2.2_1.tbz. Requests for targets under the /All path are redirected to root, and the file corresponding to the original request is returned. The hostname provides a mechanism for determining architecture base.

Example

# pkg_add -r bluefish
Fetching http://amd64.da3m0n8t3r.com/amd64/bluefish.tbz... Done.
Fetching http://amd64.da3m0n8t3r.com/All/weblint-1.020.tbz... Done.
Fetching http://amd64.da3m0n8t3r.com/All/gnome-mime-data-2.18.0_4.tbz... Done.
Fetching http://amd64.da3m0n8t3r.com/All/gucharmap-2.32.1_1.tbz... Done.
Fetching http://amd64.da3m0n8t3r.com/All/gnome-vfs-2.24.4_1.tbz... Done.

i386 Package Updates · amd64 Package Updates

If you would like to create your own mirror, I have written a Python script which will check and download updated and new packages over HTTP.

pkg_mirror.py - script to sync FreeBSD package repository

Usage: 

copy pkg_mirror.py to a path on your web server, which should be 
empty, void of any other files.
Update the URL in pkg_mirror.py to reflect the package repository you wish 
to mirror. (ie, you may want to mirror the i386 repository)

Run:

./pkg_mirror.py

Make sure you have the md5 and wget packages/ports installed. The script 
will download CHECKSUM.MD5 and index.html from the repository and save in 
the working path. (if either of these files exist in the working path, 
they will be overwritten.)

puf - photographer productivity tool

This program is intended for photographers who copy images from their memory cards to their home directory. The photographer may browse the directory structure and quickly review the images, marking selects. Selects are stored in a file which may be used for batch process scripting. Images may be stored in RAW, JPEG, or PPM format.

It extracts the thumbnail from the RAW file, which is pretty darn fast. (like 3 seconds for a 24MB RAW file). The thumbnail is actually quite large, resembles what you would see on your LCD display on your camera, the JPEG you would have shot had your camera not been in RAW mode. After extraction it is cached, so future views will be even faster.

$ identify IMG_5626.thumb.jpg
 IMG_5626.thumb.jpg JPEG 5184x3456 5184x3456+0+0 8-bit DirectClass 2.104MB 0.000u 0:00.000

 so the 'thumbnail' is actually 5184 x 3456, 2.104MB

Screenshot
da3m0n8t3r.com/puf/pufss.png

Download
puf.tar.gz
FreeBSD ports
FreeBSD 10.0 amd64 package
FreeBSD 10.0 i386 package

MD5:

MD5 (puf-port.tar.gz) = c1a74b7ee8c4058c4b4f06542756b7ec
MD5 (puf.tar.gz) = 216072255d402f1f15cf6b35d424abd0
MD5 (amd64/puf-0.0.0_1.tbz) = 87485fb2404ab9e6167cee13ee94ef58
MD5 (i386/puf-0.0.0_1.tbz) = f14cf0944d72961ed500fa1a57ac843d

README


 2012-06-24 12:38 AM
 San Jose, California USA

 puf - photographer productivity tool - make image selects

 Copyright (c) 2012, Waitman Gobble 
 All rights reserved.

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:

 1. Redistributions of source code must retain the above copyright notice, this
    list of conditions and the following disclaimer.
 2. Redistributions in binary form must reproduce the above copyright notice,
    this list of conditions and the following disclaimer in the documentation
    and/or other materials provided with the distribution.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


 Documentation +.v.+

This program is intended for photographers who copy images from their memory 
cards to their home directory. The photographer may browse the directory 
structure and quickly review the images, marking selects. Selects are stored 
in a file which may be used for batch process scripting. Images may be stored 
in RAW, JPEG, or PPM format.

Note: check file command output for your raw identifier. It should match the 
string 'raw image data'. If not, then update the corresponding line below.

The tree may be navigated with the mouse, or the up and down arrow keys. To 
select a photo, press the Insert key. If you prefer a different key, see the 
instructions below.

When a select is made, the file '.selects', located in the same directory as 
the image, is updated and saved. Pressing the Insert key a second time will 
remove the select status, and update the '.selects' file (removing the image).

The '.selects' file is useful for batch process scripting.

Example 1: (bash, copy to 'sav' directory)
# while read -r line; do cp $line sav/; done < ".selects"

Example 2: (bash, ImageMagick convert to resize)
# while read -r line; do convert -size 1200x1200 -scale 1200x1200 -density 120 -quality 90 \
     $line sav/$line; done < ".selects"

Note: star.png is stored in images/star.png in the source distribution.
It is specified in the puf.rc RCC Resource File.

Build

Requires Qt4

lupdate-qt4 puf.pro
lrelease-qt4 puf.pro
qmake-qt4
make

FreeBSD Port

Here is the port Makefile. (submitting).
Download file and extract, then cd to directory. (does not necessarily have to be in ports tree. run "make" or "make install clean". Depends on qt4 + components, dcraw in /usr/ports/graphics/dcraw. The Makefile should automatically build these if they do not already exist on your system.

puf-port.tar.gz

FreeBSD Packages

amd64: puf-0.0.0_1.tbz

Qt-Apps.org Project Page

http://qt-apps.org/content/show.php/puf+-+photographer+productivity+tool?content=151859

Questions?

Contact: waitman@waitman.net

Copyright 2012 Waitman Gobble, San Jose California, USA.