Commit Graph

202 Commits

Author SHA1 Message Date
Fabio Erculiani
b97c1dd8b7 Release Entropy 1.0_rc89 2012-02-27 23:33:12 +01:00
Fabio Erculiani
85ebb0ebac [entropy.const] rework ETP_ARCH_CONST and keywords configuration, make it work with overridden values 2012-02-27 23:18:26 +01:00
Fabio Erculiani
65506c706f Release Entropy 1.0_rc88 2012-02-27 22:56:58 +01:00
Fabio Erculiani
642da47e40 [entropy.const] add _RAW_ENCODING and fix wrong encoding detection code 2012-02-27 19:49:13 +01:00
Fabio Erculiani
18282e3764 [entropy.spm] PortagePlugin: try using raw_unicode_escape when reading .desktop files
Sometimes, upstream .desktop files are encoded using raw_unicode_escape
and we should really fallback to that encoding before giving up reading
them.
2012-02-27 19:47:16 +01:00
Fabio Erculiani
a28a92c2a3 [entropy.const] do not hardcode UTF-8 string, but rather use _ENCODING 2012-02-27 19:35:15 +01:00
Fabio Erculiani
c1ef9ae4b5 [entropy.client.services] make possible to retrieve documents in reverse order 2012-02-27 10:32:47 +01:00
Fabio Erculiani
550be469a1 [entropy.client.services.interfaces] drop incomplete comment 2012-02-26 22:18:37 +01:00
Fabio Erculiani
4673c622a4 [entropy.spm] improve heuristic used to detect non-kernel ebuilds
This makes possible to have external module packages inside the
sys-kernel/ category, by just adding extra checks. In particular,
we now check against ETYPE ebuild environment variable.
This should guarantee that all the kernel sources, binaries and
headers won't be tagged by Entropy.
2012-02-20 17:52:50 +01:00
Fabio Erculiani
74149c79c1 [entropy.spm] PortagePlugin: be more robust against fucked up portage world file 2012-02-19 14:53:23 +01:00
Fabio Erculiani
ceeaf62dde [entropy.client] improve code that handles the Entropy Resources Lock 2012-02-19 14:43:41 +01:00
Fabio Erculiani
1c213a911b [entropy.client] add Repository.get_last_sync_time()
Everytime Repository.sync() is triggered, the last sync time
information is updated. This makes possible to figure out when
the last repository update has been run and warn user about it
if they're too old.
2012-02-17 14:14:38 +01:00
Fabio Erculiani
351b2b23b9 [entropy] fix typo in documentation 2012-02-16 15:58:49 +01:00
Fabio Erculiani
451c2b158b [entropy.client] add support for shared Entropy resources lock acquisition
This makes possible to support the "readers/writers" model by
letting code to acquire Entropy Resources in shared mode (for
readers) and the same in exclusive mode (default, for writers).
2012-02-15 19:36:29 +01:00
Fabio Erculiani
acf5862034 [entropy.client] drop Client.another_entropy_running()
This has been sitting in deprecated state for very long time.
2012-02-15 19:36:28 +01:00
Fabio Erculiani
897a91d443 [entropy.client] migrate Entropy resources locking functions to FlockFile
In order to simplify the code and allow further improvements
(eg. the addition of readers/writers locking), migrate all the
Entropy Resources locking functions to FlockFile().
2012-02-15 19:36:28 +01:00
Fabio Erculiani
c2d0c81923 [entropy.misc] add non blocking methods to FlockFile 2012-02-15 19:36:28 +01:00
Fabio Erculiani
7c2c9437bb [entropy.misc] add FlockFile class
The purpose of this class is to implement a file-based lock,
abstracting away from fcntl.
2012-02-15 19:36:28 +01:00
Fabio Erculiani
6cdede57ab [entropy.cli] remove deprecated acquire_entropy_locks, release_entropy_locks 2012-02-15 19:36:28 +01:00
Fabio Erculiani
1ae1088983 [entropy.cache] put EntropyCacher to sleep when there's nothing to do
Use a semaphore to signal the worker thread if there's something to do,
otherwise the whole thread should just sleep and avoid to poll every
N seconds.
2012-02-13 16:26:39 +01:00
Fabio Erculiani
affcf20425 [entropy.i18n] rename P_() into ngettext().
intltool-update doesn't understand ngettext function exposed as
P_().
2012-02-13 14:14:45 +01:00
Fabio Erculiani
e914763b6d [entropy.client.services] implement ram-caching for get_downloads()
get_downloads() was left uncovered from ram-caching of the responses,
in contraddiction to get_votes() and get_available_downloads(), for
example.
2012-02-13 08:50:44 +01:00
Sławomir Nizio
a8420b5ad5 [i18n] use ngettext in some places where it's most useful 2012-02-12 15:47:58 +01:00
Fabio Erculiani
7b0c95078b [entropy.client.interfaces.db] do not use "&>", which is bash only
This commit fixes bug #3022
2012-02-10 14:07:48 +01:00
Fabio Erculiani
dafc861554 [entropy.spm] PortagePlugin._pkg_foorm: catch OSError during env setup
ebuild environment setup function for pkg_{prerm,postrm} can raise
OSError during os.makedirs(). Better catch it and handle the failure
nicely so that the user can take proper measures to fix it, instead
of completely bailing out with garbageish text.
2012-02-10 13:55:39 +01:00
Fabio Erculiani
eca401649d [entropy.fetchers] UrlFetcher: handle HTTP response without Content-Length
It can happen that HTTP servers (or those accessed via Proxy) do not
actually provide Content-Length information in the response.
This caused UrlFetcher to keep __remotesize = 0, which means that
the same thought that the file has been fully downloaded already
under some circumstances.
2012-02-09 21:55:52 +01:00
Fabio Erculiani
056f552dab [entropy.client] implement Client.atom_search
As of today, both Equo and Sulfur implemented their own search
functions because the API didn't provide any direct support for
searching through all the repositories. atom_search() now offers
a basic way to do this, without reinventing the weel every time
in consumer code.
2012-02-08 15:27:57 +01:00
Fabio Erculiani
0ceb055608 Release Entropy 1.0_rc87 2012-02-03 23:06:41 +01:00
Fabio Erculiani
6782d4581a [entropy.spm] PortagePlugin: fix NEEDED.ELF.2 parsing
It can happen that NEEDED.ELF.2 file contains invalid entries,
more specifically, entries that are directories.
2012-02-03 10:57:19 +01:00
Fabio Erculiani
b2a0029655 Release Entropy 1.0_rc86 2012-02-01 19:57:15 +01:00
Fabio Erculiani
95ddc907a7 [entropy.const] make possible to override the default arch using /etc/entropy/.arch 2012-02-01 19:56:12 +01:00
Fabio Erculiani
0594b8df4a Release Entropy 1.0_rc85 2012-01-29 12:11:17 +01:00
Fabio Erculiani
ea26cfb1da [entropy.server] document pitfalls in scan_package_changes() usage 2012-01-26 20:24:15 +01:00
Fabio Erculiani
45bd00aff9 [entropy.client] do not pull in packages already up-to-date if digest == "0"
If the installed packages repository has been regenerated manually,
some entries may contain invalid digest values. Given this, the same
value is forced to be equal to "0" so that we can skip the check during
dep calculation if an entry like that is found.
2012-01-24 20:45:48 +01:00
Fabio Erculiani
a7b2ff1301 [entropy.db] _migrateBaseinfoExtrainfo: fix foreign_keys usage, and drop all indexes
Using pragma inside executescript() won't work and foreign_keys were
kept enabled, resulting in extrainfo table being wiped.
At the same time, dropping all the indexes before starting dramatically
improves the execution speed.
2012-01-24 18:33:33 +01:00
Fabio Erculiani
7170a1e13c [entropy.db] fix baseinfo indexes creation for baseinfo_extrainfo_2010 schema 2012-01-24 17:10:07 +01:00
Fabio Erculiani
e480256b33 Release Entropy 1.0_rc84 2012-01-24 16:40:57 +01:00
Fabio Erculiani
9e7055f6be [entropy.server,eit] split push from pull (in repo sync)
From now on, any push request will not have the side effect of
pulling new repo metadata if required, and vice versa.
2012-01-24 15:08:32 +01:00
Fabio Erculiani
c169f0e4b2 [entropy.graph] Graph.get_adjacency_map: hold the original data
Graph caching must hold copies of cache objects instead of giving
them away for free and risk of having them polluted or even completely
cleared out under its own chair.

Example:
$ equo remove linux-sabayon:3.1 [--deep]

The --deep version doesn't pull in all the reverse deps due to
Graph.solve() being called twice in
entropy.client.interfaces.dep's _generate_reverse_dependency_tree()
when deep = True.

Fixes bug #2989
2012-01-23 12:50:26 +01:00
Fabio Erculiani
1a83081f0d Release Entropy 1.0_rc83 2012-01-15 18:25:07 +01:00
Fabio Erculiani
e3622615af [entropy.tools] add /etc/ld.so.conf.d support
Packages started to install files inside /etc/ld.so.conf.d/, this
commit adds support for reading files in the above mentioned
directory.
2012-01-15 18:18:33 +01:00
Fabio Erculiani
b481a2338a [entropy.qa] /etc/ld.so.conf can be unavailable, do not check for it 2012-01-15 18:18:00 +01:00
Fabio Erculiani
52640c1be3 Release Entropy 1.0_rc82 2012-01-12 11:08:00 +01:00
Fabio Erculiani
c6795d3cf8 [entropy.spm] PortagePlugin: always discard FEATURES=ccache when calling doebuild() 2012-01-12 10:55:24 +01:00
Fabio Erculiani
970978ee97 [entropy.i18n] add P_(), for supporting gettext plural forms 2012-01-02 19:45:11 +01:00
Fabio Erculiani
217ae14345 Release Entropy 1.0_rc81 2011-12-28 10:07:06 +01:00
Fabio Erculiani
e6ecf02ee3 [entropy.server] _run_package_files_qa_checks is I/O bound, no need for parallelization 2011-12-27 08:23:09 +01:00
Fabio Erculiani
bf327ce01e [entropy.const] install debug signal handler on SIGUSR1, thread dump on SIGQUIT 2011-12-27 08:03:05 +01:00
Fabio Erculiani
146343107d [entropy.const] make possible to override ROOT from env using ETP_ROOT 2011-12-23 16:21:16 +01:00
Fabio Erculiani
bb008eaa22 [entropy.spm] PortagePlugin: vardb._plib_registry might be None (Portage 2.1) 2011-12-21 21:58:09 +01:00