Page MenuHomePhabricator

qubes-template-whonix: make[1]: *** No rule to make target 'rpms-vm'. Stop.
Closed, ResolvedPublic

Description

Excerpt.

make qubes-vm --debug=v

+ sudo -E chroot chroot-jessie su -p -c 'cd /home/user/qubes-src/template-whonix; NO_SIGN='\''1'\'' make  -s rpms-vm' user
GNU Make 4.0
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Reading makefile 'Makefile'...
Reading makefile '/home/user/qubes-src/template-whonix/components.conf' (search path) (don't care) (no ~ expansion)...
Updating goal targets....
Considering target file 'rpms-vm'.
 File 'rpms-vm' does not exist.
 Finished prerequisites of target file 'rpms-vm'.
Must remake target 'rpms-vm'.
make[1]: *** No rule to make target 'rpms-vm'.  Stop.
+ BUILD_RETCODE=2
+ '[' 2 -gt 0 ']'
+ echo '--> build failed!'
--> build failed!
+ '[' -n '' ']'
+ exit 1
Makefile:193: recipe for target 'template-whonix-vm' failed
make: *** [template-whonix-vm] Error 1
user@host:~/qubes-builder

Details

Impact
Normal

Event Timeline

Patrick raised the priority of this task from to High.
Patrick updated the task description. (Show Details)
Patrick added projects: Qubes, build.
Patrick set Impact to Normal.
Patrick added subscribers: Patrick, nrgaway, marmarek.

I guess adding

rpms-vm::
	@true

to https://github.com/adrelanos/qubes-template-whonix/blob/master/builder.conf would suffice?

Are there any other targets that should be provided?

Better create empty Makefile.builder. The rpms-vm target (and
rpms-dom0) is support for legacy components.

Patrick changed the task status from Open to Review.Oct 8 2015, 1:25 PM

fixed 'qubes-template-whonix: make[1]: *** No rule to make target 'rpms-vm'. Stop.' - Thanks to @marmarek for suggesting the fix! - https://phabricator.whonix.org/T407:
https://github.com/adrelanos/qubes-template-whonix/commit/1d3700bce1737e2dedbaa1b3d17430ec983cb752

Patrick changed the task status from Review to Open.Oct 29 2015, 6:41 PM

Got a build issue with Qubes Builder.

make qubes-vm
 DEBUG 
 Repo Variables
───────────────────────────────────────────────────────────────────────────────
 SRC_DIR:             qubes-src
 CHROOT_DIR:          /home/user/qubes-builder/chroot-jessie
 CHROOT_REPO_DIR:     chroot-debian
 CHROOT_DEBIAN_DIR:   /home/user/qubes-builder/chroot-jessie//
 BUILDER_REPO_DIR:    /home/user/qubes-builder/qubes-packages-mirror-repo/jessie
───────────────────────────────────────────────────────────────────────────────
 Chroot Variables
───────────────────────────────────────────────────────────────────────────────
 DIST_BUILD_DIR:      /home/user
 DIST_SRC:            
 DIST_SRC_DEBIAN_DIR: /
───────────────────────────────────────────────────────────────────────────────
 Build Variables
───────────────────────────────────────────────────────────────────────────────
 DEBIAN_PARSER:       /home/user/qubes-builder/qubes-src/builder-debian//scripts/debian-parser
 DEBIAN_PLUGIN_DIR:   /home/user/qubes-builder/qubes-src/builder-debian/
 OUTPUT_DIR:          pkgs/jessie
 PACKAGE_LIST:        
 DISTRIBUTION:        debian
 DIST:                jessie
 DEBIANVERSION:       jessie
 DEBIAN_DEPENDENCIES: dpkg-dev debootstrap
 UPDATE_REPO:         
 REPO_SUFFIX:         
 DISTRIBUTION_CAP:    Debian
 REPO_PROXY:          http://127.0.0.1:3142
 APT_GET_OPTIONS:     -o Acquire::http::Proxy=http://127.0.0.1:3142
 CHROOT_ENV:          BACKEND_VMM=xen

-> ERROR: Wrong branch (detached from 12.0.0.2.6-developers-only) (expected 12.0.0.2.6-developers-only)
Makefile:193: recipe for target 'Whonix-vm' failed
make: *** [Whonix-vm] Error 1

There is an empty Makefile.builder now:
https://github.com/Whonix/Whonix/blob/12.0.0.2.6-developers-only/Makefile.builder

Building from QubesOS/qubes- Stable - Default Repo.

Looks like two different issues here.

  • a) -> ERROR: Wrong branch (detached from 12.0.0.2.6-developers-only) (expected 12.0.0.2.6-developers-only
  • b) Makefile:193: recipe for target 'Whonix-vm' failed

Btw this is the last blocker before an Whonix 12 RC.

Any idea how to fix @marmarek?

Generally the message is because you have CHECK_BRANCH safeguard
enabled. The easiest thing to do is to just disable it (unset in
builder.conf, or set to "0").

It all looks like this safeguard doesn't play nice when setting tag in
BRANCH setting. Do you need CHECK_BRANCH feature here? If so, I'll fix
it, otherwise - add appropriate note to documentation.

marmarek (Marek Marczykowski-Górecki):

marmarek added a comment.

Generally the message is because you have CHECK_BRANCH safeguard
enabled. The easiest thing to do is to just disable it (unset in
builder.conf, or set to "0").

Ok.

It all looks like this safeguard doesn't play nice when setting tag in
BRANCH setting. Do you need CHECK_BRANCH feature here? If so, I'll fix
it, otherwise - add appropriate note to documentation.

I don't urgently require it, but for high quality builds, I would be
glad if you could fix it.

There is still an issue.

I guess the fix was this one:
https://github.com/marmarek/qubes-builder/commit/577b9fc54b6ec69213132907677531fcc1f7d0dd

fatal: no tag exactly matches '117fca6cc836ea5c8d2ea3f7e87611d2d83c1857'
-> ERROR: Wrong branch  (expected 12.0.0.2.7-developers-only)
Makefile:193: recipe for target 'Whonix-vm' failed
make: *** [Whonix-vm] Error 1

Some debug output.

user@qubes-build:~/qubes-builder/qubes-src/Whonix$ git symbolic-ref --short HEAD
fatal: ref HEAD is not a symbolic ref
user@qubes-build:~/qubes-builder/qubes-src/Whonix$ git describe --tags --exact-match HEAD
fatal: no tag exactly matches '117fca6cc836ea5c8d2ea3f7e87611d2d83c1857'
user@qubes-build:~/qubes-builder/qubes-src/Whonix$ git describe 
12.0.0.2.7-developers-only-1-g117fca6

I speculate, the problem is that make do-merge creates a merge commit?

git log
commit 117fca6cc836ea5c8d2ea3f7e87611d2d83c1857
Merge: 67f8996 321c0ac
Author: Your Name <you@example.com>
Date:   Wed Nov 4 00:33:28 2015 +0100

    Merge tag '12.0.0.2.7-developers-only' of https://github.com/Whonix/Whonix into HEAD
    
    .
    
    # gpg: Signature made Wed 04 Nov 2015 12:22:32 AM CET using RSA key ID 77BB3C48
    # gpg: Good signature from "Patrick Schleizer <adrelanos@riseup.net>

Would git merge using --ff-only in make do-merge be a solution?

Actually make do-merge is supposed to do a merge when needed. Maybe
git merge --ff?

That should do also. Be an improvement. We'll notice should there are
corner cases. :)

Patrick claimed this task.
In T407#7042, @Patrick wrote:

There is still an issue.

I guess the fix was this one:
https://github.com/marmarek/qubes-builder/commit/577b9fc54b6ec69213132907677531fcc1f7d0dd

fatal: no tag exactly matches '117fca6cc836ea5c8d2ea3f7e87611d2d83c1857'
-> ERROR: Wrong branch  (expected 12.0.0.2.7-developers-only)
Makefile:193: recipe for target 'Whonix-vm' failed
make: *** [Whonix-vm] Error 1

Some debug output.

user@qubes-build:~/qubes-builder/qubes-src/Whonix$ git symbolic-ref --short HEAD
fatal: ref HEAD is not a symbolic ref
user@qubes-build:~/qubes-builder/qubes-src/Whonix$ git describe --tags --exact-match HEAD
fatal: no tag exactly matches '117fca6cc836ea5c8d2ea3f7e87611d2d83c1857'
user@qubes-build:~/qubes-builder/qubes-src/Whonix$ git describe 
12.0.0.2.7-developers-only-1-g117fca6

I speculate, the problem is that make do-merge creates a merge commit?

git log
commit 117fca6cc836ea5c8d2ea3f7e87611d2d83c1857
Merge: 67f8996 321c0ac
Author: Your Name <you@example.com>
Date:   Wed Nov 4 00:33:28 2015 +0100

    Merge tag '12.0.0.2.7-developers-only' of https://github.com/Whonix/Whonix into HEAD
    
    .
    
    # gpg: Signature made Wed 04 Nov 2015 12:22:32 AM CET using RSA key ID 77BB3C48
    # gpg: Good signature from "Patrick Schleizer <adrelanos@riseup.net>

Would git merge using --ff-only in make do-merge be a solution?

In T407#7043, @marmarek wrote:

Actually make do-merge is supposed to do a merge when needed. Maybe
git merge --ff?

In T407#7044, @Patrick wrote:

That should do also. Be an improvement. We'll notice should there are
corner cases. :)

Created https://github.com/marmarek/qubes-builder/pull/1 for it.