Changes between Version 9 and Version 10 of CommittersGuide/Distfiles


Ignore:
Timestamp:
Nov 3, 2016, 1:41:29 AM (7 years ago)
Author:
raimue (Rainer Müller)
Comment:

No longer applies after move to GitHub

Legend:

Unmodified
Added
Removed
Modified
  • CommittersGuide/Distfiles

    v9 v10  
    1 The content of each port's "files" directory should be kept fairly small as it is copied to every MacPorts user's disk, regardless if they install the port or not. If larger patches (for example application bundles with icon files) are supplied then they should be added to distfiles so they are only downloaded by those users who are actually installing the port.
    2 
    3 = Set up personal space in repository =
    4 
    5 First set up your [wiki:CommittersGuide/PersonalSVNRepository user directory in the MacPorts Subversion repository] to maintain the files. Inside your user directory in the repository, you should create a directory with the port's name. Also create a directory for the port you're working on inside the distfiles area of the Subversion repository. You can use the commands below to do so:
    6 
    7 {{{
    8 Repository=https://svn.macports.org/repository/macports
    9 User=userid
    10 Port=portid
    11 
    12 svn mkdir --username ${User}@macports.org -m"Create staging for ${Port}" ${Repository}/users/${User}/${Port}
    13 svn mkdir --username ${User}@macports.org -m"Create distfiles for ${Port}" ${Repository}/distfiles/${Port}
    14 }}}
    15 
    16 Replace '''userid''' and '''portid''' with your own userid and the port you are working on.
    17 
    18 = Prepare files =
    19 
    20 Prepare the files you want to distribute inside your user directory in the repository and commit them back into Subversion. Then export them again. Export is needed so unnecessary svn meta data is not distributed. The exported files should then be packed. To keep the Portfile simple it is best to use the same archiver as is used for the main source file. You can use the following commands to do so:
    21 
    22 {{{
    23 Repository=https://svn.macports.org/repository/macports
    24 User=userid
    25 Port=portid
    26 Version=12345
    27 
    28 alias tar=/opt/local/bin/gnutar
    29 alias mv=/opt/local/bin/gmv
    30 alias rm=/opt/local/bin/grm
    31 
    32 svn export ${Repository}/users/${User}/${Port}
    33 mv --verbose ${Port} ${Port}-r${in_Version}
    34 tar --create --gzip --file="${Port}-r${Version}.tar.gz" "${Port}-r${in_Version}"
    35 svn import -m"Add distfile for ${Port}" "${Port}-r${Version}.tar.gz" "${Repository}/distfiles/${Port}/${Port}-r${Version}.tar.gz"
    36 rm --verbose --recursive "${Port}"
    37 }}}
    38 
    39 Replace '''12345''' with a unique version identifier and '''userid''' and '''portid''' as you did before. [browser:users/krischik/nonpareil/Upload.command Upload.command] shows one way how you can automate the whole process.