Sign in Join
Wiki copytemporary

Online Package Manager/es: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Online Package Manager/es

OldNewLine
1+## Acerca de
2+
3+Online Package Manager(OPM) es una utilidad que automatiza el proceso de instalación, actualización y configuración de los paquetes de Lazarus. Los paquetes se almacenan en el repositorio principal como fichero .zip (ver columna de repositorio), junto con su correspondiente fichero JSON. El fichero JSON contiene toda la información necesaria sobre los paquetes. Realizada la petición los paquetes son descargados/extraidos/compilados/instalados en el IDE. También es posible actualizar un paquete previamente instalado si hay disponible una versión más actualizada en la página web del mantenedor (ver columna update). Hay además disponible una versión del Repositorio de Paquetes de Lazarus en el siguiente enlace: <http://packages.lazarus-ide.org/>.
4+
5+` `<span style="color:red">**`Please note:`**</span>`  `\
6+` OPM lee la descripción del paquete a partir del fichero lpk. 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. `\
7+` 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 `\
8+` description is not realistic.`
9+
10+### Pantallazos
11+
12+<figure>
13+<img src="OPM6.png" title="OPM6.png" />
14+<figcaption>OPM6.png</figcaption>
15+</figure>
16+
17+<figure>
18+<img src="OPM7.png" title="OPM7.png" />
19+<figcaption>OPM7.png</figcaption>
20+</figure>
21+
22+### Licencia
23+
24+[GNU General Public License](https://opensource.org/licenses/gpl-license)
25+
26+### Descargas
27+
28+Online Package Manager (OPM) forma parte de las fuentes de Lazarus. Se encuentra en el directorio (\$LazarusDir)/components/onlinepackagemanager.
29+
30+### Requerimientos del sistema / Dependencias
31+
32+- FPC 3.0.0 o superior.
33+- Lazarus 1.8 o superior.
34+- Puedes descargar una versión más antigua para las series 1.6: [OPM 1.6](https://drive.google.com/open?id=0B9Me_c5onmWobVZOdVlXSlZRRmc)
35+- Estas versiones están disponibles a fecha de escritura de esta actualización.
36+- Testeado en los siguientes widgeset: win32/64, gtk2, carbon, qt(win)
37+- El gestor de paquetes no depende de otros paquetes externos.
38+
39+### Installation
40+
41+In Lazarus "Install/Uninstall Packages" window select "OnlinePackageManager" from the available packages, click "Install selection" and then rebuild the IDE.
42+
43+### Support page
44+
45+<http://forum.lazarus.freepascal.org/index.php/topic,34297.0.html>
46+
47+## Using the package manager
48+
49+### Getting started
50+
51+Go to Lazarus Menu--\>Package--\>Online Package Manager(Shortcut key: \[Ctrl\] + \[Alt\] + 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).
52+
53+### Filter the tree/Locate a package
54+
55+<figure>
56+<img src="OPM3.png" title="OPM3.png" />
57+<figcaption>OPM3.png</figcaption>
58+</figure>
59+
60+You can filter the package list by:
61+
62+- Packagename
63+- Package file(.lpk)--\>a repository package can contain multiple lpk files
64+- Package category
65+- Package status
66+- Version
67+- Description
68+- Author
69+- Lazarus compatibility
70+- FPC compatibility
71+- Supported widget sets
72+- Packagetype
73+- Dependencies
74+- License
75+
76+### Operation with packages
77+
78+<figure>
79+<img src="OPM4.png" title="OPM4.png" />
80+<figcaption>OPM4.png</figcaption>
81+</figure>
82+
83+#### Refresh package list
84+
85+Press the "Refresh" button to update the package list.
86+
87+#### Download package
88+
89+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.
90+
91+#### Install a package
92+
93+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+.
94+
95+#### Update a package
96+
97+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. <span style="color:red">**Please note:**</span> downloading/installing packages from external link is not without a risk. Only update the package if you trust the package maintainer.
98+
99+#### Difference between download/install/update
100+
101+Download/Install --\> Operations between you and the main repository.
102+
103+Update --\> Operations between you and the package maintainers.
104+
105+<figure>
106+<img src="OPM10.png" title="OPM10.png" />
107+<figcaption>OPM10.png</figcaption>
108+</figure>
109+
110+Video link: [Difference between download/install/update](https://www.youtube.com/watch?v=wiN2GoCvgjc)
111+
112+#### Cleanup local repository
113+
114+This operation will delete all non-installed packages/archives from the local repository. To cleanup the local repository press the "Cleanup" button.
115+
116+#### Create
117+
118+*This section is for package maintainers. First you must go to Options--\>Profiles and select package maintainer.*
119+
120+##### Create repository package
121+
122+To create a repository package press "Create repository package" menu item, then:
123+
124+- select the package main directory(package manager will recursively search for all package files inside the folder)
125+- select the repository package(root node)
126+ - choose category(obligatory)
127+ - type display name(optional)
128+ - home page(optional)
129+ - update link(optional, for more details see "Create JSON for updates"[1](http://wiki.freepascal.org/Online_Package_Manager#Create_JSON_for_updates)" below)
130+ - create JSON for updates(optional), has the same functionality as "Create JSON for updates"[2](http://wiki.freepascal.org/Online_Package_Manager#Create_JSON_for_updates)" dialog. It was also added here to speed up the process.
131+
132+<figure>
133+<img src="OPM15.png" title="OPM15.png" />
134+<figcaption>OPM15.png</figcaption>
135+</figure>
136+
137+- check each package you wish to include, adjust package info if necessary(lazarus/fpc compatibility, supported widgetset, etc)
138+
139+<figure>
140+<img src="OPM16.png" title="OPM16.png" />
141+<figcaption>OPM16.png</figcaption>
142+</figure>
143+
144+- press the create button, if all goes well you should get a zip and a json file. Upload somewhere the files and send the link to getmem1@gmail.com or
145+- press the submit button, the files are directly uploaded to a remote server.
146+
147+Every package will be accepted after a short check(malware, license, etc). Multiple versions of the same package is also allowed.
148+
149+##### Create JSON for updates
150+
151+To allow the user to update the package directly form your webpage, follow this steps:
152+
153+- Make sure your package is already in the main repository(see previous section)
154+- You can download and use the [[OPM External Update json Editor|Online Package Manager External Update json Editor]]
155+ - or via OnlinePackageManager:
156+
157+- Check the package, press the "Create JSON for upates" menu item then create the JSON.
158+
159+<figure>
160+<img src="OPM11.png" title="OPM11.png" />
161+<figcaption>OPM11.png</figcaption>
162+</figure>
163+
164+- Edit the JSON, upload to your webpage, then send me the link.
165+
166+The JSON will look like this:
167+
168+<figure>
169+<img src="OPM12.png" title="OPM12.png" />
170+<figcaption>OPM12.png</figcaption>
171+</figure>
172+
173+Editable items in the JSON:
174+
175+**"DownloadZipURL"** --\> Link to your new, updated package
176+
177+**"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.
178+
179+**"Version"/"ForceNotify"/"InternalVersion"** --\> To trigger an update message on the users computer, you can either:
180+
181+- Increase the **"Version"** number. Useful when you want to release a new version of the package.
182+- Set **"ForceNotify"** to true. Useful after a minor change in your source, that does not require a version change or in case of trunk version. To prevent continous error messages, **"ForceNotify"** must be used in combination with **"InternalVersion"**. After the user updates the package, OPM locally stores the **"InternalVersion"** value. If you want to trigger a new message, increase **"InternalVersion"** with one. If **"ForceNotify"** is true, **"Version"** is always ignored.
183+
184+The most common scenario is this:
185+
186+- Generate the JSON
187+- Modify **"DownloadZipURL"**
188+- Increase version number when necessary.
189+
190+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).
191+
192+#### Options
193+
194+To display the options dialog press the "Options" button.
195+
196+### Create a private repository
197+
198+In order to create a private repository please do the following:
199+
200+1\. First make sure profile "Package maintainer" is enabled in Options--\>Profiles, then open the private repository form(see screenshot below)
201+
202+<figure>
203+<img src="OPM17.png" title="OPM17.png" />
204+<figcaption>OPM17.png</figcaption>
205+</figure>
206+
207+2\. Press the "Create" button. Enter repository Name, Address(optional), Description(optional). Save the repository to an empty folder
208+
209+<figure>
210+<img src="OPM18.png" title="OPM18.png" />
211+<figcaption>OPM18.png</figcaption>
212+</figure>
213+
214+- If filled, the repository address(in this case <http://localhost/packages/>) is automatically added to available repository list(Options form)
215+
216+<figure>
217+<img src="OPM19.png" title="OPM19.png" />
218+<figcaption>OPM19.png</figcaption>
219+</figure>
220+
221+3\. Start to add/delete packages. You have two choices:
222+
223+a\. Create a new package via <http://wiki.freepascal.org/Online_Package_Manager#Create_repository_package>
224+
225+b\. Add a previously saved package
226+
227+<figure>
228+<img src="OPM20.png" title="OPM20.png" />
229+<figcaption>OPM20.png</figcaption>
230+</figure>
231+
232+4.You can also open a previously saved repository. The last repository is automatically opened on startup.
233+
234+5.Upload the files(packagelist.json, *.zip) to your local or remote server.
235+
236+6.Make sure the server is running, the change "Remote repository" in Options--\>General
237+
238+---
239+*From the Free Pascal wiki, page "Online Package Manager/es", as it stood on 2019-10-12 after a change by FTurtle, 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](/wiki-contact).*

Back to history