FS#19735 - A 'volatile source' qualifier in PKGBUILDs
Attached to Project:
Pacman
Opened by Hans-Kristian Arntzen (Themaister) - Monday, 07 June 2010, 11:33 GMT
Last edited by Allan McRae (Allan) - Monday, 23 January 2012, 22:17 GMT
Opened by Hans-Kristian Arntzen (Themaister) - Monday, 07 June 2010, 11:33 GMT
Last edited by Allan McRae (Allan) - Monday, 23 January 2012, 22:17 GMT
|
Details
Summary and Info:
I'd like to request a feature that will help (AUR) packages which rely on customizable files that reside in the source() array. Certain packages rely on user configurable source, such as kernel building, dwm, etc. The current system with --skipinteg and having to delete the source() array before building is rather painful when dealing with these kinds of packages. I suggest that there should be some way that package maintainers or users can state a package as volatile, so that package building becomes less painful. Either through a per file basis in the source array or a general one for all sources. E.g.: source=('foo' 'volatile: bar') or source=('foo' 'bar') volatile_source=yes What is the policy on this matter? |
This task depends upon
Closed by Allan McRae (Allan)
Monday, 23 January 2012, 22:17 GMT
Reason for closing: Implemented
Additional comments about closing: http://projects.archlinux.org/pacman.git /commit/?id=1b461374
Monday, 23 January 2012, 22:17 GMT
Reason for closing: Implemented
Additional comments about closing: http://projects.archlinux.org/pacman.git /commit/?id=1b461374
There's no way of keeping the checks while excluding some files, shy of copying "volatile" sources from startdir.
The startdir alternative is a workaround that disorganizes the whole concept of what a source file is, and !bar is just much more comfortable to write. All the while preventing the need to edit a PKGBUILD to put config.h outside the array.
Instead, continue to enforce that you have at least one *sums array in the file. However, when checking integrity of files, treat certain sums values as volatile- e.g the all zeros value. For each sum type, we would require it to be the corresponding length. So you might have something like this:
md5sums=('c6131d658f74d54f9bd17d5a38c0320c'
'17d5a38c0320cc6131d658f74d54f9bd'
'00000000000000000000000000000000')
source=("http://example.com/downloads/project-1.1.tar.gz"
"project.init"
"my_volatile_file.h")
And then only the last file wouldn't be checked; the rest would.
I'm totally fine with skipping the check entirely if you can find a way to do that. We can also tackle the issue of directories when that actually matters in the future makepkg.
Finally, I don't want a git diff (or multiple ones!). I want a formatted patch, with a commit message, with a signoff, that doesn't have tabs and spaces in the wrong places. I sound like (and probably am being) an asshole here, but half-assing this doesn't make our jobs easier.
Sorry for posting poor patches. Am I supposed to send an email to the pacman-dev mailing list as well as submit patches on bug reports when they are related to pacman?
But I am not sure about using "volatile". It just does not have the right sound of it to me. Would "variable" be better?