Handbook:Parts/Working/USE/ta

USE கொடிகளுக்குப் பின்னால் உள்ளக் கருத்து
ஜென்டூவை (அல்லது மற்ற வழங்கல், இயங்குதளங்களை) நிறுவும்போது, பயனர்கள் அவர்கள் வேளை செய்யும் சூழல்களைச் சார்ந்து தேர்வுகளைச் செய்கின்றனர். சேவையகத்திற்கான அமைவுகள், பணிநிலையத்திற்கான அமைவை விட மாறுபட்டிருக்கும். மேலும் விளையாடுவதற்காகப் பயன்படுத்தப்படும் பணிநிலையம் 3D மீள்தருகைக்கு பயன்படும் பணிநிலையங்களை விட மாறுபட்டதாக இருக்கும்.

என்ன தொகுப்பை நிறுவ வேண்டும் என்பதற்கு மட்டுமல்லாமல் குறிப்பிட்ட தொகுப்பு என்ன தனிச்சிறப்புகளைக் கொண்டிருக்க வேண்டும் என்பதையும் தேர்வு செய்வதற்கும் இது பொருந்தும். OpenGL க்கான தேவை இல்லையென்றால், எதற்காக ஒருவர் அதை நிறுவிப் பராமரிப்பதையும், பெரும்பாலான தொகுப்புகளில் இதன் ஆதரவைச் சேர்த்து உருவாக்குவதையும் கருத வேண்டும்? ஒருவர் KDE ஐ பயன்படுத்த விரும்பவில்லை என்றால், KDE க்கான ஆதரவு இல்லாமலும் தொகுப்புகள் குறையின்றி இயங்கும் என்ற நிலையில் எதற்காக அதைச் சேர்த்துத் தொகுப்பதை அவர் கருத வேண்டும்?

எதை நிறுவ மற்றும் செயல்படுத்த வேண்டும்/தேவையில்லை என முடிவெடுப்பதில் பயனர்களுக்கு உதவுவதன் மூலம், அவர்கள் சூழலை எளிமையான வழியில் குறிப்பிடுவதை ஜென்டூ விரும்புகிறது. இது பயனர்கள் தங்களுக்கு உண்மையில் என்ன தேவை என்பதை உணர் வைக்கிறது. Portage க்கான செயல்பாடு எளிமையாக்கப்பட்டு, பயனுள்ள முடிவுகளை எடுக்க வழிவகுக்கிறது.

USE கொடியின் வரையறை
USE கொடியை உள்ளிடவும், இவ்வகை கொடியானது ஒரு குறிப்பிட்ட கருத்திற்கான ஆதரவு மற்றும் சார்புநிலை தகவல்களை உள்ளடக்கிய உறைசொல்லாகும். குறிப்பிட்ட USE கொடியை ஒருவர் வரையறுக்கும்போது, தேர்ந்தெடுத்த உறைசொல்லுக்கான ஆதரவு அவர்களுக்குத் தேவைப்படுகிறது என Portage அறிந்துகொள்ளும். ஐயத்திற்கு இடமின்றி இது தொகுப்பிற்கான சார்புநிலை தகவல்களையும் மாற்றியமைக்கும்.

குறிப்பிட்ட இந்த எடுத்துக்காட்டைக் காணவும்:  என்னும் உறைசொல் USE மாறியில் இல்லையென்றால், KDE க்கான ஆதரவு விரும்பினால் கிடைக்கும் எல்லா தொகுப்புகளும் KDE யின் ஆதரவு இன்றி தொகுக்கப்படும். மேலும், KDE க்கான சார்புநிலை விரும்பினால் கிடைக்கும் எல்லா தொகுப்புகளும் KDE திரட்டுகளின் (சார்புநிலைகளாக) நிறுவல் இல்லாமல் நிறுவப்படும். உறைசொல் வரையறுக்கப்பட்டால், இந்த தொகுப்புகள் எல்லாம் KDE யின் ஆதரவு உடன் தொகுக்கப்பட்டு, KDE திரட்டுக்கள் சார்புநிலைகளாக நிறுவப்படும்.

உறைசொற்களை சரியாக வரையறுப்பதன் மூலம் பயனரின் தேவைக்கு ஏற்ப முறைமையை வடிவமைக்க முடியும்.

நிலையான USE கொடிகளை அறிவித்தல்
As previously mentioned, all USE flags are declared inside the USE variable. To make it easy for users to search and pick USE flags, we already provide a default USE setting. This setting is a collection of USE flags we think are commonly used by the Gentoo users. This default setting is declared in the files that are part of the selected profile.

The profile the system listens to is pointed to by the symlink. Each profile works on top of other profiles, and the end result is therefore the sum of all profiles. The top profile is the base profile.

இப்போதைய செயல்பாட்டில் உள்ள USE கொடிகளை (முழுவதுமாக) காண, என்னும் கட்டளையைப் பயன்படுத்தவும்:

As can be seen, this variable already contains quite a lot of keywords. Do not alter any file to tailor the USE variable to personal needs though: changes in these files will be undone when the Gentoo repository is updated!

To change this default setting, add or remove keywords to/from the USE variable. This is done globally by defining the USE variable in. In this variable one can add the extra USE flags required, or remove the USE flags that are no longer needed. This latter is done by prefixing the keyword with the minus-sign.

For instance, to remove support for KDE and Qt but add support for LDAP, the following USE can be defined in :

தனி தொகுப்புகளுக்கு USE கொடிகளை அறிவித்தல்
Sometimes users want to declare a certain USE flag for one (or a couple) of applications but not system-wide. To accomplish this, edit. is typically a single file, however it can also be a directory filled with children files; see the tip below and then for more information on how to use this convention. The following examples assume is a single file.

For instance, to only have Blu-ray support for the VLC media player package:

Similarly it is possible to explicitly disable USE flags for a certain application. For instance, to disable bzip2 support in PHP (but have it for all other packages through the USE flag declaration in ):

தற்காலிக USE கொடிகளை அறிவித்தல்
Sometimes users need to set a USE flag for a brief moment. Instead of editing twice (to do and undo the USE changes) just declare the USE variable as an environment variable. Remember that this setting only applies for the command entered; re-emerging or updating this application (either explicitly or as part of a system update) will undo the changes that were triggered through the (temporary) USE flag definition.

The following example temporarily removes the  value from the USE variable during the installation of SeaMonkey:

முந்துரிமை
Of course there is a certain precedence on what setting has priority over the USE setting. The precedence for the USE setting is, ordered by priority (first has lowest priority):
 * 1) Default USE setting declared in the  files part of your profile
 * 2) User-defined USE setting in
 * 3) User-defined USE setting in
 * 4) User-defined USE setting as environment variable

To view the final USE setting as seen by Portage, run. This will list all relevant variables (including the USE variable) with their current definition as known to Portage.

புதிய USE கொடிகளுக்கு முழு முறைமையும் தகவமைத்தல்
After having altered USE flags, the system should be updated to reflect the necessary changes. To do so, use the  option with :

Next, run Portage's depclean to remove the conditional dependencies that were emerged on the "old" system but that have been obsoleted by the new USE flags.

When depclean has finished, may prompt to rebuild the applications that are dynamically linked against shared objects provided by possibly removed packages. Portage will preserve necessary libraries until this action is done to prevent breaking applications. It stores what needs to be rebuilt in the  set. To rebuild the necessary packages, run:

When all this is accomplished, the system is using the new USE flag settings.

கிடைக்கும் USE கொடிகளைப் பார்வையிடல்
Let's take the example of seamonkey: what USE flags does it listen to? To find out, we use with the   and   options:

isn't the only tool for this job. In fact, there is a tool dedicated to package information called which resides in the  package

Now run with the uses argument to view the USE flags of a certain package. For instance, for the gnumeric package:

Satisfying REQUIRED_USE conditions
Some ebuilds require or forbid certain combinations of USE flags in order to work properly. This is expressed via a set of conditions placed in a REQUIRED_USE expression. This conditions ensure that all features and dependencies are complete and that the build will succeed and perform as expected. If any of these are not met, emerge will alert you and ask you to fix the issue.

Some examples of this REQUIRED_USE  expression are given below: