evr = pool_id2str(pool, s->evr);
arch = pool_id2str(pool, s->arch);
release = strrchr(evr, '-');
- /* haikus releases start numeric */
- if (release && pool->disttype == DISTTYPE_HAIKU && (release[1] < '0' || release[1] > '9'))
- release = evr + strlen(evr);
if (!release)
release = evr + strlen(evr);
fprintf(fp, "=Pkg: %s %.*s %s %s\n", name, (int)(release - evr), evr, *release && release[1] ? release + 1 : "-", arch);
int cmp;
/* find pre-release separator */
- while (pre1 != q1 && *pre1 != '-')
+ while (pre1 != q1 && *pre1 != '~')
pre1++;
- while (pre2 != q2 && *pre2 != '-')
+ while (pre2 != q2 && *pre2 != '~')
pre2++;
/* compare main versions */
for (s2 = evr2, r2 = 0; *s2; s2++)
if (*s2 == '-')
r2 = s2;
- if (pool->disttype == DISTTYPE_HAIKU)
- {
- /* make sure it's really a release, releases always are numeric */
- if (r1 && (r1[1] < '0' || r1[1] > '9'))
- r1 = 0;
- if (r2 && (r2[1] < '0' || r2[1] > '9'))
- r2 = 0;
- }
r = 0;
if (mode != EVRCMP_MATCH || (evr1 != (r1 ? r1 : s1) && evr2 != (r2 ? r2 : s2)))
r = solv_vercmp(evr1, r1 ? r1 : s1, evr2, r2 ? r2 : s2);
for (s1 = evr1, r1 = 0; *s1; s1++)
if (*s1 == '-')
r1 = s1;
- if (pool->disttype == DISTTYPE_HAIKU)
- {
- /* make sure it's really a release, releases always are numeric */
- if (r1 && (r1[1] < '0' || r1[1] > '9'))
- r1 = 0;
- }
if (version)
{
r = solv_vercmp(evr1, r1 ? r1 : s1, version, version + strlen(version));
if (pool->disttype != DISTTYPE_DEB)
{
const char *rel = strrchr(pool_id2str(pool, rd->evr), '-');
- if (rel && pool->disttype == DISTTYPE_HAIKU && (rel[1] < '0' || rel[1] > '9'))
- rel = 0;
set |= rel ? SOLVER_SETEVR : SOLVER_SETEV;
}
else
else
{
const char *rel = strrchr(pool_id2str(pool, relevr), '-');
- if (rel && pool->disttype == DISTTYPE_HAIKU && (rel[1] < '0' || rel[1] > '9'))
- rel = 0;
selection->elements[i] |= rel ? SOLVER_SETEVR : SOLVER_SETEV;
}
}