Adapt to mock-1.4.1-1.fc25
[Fedora-Rebuild.git] / Changes
blobe7f4a59747a70ae867ee5e9d4240dee6b8cee1bf
1 v0.12.1
2 =======
4 - Fix serving packages with URI-escaped names in the request-URI.
6 - Remove RPMS directory when reseting 'rotate' state. This fixes YUM problem
7   when rebuilding dual-lived packages and their reverse dependencies in
8   parallel.
10 v0.12.0
11 =======
13 - Fix an important race condition when createing and removing directories by
14   File::Path is not thread-safe. This caused spurious failures reporting
15   missing working directory.
17 - Significant performance improvement in the dependency solver by
18   implementing a reverse cache for RPM package provides.
20 - New rebuildreset(1) tool which allows to reset packages into intial state.
21   Use --changed option to reset only packages whose remote git repository has
22   been updated. This allows to synchronize local git repositories with remote
23   ones.
25 - POD documentation for Fedora::Rebuild::Solver.
27 v0.11.0
28 =======
29 - Fix Fedora::Rebuild::Mock install_group default value to `buildsys-build'.
31 - Fix updating local repository by remove stray symbolic links.
33 - Various Fedora::Rebuild::Package methods accept
34   Fedora::Rebuild::Package::Config object now to deliver constant build
35   configuration.
37 - Fedora::Rebuild::Package methods creating source or binary packages accepts
38   Fedora::Rebuild::Mock objects to use them instead of temporary mock
39   environments. This speeds up a lot because of caching. However it delays
40   start up due precreating pool of mock environments. This also consumes more
41   disk space.
43 - The Fedora::Rebuild::Mock shared attribute has changed semantics. It
44   controlls caching now and the mock identifier is never reused.
46 v0.10.0
47 =======
48 - Fix local repozitory initialization if the repozitory is empty.
50 - Increasing package NEVRA while building SRPM only if not yet updated.
52 - Fix counting failures.
54 - Add `verbosesolver' configuration atribute to disable tracing dependency
55   solver. This is useful if the dependency tree is big and the solver consumes
56   a lot of memory due the tracing.
58 - Document `mock' mode.
60 - Fix scheduler in in select_rebuildable().
62 - Apply threaded glob() crash work-around. See Perl bug report
63   <https://rt.perl.org/rt3/Ticket/Display.html?id=117823> for more details.
65 - Add `mock_install_group' configuration attribute to control which yum group
66   to install into mock environment. Default value is `buildsys-build'.
68 v0.9.1
69 ======
71 - Do not cache mock environment when building a package because each package
72   uses different environment.
74 - Share mock environment when building source packages in single thread. This
75   is the fastest method now.
77 v0.9.0
78 ======
80 - Add new building mode `mock'. It builds source and binary packages using
81   mock tool. You need to specify where the mock can take packages by ne
82   `repourls' attribute. Already rebuilt packages get available as additional
83   repository automatically.
85 - Source packages are built using mock in `koji' mode either. This allows
86   influence generated build-requires during SRPM build phase by build root
87   environment (RPM macros, external tools).
89 - It's necessary to define build architecture with `architecture' attribute.
90   This is needed for mock mode.
92 - It's possible to retrieve source repositories by anonymous git access if new
93   attribute `anonymous' is true.
95 - It's possible to override fedpkg dist name value by new `pkgdist' attribute.
96   This allows building packages from private git branch locally.
98 v0.8.0
99 ======
101 - Fix progress bar while selecting rebuildable packages.
103 - rebuildperl can read configuration for ~/.rebuildperlrc.
105 - New comparebuildroots tool. It compares latest build of source package in
106   given koji build root specified by tag.
108 v0.7.0
109 ======
111 - Draw progress bar for each parallelized task (e.g. loading dependencies,
112   selecting buildable packages). Please note there is no overall progress bar.
114 v0.6.0
115 ======
117 - Unordered build mode added (set ordered to false in Fedora::Rebuild
118   constructor). This allows to build packages disregarding dependencies.
120 v0.5.1
121 ======
123 - Handle exception in scheduler jobs.
125 - Add work-around for fedpkg output bug
126   (https://bugzilla.redhat.com/show_bug.cgi?id=721389).
128 v0.5.0
129 ======
131 - Incompatible change: Format of binary package provides and requires has
132   changed. Please remove `.runrequiresstore' and `.providesstore' lock files.
133   The dependencies cache will be regenerated from already downloaded binary
134   packages.
136 - When selecting packages to rebuild, run-time dependenices of build-time
137   requirements of the package in question are considered too. Unfortunatelly
138   the dependency solver misbehaves in more than one thread.
140 - The number of solver threads is controlled by `selectthreads' attribute of
141   Fedora::Rebuild contructor. Please set it to 1.
143 - Computed recursive build-time dependecies are reported to
144   `.is_installable.log' files. Their's corresponding lock files are ignored.
146 v0.4.1
147 ======
149 - Fix storing and retrieving Koji task ID in submitbuild and build states.
151 v0.4.0
152 ======
154 - Record current time for each log message. (Requires DateTime Perl module.)
156 - Split `build' state to `submitbuild' and `build' state. The first submits
157   build to Koji and stores Koji task ID. It submits even if build exists in
158   Koji. This is needed to redo failed builds. Then it created state lock and
159   resubmit never more. Remove the lock to force resubmit. Second state just
160   waits to finishing build. In case of local build, remove submitbuild is
161   skipped always and rebuild is performed in build state. This approach is
162   still not ideal. We must found better heuristics to differentiate our and
163   others building failures and redoable failures.
165 - Retrieve requires of binary rebuilt packages. This is preparation for future
166   support of indirect build-time dependencies. It will process old done binary
167   packages automatically.
169 v0.3.0
170 ======
172 - Wait for build root ration after rebuilding current set of rebuildable
173   packages. This allows to utilize whole Koji power with low local thread
174   number.
176 - Fix logging at providesstore phase 
178 v0.2.1
179 ======
181 - Fix undefined Fedore::Rebuild->last_fail()
183 - Recreate SRPM package if missing when getting build requires
185 - Close state log file when state finishes successfully
187 v0.2.0
188 ======
190 - Fix build root identification when watching a koji for rotation.
192 - Fix child exit status decoding. You get exit code or signal name into log
193   now.
195 - Die optionally in case a lot of consequent failures. Driven by
196   `failurelimit' attribute. Default is 0 (i.e. do not die).
198 - Cache build requires and binary provides. You can run this script on v0.1.0
199   directory tree, the cache will be generated from RPM packages automatically.
201 v0.1.0
202 ======
204 - Introduce `loadthreads' attribute to tune number of threads distilling
205   dependencies to supress local I/O load.