[Spacewalk-list] Ubuntu 18.04 package management in Spacewalk 2.8
Robert Paschedag
robert.paschedag at web.de
Tue Dec 11 07:09:59 UTC 2018
Am 11. Dezember 2018 01:51:11 MEZ schrieb Paul-Andre Panon <paul-andre.panon at avigilon.com>:
>Earlier today I wrote about the changes in PR500. That parsing actually
>seems to be OK after all because the EVR entries in the database are
>OK.
>
>That said, it looks like the query that generates the list of
>upgradeable
>packages in the Spacewalk GUI is system_upgradable_package_list in
>spacewalk/java/code/src/com/redhat/rhn/common/db/datasource/xml/Package_qu
>eries.xml
>
><mode name="system_upgradable_package_list"
>class="com.redhat.rhn.frontend.dto.UpgradablePackageListItem">
> <query params="sid">
>SELECT n.id AS id,
> n.id AS name_id,
> lookup_evr(((latest.evr)).epoch, (latest.evr).version,
>(latest.evr).release) AS evr_id,
> latest.package_arch_id AS arch_id,
> (latest.evr).epoch AS epoch,
> (latest.evr).version AS version,
> (latest.evr).release AS release,
> n.name AS name,
> n.name ||'-'|| evr_t_as_vre_simple(latest.evr) || '.' ||
>latest_pa.label AS nvrea,
> n.name ||'-'|| evr_t_as_vre_simple(spe.evr) || '.' || spa.label AS
>installed_package,
> n.id || '|' || lookup_evr((latest.evr).epoch,
>(latest.evr).version, (latest.evr).release)|| '|' ||
>latest.package_arch_id AS id_combo
> FROM
> rhnServerPackage sp
> join rhnPackageName n
> on n.id = sp.name_id
> join rhnPackageArch spa
> on spa.id = sp.package_arch_id
> join rhnPackageEvr spe
> on spe.id = sp.evr_id
> join (
> select sop.package_name_id,
> sop.package_arch_id,
> max(PE.evr) evr
> from rhnServerOutdatedPackages sop
> join rhnPackageEVR pe
> on sop.package_evr_id = pe.id
> where sop.server_id = :sid
> group by sop.package_name_id, sop.package_arch_id) latest
> on latest.package_name_id = sp.name_id
> join rhnPackageArch latest_pa
> on latest_pa.id = latest.package_arch_id
> join rhnPackageUpgradeArchCompat puac
> on puac.package_arch_id = sp.package_arch_id
> and puac.package_upgrade_arch_id = latest.package_arch_id
> where sp.server_id = :sid
> order by upper(n.name)
> </query>
> <elaborator multiple="t" params="sid">
> SELECT PN.id AS id,
> SOP.errata_id AS errata_id,
> SOP.errata_advisory AS errata_advisory,
> E.advisory_type AS errata_advisory_type,
> E.severity_id AS errata_severity_id
> FROM rhnServerOutdatedPackages SOP
> INNER JOIN rhnPackageName PN on SOP.package_name_id = PN.id
> INNER JOIN rhnErrata E on SOP.errata_id = E.id
> WHERE PN.id IN (%s)
> AND SOP.server_id = :sid
> </elaborator>
></mode>
>
>The sub-clause
>
> join (
> select sop.package_name_id,
> sop.package_arch_id,
> max(PE.evr) evr
> from rhnServerOutdatedPackages sop
> join rhnPackageEVR pe
> on sop.package_evr_id = pe.id
> where sop.server_id = :sid
> group by sop.package_name_id, sop.package_arch_id) latest
>
>is returning the gcc_8-related packages because they are provided by
>the
>rhnServerOutdatedPackages view
>
>SELECT DISTINCT SNC.server_id,
> P.name_id,
> P.evr_id,
> P.package_arch_id,
> PN.name || '-' || evr_t_as_vre_simple( PE.evr ),
> E.id,
> E.advisory
> FROM rhnPackageName PN,
> rhnPackageEVR PE,
> rhnPackage P,
> rhnServerNeededCache SNC
> left outer join
> rhnErrata E
> on SNC.errata_id = E.id
> WHERE SNC.package_id = P.id
> AND P.name_id = PN.id
> AND P.evr_id = PE.id
>
>and the view is listing those packages because of entries for those
>packages in the rhnServerNeededCache table. So the question is what is
>populating the rhnServerNeededCache table incorrectly, and why?
Great analysis, Paul-Andre.
Robert
>
>_______________________________________________
>Spacewalk-list mailing list
>Spacewalk-list at redhat.com
>https://www.redhat.com/mailman/listinfo/spacewalk-list
--
sent from my mobile device
More information about the Spacewalk-list
mailing list