-
8837 template download rapidshare manager
8837 template download rapidshare manager
Name: 8837 template download rapidshare manager
Category: Free
Published: cyfutuwind1980
Language: English
4.4.6 PATCHFILES. 4.4.3 EXTRACT_SUFX. These variables are defined in /usr/ports/Mk/bsd.sites.mk . There are new archives added all the time, so make sure to check the latest version of this file before submitting a port. Example 4-2. Simplified use of MASTER_SITES:n with more than 1 file per site. Record the directory part of the FTP/HTTP-URL pointing at the original tarball in MASTER_SITES . Do not forget the trailing slash ( / )! The following examples are equivalent but the first one is preferred: Group semantics can be used in any of the following variables MASTER_SITES , PATCH_SITES , MASTER_SITE_SUBDIR , PATCH_SITE_SUBDIR , DISTFILES , and PATCHFILES according to the following syntax: The second part of the Makefile describes the files that must be downloaded in order to build the port, and where they can be downloaded from. The user can also set the MASTER_SITE_* variables in /etc/make.conf to override our choices, and use their favorite mirrors of these popular archives instead. For example, cons >source1.tar.gz and source2.tar.gz , which must be downloaded from two different sites. The port's Makefile would include lines like Example 4-1. A little background first. OpenBSD has a neat feature ins >DISTFILES and PATCHFILES variables, both files and patches can be postfixed with :n >n both can be [0-9] and denote a group designation. For example: Example 4-3. Detailed use of MASTER_SITES:n in MASTER_SITE_SUBDIR. Now that you got the picture, just imagine more DISTFILES and more MASTER_SITES . Surely our ``distfiles survey meister'' would appreciate the network strain relieve this would bring. Just picture 2 files in DISTFILES and 20 sites in MASTER_SITES , the sites slow as hell where beta is carried by all sites in MASTER_SITES , and alpha can only be found in the 20th site. It would be such a waste to check all of them if maintainer knew this beforehand, would not it? Not a good start for that lovely weekend! This is a very interesting feature which can decrease that endless search for the correct download site. Instead of repeating it several times, each time with a different postfix, we can list several groups at once in a single postfix. For instance, :m,n,o marks an element that belongs to group m , n and o . Okay, so the previous section example d >MASTER_SITES:n works and how you can modify your ports to use it. If the patch is distributed with some other files, such as documentation, in a gzip'd tarball, you cannot just use PATCHFILES . If that is the case, add the name and the location of the patch tarball to DISTFILES and MASTER_SITES . Then, use the EXTRA_PATCHES variable to point to those files and bsd.port.mk will automatically apply them for you. In particular, do not copy patch files into the PATCHDIR directory--that directory may not be writable. 4.4.1 DISTNAME. If this is the case, set DISTFILES to be a space separated list of all the files that must be downloaded. Elements postfixed with :n belong to the group n , :m belong to group m and so forth. If your port requires some additional patches that are available by FTP or HTTP, set PATCHFILES to the names of the files and PATCH_SITES to the URL of the directory that contains them (the format is the same as MASTER_SITES ). For example, if the distribution file was named foo.tgz instead of the more normal foo.tar.gz , you would write: Directories within group DEFAULT -> old:n. 4.4.2 MASTER_SITES. Note: The tarball will have been extracted alongs >pre-clean target. The previous example results in the following fine grained fetching. Sites are listed in the exact order they will be used. This section has information on the fetching mechanism known as both MASTER_SITES:n and MASTER_SITES_NN . We will refer to this mechanism as MASTER_SITES:n hereon. DISTNAME is the name of the port as called by the authors of the software. DISTNAME defaults to $ -$ , so overr >DISTNAME is only used in two places. First, the distribution file list ( DISTFILES ) defaults to $ $ . Second, the distribution file is expected to extract into a subdirectory named WRKSRC , which defaults to work/ $ . You never need to set both EXTRACT_SUFX and DISTFILES . Moreover, string matching is case sensitive; i.e., n is different from N . All MASTER_SITES , PATCH_SITES , MASTER_SITE_SUBDIR and PATCH_SITE_SUBDIR elements must be terminated with the forward slash / character. If any elements belong to any groups, the group postfix : n must come right after the terminator / . The MASTER_SITES:n mechanism relies on the existence of the terminator / to avo >:n is a val >:n denotes group n . For compatibility purposes, since the / terminator was not required before in both MASTER_SITE_SUBDIR and PATCH_SITE_SUBDIR elements, if the postfix immediate preceding character is not a / then :n will be cons >:n . See both Example 4-3 and Example 4-4. Groups are not exclusive, an element may belong to several different groups at the same time and a group can either have either several different elements or none at all. Repeated elements within the same group will be simply that, repeated elements. The make macros will try to use this specification for grabbing the distribution file with FETCH if they cannot find it already on the system. Some applications consist of multiple distribution files that must be downloaded from a number of different sites. For example, Ghostscript consists of the core of the program, and then a large number of driver files that are used depending on the user's printer. Some of these driver files are supplied with the core, but many others must be downloaded from a variety of different sites. To support this, each entry in DISTFILES may be followed by a colon and a ``tag name''. Each site listed in MASTER_SITES is then followed by a colon, and the tag that indicates which distribution files should be downloaded from this site. Elements can be postfixed with : n where n is [^:,]+ , i.e., n could conceptually be any alphanumerical string but we will limit it to [a-zA-Z_][0-9a-zA-Z_]+ for now. If the original tarball is part of one of the popular archives such as X-contrib, GNU, or Perl CPAN, you may be able refer to those sites in an easy compact form using MASTER_SITE_ * (e.g., MASTER_SITE_XCONTRIB and MASTER_SITE_PERL_GNU ). Simply set MASTER_SITES to one of these variables and MASTER_SITE_SUBDIR to the path within the archive. Here is an example: It is recommended that you put multiple sites on this list, preferably from different continents. This will safeguard against wide-area network problems, and we are even planning to add support for automatically determining the closest master site and fetching from there! Example 4-1. Simplified use of MASTER_SITES:n with 1 file per site. If you have one distribution file, and it uses an odd suffix to indicate the compression mechanism, set EXTRACT_SUFX . Multiple distribution files can have the same tag. Continuing the previous example, suppose that there was a third distfile, source3.tar.gz , that should be downloaded from ftp.example2.com . The Makefile would then be written like Example 4-2. 4.4 The distribution files. When you want an element to belong to several groups at the same time, you can use the comma operator ( , ). All the following examples are equivalent but the last one is preferred: In the next sections, information will follow on the FreeBSD implementation of this idea. We improved a bit on OpenBSD's concept. Note: PKGNAMEPREFIX and PKGNAMESUFFIX do not affect DISTNAME . Also note that when WRKSRC is equal to work/ $ -$ while the original source archive is named something other than $ -$ $ , you should probably leave DISTNAME alone-- you are better off defining DISTFILES than having to set both DISTNAME and WRKSRC (and possibly EXTRACT_SUFX ). If the patch is not relative to the top of the source tree (i.e., WRKSRC ) because it contains some extra pathnames, set PATCH_DIST_STRIP accordingly. For instance, if all the pathnames in the patch have an extra foozolix-1.0/ in front of the filenames, then set PATCH_DIST_STRIP=-p1 . Sometimes the names of the files to be downloaded have no resemblance to the name of the port. For example, it might be called source.tar.gz or similar. In other cases the application's source code might be in several different archives, all of which must be downloaded. 4.4.7.1 Simplified information. 4.4.7.2 Detailed information. In OpenBSD, distribution file alpha will be associated with variable MASTER_SITES0 instead of our common MASTER_SITES and beta with MASTER_SITES1 . Example 4-4. Detailed use of MASTER_SITES:n with comma operator, multiple files, multiple sites and multiple subdirectories. 4.4.7 Multiple distribution files or patches from different sites and subdirectories ( MASTER_SITES:n ) If none of the DISTFILES should be uncompressed then set EXTRACT_ONLY to the empty string. 4.4.5 EXTRACT_ONLY. However, the following words cannot be used for postfixing purposes since they yield special meaning: default , all and ALL (they are used internally in item ii). Furthermore, DEFAULT is a special purpose word (check item 3). The USE_BZIP2 and USE_ZIP variables automatically set EXTRACT_SUFX to .bz2 or .zip as necessary. If neither of these are set then EXTRACT_SUFX defaults to .tar.gz . Elements without a postfix are groupless, i.e., they all belong to the special group DEFAULT . If you postfix any elements with DEFAULT , you are just being redundant unless you want to have an element belonging to both DEFAULT and other groups at the same time (check item 5). All sites within a given group are sorted according to MASTER_SORT_AWK . All groups within MASTER_SITES and PATCH_SITES are sorted as well. Directories within group NEW -> new. 4.4.4 DISTFILES. If only some of the DISTFILES must be extracted--for example, one of them is the source code, while another is an uncompressed document--list the filenames that must be extracted in EXTRACT_ONLY . This section tells you how to quickly prepare fine grained fetching of multiple distribution files and patches from different sites and subdirectories. We describe here a case of simplified MASTER_SITES:n usage. This will be sufficient for most scenarios. However, if you need further information, you will have to refer to the next section. If not explicitly set, DISTFILES defaults to $ $ . Do not worry if the patches are compressed; they will be decompressed automatically if the filenames end with .gz or .Z .
-
Comments