File Release System/6.1

From FusionForge Wiki
Revision as of 15:16, 2 November 2017 by Nerville (talk | contribs) (Package/Release/File)

Jump to: navigation, search

This page in other versions: master

FusionForge provides a feature to organize deliverable/product/file releases. Organized by package, release, files, this feature relies on RBAC for permission.

Main Features

  • unlimited organized packages/releases/files
  • public/private packages

Available Widgets

user oriented widgets

project oriented widgets

forge oriented widgets


To enable this system at forge level, the configuration flag use_frs must be set to yes. Per project, the system can be enable/disable through the Project admin tab.


FRS Access Permissions block in Role
FRS Per Package Permissions block in Role

Relying on RBAC, FRS permissions are splitted into 2 groups.

  • FRS access level permissions:
    • No access: Any access to FRS is disabled.
    • FRS access: When set, the per package setting applies
    • FRS Administration: when set, then role has full access to any package and any action over package/release or file.
  • Per Package permissions:
    • No access: disable any access to the package and his content.
    • Read access: can browse/download files/releases in the package
    • File Management: create/modify/delete files in the package.
    • File & Release Management: create/modify/delete files & releases in the package.
    • Package admin: full permission on any action on the package/release/file.

The section Default for new packages applies when new package is created.

Main Page

  • View File Release:
  • Reporting:
  • Administration:


FusionForge proposes to organize hierarchicaly binaries/deliverables or any other items. One package can include unlimited number of releases which include unlimited number of files. There are no relation between different releases of the same package. There are no rules to name packages or releases.











inject-files.php script

The inject-files.php is located in ~/fusionforge/bin/ directory. This script must be executed on the FusionForge hosting server.

The script creates packages based on the content of a parameter file files.txt which must be located in the same directory than the script.

The content of files.txt file must respect the following format:

  • each line describe one file.
  • each line must have 8 parameters separated by colons.
    • project: the unixname of the project
    • packagename: name of the package. If package does not exist, the package is created.
    • releasename: name of the release. If release does not exist, the release is created.
    • filepath: full path to the file to attach to the release
    • notes: Notes of the release. Only used if release does not exist.
    • changes: Changes of the release. Only used if release does not exist.
    • type: File Type. Integer. See below for values.
    • processor: Processor Type. Integer. See below for values.

type and processor values are respectively ids from frs_filetype and frs_processor.

  • type values taken from SELECT * from frs_filetype:
 1000 | .deb
 5000 | Source .zip
 5010 | Source .bz2
 5020 | Source .gz
 5900 | Other Source File
 9999 | Other
  • processor values taken from SELECT * from frs_processor:
 1000 | i386
 6000 | IA64
 8000 | Any
 9999 | Other

Example of file:

 demoproject:MyPackageA:'1.0':/path/to/the/release/file:'new release':'security fix':5010:9999

forge command line

The forge command line is located in ~/bin/ directory.

The command line supports package/release import or export. Detail information here