IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
- switch {,Install-}Size to unsigned long long
* apt-pkg/depcache.cc:
- deal with long long, not with int to remove 2GB Limit (LP: #250909)
(cherry picked from commit e2c66de5c5e63d8400efb0522c31fbe1ec225f93)
- Add a note about APT_CONFIG in the -c description (Closes: #578267)
(cherry picked from commit 75a53a7c29bf3b2dd8d898ed650b1fe937119080
from git://anonscm.debian.org/git/apt/apt.git with:
git cherry-pick -Xsubtree=apt -x 75a53a7c
)
Conflicts:
apt/debian/changelog
apt/doc/apt.ent
According to C++ standard (since C++89), this string is destroyed right
after evaluation of .c_str().
In addition, gcc5 with c++11 ABI mode enabled cleans memory in
basic_string destructor and reuses memory in *next* basic_string
constructor.
This led to the error:
# apt-get install doxygen -o RPM::PM=external -o Dir::Bin::gpg=false -qq
Executing RPM (/bin/rpm -U -v --oldpackage)...
Could not exec /
E: Sub-process /bin/rpm returned an error code (100)
Mark all installed non-obsoleted packages first without auto
installation in a dist-upgrade.
Based on upstream commit c427b1e218e61bd1aacbddf9013e58b8aa445a7c.
Added in commit ab49688:
genpkglist.cc: RPMTAG_FILEFLAGS should not be copied into header list
(Or, at least, RPMTAG_FILEFLAGS should be copiled consistently with
RPMTAG_BASENAMES, RPMTAG_DIRNAMES, and RPMTAG_DIRINDEXES.)
Added in commit 818a9d5:
lorg-pkgcachegen-selfprov.patch: allow self-referencing provides
E.g. ocaml-runtime#3.10.2-alt1 can provide ocaml-runtime = 3.10.
Added in commit 30e27b0:
apt-0.5.15lorg2-alt-genpkglist-reqfiles.patch
genpkglist strips file lists by default (without --bloat option).
It keeps only some "useful files" by using a few ad hoc patterns.
This can break file-level dependencies. Consider pkgA requires
/usr/lib/foo1/bar, and pkgB owns this file without explicitly
providing it. Now if genpkglist strips /usr/lib/foo1/bar
from pkgB file list, this is going to be an unmet dependency.
This patch changes genpkglist behaviour, so that, when genpkglist
is invoked without --bloat option, it first finds all file-level
dependencies (something like "rpm -qaR |grep ^/"). This requires
a separate pass. The list of file-level dependencies is saved into
"reqfiles" global variable. And on the second (normal) pass, the
function usefulFile() is modified to check the "reqfiles" variable;
that is, it should keep a file in the file list if it's been required
by some package in the repo.
(Unfortunately, this patch does not solve all of the problems
I want it to solve; we have separate repos for i586 and noarch --
inter-repo file-level dependencies cannot be resolved this way.)
Added in commit 6c2eeb8:
updated versionmatch/TryToChangeVer logic
My previous versionmatch.patch was half-way wrong and/or incomplete.
The problem was that pkgCache::VerIterator::CompareVer() does not
do full-blown version comparison, but rather something strange
(see apt-pkg/pkgcache.cc).
I also noticed that, while TryToInstall() does use Fix.ScoreSort,
TryToChangeVer() does not, which is probably wrong.
The solution is as follows:
1) pkgVersionMatch::FindAll() does not sort versions any longer;
it does not have sufficient information, such as Cache and Fix,
to sort the versions.
2) TryToChangeVer() calls FindAll() instead of Find() and uses
Fix.ScoreSort to sort the versions. If Fix.ScoreSort returns 0,
it also tries Cache.VS().CmpVersion(), which is the right way to
reach rpmvercmp().
Also updated 'Selected version ... for ...' diagnostics.
(old result and message)
$ ~tmp/build/aptbox/apt-get --dry-run install python=2.4 2>&1 |grep ^Selected
Selected version 2.4.4-alt8 for python
$
The result was wrong, because I have a better version,
which is 2.4.4-alt8.1.
(new result and message)
$ ~tmp/build/aptbox/apt-get --dry-run install python=2.4 2>&1 |grep ^Selected
Selected version python-strict#2.4.4-alt8.1 for python=2.4
$
Update: also do not sort ascending and reverse the list, this is going
to break "stable sort" logic. Just sort descending.
Update2: actually make CmpVersion() primarily sort condition and
Fix.ScoreSort secondary sort condition. Fix.ScoreSort should not be
activated early, because e.g. for 'python-devel>=2.3' it is going to
select python2.3-dev, but I want python-dev#2.4.