41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
import distutils.command.bdist_rpm as orig
 | 
						|
import warnings
 | 
						|
 | 
						|
from setuptools import SetuptoolsDeprecationWarning
 | 
						|
 | 
						|
 | 
						|
class bdist_rpm(orig.bdist_rpm):
 | 
						|
    """
 | 
						|
    Override the default bdist_rpm behavior to do the following:
 | 
						|
 | 
						|
    1. Run egg_info to ensure the name and version are properly calculated.
 | 
						|
    2. Always run 'install' using --single-version-externally-managed to
 | 
						|
       disable eggs in RPM distributions.
 | 
						|
    """
 | 
						|
 | 
						|
    def run(self):
 | 
						|
        warnings.warn(
 | 
						|
            "bdist_rpm is deprecated and will be removed in a future "
 | 
						|
            "version. Use bdist_wheel (wheel packages) instead.",
 | 
						|
            SetuptoolsDeprecationWarning,
 | 
						|
        )
 | 
						|
 | 
						|
        # ensure distro name is up-to-date
 | 
						|
        self.run_command('egg_info')
 | 
						|
 | 
						|
        orig.bdist_rpm.run(self)
 | 
						|
 | 
						|
    def _make_spec_file(self):
 | 
						|
        spec = orig.bdist_rpm._make_spec_file(self)
 | 
						|
        spec = [
 | 
						|
            line.replace(
 | 
						|
                "setup.py install ",
 | 
						|
                "setup.py install --single-version-externally-managed "
 | 
						|
            ).replace(
 | 
						|
                "%setup",
 | 
						|
                "%setup -n %{name}-%{unmangled_version}"
 | 
						|
            )
 | 
						|
            for line in spec
 | 
						|
        ]
 | 
						|
        return spec
 |