1 2024-04-04 Matias Fonzo <selk@dragora.org>
3 * Version 2.12 released.
5 * The option (-N/--no-rc) to override reading the configuration
6 file has been fixed, previously it did not work.
8 * This release introduces the ability to set the default Qi flags that
9 can be passed to the compiler using --qi-cflags, --qi-cxxflags,
10 --qi-ldflags, and --qi-cppflags via ./configure.
12 * Manual encoding is now UTF-8. This is for consistency with
13 the new Dragora website.
17 2022-12-31 Matias Fonzo <selk@dragora.org>
19 * Version 2.11 released.
21 * Do not print message from make_directory() function:
22 The message is sent to the standard output, but in a pipe
23 this could be taken as the input, which gives error using
24 the build mode, for example. This fixed a bug introduced in
27 * README.md: Generalize the url address.
29 * doc: Improved semantic of copyright paragraph.
31 2022-09-07 Matias Fonzo <selk@dragora.org>
33 * Version 2.10 released.
35 * The default output directory can now be specified via `configure`.
37 * A new function to validate incoming packages has been added to the
40 * A new function to check and make directories has been added to the
43 * The -L option to print the default directory locations is no longer
44 static, it can now, for example, display the target directory
47 * recipes: Fixed missing message when setting the special variable
50 * recipes: Added new special variable 'opt_skiprecipe' to ignore and
51 continue with the next recipe cleanly.
53 * Refactoring of the code as well as improvements to it, minor but no
54 less important changes have been made for this release.
56 * The documentation plus the CREDITS file have been updated.
58 2022-06-22 Matias Fonzo <selk@dragora.org>
60 * Version 2.9 released.
62 * Allow passing or changing options to tarlz(1) via configuration file
63 (qirc) or just setting the special variable 'tarlz_compression_options'
64 from a particular recipe.
66 * Adjusted the simple detection of the package directory when trying
67 to remove a package, this avoids a possible collision if it finds
68 the package name as a regular file.
70 * recipes: Added support for zstd(1) extensions.
72 * recipes: Sample recipes have been updated.
74 2022-05-02 Matias Fonzo <selk@dragora.org>
76 * Version 2.8 released.
78 * Use full remove mode when upgrading a package. The purpose of this
79 change is to clean up the removal of a previous package when the
80 upgrade mode is invoked. Previously the package documentation
81 directory (and other possible files) were left on the filesystem.
85 2021-12-14 Matias Fonzo <selk@dragora.org>
87 * Version 2.7 released.
89 * Now Qi is more precise with exit status number 4 and 6, by hitting
90 "exit" instead of just returning from the functions.
92 * Small corrections for the description of Qi and also for the manual
93 have been sent by Antonio Diaz Diaz. Thanks!
95 2021-11-01 Matias Fonzo <selk@dragora.org>
97 * Version 2.6 released.
99 * build: Make a checksum file for the copy of the recipe (the one
100 included in the package, from which the recipe was built).
102 * Do not read the configuration file on create, extract, and order
103 modes. It is not necessary to read the config file in these modes.
107 2021-09-28 Matias Fonzo <selk@dragora.org>
109 * Version 2.5 released.
111 * Searching for previously installed packages in an upgrade has been
112 simplified, which will speed up and save resources in upgrade mode.
114 * The network downloader has been changed to make use of GNU Wget2.
116 * Minor enhancements.
118 2021-04-12 Matias Fonzo <selk@dragora.org>
120 * Version 2.4 released.
122 * recipes: Added the variable "QICPPFLAGS" to pass the C/C++
123 preprocessor flags to the environment variable "CPPFLAGS".
125 * recipes: Added the "docs" and "docsdir" variables to be unset
126 after processing a recipe.
128 * recipes: Added support for executing other defined functions
129 besides the main build() function.
131 * recipes: Include build flags only if it is a real architecture
132 when creating a package meta.
134 * Change default values for QICFLAGS, QICXXFLAGS from "-g0 -O2" to
135 just "-O2". Including default value for LDFLAGS from "-s" to
136 just "" (none). This is to provide more generic values in the
137 package manager distribution.
139 * The documentation is in line with the changes made, plus the
140 sample recipes have been updated.
144 2020-12-25 Matias Fonzo <selk@dragora.org>
146 * Version 2.3 released.
148 * doc: The general documentation of Qi has been divided to allow its
149 inclusion from other .texi files. This does not affect the internal
150 functioning of Qi or the reading of the documentation for the user,
151 but rather it prepares for the incoming Dragora Handbook (Dragora is
152 the project from which Qi is currently developed).
156 2020-11-09 Matias Fonzo <selk@dragora.org>
158 * Version 2.2 released.
160 * Get the absolute path name to compose the current working directory
161 when build. A bug introduced in qi-2.0.
163 * The readconfig() function has been simplified.
165 2020-09-07 Matias Fonzo <selk@dragora.org>
167 * Version 2.1 released.
169 * Make the code for searching previous packages in an upgrade work again
170 (bug introduced in previous version).
174 2020-08-22 Matias Fonzo <selk@dragora.org>
176 * Version 2.0 released.
178 * The user interface has been revised to better differenciate commands
179 and options, for example: `qi install` instead of `qi -i`, `qi remove`
180 instead of `qi -d`, `qi upgrade` instead of `qi -u`, `qi build`
181 instead of `qi -b`, and so on.
183 * The layout of the produced package names has been changed to better
184 differenciate the software name and its version.
186 Before: name-version-architecture-release[@pkgcategory].tlz
187 Now: name_version_architecture-release[@pkgcategory].tlz
189 * The verbosity level has been changed to a minimal but essential result,
190 while it can now be adjusted from the configuration file.
192 * configure: The --arch= option has been added to define the default
193 package architecture.
195 * install: Fix assignation of 'rootdir' when it is empty and it
196 relies on the value of 'targetdir' when runs a post-install script
199 * doc: Fix examples for 'rootdir' since the package directory and
200 the target directory are relative to the specified root directory.
202 * recipes: Add the special variable 'keep_destdir' to complement
203 'keep_srcdir' in order to preserve 'destdir' when using build command.
205 * Be quieter by default in relation to the graft(1) output, if the
206 -v option is given it returns to the previous qi output behavior.
208 * Set the --missing-crc option to tarlz(1) by default to make the
209 package integrity check more reliable.
211 * Use the power of awk(1) to display package descriptions.
213 * Check and report if qi is connected to a terminal when reading from
216 * Qi's messages have been improved to differentiate themselves from
217 the output of other programs.
219 * Added "coreutils", "bash", and "mksh" to the blacklist filter when
222 * Support for the SOURCE_DATE_EPOCH specification has been added.
223 See: https://reproducible-builds.org/specs/source-date-epoch/
225 * Default Qi C flags to be passed to the compiler (QICFLAGS, QICXXFLAGS)
226 has been changed from "-g0 -Os" to "-g0 -O2".
228 * The DESCRIPTION, OPTIONS, and ENVIRONMENT sections for the man page
229 (generated by help2man) have been reorganized.
231 * The main Info manual has been refreshed to reflect all these changes.
233 * The examples in the doc directory have been updated.
235 * The CREDITS file has been updated.
237 * Code clean up and minor (but important) enhancements.
239 2020-04-20 Matias Fonzo <selk@dragora.org>
241 * Version 1.4 released.
243 * build: Added support for optional "package category". If the
244 variable 'pkgcategory' is declared in a recipe, Qi will produce
245 packages ala "<name>-<version>-<architecture>+release@category".
247 * general: The configuration file is now included instead of being
248 analyzed. This is to have more room to declare things in general.
250 * build: The 'arch' value is used as suffix for produced packages
251 in order to have a well-organized (per-arch) output directory,
253 /var/cache/qi/packages/noarch/
254 /var/cache/qi/packages/i586/
255 /var/cache/qi/packages/x86_64/
258 * The code of blacklisted packages in the updates has been simplified.
260 * doc: The "Variables from the environment" section has been improved.
262 * build: The 'full_pkgname' variable is now added on the meta tag file.
264 * doc: The manual has been updated to conform to this version.
268 2019-09-10 Matias Fonzo <selk@dragora.org>
270 * Version 1.3 released.
272 * Check the exit status when a recipe is imported or included.
273 This will help to catch possible errors when using shell code,
274 rather than proceeding with the recipe.
278 2019-07-30 Matias Fonzo <selk@dragora.org>
280 * Version 1.2 released.
282 * The variable 'arch' has been added to the package meta file,
283 additionally, the variables 'program' and 'version' has been
284 replaced with 'pkgname' and 'pkgversion' which take the value
285 of those if they have not been previously established.
289 2019-05-19 Matias Fonzo <selk@dragora.org>
291 * Version 1.1 released.
293 * Default external tool for uncompressing files based on .tar.lz
294 archives has been changed in the unpack() function from tarlz(1) to
295 lzip(1) in combination with tar(1). This is because some files
296 could have been produced using a header format that differs from the
297 default format used by tarlz(1), e.g. the GNU format (by GNU tar).
299 * Some phrases have been improved in the manual, under the section
300 "5.3 Writing recipes". Thanks to kelsoo.
302 2019-04-15 Matias Fonzo <selk@dragora.org>
304 * Version 1.0 (stable) released.
306 * The manual (user guide) has been updated.