Sign in Join
Wiki copytemporary

Online Package Manager

English · Español · Русский

About

Online Package Manager(OPM) is a tool that automates the process of installing, upgrading, configuring Lazarus packages. The packages are stored in the main repository(see repository column) as zip files, along with a JSON file. The JSON contains all necessary information about the packages. On request the packages are downloaded/extracted/compiled/installed into the IDE. If available, it's also possible to update a previously installed package from the maintainer webpage(see update column). There's also a web version of the Lazarus Packages Repository available here: http://packages.lazarus-ide.org/.

Please note:

OPM reads the package description from the lpk file. I can understand that the description of many packages is very minimalistic or even non-existent, but there is nothing I can do about it. It's not OK to modify package description or any other property for that matter, without the consent of the package developer. More over testing each and every package, then write a detailed description is not realistic.

Screenshot

License

GNU General Public License

Download

Online package manager is part of Lazarus sources, in directory ($LazarusDir)/components/onlinepackagemanager.

System Requirements / Dependencies

Installation

In Lazarus "Install/Uninstall Packages" window select "OnlinePackageManager" from the available packages, click "Install selection" and then rebuild the IDE.

Support page

http://forum.lazarus.freepascal.org/index.php/topic,34297.0.html

Using the package manager

Getting started

Go to Lazarus Menu-->Package-->Online Package Manager(Shortcut key: Ctrl+Alt+Shift+O). On startup the package manager will automatically download a list with available repository packages, the list is displayed in a tree(see screenshots above).

Filter the tree/Locate a package

You can filter the package list by:

Operation with packages

Refresh package list

Press the "Refresh" button to update the package list.

Download package

Check one or more package then press the "Download" button. This will download/extract the packages to a preselected directory. Nothing gets installed. Useful when you want to install the packages manually or study their sources without installing.

Install a package

Check one or more package then press the "Install" button. The package manager will automatically download/extract/compile/install the selected packages(from the main repository), then rebuild the IDE if necessary(Designtime/Designtime_and_runtime packages). Confirm the rebuild by clicking the "Yes" button. Please note: The compile feature is only available in Lazarus 1.7+.

Update a package

Check one or more package then press the "Update" button. The package manager will update the selected packages from the maintainer's homepage(if available). The package must be installed first, a direct update although is possible, it's not allowed to prevent unresolved dependency error. Please note: downloading/installing packages from external link is not without a risk. Only update the package if you trust the package maintainer.

Difference between download/install/update

Download/Install --> Operations between you and the main repository.

Update --> Operations between you and the package maintainers.

Video link: Difference between download/install/update

Cleanup local repository

This operation will delete all non-installed packages/archives from the local repository. To cleanup the local repository press the "Cleanup" button.

Create

This section is for package maintainers. First you must go to Options-->Profiles and select package maintainer.

Create repository package

To create a repository package press "Create repository package" menu item, then:

Every package will be accepted after a short check(malware, license, etc). Multiple versions of the same package is also allowed.

Create JSON for updates

To allow the user to update the package directly form your webpage, follow this steps:

The JSON will look like this:

Editable items in the JSON:

"DownloadZipURL" --> Link to your new, updated package

"DisableInOPM" --> If you want to temporary disable your package, set this boolean to true. It's useful for maintenance, the package will be grayed out in the tree. The user cannot download/install/update the package.

"Version"/"ForceNotify"/"InternalVersion" --> To trigger an update message on the users computer, you can either:

The most common scenario is this:

Please note: After you edited the JSON the changes are not immediately visible in the tree. Usually it takes 1-2 min. It also depends on the users setting(Options-->General-->Check for package updates).

Options

To display the options dialog press the "Options" button.

Create a private repository

In order to create a private repository please do the following:

1. First make sure profile "Package maintainer" is enabled in Options-->Profiles, then open the private repository form(see screenshot below)

2. Press the "Create" button. Enter repository Name, Address(optional), Description(optional). Save the repository to an empty folder

3. Start to add/delete packages. You have two choices:

a. Create a new package via http://wiki.freepascal.org/Online_Package_Manager#Create_repository_package

b. Add a previously saved package

  1. ou can also open a previously saved repository. The last repository is automatically opened on startup.
  1. pload the files(packagelist.json, *.zip) to your local or remote server.
  1. ake sure the server is running, the change "Remote repository" in Options-->General

see also


From the Free Pascal wiki, page "Online Package Manager", as it stood on 2020-04-28 after a change by GetMem, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 2, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.