Bug 31378 - restrict auto update during app update to new app and ucs sources (without errata or other components)
restrict auto update during app update to new app and ucs sources (without er...
Status: RESOLVED WONTFIX
Product: UCS
Classification: Unclassified
Component: App Center
UCS 4.2
Other Linux
: P4 normal (vote)
: ---
Assigned To: App Center maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-05-16 14:46 CEST by Felix Botner
Modified: 2020-07-03 20:51 CEST (History)
5 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 2: Improvement: Would be a product improvement
Who will be affected by this bug?: 2: Will only affect a few installed domains
How will those affected feel about the bug?: 1: Nuisance – not a big deal but noticeable
User Pain: 0.023
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Felix Botner univentionstaff 2013-05-16 14:46:58 CEST
At the moment, if one updates an app, an dist-upgrade is performed including all apt sources (/etc/apt/sources.list, and /etc/apt/sources.list.d/* -> all other components and errata updates).

With the apt-get options Dir::Etc::sourcelist and Dir::Etc::sourceparts we could restrict the sources of apt-get to what we want, 

e.g. 

i have an ucs 3.1-1 with asterisk4ucs and for this app an update is available, all i need are the ucs sources 

-> cat  /etc/apt/sources.list.d/15_ucs-online-version.list > /tmp/app-update.list

and the source for the new asterisk4ucs component 

-> echo "deb http://appcenter.software-univention.de/univention-repository/3.1/maintained/component/ asterisk4ucs_20130304/all/" >> /tmp/app-update.list
-> echo "deb http://appcenter.software-univention.de/univention-repository/3.1/maintained/component/ asterisk4ucs_20130304/amd64/" >> /tmp/app-update.list

and now i can upgrade this app using only the new source.list with

-> apt-get update -o Dir::Etc::sourcelist="/tmp/app-update.list" \
  -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"

-> apt-get -s dist-upgrade -o Dir::Etc::sourcelist="/tmp/app-update.list" \
  -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"
...
Inst asterisk4ucs-udm [0.6.20] (0.6.23 Univention:appc...
Inst asterisk4ucs-udm-schema [0.6.20] (0.6.23 Univention:appc...
Inst asterisk4ucs-umc-deploy [0.5.6] (0.5.9 Univention:appc...
Inst asterisk4ucs-umc-music [0.5.3] (0.5.6 Univention:appc...
Inst asterisk4ucs-umc-user
...
Comment 1 Alexander Kläser univentionstaff 2013-05-27 11:30:18 CEST
The update of an app is done via dist-upgrade in order to update depending components of the app, as well.
Comment 2 Felix Botner univentionstaff 2013-05-27 11:42:03 CEST
(In reply to comment #1)
> The update of an app is done via dist-upgrade in order to update depending
> components of the app, as well.

OK, but if i want to update my asterisk4ucs app, i do NOT want a new linux image from the errata update, at the moment the dist-upgrade also installs all updates from the app, the ucs base, and all other components (especially the errata component)

What we need is a dist-upgrade with the new (and old) app apt sources and with the apt sources of the ucs base (15_ucs-online-version.list), or?
Comment 3 Alexander Kläser univentionstaff 2013-06-14 18:56:24 CEST
This information can be accessed via python-apt:

> import apt
> c = apt.Cache()
> c.open()
> c['univention-management-console-frontend'].candidate.uri
> 'http://updates.software-univention.de/3.1/maintained/component/3.1-1-errata/all/univention-management-console-frontend_2.0.244-11.635.201306101401_all.deb'
> c['univention-management-console-frontend'].candidate.filename
> '3.1-1-errata/all/univention-management-console-frontend_2.0.244-11.635.201306101401_all.deb'
Comment 4 Dirk Wiesenthal univentionstaff 2013-11-19 16:10:50 CET
(In reply to Felix Botner from comment #2)
> (In reply to comment #1)
> > The update of an app is done via dist-upgrade in order to update depending
> > components of the app, as well.
> 
> OK, but if i want to update my asterisk4ucs app, i do NOT want a new linux
> image from the errata update, at the moment the dist-upgrade also installs
> all updates from the app, the ucs base, and all other components (especially
> the errata component)
> 
> What we need is a dist-upgrade with the new (and old) app apt sources and
> with the apt sources of the ucs base (15_ucs-online-version.list), or?

Unjoin scripts were added as errata during 3.1-0. So Apps required shell-univention-lib > $SOME_ERRATA_VERSION. I am not so sure if not using the errata component would give us enough flexibility.

Plus: When updating an app, there is a hint that this operation will also install all errata updates and that the repositories that should not be included have to be deactivated temporarily
Comment 5 Florian Best univentionstaff 2017-02-10 09:53:10 CET
Nice solution! Do we still want this?
Comment 6 Ingo Steuwer univentionstaff 2020-07-03 20:51:23 CEST
This issue has been filed against UCS 4.2.

UCS 4.2 is out of maintenance and many UCS components have changed in later releases. Thus, this issue is now being closed.

If this issue still occurs in newer UCS versions, please use "Clone this bug" or reopen it and update the UCS version. In this case please provide detailed information on how this issue is affecting you.