yakshaveinc / tasks

distributed roadmap
The Unlicense
1 stars 0 forks source link

Source map for packaged Linux software #24

Open abitrolly opened 6 years ago

abitrolly commented 6 years ago

I work with meld. I want to fix bug in meld. meld is written in Python, so I open which meld, follow imports, edit the code. Now there are two ways things can go:

  1. My edits went good, the patch works, and I need to send it upstream, but there is no original source to diff
  2. My edits gone bad, the system is broken, and I need to revert, but there is no original source to revert to

In both cases I want to compare modified package files to original version, and in the first case - create a pull request by copying changes over the appropriate branch/commit, and in the second case add git history so that I can continue hacking in incremental ways. In the worst case I want to just overwrite the code.


The problem is that installed files in Linux system are no longer contained in single project directory, and they could also be modified compared to originals, so there should be a way to map these files back to their sources and update them dynamically using package info and additional information known to JavaScript developers as source maps. The goal is to enable symmetrical transformation between live code that is installed on the system and its source, so that modifications to installed scripts can be reflected to source and modifications in source could be reflected in live system (after checking consistency of all other files).

This should be a fun task to do - mapping sources through builds and packaging tools to their outcome, and there are initiatives, such as https://reproducible-builds.org/ that are already covered some miles. Tools like SCons can help with fast prototyping, but more tools should be developed to visualize dependency and debug these connections.

abitrolly commented 6 years ago

http://sokra.github.io/source-map-visualization/

image