FS#16006 - [devtools] makechrootpkg $SRCDEST and $PKGDEST broken

Attached to Project: Arch Linux
Opened by Corrado Primier (bardo) - Saturday, 05 September 2009, 08:07 GMT
Last edited by Allan McRae (Allan) - Saturday, 19 September 2009, 05:07 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Aaron Griffin (phrakture)
Allan McRae (Allan)
Architecture All
Severity Medium
Priority Normal
Reported Version 3.3.0
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

When running makechrootpkg, $SRCDEST and $PKGDEST are forced to /srcdest and /pkgdest. If these directories don't exist, two thus-named files are created, containing the source and the final package.
This task depends upon

Closed by  Allan McRae (Allan)
Saturday, 19 September 2009, 05:07 GMT
Reason for closing:  Fixed
Additional comments about closing:  in git commit 71a6d2c8
Comment by Allan McRae (Allan) - Saturday, 05 September 2009, 10:10 GMT
Note that this is due to this commit: http://projects.archlinux.org/?p=devtools.git;a=commit;h=4bc819a2

Now, the makepkg.conf from the chroot is sourced instead of the one in /etc. However, SRCDEST and PKGDEST are added to the end of the chroot makepkg.conf. As this is no longer over-written and so on the next run we end with bad values for these variables.

Solutions:
1) revert that commit
2) remove the copying to {SRC,PKG}DEST.

I have done 1) for my local version as enabling to build for another architecture requires a sprinkling of linux32/64 throughout anyway. This also means I do not need to adjust the chroots makepkg.conf every time I create a new one.
Comment by Aaron Griffin (phrakture) - Wednesday, 09 September 2009, 22:51 GMT
Seems like adding a "mkdir" for these directories would be the path of least resistance here.
Comment by Allan McRae (Allan) - Wednesday, 09 September 2009, 23:13 GMT
Just to be clear, the issue is with copying the files back to the host.
Comment by Aaron Griffin (phrakture) - Tuesday, 15 September 2009, 16:19 GMT
Hmmm couldn't we just source /etc/makepkg.conf after everything is complete?
Comment by Allan McRae (Allan) - Tuesday, 15 September 2009, 16:23 GMT
That would work.

But copying it first means I do not have to update my makepkg.conf every time I create a chroot. Maybe mkarchroot should copy the local one into the chroot?
Comment by Aaron Griffin (phrakture) - Tuesday, 15 September 2009, 16:36 GMT
Hmm I see what you're saying. mkarchroot CAN copy it if you use the -M argument
Comment by Evangelos Foutras (foutrelis) - Tuesday, 15 September 2009, 22:14 GMT
"I have done 1) for my local version as enabling to build for another architecture requires a sprinkling of linux32/64 throughout anyway."

Hmmm, I think you can simply put linux32/64 before the makechrootpkg command. For example, I once did `linux32 sudo makechrootpkg -c -r /opt/arch/stable-i686', to build a i686 kernel on a x86_64 host.
Comment by Aaron Griffin (phrakture) - Friday, 18 September 2009, 18:57 GMT
I reverted the commit in git for now
Comment by Aaron Griffin (phrakture) - Friday, 18 September 2009, 20:03 GMT
How about this?
Comment by Allan McRae (Allan) - Friday, 18 September 2009, 20:38 GMT
That looks fine
Comment by Evangelos Foutras (foutrelis) - Friday, 18 September 2009, 20:56 GMT
Second line from the end appears to have an additional slash in it ("~/./makepkg.conf").

Looks alright to me too.
Comment by Aaron Griffin (phrakture) - Friday, 18 September 2009, 21:04 GMT
ok pushed to master.

consider this closed?

Loading...