Skip to content
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

kernel-open/conftest.sh: fix non-portable usage of tr #609

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

git-bruh
Copy link

@git-bruh git-bruh commented Mar 7, 2024

Closes #468

Replaces unportable tr usage with an equivalent awk command. Tested it by running it on the inputs generated by the script:

$ tr '/.\-a-z' '___A-Z' < headers | sha256sum # GNU tr, not Busybox
db7d5442f53eaadf3f838b3e2392e2563cae4742b7b74497d72eff6c425bc2f0  -
$ awk '{ gsub(/\.|\/|-/, "_", $1); print toupper($0) }' < headers | sha256sum
db7d5442f53eaadf3f838b3e2392e2563cae4742b7b74497d72eff6c425bc2f0  -
asm/system.h
drm/drm_auth.h
drm/drm_gem.h
drm/drmP.h
drm/drm_aperture.h
drm/drm_crtc.h
drm/drm_color_mgmt.h
drm/drm_atomic.h
drm/drm_atomic_helper.h
drm/drm_atomic_state_helper.h
drm/drm_encoder.h
drm/drm_atomic_uapi.h
drm/drm_drv.h
drm/drm_fbdev_generic.h
drm/drm_framebuffer.h
drm/drm_connector.h
drm/drm_probe_helper.h
drm/drm_blend.h
drm/drm_fourcc.h
drm/drm_prime.h
drm/drm_plane.h
drm/drm_vblank.h
drm/drm_file.h
drm/drm_ioctl.h
drm/drm_device.h
drm/drm_mode_config.h
drm/drm_modeset_lock.h
dt-bindings/interconnect/tegra_icc_id.h
generated/autoconf.h
generated/compile.h
generated/utsrelease.h
linux/efi.h
linux/kconfig.h
linux/platform/tegra/mc_utils.h
linux/printk.h
linux/ratelimit.h
linux/log2.h
linux/prio_tree.h
linux/of.h
linux/bug.h
linux/sched.h
linux/sched/mm.h
linux/sched/signal.h
linux/sched/task.h
xen/ioemu.h
linux/sched/task_stack.h
linux/fence.h
linux/dma-fence.h
linux/dma-resv.h
soc/tegra/fuse.h
soc/tegra/chip-id.h
soc/tegra/tegra_bpmp.h
video/nv_internal.h
linux/platform/tegra/dce/dce-client-ipc.h
linux/nvhost.h
linux/nvhost_t194.h
linux/host1x-next.h
asm/book3s/64/hash-64k.h
asm/set_memory.h
asm/prom.h
asm/powernv.h
linux/atomic.h
asm/barrier.h
asm/opal-api.h
sound/hdaudio.h
asm/pgtable_types.h
asm/page.h
linux/stringhash.h
linux/dma-map-ops.h
rdma/peer_mem.h
sound/hda_codec.h
linux/dma-buf.h
linux/time.h
linux/platform_device.h
linux/mutex.h
linux/of_device.h
linux/reset.h
linux/of_platform.h
linux/of_gpio.h
linux/gpio.h
linux/gpio/consumer.h
linux/interconnect.h
linux/pm_runtime.h
linux/clk.h
linux/clk-provider.h
linux/ioasid.h
linux/stdarg.h
linux/iosys-map.h
asm/coco.h
linux/vfio_pci_core.h
linux/mdev.h
soc/tegra/bpmp-abi.h
soc/tegra/bpmp.h
linux/sync_file.h
linux/cc_platform.h
asm/cpufeature.h
linux/mpi.h

@szmarczak
Copy link

I confirm this works.

@CLAassistant
Copy link

CLAassistant commented Jun 6, 2024

CLA assistant check
All committers have signed the CLA.

@aritger
Copy link
Collaborator

aritger commented Jun 29, 2024

Thanks for tracking down this problem.

If I understand correctly, busybox tr is getting thrown off by the escaped dash? I'm inclined to keep it simple with tr, with this expression: tr 'a-z./-' 'A-Z___' (i.e., move the dash to the end of the list of characters to translate, so it doesn't need escaping). I've verified locally that works with busybox tr; does that work for you? We'll try to get this fixed for a future release.

@git-bruh
Copy link
Author

Yup the issue was with busybox tr not recognizing the expression, your suggestion is reasonable as well

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Failure to build kernel modules after 530.41.03
4 participants