IRIX and Software

nekosync-1.2

nekosync-1.2 is now available from here !

If you don't know what nekosync is or does, then these previous threads should help to explain things:

Updated: nekosync-1.1
micq 0.5.1 - firefox 1.5.0.1rc1 - sylpheed 2 b5

Changes:
    As per the 2nd link above, nekosync can now fetch from an unlimited number of directories or sites - great for people who want to mirror Foetz' packages;
    A couple of minor mistakes in default values were corrected;
    nekosync now contains real version information; ;)
    nekosync now has a proper command-line interface.


The biggest change is the addition of a command-line interface, meaning that you can make one-off configuration changes without editing any files (and, indeed, with enough typing nekosync can now be used without any configuration file). " nekosync --help " will list all of the available options, and " nekosync --show " will show what the current value of these options are: " nekosync --show=default " will show the built-in values, " nekosync --show=file " will show the values stored in the active configuration file, and " nekosync --show " or " nekosync --show=actual " will show the values that will actually be used.

The centre column of " --show " output is the command-line option used to set the value in question, and a coloured exclamation mark means that a specified binary or directory doesn't exist or can't be read/written to/executed.
Nice :D first thing on the todo list for friday!
while (!asleep()) sheep++;
Whoops - I've just spotted a stupid mistake I made when I added command-line support to nekosync, which means that if you specify " --get " or " --sync " on the command line, any mirror location read from your config file is stomped on - so nothing happens unless you also specify a mirror at the same time. This is now fixed, and " nekosync.pl --sync " now works as expected.

I've created an updated package, which is available from here .

If you run " nekosync.pl --version " then the latest version will return " 1.2-5 " - please upgrade if you are using any other nekosync version, as the latest releases have much improved verification features, meaning that you won't now lose any data in the event of a network glitch or partially-updated index on the server.
Earlier today I uploaded I uploaded nekosync 1.2-6 .

Changes:
    Fixed a couple of "undefined value" warning when the download mirror is dead or dies during transfer (which I was able to test extensively on nekochan.net today :D );
    nekosync now lists the number of the package being downloaded, so you can judge its progress more easily;
    nekosync.conf updated to version 1.3 - the layout is more logical, and "check" functionality added;
    Added a new check, enabled by default, that will automatically let you know if there is a newer release of nekosync available (so I don't need to keep spamming the forum... )


The update check downloads a single tiny file from my server to see what the latest version of nekosync is - no personal data is stored or sent at any time, in any form. Furthermore, nekosync will only tell you if there is an update - it will not download updates automatically.

You can check for updates without sync'ing by running " nekosync.pl --checkonly "
I had this problem before and now I have it again on a different machine:
Nekosync won't unpack the downloaded tardists into the inst directory :?
This being confirmed by the software manager when it finds an empty inst directory.

Any ideas what may cause this ?
I have all the prereqs Bash, Perl, GNU tar and wget.
I can feel it, my mind is going ....
  • Exactly what errors do you see when running nekosync (if any)?
  • What is the output of "nekosync --show"
  • What is the base version of your config file (first line of nekosync.conf - which should be 1.3)
  • What are your settings for $safe and $pretend?
  • Did you create the dist/inst directories yourself, or did you let nekosync do it? Are you running nekosync as the same user as you first ran it with?
  • Do the permissions on your dist/inst directories look sensible?
If you're still having problems, could you run "nekosync --verbose --debug" and email me the output?

Cheers,

    Stuart
ka0s wrote: Nekosync won't unpack the downloaded tardists into the inst directory :?

The permissions for all (sub)dirs are set, right? If they are, this is VERY weird. :shock:
while (!asleep()) sheep++;
stuart wrote:
  • Exactly what errors do you see when running nekosync (if any)?
  • What is the output of "nekosync --show"
  • What is the base version of your config file (first line of nekosync.conf - which should be 1.3)
  • What are your settings for $safe and $pretend?
  • Did you create the dist/inst directories yourself, or did you let nekosync do it? Are you running nekosync as the same user as you first ran it with?
  • Do the permissions on your dist/inst directories look sensible?
If you're still having problems, could you run "nekosync --verbose --debug" and email me the output?[/list]


No errors when running nekosync ( run as root )
Output nekosync --show :

Code: Select all

root@Oct2:/var/tmp/nekoware # ./nekosync.pl --show
Use of uninitialized value in -x at ./nekosync.pl line 514.
Use of uninitialized value in -x at ./nekosync.pl line 518.
Use of uninitialized value in -x at ./nekosync.pl line 522.
nekosync 1.2-6 actual values:

File Locations
--------------

tardist download path:   --dist       = "/usr/tmp/nekoware/dist"
Path for unpacked files: --inst       = "/usr/tmp/nekoware/inst"
Temporary Directory:     --temp       = "/usr/tmp"
Directory for old files: --old        = "obsolete"
(resolves to:                           "/usr/tmp/nekoware/dist/obsolete")

Binary locations
----------------

Path to GNU binaries:    --path       = "/usr/nekoware/bin"
tar command:             --tar        = "/usr/nekoware/bin/tar ..."
get command:             --wget       = "/usr/nekoware/bin/wget -q --passive-ftp -nd -np -O -"
sync command:            --rsync      = "/usr/sbin/rsync -bultS --delete-after -T /usr/tmp --suffix=\'\' --numeric-ids  ..."

Download locations
------------------

Index file:                             "descript.ion"
HTTP mirror:             --mirror     = "http://www.mechanics.citg.tudelft.nl/~everdij/nekoware/current"
rsync mirror:            --mirror     = "mech001.citg.tudelft.nl::nekoware/current/*.tardist"

General settings
----------------

Synchronisation method:      --get

Verbose output:              --noverbose
Debug output:                --nodebug
Safe file handling:          --safe
Modify filesystem:           --pretend
Delete obsolete files:       --nodelete

Deletion warning threshold:  --warn       = "10"

Terminal width:              --width      = "80"

Launch swmgr on completion:  --swmgr

Correctly configured:        --configured = yes

Versions
--------

nekosync version:                           1.2-6
nekosync latest version:                    1.2-6
nekosync is up to date:                     yes
Check for updates?           --update =     no

Here's the nekosync.conf file :

Code: Select all

## nekosync configureation file, v1.3

#
# Please choose a mirror!
#
# Note that only "descript.ion" and the tardists are directly
# accessed, so there is no mirroring of other files or HTML.
#
mirror = 'http://www.mechanics.citg.tudelft.nl/~everdij/nekoware/current';
#$mirror = 'ftp://ftp.nekochan.net/pub/downloads/Nekoware/current';
#$mirror = 'http://mimgfx.homeunix.net/nekoware';
#$mirror = 'http://inferno.murdoch.edu.au/mincs/irix/nekochan';
#$mirror = 'http://reality.sgiweb.org/nekochan/current';

#
# rsync mirror to use (if "rsync" is chosen over "get" as the method to use)
#
rmirror = 'mech001.citg.tudelft.nl::nekoware/current/*.tardist';

#
# Space-separated additional paths to download data from
# (e.g. "beta", or "incoming http://mymirror.tld/nekoware" )
# HTTP and FTP additional servers are supported.
#
# (Only in effect when *not* using rsync - if you use rsync, try
#  adjusting $rmirror and $rsyncargs)
#
extra = "beta";

#
# Should nekosync check whether a more up to date release is available before
# downloading packages?
# (use the "--checkonly" command line option to check this and exit)
#
updatecheck = TRUE;

#
# distloc is the location in which to save the downloaded .tardists;
# instloc is where the extracted files should be installed from.
#
distloc = "/usr/tmp/nekoware/dist";
instloc = "/usr/tmp/nekoware/inst";

#
# gnupath sets where to find sensible versions of standard tools,
# and the "bash" shell.  This can safely be set to anywhere that
# bash-2.05 or higher is installed, therefore generally '/usr/gnu/bin'
# or '/usr/nekoware/bin'.
#
gnupath = '/usr/nekoware/bin';

#
# Should packages be fetched with $get (TRUE), or sync'd with $rsync (FALSE)?
#
useget = TRUE;

#
# Output verbose (and mostly superfluous ;) additional information.
#
verbose = FALSE;

##
## NB: To actually erase files, both $safe and $pretend must be FALSE
##

#
# Do not create distribution or installation directories, and don't
# erase/move files.
#
safe = FALSE;

#
# Don't extract tardists or erase/move obsolete files.
#
pretend = FALSE;

#
# Move old tardists to an "obsolete" directory (FALSE) or delete them (TRUE)?
# (Only when *not* using rsync)
#
delete = FALSE;

#
# Launch swmgr on completion?
#
launchswmgr = TRUE;

#
# Delete or comment-out the following line to confirm that you have
# configured nekosync.  Pay special attention to the $safe and
# $pretend variables!
#
configured = FALSE;

#
##
## The settings below will be correct for almost everyone - please don't alter
## them unless you know what you're doing!
##
#

#
# Which stanadard "tar", "wget", and "rsync" utilities should be used?
#
# ("wget" can be substituted with any alternative utility if
#  desired - but it must have wget's "-O" option to output
#  downloaded data to STDOUT)
#
tar   = "/usr/nekoware/bin/tar";
get   = "/usr/nekoware/bin/wget";
#$rsync = "/usr/neokware/bin/rsync";

#
# Pass arguments to the "get" binary...
#
getargs = '-q --passive-ftp -nd -np -O';

#
# ...and additional options for the "rsync" binary.
#
rsyncargs = '-v -z --delete --progress';

# set vi:syntax=perl
I can feel it, my mind is going ....
I've fixed those initial " Use of uninitialized value " warnings now, and I've spotted an error with selecting which rsync binary to use. Additionally, the output of " --show " has been improved to highlight possible problems more clearly.

Updates can be downloaded now - run " nekosync --checkonly " to see them!

You don't seem to have altered the " $configured " line in the config file above - did you run " nekosync --configured "? Where did you install the configuration file (with the latest version of nekosync, this information is included in the " --show " output)?

Could you email me the output of nekosync when run with " --debug --verbose " as arguments, please?
I will post a reply of the output as soon as possible, I'm stuck at work at the moment....
Damn.....
I can feel it, my mind is going ....
Hi

I've just downloaded 1.2-7.1 but can't execute it correctly. The following appears:

Code: Select all

bx_octane 21# ./nekosync.pl
sh: bash:  not found
sh: bash:  not found
sh: bash:  not found
NOTICE: No external configuration file found, using defaults...

Use of uninitialized value in string eq at ./nekosync.pl line 584.
nekosync has not yet been configured - please edit
/etc/nekosync.conf and ensure that sane defaults are set before
re-running.


I've allreeady edited nekosync.conf (with get option), but the two files are in "/_nekoware_tardists_/". Is this a problem?

I can't find the solution by myself. Can you help me?

Thanks in advance. Have a good day.


Raphael
:Onyx2: : oxygen (4xR12k400) / :A3504L: :A3504L: : neon (16xI2 1.6, 9MB L2) / :O200: :O200: : beryllium (4xR12k270)
:Fuel: : nitrogen (R16k800) / :Octane2: : carbon (2xR14k600) / :Octane: : lithium (R10k400) / :Octane: : fluorine (2xR12k300) / spare 2xR12k360
:O2: : hydrogen (R10k195) / :O2: : sodium (R5k180) / :O2: : R5k180->200 MB and PM only
:Indigo2IMP: : helium (R10k195, HighImpact) / :Indigo2IMP: : boron (R4k250)/ :Indigo: : magnesium (R4k100) / :Indy: : aluminium (R5k180)
:4D70GT: 4D70GT : my very first one (now property of musée bolo and the foundation mémoires informatiques )
See the hinv/gfxinfo posts here .
Put the nekosync.conf into your /usr/nekoware/etc and try again.

regards
Joerg
D'oh! That " Use of uninitialized value " (which is harmless) was in the rsync detection code I just added. I reckon they're all fixed now - prove me wrong with the next release ;)

Bear in mind that nekosync (currently) uses bash to discover the location of the required utilities - so you must have bash installed and either in your PATH , run nekosync with the " --path " option, or set $gnupath in the config file.

Speaking of which, nekosync looks for its config file in ~/.nekosync.conf , /usr/nekoware/etc/nekosync.conf , and finally /etc/nekosync.conf - so your (edited) config should be placed in one of these three locations.

In any case, if you run " nekosync --show " then it will highlight any problems with an exclamation mark and colour (if run on an xterm/aterm/etc.) - which is a real help in diagnosing problems.
Hello

Thanks a lot for your answers. I'll try this evening.

Just two remarks.

1) The first time I've launched nekosync.pl, it has said to me that the .conf was not edited/configured. Actually it was, but I had forgotten to set "configured=TRUE". Nekosync.conf wasn't in /usr/nekoware/etc but the perl found it here "without problems" the next time. Strange...

2) In the .conf file, one can find

Code: Select all

$rsync = "/usr/neokware/bin/rsync";
instead of

Code: Select all

$rsync = "/usr/nekoware/bin/rsync";


Thanks again. Best regards.


Raphaël
:Onyx2: : oxygen (4xR12k400) / :A3504L: :A3504L: : neon (16xI2 1.6, 9MB L2) / :O200: :O200: : beryllium (4xR12k270)
:Fuel: : nitrogen (R16k800) / :Octane2: : carbon (2xR14k600) / :Octane: : lithium (R10k400) / :Octane: : fluorine (2xR12k300) / spare 2xR12k360
:O2: : hydrogen (R10k195) / :O2: : sodium (R5k180) / :O2: : R5k180->200 MB and PM only
:Indigo2IMP: : helium (R10k195, HighImpact) / :Indigo2IMP: : boron (R4k250)/ :Indigo: : magnesium (R4k100) / :Indy: : aluminium (R5k180)
:4D70GT: 4D70GT : my very first one (now property of musée bolo and the foundation mémoires informatiques )
See the hinv/gfxinfo posts here .
Well spotted... that was, er, a deliberate mistake of course. Just to check you were ... erm ... paying attention :oops:

In other news: nekosync 1.2r8 - now in glorious technicolour!