New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mechanism for triggering template build #3935

Open
marmarek opened this Issue May 27, 2018 · 48 comments

Comments

4 participants
@marmarek
Member

marmarek commented May 27, 2018

Right now template build require direct access to build machine. This is bad for various reasons, including:

  • lack of transparency
  • inability to delegate it

We've using a better mechanism for individual packages for some time. It consists of:

  • a script that build and upload to current-testing a package that got new signed version tag
  • a script that process signed comment on github to migrate package from current-testing to current (#2573)

This works well for normal packages, lets do something similar for templates.
The problem here is there is no natural place for template version tag - template consists of more than just linux-template-builder - in many cases we need to build new template after just updating individual packages (which doesn't involve any change in linux-template-builder).

I propose using something similar to #2573 for triggering the build too. The work flow would be:

  • template maintainer open new issue (in updates-status repository? or here?) with inline-signed command to build the template
  • appropriate script verify the signature and proceed to build the template (using make build-template-in-dispvm)
  • when build succeed, result is reported to https://github.com/QubesOS/updates-status/issues repository and template is uploaded to online repository
  • build failure would be also reported, in https://github.com/QubesOS/build-issues/issues

Open questions:

  1. How build trigger command should look like (what we need there)? My current idea:

     build-template QUBES_VERSION TEMPLATE TIMESTAMP
    

    For example: build-template r4.0 fc28+minimal 201805171636

  2. Do we need templates-itl-testing and templates-community-testing repositories and upload templates there first? And the use similar workflow to migrate them later to final repositories?

  3. Replay protection - in the example above I've added TIMESTAMP (which will be used as %release part of template version) exactly for this reason. The script would verify if it isn't too far in the past. Any better idea?

  4. Template package version is pretty meaningless right now (it's template builder version (but not builder plugin - containing most actual building scripts) + timestamp). Maybe we could use this occasion to change this too? For example specify template version manually too? Or build it based on qubes version (3.2.x for templates for Qubes 3.2 etc)?

This all would for example allow @adrelanos to trigger new Whonix template build or @fepitre for Fedora and CentOS, or @ptitdoc for Archlinux, or @unman for Debian.

cc @andrewdavidwong

@marmarek marmarek added this to Issues in Build Infrastructure May 27, 2018

@andrewdavidwong

This comment has been minimized.

Show comment
Hide comment
@andrewdavidwong

andrewdavidwong May 27, 2018

Member

Do we need templates-itl-testing and templates-community-testing repositories and upload templates there first? And the use similar workflow to migrate them later to final repositories?

This would probably be a good idea.

Member

andrewdavidwong commented May 27, 2018

Do we need templates-itl-testing and templates-community-testing repositories and upload templates there first? And the use similar workflow to migrate them later to final repositories?

This would probably be a good idea.

@andrewdavidwong andrewdavidwong added this to the Release 4.1 milestone May 27, 2018

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 4, 2018

Move utility functions from auto-build script to separate file
Preparation for auto-build-template script, avoid code duplication.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 4, 2018

Use common code of update-repo for templates too
This require little changes to update-repo:
- not stripping dist flavors for linux-template-builder component
- handling simplified repository layout (no dom0/fc25 subdir)
- setting TEMPLATE_NAME variable - calculating it is done in various
makefiles and need to be done before parsing templates.spec;
unfortunately variables set in makefile aren't available to $(shell ...)
in the very same makefile, so this needs to be set earlier

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 4, 2018

Add convenient make template-name wrapper
Allow easily get calculated template name. While the command looks
simple, it needs to be called with right environment variables
(especially - with settings in builder.conf).

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 4, 2018

Set default RELEASE variable
If builder.conf is generated by setup script, it is set, but otherwise
it isn't. And because of this, various scripts guess release version
based on repository dir name. Lets have it in one place.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 4, 2018

Fix make sign-all to sign templates with flavors
Yet another place where template flavors needs not to be stripped when
handling template.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 4, 2018

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 4, 2018

Simplify sign-all target for templates
Since templates can be now handled as other rpm packages, there is no
need for separate section.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 4, 2018

Use common code of update-repo for templates too
This require little changes to update-repo:
- not stripping dist flavors for linux-template-builder component
- handling simplified repository layout (no dom0/fc25 subdir)
- setting TEMPLATE_NAME variable - calculating it is done in various
makefiles and need to be done before parsing templates.spec;
unfortunately variables set in makefile aren't available to $(shell ...)
in the very same makefile, so this needs to be set earlier.
See https://savannah.gnu.org/bugs/?10593

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 4, 2018

Add convenient make template-name wrapper
Allow easily get calculated template name. While the command looks
simple, it needs to be called with right environment variables
(especially - with settings in builder.conf).

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 4, 2018

Set default RELEASE variable
If builder.conf is generated by setup script, it is set, but otherwise
it isn't. And because of this, various scripts guess release version
based on repository dir name. Lets have it in one place.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 4, 2018

Fix make sign-all to sign templates with flavors
Yet another place where template flavors needs not to be stripped when
handling template.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 4, 2018

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 4, 2018

Simplify sign-all target for templates
Since templates can be now handled as other rpm packages, there is no
need for separate section.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-linux-template-builder that referenced this issue Jun 4, 2018

Pretend the template rpm is build the standard way
This allows to reuse standard update-repo-* and sign-* make targets.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder-rpm that referenced this issue Jun 13, 2018

marmarek added a commit to marmarek/qubes-builder-rpm that referenced this issue Jun 13, 2018

Fix update-repo target for simplified repositories
Don't assume UPDATE_REPO contains trailing slash, there may be no more
subdirectories (templates-* repos).

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 17, 2018

Use common code of update-repo for templates too
This require little changes to update-repo:
- not stripping dist flavors for linux-template-builder component
- handling simplified repository layout (no dom0/fc25 subdir)
- setting TEMPLATE_NAME variable - calculating it is done in various
makefiles and need to be done before parsing templates.spec;
unfortunately variables set in makefile aren't available to $(shell ...)
in the very same makefile, so this needs to be set earlier.
See https://savannah.gnu.org/bugs/?10593

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 17, 2018

Add convenient make template-name wrapper
Allow easily get calculated template name. While the command looks
simple, it needs to be called with right environment variables
(especially - with settings in builder.conf).

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 17, 2018

Set default RELEASE variable
If builder.conf is generated by setup script, it is set, but otherwise
it isn't. And because of this, various scripts guess release version
based on repository dir name. Lets have it in one place.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 17, 2018

Fix make sign-all to sign templates with flavors
Yet another place where template flavors needs not to be stripped when
handling template.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 17, 2018

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 17, 2018

Simplify sign-all target for templates
Since templates can be now handled as other rpm packages, there is no
need for separate section.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 17, 2018

Exclude linux-template-builder from default build recipe
It already had custom recipe, but since now it got Makefile.builder
file, really bypass the default one.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 17, 2018

Use proper make targets instead of shell loop for iso.copy-rpms
Use this also to handle old (no Makefile.builder) and new (with
Makefile.builder) components.
No functional change.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 17, 2018

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jun 24, 2018

Member

@adrelanos see above questions, any opinion? Most of required changes are already done, I'd like to use it for Whonix 14 build (#4016).

Member

marmarek commented Jun 24, 2018

@adrelanos see above questions, any opinion? Most of required changes are already done, I'd like to use it for Whonix 14 build (#4016).

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 24, 2018

Use common code of update-repo for templates too
This require little changes to update-repo:
- not stripping dist flavors for linux-template-builder component
- handling simplified repository layout (no dom0/fc25 subdir)
- setting TEMPLATE_NAME variable - calculating it is done in various
makefiles and need to be done before parsing templates.spec;
unfortunately variables set in makefile aren't available to $(shell ...)
in the very same makefile, so this needs to be set earlier.
See https://savannah.gnu.org/bugs/?10593

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 24, 2018

Add convenient make template-name wrapper
Allow easily get calculated template name. While the command looks
simple, it needs to be called with right environment variables
(especially - with settings in builder.conf).

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 24, 2018

Set default RELEASE variable
If builder.conf is generated by setup script, it is set, but otherwise
it isn't. And because of this, various scripts guess release version
based on repository dir name. Lets have it in one place.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 24, 2018

Fix make sign-all to sign templates with flavors
Yet another place where template flavors needs not to be stripped when
handling template.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 24, 2018

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 24, 2018

Simplify sign-all target for templates
Since templates can be now handled as other rpm packages, there is no
need for separate section.

QubesOS/qubes-issues#3935

marmarek added a commit to marmarek/qubes-builder that referenced this issue Jun 24, 2018

Exclude linux-template-builder from default build recipe
It already had custom recipe, but since now it got Makefile.builder
file, really bypass the default one.

QubesOS/qubes-issues#3935
@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 12, 2018

Member

The command to create the timestamp is...?

date --utc +%Y%m%d%H%M

Yes.

Only one command per message?

For now yes.

Is this safe against attacks, i.e. someone copying and pasting any comments? I.e. a replay attack. The signature is valid regardless how often it is posted.

This is why timestamp is included in the command. It's valid for one hour. There is also protection refusing to build template which already exists (exact version, including requested timestamp), so it's only possible to replay command (for one hour) for a failed build. Which I consider a feature (retry a build after intermittent network problem caused by Tor).

Member

marmarek commented Jul 12, 2018

The command to create the timestamp is...?

date --utc +%Y%m%d%H%M

Yes.

Only one command per message?

For now yes.

Is this safe against attacks, i.e. someone copying and pasting any comments? I.e. a replay attack. The signature is valid regardless how often it is posted.

This is why timestamp is included in the command. It's valid for one hour. There is also protection refusing to build template which already exists (exact version, including requested timestamp), so it's only possible to replay command (for one hour) for a failed build. Which I consider a feature (retry a build after intermittent network problem caused by Tor).

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 12, 2018

Member

BTW I see gpg2 supports expiration time for signatures (--default-sig-expire). But I haven't tried it and not sure if that's a good idea.

Member

marmarek commented Jul 12, 2018

BTW I see gpg2 supports expiration time for signatures (--default-sig-expire). But I haven't tried it and not sure if that's a good idea.

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Jul 12, 2018

Member

QubesOS/updates-status#566 (comment) - Did I do something wrong?

Member

adrelanos commented Jul 12, 2018

QubesOS/updates-status#566 (comment) - Did I do something wrong?

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 12, 2018

Member

Looks fine, let me check the logs...

Member

marmarek commented Jul 12, 2018

Looks fine, let me check the logs...

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 12, 2018

Member

Ok, I found the problem - I'm using subkey ID not primary key ID for access control, but actually listed primary key ID in configuration. Will fix in a moment

Member

marmarek commented Jul 12, 2018

Ok, I found the problem - I'm using subkey ID not primary key ID for access control, but actually listed primary key ID in configuration. Will fix in a moment

marmarek added a commit to marmarek/qubes-builder-github that referenced this issue Jul 12, 2018

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 12, 2018

Member

Ok, retry now (copy and paste the same comment again should be ok).

Member

marmarek commented Jul 12, 2018

Ok, retry now (copy and paste the same comment again should be ok).

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Jul 12, 2018

Member

Issue for the build was created this time.


https://github.com/marmarek/qubes-builder-github/blob/master/lib/functions.sh

        eval "$local_signer"="$(grep -Po \
            '^\[GNUPG:\] VALIDSIG (([0-9A-F-]+ ){9}|)\K([0-9A-F]*)' \
            "$tmpdir/gpg-status")"

Not exactly same as #4070 but couldn't we better avoid any eval here?

Could that be a bash script? Would a bash array help avoid the eval?

Member

adrelanos commented Jul 12, 2018

Issue for the build was created this time.


https://github.com/marmarek/qubes-builder-github/blob/master/lib/functions.sh

        eval "$local_signer"="$(grep -Po \
            '^\[GNUPG:\] VALIDSIG (([0-9A-F-]+ ){9}|)\K([0-9A-F]*)' \
            "$tmpdir/gpg-status")"

Not exactly same as #4070 but couldn't we better avoid any eval here?

Could that be a bash script? Would a bash array help avoid the eval?

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 12, 2018

Member

eval here is is to assign to a variable named by $local_signer, how to do that? Alternatively it could write keyid to a file named by that variable... The point here is we need to return two things from that function - verified command and a key ID used to sign it.

Member

marmarek commented Jul 12, 2018

eval here is is to assign to a variable named by $local_signer, how to do that? Alternatively it could write keyid to a file named by that variable... The point here is we need to return two things from that function - verified command and a key ID used to sign it.

marmarek added a commit to marmarek/qubes-builder-github that referenced this issue Jul 12, 2018

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Jul 13, 2018

Member

File seems better. Otherwise the eval risks to evaluate anything form gpg status file output.


QubesOS/updates-status#576

Minor issue - duplicate comment:

Package for fc23 was built (build log) and uploaded to templates-community-testing repository

Member

adrelanos commented Jul 13, 2018

File seems better. Otherwise the eval risks to evaluate anything form gpg status file output.


QubesOS/updates-status#576

Minor issue - duplicate comment:

Package for fc23 was built (build log) and uploaded to templates-community-testing repository

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 13, 2018

Member

File seems better. Otherwise the eval risks to evaluate anything form gpg status file output.

The function strictly grep for [0-9A-F]*, but will convert to a file anyway.

Minor issue - duplicate comment:

That was me.

Member

marmarek commented Jul 13, 2018

File seems better. Otherwise the eval risks to evaluate anything form gpg status file output.

The function strictly grep for [0-9A-F]*, but will convert to a file anyway.

Minor issue - duplicate comment:

That was me.

marmarek added a commit to marmarek/qubes-installer-qubes-os that referenced this issue Jul 13, 2018

marmarek added a commit to QubesOS/qubes-installer-qubes-os that referenced this issue Jul 14, 2018

qubes-release: add template testing repositories
Have them disabled by default.

QubesOS/qubes-issues#3935

(cherry picked from commit 21eb21b)

@qubesos-bot qubesos-bot referenced this issue in QubesOS/updates-status Jul 14, 2018

Closed

installer-qubes-os v3.2-2-qubes-release (r3.2) #582

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Jul 15, 2018

Member

I've installed from qubes-dom0-unstable and wondered about stale package versions.

So qubes-dom0-unstable is different from templates-community-testing?

Package for fc25 was built (build log) and uploaded to templates-community-testing repository

dom0 installation command would be helpful to encourage testing.

Member

adrelanos commented Jul 15, 2018

I've installed from qubes-dom0-unstable and wondered about stale package versions.

So qubes-dom0-unstable is different from templates-community-testing?

Package for fc25 was built (build log) and uploaded to templates-community-testing repository

dom0 installation command would be helpful to encourage testing.

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Jul 15, 2018

Member

For example for QubesOS/updates-status#581 what is the installation command?

sudo qubes-dom0-update --enablerepo=templates-community-testing qubes-template-whonix-gw-14 says repository not found.

Member

adrelanos commented Jul 15, 2018

For example for QubesOS/updates-status#581 what is the installation command?

sudo qubes-dom0-update --enablerepo=templates-community-testing qubes-template-whonix-gw-14 says repository not found.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 15, 2018

Member

The command is correct, but template definition isn't there yet. See this:

The template will be uploaded to appropriate templates testing repository. For now you need to create repository definition manually (copy existing one and append "-testing" to the name and URL).

Member

marmarek commented Jul 15, 2018

The command is correct, but template definition isn't there yet. See this:

The template will be uploaded to appropriate templates testing repository. For now you need to create repository definition manually (copy existing one and append "-testing" to the name and URL).

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 15, 2018

Member

Oh and salt have hardcoded templates-community repo name: https://github.com/QubesOS/qubes-mgmt-salt-dom0-virtual-machines/blob/master/qvm/template-whonix-gw.sls#L19
So, testing this with salt require changing that line (it's /srv/formulas/base/virtual-machines-formula/qvm/template-whonix-*.sls).

Member

marmarek commented Jul 15, 2018

Oh and salt have hardcoded templates-community repo name: https://github.com/QubesOS/qubes-mgmt-salt-dom0-virtual-machines/blob/master/qvm/template-whonix-gw.sls#L19
So, testing this with salt require changing that line (it's /srv/formulas/base/virtual-machines-formula/qvm/template-whonix-*.sls).

marmarek added a commit to marmarek/qubes-installer-qubes-os that referenced this issue Jul 15, 2018

qubes-release: use metalinks for qubes repositories
This enables use of different mirrors. Specifify fastestmirror=1
explicitly for templates repository, as it has the biggest impact there.

QubesOS/qubes-issues#3935
@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 15, 2018

Member

Ok, qubes-release-4.0-4 contains templates testing repositories. Note I've also added metalinks there (for automatic mirror selection) - please let me know if you notice any problems with that.

Member

marmarek commented Jul 15, 2018

Ok, qubes-release-4.0-4 contains templates testing repositories. Note I've also added metalinks there (for automatic mirror selection) - please let me know if you notice any problems with that.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 15, 2018

Member

For 3.2, it's already in qubes-release-3.2-2

Member

marmarek commented Jul 15, 2018

For 3.2, it's already in qubes-release-3.2-2

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Jul 17, 2018

Member

Due to #4095 Whonix templates need to be rebuild. Is it possible to build from Qubes testing rather than Qubes stable repository?

Member

adrelanos commented Jul 17, 2018

Due to #4095 Whonix templates need to be rebuild. Is it possible to build from Qubes testing rather than Qubes stable repository?

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 17, 2018

Member

Is it possible to build from Qubes testing rather than Qubes stable repository?

Yes, add USE_QUBES_REPO_TESTING=1 to https://github.com/QubesOS/qubes-template-configs/blob/master/R4.0/templates-community/whonix-14.conf

Member

marmarek commented Jul 17, 2018

Is it possible to build from Qubes testing rather than Qubes stable repository?

Yes, add USE_QUBES_REPO_TESTING=1 to https://github.com/QubesOS/qubes-template-configs/blob/master/R4.0/templates-community/whonix-14.conf

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Jul 19, 2018

Member

QubesOS/updates-status#583 says it's in current-testing. But is it also in unstable? Does it go into unstable beforehand and stay there?

Member

adrelanos commented Jul 19, 2018

QubesOS/updates-status#583 says it's in current-testing. But is it also in unstable? Does it go into unstable beforehand and stay there?

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 19, 2018

Member

Hm? I see only version "0.1" in unstable.

Member

marmarek commented Jul 19, 2018

Hm? I see only version "0.1" in unstable.

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Jul 19, 2018

Member

Ok, I assume packages are usually not uploaded to unstable. Good to know.

May I recommend to remove the unstable version since it's lower than testing version? Perhaps automated "if version in unstable lower than in testing or stable, remove from unstable"?

Member

adrelanos commented Jul 19, 2018

Ok, I assume packages are usually not uploaded to unstable. Good to know.

May I recommend to remove the unstable version since it's lower than testing version? Perhaps automated "if version in unstable lower than in testing or stable, remove from unstable"?

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 19, 2018

Member

Ok, I assume packages are usually not uploaded to unstable. Good to know.

Yes, unstable repo is only for early testing versions, not suitable for broader testing. I'd say "developers only" in your repository layout.

May I recommend to remove the unstable version since it's lower than testing version? Perhaps automated "if version in unstable lower than in testing or stable, remove from unstable"?

Any specific reason for that? Package manager picks newest available version. Also, unstable repository is disabled by default and no one really should have it enabled permanently (unless want a really unstable system) - this repository may include potentially known-broken packages.
Generally we do not remove packages from repositories.

Member

marmarek commented Jul 19, 2018

Ok, I assume packages are usually not uploaded to unstable. Good to know.

Yes, unstable repo is only for early testing versions, not suitable for broader testing. I'd say "developers only" in your repository layout.

May I recommend to remove the unstable version since it's lower than testing version? Perhaps automated "if version in unstable lower than in testing or stable, remove from unstable"?

Any specific reason for that? Package manager picks newest available version. Also, unstable repository is disabled by default and no one really should have it enabled permanently (unless want a really unstable system) - this repository may include potentially known-broken packages.
Generally we do not remove packages from repositories.

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Jul 19, 2018

Member
Member

adrelanos commented Jul 19, 2018

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Jul 19, 2018

Member
Member

adrelanos commented Jul 19, 2018

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 19, 2018

Member

Here is canonical documentation about testing: https://www.qubes-os.org/doc/testing/
Both dom0 and VM pages contains explanation of testing repositories:

Testing repositories

There are three Qubes dom0 testing repositories:

    qubes-dom0-current-testing – testing packages that will eventually land in the stable (current) repository
    qubes-dom0-security-testing – a subset of qubes-dom0-current-testing that contains packages that qualify as security fixes
    qubes-dom0-unstable – packages that are not intended to land in the stable (qubes-dom0-current) repository; mostly experimental debugging packages

Since we have templates testing repositories now, unstable repository is no longer used against its purpose.

Member

marmarek commented Jul 19, 2018

Here is canonical documentation about testing: https://www.qubes-os.org/doc/testing/
Both dom0 and VM pages contains explanation of testing repositories:

Testing repositories

There are three Qubes dom0 testing repositories:

    qubes-dom0-current-testing – testing packages that will eventually land in the stable (current) repository
    qubes-dom0-security-testing – a subset of qubes-dom0-current-testing that contains packages that qualify as security fixes
    qubes-dom0-unstable – packages that are not intended to land in the stable (qubes-dom0-current) repository; mostly experimental debugging packages

Since we have templates testing repositories now, unstable repository is no longer used against its purpose.

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Jul 21, 2018

Member

Due to frequent flaky network related build failures, could you add please an auto-retry loop of 3 to 5 attempts or so?

Member

adrelanos commented Jul 21, 2018

Due to frequent flaky network related build failures, could you add please an auto-retry loop of 3 to 5 attempts or so?

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Jul 21, 2018

Member

qubes-template-whonix-gw-14 4.0.1-201807210556 even though QubesOS/updates-status#609 says it has been uploaded, is not actually available in templates-community-testing.

qubes-template-whonix-gw-14 4.0.1-201807190624 is being downloaded.

Upload failure not detected?

Out of disk space?

https://yum.qubes-os.org/r4.0/templates-community-testing/rpm/ has:

  • qubes-template-whonix-gw-14-4.0.1-2018 07130946.noarch.rpm
  • qubes-template-whonix-gw-14-4.0.1-2018 07171801.noarch.rpm
  • qubes-template-whonix-ws-14-4.0.1-2018 07131452.noarch.rpm
  • qubes-template-whonix-ws-14-4.0.1-2018 07171801.noarch.rpm

By the way, all older templates can all be purged to save disk space.

Member

adrelanos commented Jul 21, 2018

qubes-template-whonix-gw-14 4.0.1-201807210556 even though QubesOS/updates-status#609 says it has been uploaded, is not actually available in templates-community-testing.

qubes-template-whonix-gw-14 4.0.1-201807190624 is being downloaded.

Upload failure not detected?

Out of disk space?

https://yum.qubes-os.org/r4.0/templates-community-testing/rpm/ has:

  • qubes-template-whonix-gw-14-4.0.1-2018 07130946.noarch.rpm
  • qubes-template-whonix-gw-14-4.0.1-2018 07171801.noarch.rpm
  • qubes-template-whonix-ws-14-4.0.1-2018 07131452.noarch.rpm
  • qubes-template-whonix-ws-14-4.0.1-2018 07171801.noarch.rpm

By the way, all older templates can all be purged to save disk space.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 21, 2018

Member

qubes-template-whonix-gw-14 4.0.1-201807210556 even though QubesOS/updates-status#609 says it has been uploaded, is not actually available in templates-community-testing.

It is, for 3.2 (not 4.0), here: https://yum.qubes-os.org/r3.2/templates-community-testing/rpm/

Member

marmarek commented Jul 21, 2018

qubes-template-whonix-gw-14 4.0.1-201807210556 even though QubesOS/updates-status#609 says it has been uploaded, is not actually available in templates-community-testing.

It is, for 3.2 (not 4.0), here: https://yum.qubes-os.org/r3.2/templates-community-testing/rpm/

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Jul 24, 2018

Member

QubesOS/updates-status#572 (comment)

Upload core-agent-linux ec251da5d8e6ed5544e91d92695a41f4d86d43d5 r4.0 current repo

There's was no notification Package for fc28 was built (build log) and uploaded to current repository. Expected?

I guess such a notification if upload actually happened could save a some time in future in case it fails for some reason.

Member

adrelanos commented Jul 24, 2018

QubesOS/updates-status#572 (comment)

Upload core-agent-linux ec251da5d8e6ed5544e91d92695a41f4d86d43d5 r4.0 current repo

There's was no notification Package for fc28 was built (build log) and uploaded to current repository. Expected?

I guess such a notification if upload actually happened could save a some time in future in case it fails for some reason.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 24, 2018

Member

There's was no notification Package for fc28 was built (build log) and uploaded to current repository. Expected?

Sort of. This is because it wasn't uploaded. Because there was already newer package: QubesOS/updates-status#593

Member

marmarek commented Jul 24, 2018

There's was no notification Package for fc28 was built (build log) and uploaded to current repository. Expected?

Sort of. This is because it wasn't uploaded. Because there was already newer package: QubesOS/updates-status#593

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment