I think it's time to create a standard way for users to distribute their addons to purebasic...
The community has produced in the past few months a high quantity of good work that interfaces/works with purebasic, and i for one i'm starting to be confused with the amount and diversity of those projects...
I feel it is time to create rules, simple and clear, for the way that work is distributed...
User Deployment Packages
You know since you suggested it you get to be the first to suggest such rules 
-Mitchell
Check out kBilling for all your billing software needs!
http://www.k-billing.com
Code Signing / Authenticode Certificates (Get rid of those Unknown Publisher warnings!)
http://codesigning.ksoftware.net
Check out kBilling for all your billing software needs!
http://www.k-billing.com
Code Signing / Authenticode Certificates (Get rid of those Unknown Publisher warnings!)
http://codesigning.ksoftware.net
-
Num3
- PureBasic Expert

- Posts: 2812
- Joined: Fri Apr 25, 2003 4:51 pm
- Location: Portugal, Lisbon
- Contact:
Evil Karbon
I think something in the line of AMINET rules would be nice...
An example (big one... could be simpler)
I think something in the line of AMINET rules would be nice...
Code: Select all
PUBLIC UPLOADS
--------------
The main difference between Aminet and most other ftp sites is that all
uploads have a description. They're collected automatically and listed in
RECENT and INDEX. These short (40 characters) descriptions come from the
.readme files uploaded along with the binaries.
Whenever you upload something, create .readme file for it. An example:
Along with PictureView.lha you would upload PictureView.readme. That file
could look about like this (no blank lines at the start, and don't
include the CUT HERE lines): ///// Edit by Num3 - Eh eh eh Dumb users/////
--------------------------------CUT HERE------------------------------
Short: Shows JPEG & IFF pics. AGA support. V1.2
Uploader: umueller@amiga.icu.net.ch (Urban Mueller)
Author: umueller@amiga.icu.net.ch (Urban Mueller)
Type: gfx/show
This all new picture displayer is capable of showing almost any image
type in any resolution. Main features include:
- Scrolling screens
- CLI and WB interface
......
--------------------------------CUT HERE------------------------------
The meaning of these fields is:
Short: is the only mandatory field, and has to be in the first
line. It lets you specify a 40 character description of your
upload, that will be seen and INDEX and RECENT so everyone
can easily learn about your upload. Don't repeat the file
name here, but if several versions of your archive exist,
specify the version number here. Try to explain what the
program *does*. Music should specify the style and author.
Don't boast or use much uppercase.
Uploader: lets you indicate your email address so we can contact you
if something goes wrong (and this happens more often than
you think). Please always provide it.
Author: is the place where you can indicate who created the piece of
software you uploaded.
Type: is the place where you can propose a directory where the file
should be moved. Check the file TREE for possible subdirs. If
you want a new dir, read info/start/newdir.txt
Now for some completely optional fields:
Kurz: is the German version of Short:
Replaces: lets you specify files that are superseded by your upload.
Give full path, e.g. biz/patch/PageStreamPatch*
Not needed if you overwrite an earlier file with same name.
Requires: other archives that your upload needs to work, with full
path. Also name OS, mem and chipset requirements here.
Version: the version number of your upload. Don't use version
numbers in files names if possible.
Distribution: lets you specify where your upload is OK to distribute.
If you specify the 'NoCD' keyword here, your upload will
not appear on the CD's made of this site. If you specify
'Aminet', you only give Aminet the distribution permission.
After a blank line, you may add a longer description, that could for
example be the README found inside the archive. Don't rely on people
downloading the .readme file, the info found there should be in the
archive, as well.
Notes:
- If your upload requires a language other than English, please mention
that language in the Short: description.
- If your upload is shareware, restricted or just a demo version, mention
that in the .readme
- You can overwrite old versions of your uploads by uploading again
using the same file name. This is the preferred way to do updates.
However don't update within 10 days of previous upload.
- If you want to make sure your file is not renamed on the CD, only use
letters, digits and _ in the name and make sure the first 8 characters
are unique.
FILE NAME CONVENTIONS
---------------------
The maximum file name length is 18 characters including the archiver suffix
(.lha, .lzh). Mixed case is OK, but it should be mainly lowercase. If your
file name is generic (ls, pipe), append your initials (pipe-JU). Version
numbers are better in the Short: descriptions than in the file name. Also,
please do not upload in any other file format than .lha or .lzh. Also, .jpg
and .mpg files can be uploaded without putting them in archives. If you're
uploading from a PC, you may use .rea instead of .readme. By adhering to
these rules you can save a lot of beginners a lot of trouble.
CHECK LIST
----------
- Are the archives okay? Test on the computer you transfer from
- Is there a .readme for *every* file you are about to upload?
- Are the base names of the .readme and the archive the same? Same case?
- Are all archive names 18 characters or shorter?
- Is there a Short: and if possible an Uploader: field in the .readme's?
- Does none of the archives contain copyrighted or Workbench material?
- Is the archive free of BBS ads?
Thanks for checking, you're saving us a lot of work.
Code: Select all
Short: Lossless audio codec
Author: Josh Coalson
Uploader: Diego Casorran <dcr8520@amiga.org>
Version: 1.1.0
Type: mus/edit
Requires: ixemul.library
FLAC (http://flac.sourceforge.net/) is an Open Source lossless audio
codec developed by Josh Coalson.
FLAC is comprised of
* `libFLAC', a library which implements reference encoders and
decoders, and a metadata interface
* `libFLAC++', a C++ object wrapper library around libFLAC
* `libOggFLAC' and `libOggFLAC++', which provide encoders and
decoders for FLAC streams in an Ogg container
* `flac', a command-line program for encoding and decoding files
* `metaflac', a command-line program for editing FLAC metadata
* player plugins for XMMS and Winamp
* user and API documentation
The libraries (libFLAC, libFLAC++, libOggFLAC, and libOggFLAC++) are
licensed under the GNU Lesser General Public License (LGPL). All other
programs and plugins are licensed under the GNU General Public License
(GPL). The documentation is licensed under the GNU Free Documentation
License (GFDL).
===============================================================================
FLAC - 1.0.5_beta2 - Contents
===============================================================================
- Introduction
- Building in a GNU environment
- Building with Makefile.lite
- Building with MSVC
- Building on Mac OS X
- Note to embedded developers
Hahahaha
*shuts up* !
*shuts up* !
-Mitchell
Check out kBilling for all your billing software needs!
http://www.k-billing.com
Code Signing / Authenticode Certificates (Get rid of those Unknown Publisher warnings!)
http://codesigning.ksoftware.net
Check out kBilling for all your billing software needs!
http://www.k-billing.com
Code Signing / Authenticode Certificates (Get rid of those Unknown Publisher warnings!)
http://codesigning.ksoftware.net
Re: User Deployment Packages
Nice idea!Num3 wrote:I feel it is time to create rules, simple and clear, for the way that work is distributed...
Acceptance would be highest I think if we were able to package from within PureBasic, using an AddOn.
Maybe something like the Python Package Manager (PPM.py) that comes with the ActiveState version of Python. Its a simple command line utility that searches a place on a server somewhere (Fred? any spare space? CVS?
) and lists, user or official 'addons', libs, etc... and give you the option to download them. very simple and very user friendly, could even be coded with a nice GUI.
If Fred doesn't have the space I'd be more than happy to host anything needed...
-Mitchell
Check out kBilling for all your billing software needs!
http://www.k-billing.com
Code Signing / Authenticode Certificates (Get rid of those Unknown Publisher warnings!)
http://codesigning.ksoftware.net
Check out kBilling for all your billing software needs!
http://www.k-billing.com
Code Signing / Authenticode Certificates (Get rid of those Unknown Publisher warnings!)
http://codesigning.ksoftware.net
-
Num3
- PureBasic Expert

- Posts: 2812
- Joined: Fri Apr 25, 2003 4:51 pm
- Location: Portugal, Lisbon
- Contact:
Ok, here's the first scratch...
Code: Select all
---------------------+ Header +----------------------
Name :
Version :
Short :
Replaces :
Type :
Requires :
OS :
Author :
Contact :
Uploader :
------------------+ Description +--------------------
Name : [Name of you app / code / library]
Version : [Version Number]
Short : [Short description max 50 chr]
Replaces : [Leave blank if does not replace anything]
Type : *
Requires : [Indicate here if requires any library]
OS : [Target OS]**
Author : [Your name / nick]
Contact : [Your email]
Uploader : [Email of person who uploaded]
* Available types
[For Executables]
|-Application
|-Demo
|-User Library
|-Editor Add-on
[For Code]
+General Libraries
|-2D Drawing
|-CDAudio
|-Cipher
|-Clipboard
|-Console
|-Database
|-Date
|-File
|-FileSystem
|-Font
|-Gadget
|-Help
|-Image
|-ImagePlugin
|-Library
|-Linked List
|-Math
|-Memory
|-Menu
|-Misc
|-Movie
|-Network
|-OnError
|-Packer
|-Preference
|-Printer
|-Requester
|-Sort
|-StatusBar
|-String
|-SysTray
|-Thread
|-Toolbar
|-Window
|
+2D Games Libraries
|-Joystick
|-Keyboard
|-Module
|-Mouse
|-Palette
|-Sprite & Screen
|-Sprite3D
|-Sound
|-SoundPlugin
|
+3D Games Libraries
|-Engine3D
|-Billboard
|-Camera
|-Entity
|-Light
|-Material
|-Mesh
|-Particle
|-Terrain
\-Texture
** Target OS
+
|-All
|-Windows
|-Linux
|-Amiga
\-Future
