Movatterモバイル変換


[0]ホーム

URL:


HOMEREPOSITORYHOWTOFAQSUBMISSIONS

Advanced Search

Submission Guidelines

The SlackBuilds.org project is maintained by a small group of people,but we want the scripts in our repository to be representative of theentire Slackware user community. There's no way that the few of us canpossibly write scripts for all of the extra applications that users wantto have, so we depend on YOU to help us out. If there's some applicationthat you use, and we don't have it in our repository already, pleaseconsider writing a build script for it and submitting it to us for possibleinclusion. See below for our submission requirements.

Submit scripts for possible inclusion using ourSlackBuilds Upload Form, but make sure you follow the guidelinesbelow.Do not include the source code or your upload will berejected.

Before expending time and effort in writing a build script, be sure tosearch our repository to make sure one doesn't already exist. Also, youmay wish to have a look atthe pending queue tosee if someone else has already submitted what you're planning to do.It might be a good idea to look atthe ready queueas well to see what updates are going to be part of the next publicupdate.

You will still need to read the list of requirements, but we haveSlackBuild Script Templates availableif you would like to download them for easy editing.

All submissions should be an archive, compressed or uncompressed -either one is fine - (tar, tar.gz, tar.bz2, or .tar.xz) of a directory(named according to the application's name) containing at least thefollowing files:

$PRGNAM.SlackBuild (for instance, rdesktop.SlackBuild)
slack-desc
README
$PRGNAM.info (for instance, rdesktop.info)

$PRGNAM.SlackBuild Requirements

  • Follow ourtemplate scripts as much aspossible. Deviations are fine where needed, but don't change thingsto be "more clever" or some such - we like consistency
  • You will need to note the author of the script and add licensinginformation. The only requirement we have is this: thelicensemust be open-source and allow for modification andredistribution of the modified version.
    • We strongly suggest you use the BSD/MIT style licenseas seen in thetemplates.
    • If you do not specify a license then your submissionmight be rejected.
    • If you wish to license your scripts under a GPL orvariant, then be sure to include a copy of the licensewith your submission if the license requires it. Wedon't encourage these licenses, as the license is oftenmuch longer than the script itself, but that'syour call.
    • Wedo not accept "Public Domain" scripts.Public domain is not valid in some countries, and no licenseis worse than a "bad" license in those countries.

The README file

The README file should containat least the following information:

  1. A descripton of the application. The most common wayto do this is by including the contents of the slack-descfile (without the "$PRGNAM:" portion), but you may deviatefrom this if needed. Have a look at some of the otherREADME files to get an idea of what is expected.
  2. Any optional application and/or library dependencies that arenot included in the official Slackware package set and not listedas part of REQUIRES in the .info file; youshould also note the home page of the dependencies.
  3. Any other relevant information that might be usefulto someone using the script:
    • Is special configuration needed beforebuilding the package?
    • Is special configuration needed afterinstalling the package?
    • Is this application incompatible withsome other application?

The $PRGNAM.info file

The info file should contain the following information intheexact format given below:

  • PRGNAM="(name of application)"
  • VERSION="(version of application)"
  • HOMEPAGE="(homepage of application)"
  • DOWNLOAD="(direct download link(s) of application source tarball(s),
    arch-independent or x86)"
  • MD5SUM="(md5sum(s) of the source tarball(s) defined in DOWNLOAD)"
  • DOWNLOAD_x86_64="(direct download link(s) of application source tarball(s), x86_64 only)"
  • MD5SUM_x86_64="(md5sum(s) of the source tarball(s) defined in DOWNLOAD_x86_64)"
  • REQUIRES="(required build-time and run-time dependencies; optional dependencies at maintainer discretion)"
  • MAINTAINER="(name of SlackBuild script maintainer)"
  • EMAIL="(email address of maintainer)"
For example, see the followingrdesktop.info file:

PRGNAM="rdesktop"
VERSION="1.4.1"
HOMEPAGE="http://rdesktop.org"
DOWNLOAD="http://downloads.sourceforge.net/rdesktop/rdesktop-1.4.1.tar.gz"
MD5SUM="78dd2bae04edf1cb9f65c29930dcc993"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Robby Workman"
EMAIL="rworkman@slackbuilds.org"

Pay attention to the fact that all values are enclosed in doublequotes; this is a requirement. Other double quotes embeddedin the string are not allowed.

REQUIRES contains a space-separated list of all required build-time and run-time dependencies, each named exactly as listed on the SlackBuilds.org site. It should not contain anything that is part of Slackware itself. The content of REQUIRES should only be first level dependencies (i.e. no deps of deps).

Optional dependences should not be listed in REQUIRES - they should still be listed in the README (and preferably will list what feature the optional dependency provides). If the maintainer feels that a dependency is, while technically optional, strongly recommended enough to require it, that is generally acceptable - we'll retain veto power on that but we expect that it won't be an issue.

Listing %README% as part of REQUIRES indicates that important information about dependencies is available in the README and that the script may not function correctly, or may produce undesired results, without user intervention. This is entirely for the aid of automated tools, since users should be reading the README in the first place.

Note that the MD5SUM entry containsonly the actual checksum rather than the full output of themd5sum command.

Note that the MAINTAINER entry is subject to change; the author of the script should be noted in the actual script itself, and while it will often (usually) be the same as the MAINTAINER, this allows a script author to turn over maintenance of the script to another individual.

If the source tarball is the same for all archs, leave DOWNLOAD_x86_64 and MD5SUM_x86_64 empty. If the application does not build on one of the supported architectures, mark it as UNSUPPORTED like this:

DOWNLOAD="UNSUPPORTED"

or

DOWNLOAD_x86_64="UNSUPPORTED"

In this case you can leave the respective MD5SUM entry empty.
If the application does not build on a clean Slackware64 system, but would if there were 32bit compatibility libraries present at build time, you can mark it as UNTESTED:

DOWNLOAD_x86_64="UNTESTED"

If an application requires multiple source downloads, you can define it like this:

DOWNLOAD="dl1 dl2 dl3"
MD5SUM="md5_of_dl1 md5_of_dl2 md5_of_dl3"

Other concerns

  • No custom patches unless absolutely necessary; if at allpossible, we want to maintain the Slackware philosophy ofdistributing "clean" stuff - if it's not in the upstreamsources, then it probably doesn't need to be in our scripts.However, we are a bit more liberal about this than Pat is -if a patch (or set of patches) makes the packaging processeasier or more efficient, we'll often include the patches.

  • As a general rule, we do not accept SlackBuild scriptsof software that is included as part of Slackware; however,exceptions may be made by the admin staff on a case-by-casebasis.

  • It's recommended to use plain ASCII for all files thatare being submitted to SBo.

  • We now have linting tools to test SlackBuilds andfinished packages before using the submission form.Sbolint and sbopkglint can be found in thesbo-maintainer-tools SlackBuild available in the repo:sbo-maintainer-tools
    Development of these is ongoing, so it is recommended tostill inspect package contents and scripts manuallytoo, but, at the end of the day, they will save time andthe frustration of rejection/resubmission.

Once you're certain that your script meets our guidelines,submit it using theSlackBuilds Upload Form.

Home Change Log RSS Feed Mailing Lists Report A Bug Contact Us Contributors

© 2006-2025SlackBuilds.org Project. All rights reserved.
Slackware® is a registered trademark ofPatrick Volkerding
Linux® is a registered trademark ofLinus Torvalds


[8]ページ先頭

©2009-2025 Movatter.jp