1 2022-12-31 Matias Fonzo <selk@dragora.org>
3 * Version 2.11 released.
5 * Do not print message from make_directory() function:
6 The message is sent to the standard output, but in a pipe
7 this could be taken as the input, which gives error using
8 the build mode, for example. This fixed a bug introduced in
11 * README.md: Generalize the url address.
13 * doc: Improve semantic of copyright paragraph.
15 2022-09-07 Matias Fonzo <selk@dragora.org>
17 * Version 2.10 released.
19 * The default output directory can now be specified via `configure`.
21 * A new function to validate incoming packages has been added to the
24 * A new function to check and make directories has been added to the
27 * The -L option to print the default directory locations is no longer
28 static, it can now, for example, display the target directory
31 * recipes: Fixed missing message when setting the special variable
34 * recipes: Added new special variable 'opt_skiprecipe' to ignore and
35 continue with the next recipe cleanly.
37 * Refactoring of the code as well as improvements to it, minor but no
38 less important changes have been made for this release.
40 * The documentation plus the CREDITS file have been updated.
42 2022-06-22 Matias Fonzo <selk@dragora.org>
44 * Version 2.9 released.
46 * Allow passing or changing options to tarlz(1) via configuration file
47 (qirc) or just setting the special variable 'tarlz_compression_options'
48 from a particular recipe.
50 * Adjusted the simple detection of the package directory when trying
51 to remove a package, this avoids a possible collision if it finds
52 the package name as a regular file.
54 * recipes: Added support for zstd(1) extensions.
56 * recipes: Sample recipes have been updated.
58 2022-05-02 Matias Fonzo <selk@dragora.org>
60 * Version 2.8 released.
62 * Use full remove mode when upgrading a package. The purpose of this
63 change is to clean up the removal of a previous package when the
64 upgrade mode is invoked. Previously the package documentation
65 directory (and other possible files) were left on the filesystem.
69 2021-12-14 Matias Fonzo <selk@dragora.org>
71 * Version 2.7 released.
73 * Now Qi is more precise with exit status number 4 and 6, by hitting
74 "exit" instead of just returning from the functions.
76 * Small corrections for the description of Qi and also for the manual
77 have been sent by Antonio Diaz Diaz. Thanks!
79 2021-11-01 Matias Fonzo <selk@dragora.org>
81 * Version 2.6 released.
83 * build: Make a checksum file for the copy of the recipe (the one
84 included in the package, from which the recipe was built).
86 * Do not read the configuration file on create, extract, and order
87 modes. It is not necessary to read the config file in these modes.
91 2021-09-28 Matias Fonzo <selk@dragora.org>
93 * Version 2.5 released.
95 * Searching for previously installed packages in an upgrade has been
96 simplified, which will speed up and save resources in upgrade mode.
98 * The network downloader has been changed to make use of GNU Wget2.
100 * Minor enhancements.
102 2021-04-12 Matias Fonzo <selk@dragora.org>
104 * Version 2.4 released.
106 * recipes: Added the variable "QICPPFLAGS" to pass the C/C++
107 preprocessor flags to the environment variable "CPPFLAGS".
109 * recipes: Added the "docs" and "docsdir" variables to be unset
110 after processing a recipe.
112 * recipes: Added support for executing other defined functions
113 besides the main build() function.
115 * recipes: Include build flags only if it is a real architecture
116 when creating a package meta.
118 * Change default values for QICFLAGS, QICXXFLAGS from "-g0 -O2" to
119 just "-O2". Including default value for LDFLAGS from "-s" to
120 just "" (none). This is to provide more generic values in the
121 package manager distribution.
123 * The documentation is in line with the changes made, plus the
124 sample recipes have been updated.
128 2020-12-25 Matias Fonzo <selk@dragora.org>
130 * Version 2.3 released.
132 * doc: The general documentation of Qi has been divided to allow its
133 inclusion from other .texi files. This does not affect the internal
134 functioning of Qi or the reading of the documentation for the user,
135 but rather it prepares for the incoming Dragora Handbook (Dragora is
136 the project from which Qi is currently developed).
140 2020-11-09 Matias Fonzo <selk@dragora.org>
142 * Version 2.2 released.
144 * Get the absolute path name to compose the current working directory
145 when build. A bug introduced in qi-2.0.
147 * The readconfig() function has been simplified.
149 2020-09-07 Matias Fonzo <selk@dragora.org>
151 * Version 2.1 released.
153 * Make the code for searching previous packages in an upgrade work again
154 (bug introduced in previous version).
158 2020-08-22 Matias Fonzo <selk@dragora.org>
160 * Version 2.0 released.
162 * The user interface has been revised to better differenciate commands
163 and options, for example: `qi install` instead of `qi -i`, `qi remove`
164 instead of `qi -d`, `qi upgrade` instead of `qi -u`, `qi build`
165 instead of `qi -b`, and so on.
167 * The layout of the produced package names has been changed to better
168 differenciate the software name and its version.
170 Before: name-version-architecture-release[@pkgcategory].tlz
171 Now: name_version_architecture-release[@pkgcategory].tlz
173 * The verbosity level has been changed to a minimal but essential result,
174 while it can now be adjusted from the configuration file.
176 * configure: The --arch= option has been added to define the default
177 package architecture.
179 * install: Fix assignation of 'rootdir' when it is empty and it
180 relies on the value of 'targetdir' when runs a post-install script
183 * doc: Fix examples for 'rootdir' since the package directory and
184 the target directory are relative to the specified root directory.
186 * recipes: Add the special variable 'keep_destdir' to complement
187 'keep_srcdir' in order to preserve 'destdir' when using build command.
189 * Be quieter by default in relation to the graft(1) output, if the
190 -v option is given it returns to the previous qi output behavior.
192 * Set the --missing-crc option to tarlz(1) by default to make the
193 package integrity check more reliable.
195 * Use the power of awk(1) to display package descriptions.
197 * Check and report if qi is connected to a terminal when reading from
200 * Qi's messages have been improved to differentiate themselves from
201 the output of other programs.
203 * Added "coreutils", "bash", and "mksh" to the blacklist filter when
206 * Support for the SOURCE_DATE_EPOCH specification has been added.
207 See: https://reproducible-builds.org/specs/source-date-epoch/
209 * Default Qi C flags to be passed to the compiler (QICFLAGS, QICXXFLAGS)
210 has been changed from "-g0 -Os" to "-g0 -O2".
212 * The DESCRIPTION, OPTIONS, and ENVIRONMENT sections for the man page
213 (generated by help2man) have been reorganized.
215 * The main Info manual has been refreshed to reflect all these changes.
217 * The examples in the doc directory have been updated.
219 * The CREDITS file has been updated.
221 * Code clean up and minor (but important) enhancements.
223 2020-04-20 Matias Fonzo <selk@dragora.org>
225 * Version 1.4 released.
227 * build: Added support for optional "package category". If the
228 variable 'pkgcategory' is declared in a recipe, Qi will produce
229 packages ala "<name>-<version>-<architecture>+release@category".
231 * general: The configuration file is now included instead of being
232 analyzed. This is to have more room to declare things in general.
234 * build: The 'arch' value is used as suffix for produced packages
235 in order to have a well-organized (per-arch) output directory,
237 /var/cache/qi/packages/noarch/
238 /var/cache/qi/packages/i586/
239 /var/cache/qi/packages/x86_64/
242 * The code of blacklisted packages in the updates has been simplified.
244 * doc: The "Variables from the environment" section has been improved.
246 * build: The 'full_pkgname' variable is now added on the meta tag file.
248 * doc: The manual has been updated to conform to this version.
252 2019-09-10 Matias Fonzo <selk@dragora.org>
254 * Version 1.3 released.
256 * Check the exit status when a recipe is imported or included.
257 This will help to catch possible errors when using shell code,
258 rather than proceeding with the recipe.
262 2019-07-30 Matias Fonzo <selk@dragora.org>
264 * Version 1.2 released.
266 * The variable 'arch' has been added to the package meta file,
267 additionally, the variables 'program' and 'version' has been
268 replaced with 'pkgname' and 'pkgversion' which take the value
269 of those if they have not been previously established.
273 2019-05-19 Matias Fonzo <selk@dragora.org>
275 * Version 1.1 released.
277 * Default external tool for uncompressing files based on .tar.lz
278 archives has been changed in the unpack() function from tarlz(1) to
279 lzip(1) in combination with tar(1). This is because some files
280 could have been produced using a header format that differs from the
281 default format used by tarlz(1), e.g. the GNU format (by GNU tar).
283 * Some phrases have been improved in the manual, under the section
284 "5.3 Writing recipes". Thanks to kelsoo.
286 2019-04-15 Matias Fonzo <selk@dragora.org>
288 * Version 1.0 (stable) released.
290 * The manual (user guide) has been updated.