[Dev] Fauno's workflow

Nicolás Reynolds fauno at kiwwwi.com.ar
Fri Nov 30 18:29:56 GMT 2012


"Luke T. Shumaker" <lukeshu at sbcglobal.net> writes:
>> >  * Copies the resulting packages to SRCDEST.
>> 
>> ?
>
> It copies the packages in ${chrootdir}/srcdest to your configured
> SRCDEST outside of the chroot; where normal `makepkg` would put them.
>
> I forgot to mention it, but it also runs `libre_check_pkg` on the
> packages before it copies them.

but srcdest is for downloading sources... why copying if you can have
them all in the same place anyway? :D

>> it may also bind mount a subdir on home where you store abslibre and
>> libretools (i use the git version) and that's clean enough. it's never
>> been a problem though.
>
> Eh, I'm a fan of getting an up-to-date libretools on the repos.

it's not enough if i'm testing changes to libretools itself ;)

>> >  * A chroot also protects you from a misbehaving build script messing
>> >    with your $HOME.
>> 
>> i usually check pkgbuilds from aur and trust the ones that come from
>> abslibre...
>
> Not just the PKGBUILDS, but the Makefiles, ant scripts, etc that are
> part of the source.

ok then refer to mount chroot's ~ to something that contains libretools
and abslibre (or just abslibre):

$ ls ~/packages/
abslibre/
packages/
sources/

$ mount --bind ~/packages $chrootdir/home/$USER/

>> chcleanup is run automatically here, not optionally. -c is needed when
>> the chroot is considered dirty if not pristine so it may remove the
>> packages you already installed if this is the second run, and this isn't
>> the case: chroot is considered dirty when more than the needed packages
>> are installed.
>
> How is it done automatically?

it's always run by treepkg before makepkg, no flag involved, and it's a
tiny script that just knows what to remove instead of removing
everything just in case (rsync is slow and btrfs is overkill in
comparison to a *tiny* script that runs pacman -Rn
packages-not-in-base-or-pkgbuild).

>> recreating here means "mounting and umounting, removing files, spawning
>> shells...", why has this to be done many times when i can do it once or
>> less? (yeeloongs aren't the quickest machines).
>
> I wish I hade a yeeloong to verify...

:c

but still, doing things many times unnecesarily doesn't sound kiss to
me, as in i didn't had to rewrite libremakepkg, i just stopped using it
;)

> It's pretty minimal now.  The most complicated parts are:
>  * handling signals to umount and exit gracefully

that's the problem with making it mount everytime instead of using
fstab, you can end up with the same dir bind mounted many many times.

>  * the legacy code that only runs if systemd-nspawn isn't available

this should be deprecated imo

> And some of the "checks" can only be done with a chroot, such as
> turning networking off during the build and package stages.

this is true, but what we're discussing (except from the "running any
command instead of a predefined set" part) does still apply.

-- 
http://kiwwwi.com.ar/pastes/para-cooptar-una-comunidad.markdown
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 489 bytes
Desc: not available
URL: <https://lists.parabola.nu/pipermail/dev/attachments/20121130/5f80612f/attachment.sig>


More information about the Dev mailing list