[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