[Toybox] [PATCH] setenforce takes exactly one argument

Rob Landley rob at landley.net
Thu Apr 9 22:33:17 PDT 2015


On Thu, Apr 9, 2015 at 9:45 AM, enh <enh at google.com> wrote:
> On Wed, Apr 8, 2015 at 11:45 PM, Rob Landley <rob at landley.net> wrote:
>> On Tue, Apr 7, 2015 at 3:13 PM, enh <enh at google.com> wrote:
>>> submitted to AOSP as
>>> https://android-review.googlesource.com/#/c/145667/ (SHA
>>> ec13b088cdaf133e4fa5e7a94ed90eb0af59c126).
>>
>> Do you have a tree I can pull from with just changes to go upstream?
>>
>> I can't pull from
>> https://android.googlesource.com/platform/external/toybox because it's
>> got checked in generated files and top level .config.
>
> no. i've been keeping "changes to go upstream" separate from
> "configuration changes", so you can at least cherrypick, but i hadn't
> thought of how you'd work out which changes to cherrypick and which
> not.

I was thinking a submission branch that I pull from, which you then
get the commits back when you pull from me. A branch containing _just_
stuff that should go to me (and could be blown away and redone).

(I'm still learning git but I can fetch into a temp tree or local
branch and cherry pick from there.)

> i don't think i imagined you merging because i assumed you'd want to
> review every change anyway. i don't _plan_ on making changes to the
> non-Android parts of the tree without getting them upstream first, but
> if the release team's breathing down my neck and we were supposed to
> have shipped two weeks ago, i might have to. i'd worry too about what
> happens if i "git rm" the existing uptime.c and add an Android one to
> toys/android/. again, i'm not planning on it (read: "would like to
> avoid that kind of mess at all costs"), but what if i go under a bus,
> or someone else thinks it's a good idea while i'm on vacation?

I'm aware that I'm a bottleneck. The editorial function I exercise for
the project hasn't got the bandwidth necessary to keep up with the
developer base, and this is a problem. (I really, really, really
should have called this project Dorodango.)

Delegating the android directory to you helps me be less of a
bottleneck for toolbox->toybox migration relative to the Android M
feature freeze. (I'm looking into the mount ioctl thing now.)

> is there some kind of "git merge --interactive" that makes it easy to
> go through all the patches and skip the useless ones? actually, if you
> skip my modification of the .gitignore file, will merge drop future
> changes to the generated files on the floor automatically? or is that
> a conflict?

I can pull into a separate tree/branch and cherry pick. There's also
"git pull --ff-only" and "git diff $OLD..master | diffstat" and so on.
Probably more elegant ways to do everything but that's git for you:
the Tardis has more intuitive controls. (Hey, if git's controls were
_also_ telepathically labeled they could arrange them how they
wanted.)

>> (I'd be ok with
>> having android.mk be in scripts or in toys/android but would prefer
>> not to have it at the top level. Presumably your local tree could add
>> a symlink, but I dunno if that would be useful to you _without_ the
>> checked in .config and generated files... :)
>
> losing the generated files is just a matter of work. i could have a
> much more complicated Android.mk that has all your scripts generate
> their output into the build system's intermediates directory, then
> adds that to the include path for building the source. that would be
> better for me too, but i haven't had time to look into how hard that
> would be. does your current setup support writing the generated files
> to an arbitrary directory?

That's awkward because headers are #included in C code using a fixed
path, but you can make a symlink. (Note that "make clean" will zap
that symlink...)

> i don't see a way around the Android.mk or the .config file though.

Indeed. I'm not saying your tree shouldn't have them, I'm suggesting
you could make a temporary git branch that has just the stuff staged
to go to me, and I could pull it, and then you'd pull my tree into
your android repo with the extra android stuff.

That said, *cracks knuckles*...

There _is_ infrastructure to move the .config file. Set
KCONFIG_CONFIG=newconfigfile and I know that still works because
scripts/single.sh uses it. So you could make an "android/config" you
could "KCONFIG_CONFIG=android/config make" and it should work.

(Note: "make KCONFIG_CONFIG=android/config" will override the make
variable but not export it to the shell scripts. Reversing the order
exports it as an environment variable and then make picks it up but
also passes it on.)

So in theory you just need _two_ files at the top level: an "android"
directory containing config and gensnapshot, and Android.mk that does
"ln -s android/gensnapshot generated && KCONFIG_CONFIG=android/config
make".

And then there's this horrible monstrosity:

http://stackoverflow.com/questions/14326365/git-clone-ignoring-a-directory

Which suggests:

  git checkout master^0    # the ^0 checks out the commit itself, not the branch
  git filter-branch --tree-filter 'git rm -r wp-content/uploads' HEAD
  git checkout -b filtered

So you can create a branch I can pull from by automatically filtering
the live android repository to remove "android" and "Android.mk".

But in the short term, just making a branch with commits I should look
at seems the easy way to queue stuff up for me. :)

Thanks,

Rob

 1428643997.0


More information about the Toybox mailing list