AminetAminet wiki
Search:
Aminet
Navigation:
News
About
Help
External links
Development
Donations
Special:
All pages
Search

Admin.pl

Introduction

First of all, here's what happens to an upload after the author uploaded it and before any of the admins moderates it:

If somebody uses his FTP client to connect to main.aminet.net and uploads a new package, it will end up in the directory new/. This directory contains several subdirectories:

  new/  
  new/priv/  
  new/priv/check/  
  new/priv/deleted/  
  new/priv/okay/  
  new/priv/refused/

Every ten minutes, a script will move all files in new/ to new/priv/check/. Everything in priv/ (and its sub directories) is hidden from the public, this way new/ always looks 'clean'.

Every now and then, another script called "archivecheck.pl" will check the archives in new/priv/check/. Currently, only the archive integrity is checked, at some point in time this script will (hopefully) perform a virus check aswell.

The result of said check will be written to a textfile in new/priv/okay/: For new/priv/check/foo.lha, a textfile called new/priv/okay/foo.lha will be created, containing either "OKAY" or "CORRUPT".

The remaining two directories (deleted/ and refused/) in new/priv/ are used to store packages that were deleted from the Aminet archive or uploads that were refused.

The moderator takes over

You start the admin script simply by typing "admin.pl" in the shell. admin.pl will go through all #?.readme files in new/priv/check/, one by one - for each readme, it will perform various checks. It may come up with one of the following error messages:

  • "no archive found for priv/check/foo.readme"

    For now, Aminet only accepts the filetypes listed here:

    http://main.aminet.net/info/adt/suffixes

    The current readme is foo.readme, but there is no file called foo.lha (or foo.lzh, foo.run etc.). In other words: the uploader forgot to upload the archive or he used a filetype that Aminet does not accept (e.g. foo.rar). Therefore, the current readme will be ignored.

  • "skipping unchecked: priv/check/foo.lha"

    The current readme (foo.readme) belongs to foo.lha (or foo.lzh, foo.run etc.), but the integrity of foo.lha has not been checked yet (i.e. there's no textfile new/priv/okay/foo.lha). Unchecked archives may not be added to the Aminet archive, therefore this upload can not be moderated yet and will be ignored for now.

  • "archive corrupt: priv/check/foo.lha"

    The current readme (foo.readme) belongs to foo.lha, but acording to new/priv/okay/foo.lha, the archive is corrupt. You will be asked if you want to delete the file and if the uploader specified an e-mail address, admin.pl will now ask:

    flame author? y/N

    "flame" is short for "notify uploader via e-mail". The uppercase N indicates that the default answer (the one admin.pl assumes if you just hit RETURN) is "No". But in case of a corrupt archive, we should of course notify the uploader, so you should answer the question with "y".

Moderating uploads

If the readme passes all of the above checks, admin.pl will present you with a short 'menu':

  priv/check/ccd2iso.lha ....
  Short: Convert CCD (CloneCD) files to ISO-9660
  Architecture: m68k-amigaos
  [f]lame | [d]elete | [i]gnore | [r]eadme | [e]dit readme | [l]ist archive | [util/misc]:

The first line is the package's filename, followed by the "Short:" line from the readme and the Architecture: field from the readme. Below are your options, which are selected by typing the letter enclosed in brackets, followed by RETURN:

[f]lame

(Only appears if the uploader specified an e-mail address) Use this if you want to notify the uploader about something, i.e. if you move his upload to another directory, if he forgot to add the architecture: field etc. If you invoke the flame option, you will be presented with a list of predefined notifications. Pick one and a message will be sent to the uploader. Choose "99 - other reason" if you want to write your own message to the uploader.

[d]elete

Select this if you are sure that the upload should not be accepted for some reason. The archive will be moved to new/priv/refused/. If the uploader specified an e-mail address, admin.pl will now print a list of possible reasons (e.g. "unclear legal status" etc.) - select one and the uploader will be 'flamed'. If you don't want to flame the uploader (e.g. because he's a known PITA and keeps reuploading), just hit RETURN.

[i]gnore

Upload will not be processed and will come up again next time admin.pl is invoked. Use this if you're not sure how to handle an upload (e.g. if you're not sure about its legal status) and report to the mailing list.

[r]eadme

display the full readme. Use SPACE and BACKSPACE to flip the pages forwards/backwards, hit Q to quit back to the menu.

[e]dit readme

Invokes a text editor and allowes you to edit the readme. Might be handy if you spot obvious errors in the Short: field, or if some #amigazeux member uses the readme to insult OS4 users ;-) The text editor displays a list of keyboard shortcuts at the bottom, should be rather easy to understand ("^W" stands for "Control-W").

[l]ist archive

Lists the content of the current archive. Useful for checking (or guessing) what binaries the archive contains, if it contains binaries at all etc.

[util/misc]

This is not really an option, it's the target directory specified in the readme (like this: "type: disk/cdrom"). If you just hit RETURN, the upload will be accepted and moved to this directory. Instead of accepting the directory specified by the uploader, you may also enter a different directory ("util/shell" followed by RETURN) and the upload will be moved there instead.

Once you decided to accept an upload, admin.pl may throw one of these error messages at you:

  • specified directory does not exist

    The directory specified by the uploader (or you, if you decided to enter a new target directory) does not exist. Most likely caused by a typo, admin.pl will ask you to enter the target directory again.

  • archive already exists on Aminet

    If you just accepted foo.lha and a file with the same name already exists in the target directory, admin.pl will give you several options. You can compare the two uploads, delete the existing archive, delete the uploaded archive etc.

Once all readmes in new/priv/check/ are processed, admin.pl will quit and you'll be back at the shell prompt.

Further notes

  • admin.pl can be aborted at any time using Control-C
  • If admin.pl complains about lots of unchecked archives (unlikely, but may happen if lots of uploads just arrived), you can abort it and run "archivecheck.pl" manually. Once it is done, invoke admin.pl again.
  • the useless stuff in new/priv/check (foo.rar, readmes without archives, archives without readmes etc.) does not get deleted automatically yet. I can take care of that for now (delete it regulary), it's just that I'm to lazy to write down another tutorial on unix path names and the rm command ;-)
Page generated in 0.05 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>