User Tools

Site Tools


infrastructure:distfiles

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
infrastructure:distfiles [2014-04-08 21:26]
glen add brief
infrastructure:distfiles [2014-04-08 21:38] (current)
glen [Using sources file]
Line 6: Line 6:
 for example: ''/​distfiles/​by-md5/​8/​1/​81348932d5da294953e15d4814c74dd1/​bash-4.3.tar.gz''​. files in distfiles itself are accessible by ''​http''​ and ''​ftp''​ protocols. for example: ''/​distfiles/​by-md5/​8/​1/​81348932d5da294953e15d4814c74dd1/​bash-4.3.tar.gz''​. files in distfiles itself are accessible by ''​http''​ and ''​ftp''​ protocols.
  
 +===== Using sources file =====
  
 +Besides indicating with ''#​ SourceX-md5''​ that source should be stored in distfiles,
 +a combination of distfiles handler and builder macros, allow to use ''​sources''​ file.
 +
 +''​sources''​ file format: ''​MD5-HASH *FILENAME'',​ the asterisk is ignored. for example:
 +<code - sources>
 +bf8d53d227829d67235927689a03cc7a ​ bash43-004
 +c0c00935c8b8ffff76e8ab77e7be7d15 *bash43-005
 +</​code>​
 +
 +As you can see, there'​s no url in that file, to indicate where to fetch, You should have ''​SourceX''​ with same basename in your ''​.spec'':​
 +<code rpmspec>
 +Patch10004: ​    ​http://​ftp.gnu.org/​gnu/​bash/​bash-4.3-patches/​bash43-004
 +Patch10005: ​    ​http://​ftp.gnu.org/​gnu/​bash/​bash-4.3-patches/​bash43-005
 +</​code>​
 +
 +==== patchset macro ====
 +
 +Listing sources in ''​.spec''​ and ''​sources''​ file can be annoying and duplicate work.
 +
 +Therefore ''​%patchset_source''​ macro was created.
 +
 +in Preamble define ''​%patchset_source''​ to inject to ''​.spec''​ file extra ''​SourceX''​ definitions:​
 +<code rpmspec>
 +%patchset_source -f http://​ftp.gnu.org/​gnu/​bash/​bash-4.3-patches/​bash43-%03g 1 %{patchlevel}
 +</​code>​
 +
 +this would parse:
 +<​code>​
 +$ rpm -E '​%patchset_source -f http://​ftp.gnu.org/​gnu/​bash/​bash-4.3-patches/​bash43-%03g 1 3'
 +Patch10001: ​    ​http://​ftp.gnu.org/​gnu/​bash/​bash-4.3-patches/​bash43-001
 +Patch10002: ​    ​http://​ftp.gnu.org/​gnu/​bash/​bash-4.3-patches/​bash43-002
 +Patch10003: ​    ​http://​ftp.gnu.org/​gnu/​bash/​bash-4.3-patches/​bash43-003 ​
 +</​code>​
 ===== Manually forcing distfiles fetch ===== ===== Manually forcing distfiles fetch =====
  
Line 28: Line 62:
     * ''​run-ff.sh''​ is run from dfadm'​s crontab every minute.     * ''​run-ff.sh''​ is run from dfadm'​s crontab every minute.
     * ''​chmodd.sh''​ is a simple inotifywait-based script that always runs in the background (started from ''​rc.local''​ on system boot) and does a proper chmod on all uploaded files.     * ''​chmodd.sh''​ is a simple inotifywait-based script that always runs in the background (started from ''​rc.local''​ on system boot) and does a proper chmod on all uploaded files.
- 
  
infrastructure/distfiles.1396985174.txt.gz ยท Last modified: 2014-04-08 21:26 by glen